[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 - (view) (download)

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

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