comparison postproc/rgb2rgb.h @ 9987:988c2ffc5bc1

remove remaining cpudetect dependancy
author michael
date Fri, 25 Apr 2003 17:16:55 +0000
parents eff727517e6b
children 35f52ad860a0
comparison
equal deleted inserted replaced
9986:4bdd248d372e 9987:988c2ffc5bc1
8 8
9 #ifndef RGB2RGB_INCLUDED 9 #ifndef RGB2RGB_INCLUDED
10 #define RGB2RGB_INCLUDED 10 #define RGB2RGB_INCLUDED
11 11
12 /* A full collection of rgb to rgb(bgr) convertors */ 12 /* A full collection of rgb to rgb(bgr) convertors */
13 extern void rgb24to32(const uint8_t *src,uint8_t *dst,unsigned src_size); 13 extern void (*rgb24to32)(const uint8_t *src,uint8_t *dst,unsigned src_size);
14 extern void rgb24to16(const uint8_t *src,uint8_t *dst,unsigned src_size); 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); 15 extern void (*rgb24to15)(const uint8_t *src,uint8_t *dst,unsigned src_size);
16 extern void rgb32to24(const uint8_t *src,uint8_t *dst,unsigned src_size); 16 extern void (*rgb32to24)(const uint8_t *src,uint8_t *dst,unsigned src_size);
17 extern void rgb32to16(const uint8_t *src,uint8_t *dst,unsigned src_size); 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); 18 extern void (*rgb32to15)(const uint8_t *src,uint8_t *dst,unsigned src_size);
19 extern void rgb15to16(const uint8_t *src,uint8_t *dst,unsigned src_size); 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); 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); 21 extern void (*rgb15to32)(const uint8_t *src,uint8_t *dst,unsigned src_size);
22 extern void rgb16to15(const uint8_t *src,uint8_t *dst,unsigned src_size); 22 extern void (*rgb16to15)(const uint8_t *src,uint8_t *dst,unsigned src_size);
23 extern void rgb16to24(const uint8_t *src,uint8_t *dst,unsigned src_size); 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); 24 extern void (*rgb16to32)(const uint8_t *src,uint8_t *dst,unsigned src_size);
25 extern void (*rgb24tobgr24)(const uint8_t *src, uint8_t *dst, unsigned src_size);
26 extern void (*rgb24tobgr16)(const uint8_t *src, uint8_t *dst, unsigned src_size);
27 extern void (*rgb24tobgr15)(const uint8_t *src, uint8_t *dst, unsigned src_size);
28 extern void (*rgb32tobgr32)(const uint8_t *src, uint8_t *dst, unsigned src_size);
29 extern void (*rgb32tobgr16)(const uint8_t *src, uint8_t *dst, unsigned src_size);
30 extern void (*rgb32tobgr15)(const uint8_t *src, uint8_t *dst, unsigned src_size);
31
25 extern void rgb24tobgr32(const uint8_t *src, uint8_t *dst, unsigned src_size); 32 extern void rgb24tobgr32(const uint8_t *src, uint8_t *dst, unsigned src_size);
26 extern void rgb24tobgr24(const uint8_t *src, uint8_t *dst, unsigned src_size);
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); 33 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 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 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 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 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 rgb15tobgr32(const uint8_t *src, uint8_t *dst, unsigned src_size);
48 extern void palette8torgb16(const uint8_t *src, uint8_t *dst, unsigned num_pixels, const uint8_t *palette); 49 extern void palette8torgb16(const uint8_t *src, uint8_t *dst, unsigned num_pixels, const uint8_t *palette);
49 extern void palette8tobgr16(const uint8_t *src, uint8_t *dst, unsigned num_pixels, const uint8_t *palette); 50 extern void palette8tobgr16(const uint8_t *src, uint8_t *dst, unsigned num_pixels, const uint8_t *palette);
50 extern void palette8torgb15(const uint8_t *src, uint8_t *dst, unsigned num_pixels, const uint8_t *palette); 51 extern void palette8torgb15(const uint8_t *src, uint8_t *dst, unsigned num_pixels, const uint8_t *palette);
51 extern void palette8tobgr15(const uint8_t *src, uint8_t *dst, unsigned num_pixels, const uint8_t *palette); 52 extern void palette8tobgr15(const uint8_t *src, uint8_t *dst, unsigned num_pixels, const uint8_t *palette);
52 53
53 extern void yv12toyuy2(const uint8_t *ysrc, const uint8_t *usrc, const uint8_t *vsrc, uint8_t *dst, 54 /**
55 *
56 * height should be a multiple of 2 and width should be a multiple of 16 (if this is a
57 * problem for anyone then tell me, and ill fix it)
58 * chrominance data is only taken from every secound line others are ignored FIXME write HQ version
59 */
60 //void uyvytoyv12(const uint8_t *src, uint8_t *ydst, uint8_t *udst, uint8_t *vdst,
61
62 /**
63 *
64 * height should be a multiple of 2 and width should be a multiple of 16 (if this is a
65 * problem for anyone then tell me, and ill fix it)
66 */
67 extern void (*yv12toyuy2)(const uint8_t *ysrc, const uint8_t *usrc, const uint8_t *vsrc, uint8_t *dst,
54 unsigned int width, unsigned int height, 68 unsigned int width, unsigned int height,
55 int lumStride, int chromStride, int dstStride); 69 int lumStride, int chromStride, int dstStride);
56 extern void yuv422ptoyuy2(const uint8_t *ysrc, const uint8_t *usrc, const uint8_t *vsrc, uint8_t *dst, 70
71 /**
72 *
73 * width should be a multiple of 16
74 */
75 extern void (*yuv422ptoyuy2)(const uint8_t *ysrc, const uint8_t *usrc, const uint8_t *vsrc, uint8_t *dst,
57 unsigned int width, unsigned int height, 76 unsigned int width, unsigned int height,
58 int lumStride, int chromStride, int dstStride); 77 int lumStride, int chromStride, int dstStride);
59 extern void yuy2toyv12(const uint8_t *src, uint8_t *ydst, uint8_t *udst, uint8_t *vdst, 78
79 /**
80 *
81 * height should be a multiple of 2 and width should be a multiple of 16 (if this is a
82 * problem for anyone then tell me, and ill fix it)
83 */
84 extern void (*yuy2toyv12)(const uint8_t *src, uint8_t *ydst, uint8_t *udst, uint8_t *vdst,
60 unsigned int width, unsigned int height, 85 unsigned int width, unsigned int height,
61 int lumStride, int chromStride, int srcStride); 86 int lumStride, int chromStride, int srcStride);
62 extern void rgb24toyv12(const uint8_t *src, uint8_t *ydst, uint8_t *udst, uint8_t *vdst, 87
88 /**
89 *
90 * height should be a multiple of 2 and width should be a multiple of 2 (if this is a
91 * problem for anyone then tell me, and ill fix it)
92 * chrominance data is only taken from every secound line others are ignored FIXME write HQ version
93 */
94 extern void (*rgb24toyv12)(const uint8_t *src, uint8_t *ydst, uint8_t *udst, uint8_t *vdst,
63 unsigned int width, unsigned int height, 95 unsigned int width, unsigned int height,
64 int lumStride, int chromStride, int srcStride); 96 int lumStride, int chromStride, int srcStride);
65 extern void planar2x(const uint8_t *src, uint8_t *dst, int width, int height, int srcStride, int dstStride); 97 extern void (*planar2x)(const uint8_t *src, uint8_t *dst, int width, int height, int srcStride, int dstStride);
66 98
67 extern void interleaveBytes(uint8_t *src1, uint8_t *src2, uint8_t *dst, 99 extern void (*interleaveBytes)(uint8_t *src1, uint8_t *src2, uint8_t *dst,
68 unsigned width, unsigned height, int src1Stride, 100 unsigned width, unsigned height, int src1Stride,
69 int src2Stride, int dstStride); 101 int src2Stride, int dstStride);
70 102
71 extern void vu9_to_vu12(const uint8_t *src1, const uint8_t *src2, 103 extern void (*vu9_to_vu12)(const uint8_t *src1, const uint8_t *src2,
72 uint8_t *dst1, uint8_t *dst2, 104 uint8_t *dst1, uint8_t *dst2,
73 unsigned width, unsigned height, 105 unsigned width, unsigned height,
74 int srcStride1, int srcStride2, 106 int srcStride1, int srcStride2,
75 int dstStride1, int dstStride2); 107 int dstStride1, int dstStride2);
76 108
77 extern void yvu9_to_yuy2(const uint8_t *src1, const uint8_t *src2, const uint8_t *src3, 109 extern void (*yvu9_to_yuy2)(const uint8_t *src1, const uint8_t *src2, const uint8_t *src3,
78 uint8_t *dst, 110 uint8_t *dst,
79 unsigned width, unsigned height, 111 unsigned width, unsigned height,
80 int srcStride1, int srcStride2, 112 int srcStride1, int srcStride2,
81 int srcStride3, int dstStride); 113 int srcStride3, int dstStride);
82 114