About H264 encoder with UYVY format

About H264 encoder with UYVY format

Hi all,

I am using graphedit to transcoding.

I found that the intel media sdk (2.0) encoder do not accept the UYVY format.

I have studied about the VPP, but it seems only take YUY2 and YV12 to NV12.

Please help me to fix this problem as I don't have any more ideas on what to do!

Many thanks!!!

3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.
admin's picture

UYVY and YUY2 formats are very similar. They contain the same data and the only difference is the order in which luma and chroma bytes are packed in the image. Simple reordering like this should change UYVY fornat into YUY2:

yuy2[0] = uyvy[1];
yuy2[1] = uyvy[0];
yuy2[2] = uyvy[3];
yuy2[3] = uyvy[2];

Here is the description of both formats http://www.fourcc.org/yuv.php#UYVYand http://www.fourcc.org/yuv.php#YUY2

Best Reply

lance7,
For DirectShow transcoding you may look for a 3d party color space converter filter supporting required input and output formats and use it before the Media SDK Encoder filter. Another option is to implement this particular simple conversion from UYVY to YUY2 as Gregory described and insert VPP functions into pipeline to further convert YUY2 to NV12, all within the encoder filter.
Regards,Nina

Login to leave a comment.