I am writing a decoder over Intel media sdk and meet a problem:
When I useMFX_IMPL_HARDWARE which means implenting by harware to initial a session of decoder, I got therightresult, but when I useMFX_IMPL_SOFTWARE , I got the the wrong ordered- frames, which means some frames that should be disapear later disapeared first.
I guess what makes me wrong is the wrong way to deal withMFX_ERR_MORE_SURFACE.
So, my question is that why did I get right result byMFX_IMPL_HARDWARE while wrong result byMFX_IMPL_SOFTWARE , and how to deal withMFX_ERR_MORE_SURFACE? the comments ofMFX_ERR_MORE_SURFACE is /*expect more surface at output*/ , and , i don't how to fix the decoder.
There are many differences between the hardware and software implementations. In many cases the software implementation requires more surfaces to process the decode operation.
The decode sample should be a good place to start. Example 1 in the reference manual also shows thesteps you will need to implement a decoder.
I suspect that there may be a problem with where you run QueryIOSurf and allocate frames. If you are still having trouble after comparing your code with the sample please post a code snippet,attach your test code, or summarize with psuedocode -- whatever you think is most appropriate. More information about your implementation could help us find the problem.
Glad you're enjoying working with quick sync video. We're pretty excited about it too. :)