25 #ifndef __FIREVISION_UTILS_COLOR_RGBYUV_H 26 #define __FIREVISION_UTILS_COLOR_RGBYUV_H 34 #define RGB2YUV(r, g, b, y, u, v) { \ 35 y = (306*r + 601*g + 117*b) >> 10; \ 36 u = ((-172*r - 340*g + 512*b) >> 10) + 128; \ 37 v = ((512*r - 429*g - 83*b) >> 10) + 128; \ 41 y = y > 255 ? 255 : y; \ 42 u = u > 255 ? 255 : u; \ 43 v = v > 255 ? 255 : v; } 58 void rgb_to_yuy2(
const unsigned char *RGB,
unsigned char *YUV,
59 unsigned int width,
unsigned int height);
78 void rgb_to_yuv411packed_plainc(
const unsigned char *RGB,
unsigned char *YUV,
79 unsigned int width,
unsigned int height);
92 void convert_line_rgb_to_yuv422planar(
const unsigned char *RGB,
unsigned char *YUV,
93 unsigned int width,
unsigned int height,
94 unsigned int rgb_line,
unsigned int yuv_line);
106 void rgb_to_yuv422planar_plainc(
const unsigned char *RGB,
unsigned char *YUV,
107 unsigned int width,
unsigned int height);
118 void rgb_planar_to_yuv422packed_plainc(
const unsigned char *rgb_planar,
unsigned char *YUV,
119 unsigned int width,
unsigned int height);
132 void convert_line_rgb_to_yuv422packed(
const unsigned char *RGB,
unsigned char *YUV,
133 unsigned int width,
unsigned int height,
134 unsigned int rgb_line,
unsigned int yuv_line);
145 void rgb_to_yuv422packed_plainc(
const unsigned char *RGB,
unsigned char *YUV,
146 unsigned int width,
unsigned int height);
157 void bgr_to_yuv422planar_plainc(
const unsigned char *BGR,
unsigned char *YUV,
158 unsigned int width,
unsigned int height);