[cvs] / xvidcore / src / image / colorspace.h Repository:
ViewVC logotype

Diff of /xvidcore/src/image/colorspace.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.5, Sat Feb 15 15:22:18 2003 UTC revision 1.8, Fri Nov 10 18:58:39 2006 UTC
# Line 1  Line 1 
1    /*****************************************************************************
2     *
3     *  XVID MPEG-4 VIDEO CODEC
4     *  - Colorspace related header  -
5     *
6     *  Copyright(C) 2001-2003 Peter Ross <pross@xvid.org>
7     *
8     *  This program is free software ; you can redistribute it and/or modify
9     *  it under the terms of the GNU General Public License as published by
10     *  the Free Software Foundation ; either version 2 of the License, or
11     *  (at your option) any later version.
12     *
13     *  This program is distributed in the hope that it will be useful,
14     *  but WITHOUT ANY WARRANTY ; without even the implied warranty of
15     *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16     *  GNU General Public License for more details.
17     *
18     *  You should have received a copy of the GNU General Public License
19     *  along with this program ; if not, write to the Free Software
20     *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
21     *
22     * $Id$
23     *
24     ****************************************************************************/
25    
26  #ifndef _COLORSPACE_H  #ifndef _COLORSPACE_H
27  #define _COLORSPACE_H  #define _COLORSPACE_H
28    
29  #include "../portab.h"  #include "../portab.h"
 #include "../divx4.h"  
30    
31  /* initialize tables */  /* initialize tables */
32    
# Line 30  Line 54 
54    
55  extern packedFuncPtr rgb555_to_yv12;  extern packedFuncPtr rgb555_to_yv12;
56  extern packedFuncPtr rgb565_to_yv12;  extern packedFuncPtr rgb565_to_yv12;
57    extern packedFuncPtr rgb_to_yv12;
58  extern packedFuncPtr bgr_to_yv12;  extern packedFuncPtr bgr_to_yv12;
59  extern packedFuncPtr bgra_to_yv12;  extern packedFuncPtr bgra_to_yv12;
60  extern packedFuncPtr abgr_to_yv12;  extern packedFuncPtr abgr_to_yv12;
61  extern packedFuncPtr rgba_to_yv12;  extern packedFuncPtr rgba_to_yv12;
62    extern packedFuncPtr argb_to_yv12;
63  extern packedFuncPtr yuyv_to_yv12;  extern packedFuncPtr yuyv_to_yv12;
64  extern packedFuncPtr uyvy_to_yv12;  extern packedFuncPtr uyvy_to_yv12;
65    
66  extern packedFuncPtr rgb555i_to_yv12;  extern packedFuncPtr rgb555i_to_yv12;
67  extern packedFuncPtr rgb565i_to_yv12;  extern packedFuncPtr rgb565i_to_yv12;
68    extern packedFuncPtr rgbi_to_yv12;
69  extern packedFuncPtr bgri_to_yv12;  extern packedFuncPtr bgri_to_yv12;
70  extern packedFuncPtr bgrai_to_yv12;  extern packedFuncPtr bgrai_to_yv12;
71  extern packedFuncPtr abgri_to_yv12;  extern packedFuncPtr abgri_to_yv12;
72  extern packedFuncPtr rgbai_to_yv12;  extern packedFuncPtr rgbai_to_yv12;
73    extern packedFuncPtr argbi_to_yv12;
74  extern packedFuncPtr yuyvi_to_yv12;  extern packedFuncPtr yuyvi_to_yv12;
75  extern packedFuncPtr uyvyi_to_yv12;  extern packedFuncPtr uyvyi_to_yv12;
76    
   
