Parent Directory
|
Revision Log
Revision 582 - (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 : | /* input color conversion functions (encoder) */ | ||
13 : | |||
14 : | edgomez | 195 | typedef void (color_inputFunc) (uint8_t * y_out, |
15 : | uint8_t * u_out, | ||
16 : | uint8_t * v_out, | ||
17 : | uint8_t * src, | ||
18 : | int width, | ||
19 : | int height, | ||
20 : | int stride); | ||
21 : | Isibaar | 3 | |
22 : | edgomez | 195 | typedef color_inputFunc *color_inputFuncPtr; |
23 : | Isibaar | 3 | |
24 : | extern color_inputFuncPtr rgb555_to_yv12; | ||
25 : | extern color_inputFuncPtr rgb565_to_yv12; | ||
26 : | extern color_inputFuncPtr rgb24_to_yv12; | ||
27 : | extern color_inputFuncPtr rgb32_to_yv12; | ||
28 : | extern color_inputFuncPtr yuv_to_yv12; | ||
29 : | extern color_inputFuncPtr yuyv_to_yv12; | ||
30 : | extern color_inputFuncPtr uyvy_to_yv12; | ||
31 : | |||
32 : | /* plain c */ | ||
33 : | color_inputFunc rgb555_to_yv12_c; | ||
34 : | color_inputFunc rgb565_to_yv12_c; | ||
35 : | color_inputFunc rgb24_to_yv12_c; | ||
36 : | color_inputFunc rgb32_to_yv12_c; | ||
37 : | color_inputFunc yuv_to_yv12_c; | ||
38 : | color_inputFunc yuyv_to_yv12_c; | ||
39 : | color_inputFunc uyvy_to_yv12_c; | ||
40 : | |||
41 : | /* mmx */ | ||
42 : | color_inputFunc rgb24_to_yv12_mmx; | ||
43 : | color_inputFunc rgb32_to_yv12_mmx; | ||
44 : | color_inputFunc yuv_to_yv12_mmx; | ||
45 : | color_inputFunc yuyv_to_yv12_mmx; | ||
46 : | color_inputFunc uyvy_to_yv12_mmx; | ||
47 : | |||
48 : | /* xmm */ | ||
49 : | color_inputFunc yuv_to_yv12_xmm; | ||
50 : | |||
51 : | |||
52 : | /* output color conversion functions (decoder) */ | ||
53 : | |||
54 : | edgomez | 195 | typedef void (color_outputFunc) (uint8_t * dst, |
55 : | int dst_stride, | ||
56 : | uint8_t * y_src, | ||
57 : | uint8_t * v_src, | ||
58 : | uint8_t * u_src, | ||
59 : | int y_stride, | ||
60 : | int uv_stride, | ||
61 : | int width, | ||
62 : | int height); | ||
63 : | Isibaar | 3 | |
64 : | edgomez | 195 | typedef color_outputFunc *color_outputFuncPtr; |
65 : | |||
66 : | Isibaar | 3 | extern color_outputFuncPtr yv12_to_rgb555; |
67 : | extern color_outputFuncPtr yv12_to_rgb565; | ||
68 : | extern color_outputFuncPtr yv12_to_rgb24; | ||
69 : | extern color_outputFuncPtr yv12_to_rgb32; | ||
70 : | suxen_drol | 582 | extern color_outputFuncPtr yv12_to_abgr; |
71 : | extern color_outputFuncPtr yv12_to_rgba; | ||
72 : | Isibaar | 3 | extern color_outputFuncPtr yv12_to_yuv; |
73 : | extern color_outputFuncPtr yv12_to_yuyv; | ||
74 : | extern color_outputFuncPtr yv12_to_uyvy; | ||
75 : | |||
76 : | /* plain c */ | ||
77 : | void init_yuv_to_rgb(void); | ||
78 : | |||
79 : | color_outputFunc yv12_to_rgb555_c; | ||
80 : | color_outputFunc yv12_to_rgb565_c; | ||
81 : | color_outputFunc yv12_to_rgb24_c; | ||
82 : | color_outputFunc yv12_to_rgb32_c; | ||
83 : | suxen_drol | 582 | color_outputFunc yv12_to_abgr_c; |
84 : | color_outputFunc yv12_to_rgba_c; | ||
85 : | Isibaar | 3 | color_outputFunc yv12_to_yuv_c; |
86 : | color_outputFunc yv12_to_yuyv_c; | ||
87 : | color_outputFunc yv12_to_uyvy_c; | ||
88 : | |||
89 : | /* mmx */ | ||
90 : | color_outputFunc yv12_to_rgb24_mmx; | ||
91 : | color_outputFunc yv12_to_rgb32_mmx; | ||
92 : | color_outputFunc yv12_to_yuyv_mmx; | ||
93 : | color_outputFunc yv12_to_uyvy_mmx; | ||
94 : | |||
95 : | suxen_drol | 118 | |
96 : | edgomez | 195 | void user_to_yuv_c(uint8_t * y_out, |
97 : | uint8_t * u_out, | ||
98 : | uint8_t * v_out, | ||
99 : | int stride, | ||
100 : | suxen_drol | 118 | DEC_PICTURE * picture, |
101 : | edgomez | 195 | int width, |
102 : | int height); | ||
103 : | suxen_drol | 118 | |
104 : | edgomez | 195 | #endif /* _COLORSPACE_H_ */ |
No admin address has been configured | ViewVC Help |
Powered by ViewVC 1.0.4 |