X264中Color Space Converter问题, 附解决图像倒立代码
X264的编码输入一般以I420格式为主,但是x264也支持了RGB24,RGB32及YUVU,YV12(晕~~
就YUV都整出了这么多大同小异格式来)等格式,当然支持的意思就是x264里
面把这些格式转换成了I420了,具体转换工作(Color Space Converter)在csp.c里完成.
但是在windows下,RGB的存放顺序是upside down,如果直接使用rgb_to_i420,则图像是
倒立的.因此需要修改,以便图像不再倒立。
具体修改就是
#define RGB_TO_I420( name, POS_R, POS_G, POS_B, S_RGB ) /
static void name( x264_frame_t *frm, x264_image_t *img, /
int i_width, int i_height ) /
{ /
uint8_t *src = img->plane[0]+i_width*(i_height-1)*3;/
int i_src= img->i_stride[0]; /
int i_y = frm->i_stride[0]; /
uint8_t *y = frm->plane[0]; /
uint8_t *u = frm->plane[1]; /
uint8_t *v = frm->plane[2];