Cannot drain last MVC frame from decoder

Cannot drain last MVC frame from decoder

I'm trying to drain the last pair of stereo frames from the MVC decoder. According to the documentation I do:

At the end of the bitstream, the application continuously calls the MFXVideoDECODE_DecodeFrameAsync function with a NULL bitstream pointer to drain any remaining frames cached within the Intel Media SDK decoder, until the function returns MFX_ERR_MORE_DATA.

This works fine for a number of buffered AVC/MVC frame pairs, but not for the last pair. I get view 0, and afterwards error MFX_ERR_MODE_DATA which seems to tell me that no more frames are buffered and so view 1 is missing.

Input data are valid AVC/MVC frames, the two last frames (view 0/1) are each terminated by end of sequence 00 00 01 0A.

Is this a bug or am I missing something?

4 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

I had exactly the same problem. I am not sure if it is a bug, but you get both views of the last frame if you remove the end of sequence from the input stream.

Sorry for the delay folks. We are a bit short staffed this week. I've added this to the queue to be investigated.
Thanks for the workaround Markus. I'll let you guys know if we determine it to be a bug or not.

Many thanks to Mr. Pingel, this seems to be the solution.

Maybe this is indeed no bug. My source is a SONY Cam file which features a transport stream with separate AVC and MVC sub streams. So it seems to be correct that each stream is seperately terminated by "end of sequence". If I combine those streams to a single elementary stream it seems also correct that the decoder stops after the first EOS and misses the last MVC frame.

So the conclusion may be that manual removing of the first EOS in AVC is the only solution here..

Leave a Comment

Please sign in to add a comment. Not a member? Join today