I'm trying to come up with a robust way to useMFXVideoDECODE_DecodeHeader, however I do not understand the meaning of the bitstream member values after the call..
If I pass in the first 7 bytes of the stream (DataOffset=0,DataLength=7), then it returns MFX_ERR_MORE_DATA, and the bitstream will be unchanged (DataOffset=0,DataLength=7), which I assume means that I need to append more data to it.
However, if I only pass in the first 4 bytes of the stream (DataOffset=0,DataLength=4), then it returnsMFX_ERR_MORE_DATA (as expected), but the bitstream gets changed (DataOffset=4,DataLength=0). What does this mean? Why does passing less data behave different?? What am I supposed to do?
Also, if Icall itwith the first 1000 bytes (DataOffset=0,DataLength=1000), then it returnsMFX_ERR_NONE, and the bitstream will be (DataOffset=0,DataLength=1000). But now how do I know how much of it was actually processed?
A little explanation would be appreciated! Thanks!