Media (Intel® Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools like Intel® oneAPI Video Processing Library and Intel® Media SDK
Announcements
The Intel Media SDK project is no longer active. For continued support and access to new features, Intel Media SDK users are encouraged to read the transition guide on upgrading from Intel® Media SDK to Intel® Video Processing Library (VPL), and to move to VPL as soon as possible.
For more information, see the VPL website.

About H264 encoder with UYVY format

lance7
Beginner
1,192 Views
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!!!
0 Kudos
1 Solution
Nina_K_Intel
Employee
1,192 Views
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

View solution in original post

0 Kudos
2 Replies
IDZ_A_Intel
Employee
1,192 Views
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
0 Kudos
Nina_K_Intel
Employee
1,193 Views
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
0 Kudos
Reply