77  /* plain c */  /* plain c */
78  packedFunc rgb555_to_yv12_c;  packedFunc rgb555_to_yv12_c;
79  packedFunc rgb565_to_yv12_c;  packedFunc rgb565_to_yv12_c;
80    packedFunc rgb_to_yv12_c;
81  packedFunc bgr_to_yv12_c;  packedFunc bgr_to_yv12_c;
82  packedFunc bgra_to_yv12_c;  packedFunc bgra_to_yv12_c;
83  packedFunc abgr_to_yv12_c;  packedFunc abgr_to_yv12_c;
84  packedFunc rgba_to_yv12_c;  packedFunc rgba_to_yv12_c;
85    packedFunc argb_to_yv12_c;
86  packedFunc yuyv_to_yv12_c;  packedFunc yuyv_to_yv12_c;
87  packedFunc uyvy_to_yv12_c;  packedFunc uyvy_to_yv12_c;
88    
89  packedFunc rgb555i_to_yv12_c;  packedFunc rgb555i_to_yv12_c;
90  packedFunc rgb565i_to_yv12_c;  packedFunc rgb565i_to_yv12_c;
91    packedFunc rgbi_to_yv12_c;
92  packedFunc bgri_to_yv12_c;  packedFunc bgri_to_yv12_c;
93  packedFunc bgrai_to_yv12_c;  packedFunc bgrai_to_yv12_c;
94  packedFunc abgri_to_yv12_c;  packedFunc abgri_to_yv12_c;
95  packedFunc rgbai_to_yv12_c;  packedFunc rgbai_to_yv12_c;
96    packedFunc argbi_to_yv12_c;
97  packedFunc yuyvi_to_yv12_c;  packedFunc yuyvi_to_yv12_c;
98  packedFunc uyvyi_to_yv12_c;  packedFunc uyvyi_to_yv12_c;
99    
100    #ifdef ARCH_IS_IA32
101  /* mmx */  /* mmx */
102  packedFunc bgr_to_yv12_mmx;  packedFunc bgr_to_yv12_mmx;
103  packedFunc bgra_to_yv12_mmx;  packedFunc bgra_to_yv12_mmx;
# Line 80  Line 111 
111  /* xmm */  /* xmm */
112  packedFunc yuyv_to_yv12_xmm;  packedFunc yuyv_to_yv12_xmm;
113  packedFunc uyvy_to_yv12_xmm;  packedFunc uyvy_to_yv12_xmm;
114    #endif
115    
116    #ifdef ARCH_IS_PPC
117    packedFunc bgra_to_yv12_altivec_c;
118    packedFunc abgr_to_yv12_altivec_c;
119    packedFunc rgba_to_yv12_altivec_c;
120    packedFunc argb_to_yv12_altivec_c;
121    
122    packedFunc yuyv_to_yv12_altivec_c;
123    packedFunc uyvy_to_yv12_altivec_c;
124    #endif
125    
126  /* yv12_to_xxx colorspace conversion functions (decoder) */  /* yv12_to_xxx colorspace conversion functions (decoder) */
127    
128  extern packedFuncPtr yv12_to_rgb555;  extern packedFuncPtr yv12_to_rgb555;
129  extern packedFuncPtr yv12_to_rgb565;  extern packedFuncPtr yv12_to_rgb565;
130    extern packedFuncPtr yv12_to_rgb;
131  extern packedFuncPtr yv12_to_bgr;  extern packedFuncPtr yv12_to_bgr;
132  extern packedFuncPtr yv12_to_bgra;  extern packedFuncPtr yv12_to_bgra;
133  extern packedFuncPtr yv12_to_abgr;  extern packedFuncPtr yv12_to_abgr;
134  extern packedFuncPtr yv12_to_rgba;  extern packedFuncPtr yv12_to_rgba;
135    extern packedFuncPtr yv12_to_argb;
136  extern packedFuncPtr yv12_to_yuyv;  extern packedFuncPtr yv12_to_yuyv;
137  extern packedFuncPtr yv12_to_uyvy;  extern packedFuncPtr yv12_to_uyvy;
138    
139  extern packedFuncPtr yv12_to_rgb555i;  extern packedFuncPtr yv12_to_rgb555i;
140  extern packedFuncPtr yv12_to_rgb565i;  extern packedFuncPtr yv12_to_rgb565i;
141    extern packedFuncPtr yv12_to_rgbi;
142  extern packedFuncPtr yv12_to_bgri;  extern packedFuncPtr yv12_to_bgri;
143  extern packedFuncPtr yv12_to_bgrai;  extern packedFuncPtr yv12_to_bgrai;
144  extern packedFuncPtr yv12_to_abgri;  extern packedFuncPtr yv12_to_abgri;
145  extern packedFuncPtr yv12_to_rgbai;  extern packedFuncPtr yv12_to_rgbai;
146    extern packedFuncPtr yv12_to_argbi;
147  extern packedFuncPtr yv12_to_yuyvi;  extern packedFuncPtr yv12_to_yuyvi;
148  extern packedFuncPtr yv12_to_uyvyi;  extern packedFuncPtr yv12_to_uyvyi;
149    
150  /* plain c */  /* plain c */
151  packedFunc yv12_to_rgb555_c;  packedFunc yv12_to_rgb555_c;
152  packedFunc yv12_to_rgb565_c;  packedFunc yv12_to_rgb565_c;
153    packedFunc yv12_to_rgb_c;
154  packedFunc yv12_to_bgr_c;  packedFunc yv12_to_bgr_c;
155  packedFunc yv12_to_bgra_c;  packedFunc yv12_to_bgra_c;
156  packedFunc yv12_to_abgr_c;  packedFunc yv12_to_abgr_c;
157  packedFunc yv12_to_rgba_c;  packedFunc yv12_to_rgba_c;
158    packedFunc yv12_to_argb_c;
159  packedFunc yv12_to_yuyv_c;  packedFunc yv12_to_yuyv_c;
160  packedFunc yv12_to_uyvy_c;  packedFunc yv12_to_uyvy_c;
161    
162  packedFunc yv12_to_rgb555i_c;  packedFunc yv12_to_rgb555i_c;
163  packedFunc yv12_to_rgb565i_c;  packedFunc yv12_to_rgb565i_c;
164    packedFunc yv12_to_rgbi_c;
165  packedFunc yv12_to_bgri_c;  packedFunc yv12_to_bgri_c;
166  packedFunc yv12_to_bgrai_c;  packedFunc yv12_to_bgrai_c;
167  packedFunc yv12_to_abgri_c;  packedFunc yv12_to_abgri_c;
168  packedFunc yv12_to_rgbai_c;  packedFunc yv12_to_rgbai_c;
169    packedFunc yv12_to_argbi_c;
170  packedFunc yv12_to_yuyvi_c;  packedFunc yv12_to_yuyvi_c;
171  packedFunc yv12_to_uyvyi_c;  packedFunc yv12_to_uyvyi_c;
172    
173    #ifdef ARCH_IS_IA32
174  /* mmx */  /* mmx */
175  packedFunc yv12_to_bgr_mmx;  packedFunc yv12_to_bgr_mmx;
176  packedFunc yv12_to_bgra_mmx;  packedFunc yv12_to_bgra_mmx;
# Line 129  Line 179 
179    
180  packedFunc yv12_to_yuyvi_mmx;  packedFunc yv12_to_yuyvi_mmx;
181  packedFunc yv12_to_uyvyi_mmx;  packedFunc yv12_to_uyvyi_mmx;
182    #endif
183    
184    #ifdef ARCH_IS_PPC
185    packedFunc yv12_to_yuyv_altivec_c;
186    packedFunc yv12_to_uyvy_altivec_c;
187    #endif
188    
189  typedef void (planarFunc) (  typedef void (planarFunc) (
190                                  uint8_t * y_dst, uint8_t * u_dst, uint8_t * v_dst,                                  uint8_t * y_dst, uint8_t * u_dst, uint8_t * v_dst,
# Line 142  Line 197 
197  extern planarFuncPtr yv12_to_yv12;  extern planarFuncPtr yv12_to_yv12;
198    
199  planarFunc yv12_to_yv12_c;  planarFunc yv12_to_yv12_c;
200    
201    #ifdef ARCH_IS_IA32
202  planarFunc yv12_to_yv12_mmx;  planarFunc yv12_to_yv12_mmx;
203  planarFunc yv12_to_yv12_xmm;  planarFunc yv12_to_yv12_xmm;
204    #endif
205    
206    
207  #endif                                                  /* _COLORSPACE_H_ */  #endif                                                  /* _COLORSPACE_H_ */

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.8

No admin address has been configured
ViewVC Help
Powered by ViewVC 1.0.4