Commit | Line | Data |
---|---|---|
fcfbc150 | 1 | /* |
b234ae81 | 2 | * |
b238eb2e | 3 | * rgb2rgb.h, Software RGB to RGB convertor |
6611aa83 NK |
4 | * pluralize by Software PAL8 to RGB convertor |
5 | * Software YUV to YUV convertor | |
6 | * Software YUV to RGB convertor | |
b234ae81 NK |
7 | */ |
8 | ||
9 | #ifndef RGB2RGB_INCLUDED | |
10 | #define RGB2RGB_INCLUDED | |
11 | ||
ac4d0aea | 12 | /* A full collection of rgb to rgb(bgr) convertors */ |
996e1a7c | 13 | extern void rgb24to32(const uint8_t *src,uint8_t *dst,unsigned src_size); |
0d9f3d85 A |
14 | extern void rgb24to16(const uint8_t *src,uint8_t *dst,unsigned src_size); |
15 | extern void rgb24to15(const uint8_t *src,uint8_t *dst,unsigned src_size); | |
996e1a7c | 16 | extern void rgb32to24(const uint8_t *src,uint8_t *dst,unsigned src_size); |
4aecdf91 NK |
17 | extern void rgb32to16(const uint8_t *src,uint8_t *dst,unsigned src_size); |
18 | extern void rgb32to15(const uint8_t *src,uint8_t *dst,unsigned src_size); | |
0d9f3d85 A |
19 | extern void rgb15to16(const uint8_t *src,uint8_t *dst,unsigned src_size); |
20 | extern void rgb15to24(const uint8_t *src,uint8_t *dst,unsigned src_size); | |
21 | extern void rgb15to32(const uint8_t *src,uint8_t *dst,unsigned src_size); | |
ac4d0aea | 22 | extern void rgb16to15(const uint8_t *src,uint8_t *dst,unsigned src_size); |
0d9f3d85 A |
23 | extern void rgb16to24(const uint8_t *src,uint8_t *dst,unsigned src_size); |
24 | extern void rgb16to32(const uint8_t *src,uint8_t *dst,unsigned src_size); | |
ac4d0aea | 25 | extern void rgb24tobgr32(const uint8_t *src, uint8_t *dst, unsigned src_size); |
74d35835 | 26 | extern void rgb24tobgr24(const uint8_t *src, uint8_t *dst, unsigned src_size); |
ac4d0aea MN |
27 | extern void rgb24tobgr16(const uint8_t *src, uint8_t *dst, unsigned src_size); |
28 | extern void rgb24tobgr15(const uint8_t *src, uint8_t *dst, unsigned src_size); | |
29 | extern void rgb32tobgr32(const uint8_t *src, uint8_t *dst, unsigned src_size); | |
30 | extern void rgb32tobgr24(const uint8_t *src, uint8_t *dst, unsigned src_size); | |
31 | extern void rgb32tobgr16(const uint8_t *src, uint8_t *dst, unsigned src_size); | |
32 | extern void rgb32tobgr15(const uint8_t *src, uint8_t *dst, unsigned src_size); | |
33 | extern void rgb16tobgr32(const uint8_t *src, uint8_t *dst, unsigned src_size); | |
34 | extern void rgb16tobgr24(const uint8_t *src, uint8_t *dst, unsigned src_size); | |
35 | extern void rgb16tobgr16(const uint8_t *src, uint8_t *dst, unsigned src_size); | |
36 | extern void rgb16tobgr15(const uint8_t *src, uint8_t *dst, unsigned src_size); | |
37 | extern void rgb15tobgr32(const uint8_t *src, uint8_t *dst, unsigned src_size); | |
38 | extern void rgb15tobgr24(const uint8_t *src, uint8_t *dst, unsigned src_size); | |
39 | extern void rgb15tobgr16(const uint8_t *src, uint8_t *dst, unsigned src_size); | |
40 | extern void rgb15tobgr15(const uint8_t *src, uint8_t *dst, unsigned src_size); | |
41 | extern void rgb8tobgr8(const uint8_t *src, uint8_t *dst, unsigned src_size); | |
b234ae81 | 42 | |
fcfbc150 | 43 | |
996e1a7c | 44 | extern void palette8torgb32(const uint8_t *src, uint8_t *dst, unsigned num_pixels, const uint8_t *palette); |
18a7b2a8 A |
45 | extern void palette8tobgr32(const uint8_t *src, uint8_t *dst, unsigned num_pixels, const uint8_t *palette); |
46 | extern void palette8torgb24(const uint8_t *src, uint8_t *dst, unsigned num_pixels, const uint8_t *palette); | |
47 | extern void palette8tobgr24(const uint8_t *src, uint8_t *dst, unsigned num_pixels, const uint8_t *palette); | |
996e1a7c | 48 | extern void palette8torgb16(const uint8_t *src, uint8_t *dst, unsigned num_pixels, const uint8_t *palette); |
18a7b2a8 | 49 | extern void palette8tobgr16(const uint8_t *src, uint8_t *dst, unsigned num_pixels, const uint8_t *palette); |
996e1a7c | 50 | extern void palette8torgb15(const uint8_t *src, uint8_t *dst, unsigned num_pixels, const uint8_t *palette); |
18a7b2a8 | 51 | extern void palette8tobgr15(const uint8_t *src, uint8_t *dst, unsigned num_pixels, const uint8_t *palette); |
996e1a7c | 52 | |
42b5fcb8 | 53 | extern void yv12toyuy2(const uint8_t *ysrc, const uint8_t *usrc, const uint8_t *vsrc, uint8_t *dst, |
b1ec5875 | 54 | unsigned int width, unsigned int height, |
f0b62bbd | 55 | int lumStride, int chromStride, int dstStride); |
b1ec5875 | 56 | extern void yuv422ptoyuy2(const uint8_t *ysrc, const uint8_t *usrc, const uint8_t *vsrc, uint8_t *dst, |
cfc15dc6 | 57 | unsigned int width, unsigned int height, |
f0b62bbd | 58 | int lumStride, int chromStride, int dstStride); |
dabcdbc4 | 59 | extern void yuy2toyv12(const uint8_t *src, uint8_t *ydst, uint8_t *udst, uint8_t *vdst, |
cfc15dc6 | 60 | unsigned int width, unsigned int height, |
f0b62bbd | 61 | int lumStride, int chromStride, int srcStride); |
aa21f0c3 MN |
62 | extern void rgb24toyv12(const uint8_t *src, uint8_t *ydst, uint8_t *udst, uint8_t *vdst, |
63 | unsigned int width, unsigned int height, | |
f0b62bbd | 64 | int lumStride, int chromStride, int srcStride); |
b241cbf2 | 65 | extern void planar2x(const uint8_t *src, uint8_t *dst, int width, int height, int srcStride, int dstStride); |
d9d58d17 | 66 | |
5d55fdb4 | 67 | extern void interleaveBytes(uint8_t *src1, uint8_t *src2, uint8_t *dst, |
f0b62bbd MN |
68 | unsigned width, unsigned height, int src1Stride, |
69 | int src2Stride, int dstStride); | |
ac4d0aea MN |
70 | |
71 | extern void vu9_to_vu12(const uint8_t *src1, const uint8_t *src2, | |
72 | uint8_t *dst1, uint8_t *dst2, | |
73 | unsigned width, unsigned height, | |
f0b62bbd MN |
74 | int srcStride1, int srcStride2, |
75 | int dstStride1, int dstStride2); | |
ac4d0aea MN |
76 | |
77 | extern void yvu9_to_yuy2(const uint8_t *src1, const uint8_t *src2, const uint8_t *src3, | |
78 | uint8_t *dst, | |
79 | unsigned width, unsigned height, | |
f0b62bbd MN |
80 | int srcStride1, int srcStride2, |
81 | int srcStride3, int dstStride); | |
5d55fdb4 MN |
82 | |
83 | ||
6611aa83 NK |
84 | #define MODE_RGB 0x1 |
85 | #define MODE_BGR 0x2 | |
86 | ||
5427e242 | 87 | static void yuv2rgb(uint8_t * image, uint8_t * py, |
6611aa83 | 88 | uint8_t * pu, uint8_t * pv, |
0d9f3d85 | 89 | unsigned h_size, unsigned v_size, |
5427e242 MN |
90 | int rgb_stride, int y_stride, int uv_stride){ |
91 | printf("broken, this should use the swscaler\n"); | |
92 | } | |
6611aa83 | 93 | |
5427e242 MN |
94 | static void yuv2rgb_init (unsigned bpp, int mode){ |
95 | printf("broken, this should use the swscaler\n"); | |
96 | } | |
6611aa83 | 97 | |
b234ae81 | 98 | #endif |