25 #ifndef FIREVISION_UTILS_COLOR_RGBYUV_H_ 26 #define FIREVISION_UTILS_COLOR_RGBYUV_H_ 28 namespace firevision {
30 #define RGB2YUV(r, g, b, y, u, v) \ 32 y = (306 * r + 601 * g + 117 * b) >> 10; \ 33 u = ((-172 * r - 340 * g + 512 * b) >> 10) + 128; \ 34 v = ((512 * r - 429 * g - 83 * b) >> 10) + 128; \ 38 y = y > 255 ? 255 : y; \ 39 u = u > 255 ? 255 : u; \ 40 v = v > 255 ? 255 : v; \ 56 rgb_to_yuy2(
const unsigned char *RGB,
unsigned char *YUV,
unsigned int width,
unsigned int height);
74 void rgb_to_yuv411packed_plainc(
const unsigned char *RGB,
90 void convert_line_rgb_to_yuv422planar(
const unsigned char *RGB,
94 unsigned int rgb_line,
95 unsigned int yuv_line);
106 void rgb_to_yuv422planar_plainc(
const unsigned char *RGB,
109 unsigned int height);
120 void rgb_planar_to_yuv422packed_plainc(
const unsigned char *rgb_planar,
123 unsigned int height);
136 void convert_line_rgb_to_yuv422packed(
const unsigned char *RGB,
140 unsigned int rgb_line,
141 unsigned int yuv_line);
152 void rgb_to_yuv422packed_plainc(
const unsigned char *RGB,
155 unsigned int height);
166 void bgr_to_yuv422planar_plainc(
const unsigned char *BGR,
169 unsigned int height);