- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I am trying to use VPP to convert YUY2 data in system memory into RGB data in video memory.
I have most things setup, however I cannot get the YUY2 data moved from the system memory into the input mfxFrameSurface1, so it can be processed by MFXVideoVPP_RunFrameVPPAsync.
I have tried using both In System Memory and In Video Memory flags (and correspondingly tried to set YUV pointers, or memId reference). However I cannot get either to work. Any suggestions on how to copy the YUY2 data into video memory for processing?
Thanks,
Bobby
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Thank you for posting in Intel Communities. We are trying to reproduce your issue from our end. We will get back to you soon with an update.
Regards,
Rahul
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
That is a supported converstion
Which OS you are using? Which platform?
Can you share the command you used?
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Kevin,
Windows 10 operating system, using the Intel Media SDK.
There is quite a bit of code around the entire process. We basically have a decoding workflow working in which we take a mfxBitstream, then use MFXVideoDECODE_DecodeFrameAsync, which gives us an mfxFrameSurface1, which we can feed to the MFXVideoVPP_RunFrameVPPAsync for processing. This works for videos that need decoded.
In this case we have raw video YUY2 that does not need decoded. So how do we get mfxBitstream data (from system memory) into an mfxFrameSurface1 that we can send through MFXVideoVPP_RunFrameVPPAsync?
We would like the resulting output from the VPP process to be in video memory, and run the process on the GPU through hardware acceleration. In the documentation this pretty well relates to the
find_unlocked_surface_and_fill_content
function in the pseudo code in the documentation here: https://spec.oneapi.io/versions/1.0-rev-3/elements/oneVPL/source/programming_guide/VPL_prg_vpp.html#vid-process-procedure
Thanks,
Bobby
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This should be a reported feature... I will forward your pseudo code to the dev team to see if they have any additional insights.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I’ve confirmed that VPL VPP can support YUY2 input.
This test case is reading YUY2 file, copy YUY2 from system memory to video memory, then call MFXVideoVPP_RunFrameVPPAsync, and output the output to a file.
I think the key thing is if the surface is lockable or not? If it can be lockable, it should work
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
We have not heard back from you. This thread will no longer be monitored by Intel. If you need further assistance, please post a new question.
Thanks.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page