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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.5.2.1 - (view) (download)

1 : Isibaar 1.1 #ifndef _COLORSPACE_H
2 :     #define _COLORSPACE_H
3 :    
4 :     #include "../portab.h"
5 :    
6 :     /* initialize tables */
7 :    
8 :     void colorspace_init(void);
9 :    
10 :    
11 :    
12 : edgomez 1.5 /* colorspace conversion function (encoder) */
13 : Isibaar 1.1
14 : edgomez 1.5 typedef void (packedFunc) (uint8_t * x_ptr,
15 :     int x_stride,
16 : edgomez 1.3 uint8_t * y_src,
17 :     uint8_t * v_src,
18 :     uint8_t * u_src,
19 :     int y_stride,
20 :     int uv_stride,
21 :     int width,
22 : edgomez 1.5 int height,
23 :     int vflip);
24 :    
25 :     typedef packedFunc *packedFuncPtr;
26 : edgomez 1.3
27 : Isibaar 1.1
28 : edgomez 1.5 /* xxx_to_yv12 colorspace conversion functions (encoder) */
29 :    
30 :     extern packedFuncPtr rgb555_to_yv12;
31 :     extern packedFuncPtr rgb565_to_yv12;
32 :     extern packedFuncPtr bgr_to_yv12;
33 :     extern packedFuncPtr bgra_to_yv12;
34 :     extern packedFuncPtr abgr_to_yv12;
35 :     extern packedFuncPtr rgba_to_yv12;
36 :     extern packedFuncPtr yuyv_to_yv12;
37 :     extern packedFuncPtr uyvy_to_yv12;
38 :    
39 :     extern packedFuncPtr rgb555i_to_yv12;
40 :     extern packedFuncPtr rgb565i_to_yv12;
41 :     extern packedFuncPtr bgri_to_yv12;
42 :     extern packedFuncPtr bgrai_to_yv12;
43 :     extern packedFuncPtr abgri_to_yv12;
44 :     extern packedFuncPtr rgbai_to_yv12;
45 :     extern packedFuncPtr yuyvi_to_yv12;
46 :     extern packedFuncPtr uyvyi_to_yv12;
47 :    
48 : Isibaar 1.1
49 :     /* plain c */
50 : edgomez 1.5 packedFunc rgb555_to_yv12_c;
51 :     packedFunc rgb565_to_yv12_c;
52 :     packedFunc bgr_to_yv12_c;
53 :     packedFunc bgra_to_yv12_c;
54 :     packedFunc abgr_to_yv12_c;
55 :     packedFunc rgba_to_yv12_c;
56 :     packedFunc yuyv_to_yv12_c;
57 :     packedFunc uyvy_to_yv12_c;
58 :    
59 :     packedFunc rgb555i_to_yv12_c;
60 :     packedFunc rgb565i_to_yv12_c;
61 :     packedFunc bgri_to_yv12_c;
62 :     packedFunc bgrai_to_yv12_c;
63 :     packedFunc abgri_to_yv12_c;
64 :     packedFunc rgbai_to_yv12_c;
65 :     packedFunc yuyvi_to_yv12_c;
66 :     packedFunc uyvyi_to_yv12_c;
67 : Isibaar 1.1
68 :    
69 :     /* mmx */
70 : edgomez 1.5 packedFunc bgr_to_yv12_mmx;
71 :     packedFunc bgra_to_yv12_mmx;
72 :     packedFunc yuyv_to_yv12_mmx;
73 :     packedFunc uyvy_to_yv12_mmx;
74 :    
75 :     /* 3dnow */
76 :     packedFunc yuyv_to_yv12_3dn;
77 :     packedFunc uyvy_to_yv12_3dn;
78 :    
79 :     /* xmm */
80 :     packedFunc yuyv_to_yv12_xmm;
81 :     packedFunc uyvy_to_yv12_xmm;
82 :    
83 : suxen_drol 1.2
84 : edgomez 1.5 /* yv12_to_xxx colorspace conversion functions (decoder) */
85 :    
86 :     extern packedFuncPtr yv12_to_rgb555;
87 :     extern packedFuncPtr yv12_to_rgb565;
88 :     extern packedFuncPtr yv12_to_bgr;
89 :     extern packedFuncPtr yv12_to_bgra;
90 :     extern packedFuncPtr yv12_to_abgr;
91 :     extern packedFuncPtr yv12_to_rgba;
92 :     extern packedFuncPtr yv12_to_yuyv;
93 :     extern packedFuncPtr yv12_to_uyvy;
94 :    
95 :     extern packedFuncPtr yv12_to_rgb555i;
96 :     extern packedFuncPtr yv12_to_rgb565i;
97 :     extern packedFuncPtr yv12_to_bgri;
98 :     extern packedFuncPtr yv12_to_bgrai;
99 :     extern packedFuncPtr yv12_to_abgri;
100 :     extern packedFuncPtr yv12_to_rgbai;
101 :     extern packedFuncPtr yv12_to_yuyvi;
102 :     extern packedFuncPtr yv12_to_uyvyi;
103 :    
104 :     /* plain c */
105 :     packedFunc yv12_to_rgb555_c;
106 :     packedFunc yv12_to_rgb565_c;
107 :     packedFunc yv12_to_bgr_c;
108 :     packedFunc yv12_to_bgra_c;
109 :     packedFunc yv12_to_abgr_c;
110 :     packedFunc yv12_to_rgba_c;
111 :     packedFunc yv12_to_yuyv_c;
112 :     packedFunc yv12_to_uyvy_c;
113 :    
114 :     packedFunc yv12_to_rgb555i_c;
115 :     packedFunc yv12_to_rgb565i_c;
116 :     packedFunc yv12_to_bgri_c;
117 :     packedFunc yv12_to_bgrai_c;
118 :     packedFunc yv12_to_abgri_c;
119 :     packedFunc yv12_to_rgbai_c;
120 :     packedFunc yv12_to_yuyvi_c;
121 :     packedFunc yv12_to_uyvyi_c;
122 :    
123 :     /* mmx */
124 :     packedFunc yv12_to_bgr_mmx;
125 :     packedFunc yv12_to_bgra_mmx;
126 :     packedFunc yv12_to_yuyv_mmx;
127 :     packedFunc yv12_to_uyvy_mmx;
128 :    
129 :     packedFunc yv12_to_yuyvi_mmx;
130 :     packedFunc yv12_to_uyvyi_mmx;
131 :    
132 :    
133 :     typedef void (planarFunc) (
134 :     uint8_t * y_dst, uint8_t * u_dst, uint8_t * v_dst,
135 :     int y_dst_stride, int uv_dst_stride,
136 :     uint8_t * y_src, uint8_t * u_src, uint8_t * v_src,
137 :     int y_src_stride, int uv_src_stride,
138 :     int width, int height, int vflip);
139 :     typedef planarFunc *planarFuncPtr;
140 :    
141 :     extern planarFuncPtr yv12_to_yv12;
142 :    
143 :     planarFunc yv12_to_yv12_c;
144 :     planarFunc yv12_to_yv12_mmx;
145 :     planarFunc yv12_to_yv12_xmm;
146 : suxen_drol 1.2
147 : Isibaar 1.1
148 : edgomez 1.3 #endif /* _COLORSPACE_H_ */

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