- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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!!!
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!!!
1 Solution
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page