Parent Directory | Revision Log
Revision 851 - (view) (download)
1 : | Isibaar | 3 | #ifndef _COLORSPACE_H |
2 : | #define _COLORSPACE_H | ||
3 : | |||
4 : | #include "../portab.h" | ||
5 : | suxen_drol | 118 | #include "../divx4.h" |
6 : | Isibaar | 3 | |
7 : | /* initialize tables */ | ||
8 : | |||
9 : | void colorspace_init(void); | ||
10 : | |||
11 : | |||
12 : | |||
13 : | edgomez | 851 | /* colorspace conversion function (encoder) */ |
14 : | Isibaar | 3 | |
15 : | edgomez | 851 | typedef void (packedFunc) (uint8_t * x_ptr, |
16 : | int x_stride, | ||
17 : | 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 : | int height, | ||
24 : | int vflip); | ||
25 : | Isibaar | 3 | |
26 : | edgomez | 851 | typedef packedFunc *packedFuncPtr; |
27 : | Isibaar | 3 | |
28 : | edgomez | 851 | |
29 : | /* 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 : | |||
50 : | Isibaar | 3 | /* plain c */ |
51 : | edgomez | 851 | 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 : | Isibaar | 3 | |
60 : | edgomez | 851 | 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 : | |||
69 : | |||
70 : | Isibaar | 3 | /* mmx */ |
71 : | edgomez | 851 | packedFunc bgr_to_yv12_mmx; |
72 : | packedFunc bgra_to_yv12_mmx; | ||
73 : | packedFunc yuyv_to_yv12_mmx; | ||
74 : | packedFunc uyvy_to_yv12_mmx; | ||
75 : | Isibaar | 3 | |
76 : | edgomez | 851 | /* 3dnow */ |
77 : | packedFunc yuyv_to_yv12_3dn; | ||
78 : | packedFunc uyvy_to_yv12_3dn; | ||
79 : | |||
80 : | Isibaar | 3 | /* xmm */ |
81 : | edgomez | 851 | packedFunc yuyv_to_yv12_xmm; |
82 : | packedFunc uyvy_to_yv12_xmm; | ||
83 : | Isibaar | 3 | |
84 : | |||
85 : | edgomez | 851 | /* yv12_to_xxx colorspace conversion functions (decoder) */ |
86 : | Isibaar | 3 | |
87 : | edgomez | 851 | 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 : | Isibaar | 3 | |
96 : | edgomez | 851 | 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 : | edgomez | 195 | |
105 : | Isibaar | 3 | /* plain c */ |
106 : | edgomez | 851 | 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 : | Isibaar | 3 | |
115 : | edgomez | 851 | 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 : | Isibaar | 3 | |
124 : | /* mmx */ | ||
125 : | edgomez | 851 | packedFunc yv12_to_bgr_mmx; |
126 : | packedFunc yv12_to_bgra_mmx; | ||
127 : | packedFunc yv12_to_yuyv_mmx; | ||
128 : | packedFunc yv12_to_uyvy_mmx; | ||
129 : | Isibaar | 3 | |
130 : | edgomez | 851 | packedFunc yv12_to_yuyvi_mmx; |
131 : | packedFunc yv12_to_uyvyi_mmx; | ||
132 : | suxen_drol | 118 | |
133 : | |||
134 : | edgomez | 851 | 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 : | |||
148 : | |||
149 : | edgomez | 195 | #endif /* _COLORSPACE_H_ */ |
No admin address has been configured | ViewVC Help |
Powered by ViewVC 1.0.4 |