I am using Windows.
I have a successful pipeline which is successfully working using multiple sessions and VIDEO memory. I now need to output the resultant frame to SYSTEM memory. I am using the following IOPATTERN
IOPattern = MFX_IOPATTERN_IN_VIDEO_MEMORY | MFX_IOPATTERN_OUT_SYSTEM_MEMORY;
To create a system allocator I use SysMemFrameAllocator.
I create a new session and use MFXJoinSession to join this session to the parent session.
I run MFXVideoVPP_RunFrameVPPAsync which returns ERR_NONE.
The mfxVideoParams for the surface in and surface out are identical.
MFXVideoCORE_SyncOperation returnjs MFX_ERR_UNSUPPORTED. How do I get the raw surface back into SYSTEM memory?
I am trying to understand your programming structure:
1. You have a decoding session and a VPP session, each runs separately and join together at the end.
2. You didn't output the result frame previously and you want to output it by the system surface, when you change the output of VPP from the video surface to system surface, you had the error.
Could you clarify?
Normally, I will have following choices:
1. Check our tutorial code or sample code for the workable programming method.
2. Do a single session with the original code to see if you get the same error.