Community
cancel
Showing results for 
Search instead for 
Did you mean: 
alex78
New Contributor I
84 Views

MFX_ERR_MORE_SURFACE in software implementation only

Jump to solution

Dear all,

I have a working Media SDK decoder, I can successfully decode frames with very good performance and latency. Until now I have used MFX_IMPL_HARDWARE_ANY for session initialization, which worked as expected. Now I had the idea to also test the MFX_IMPL_SOFTWARE option to see the performance of the software implementation. But when using the MFX_IMPL_SOFTWARE option, after a successful call to DecodeHeader, all calls to DecodeFrameAsync return MFX_ERR_MORE_SURFACE. I am using AsyncDepth = 1 and IOPattern = MFX_IOPATTERN_OUT_SYSTEM_MEMORY for my mfxVideoParam structure. The obvious difference I saw between hardware and software implementation was that after a call to QueryIOSurf, the hardware implementation suggested to allocate 1 frame, the software implementation suggested 18 (through mfxFrameAllocRequest.NumFrameSuggested). In my code I use a minimalistic way of allocating the surfaces, exactly as demonstrated for example here https://software.intel.com/sites/default/files/managed/60/21/simple_decode.cpp

What can be the cause for the software implementation to break my decoder? Should additional information be needed, I will be glad to provide more details.

Thank you very much.

Alex

0 Kudos
1 Solution
84 Views

Hello Alex - I tried to reproduce your issue (of SW impl breaking the decoder), but was not able to. Can you send more details on your system, error, input etc., - use this forum to see what details we need. https://software.intel.com/en-us/forums/topic/531083

Note: You seem to be working with an older version of the tutorials. There are updated tutorials here for use  http://software.intel.com/sites/default/files/mediasdk-tutorials-0.0.3.zip

View solution in original post

3 Replies
85 Views

Hello Alex - I tried to reproduce your issue (of SW impl breaking the decoder), but was not able to. Can you send more details on your system, error, input etc., - use this forum to see what details we need. https://software.intel.com/en-us/forums/topic/531083

Note: You seem to be working with an older version of the tutorials. There are updated tutorials here for use  http://software.intel.com/sites/default/files/mediasdk-tutorials-0.0.3.zip

View solution in original post

alex78
New Contributor I
84 Views

Hello,

thanks for the updated tutorials. After reviewing some of them, I figured out that I was not handling MFX_ERR_MORE_SURFACE properly in my code. Since the "hardware implementation" did not require more than 1 frame surface (mfxFrameAllocRequest.NumFrameSuggested) the error was not obvious to me and the decoder was working fine. Now I've fixed the code so that the software implementation works as well.

Sorry for wasting your time here.

Alex

84 Views

Hello Alex - Glad you fixed the issue. No time waste at all - good to know about the limitations or gaps in our products.

Reply