Parent Directory | 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 |