I have a H264 stream that i try decode by givin the decoder full frame at a time. following flags are set :
mfxVideoParams.AsyncDepth = 1
BitStream.DataFlag = MFX_BITSTREAM_COMPLETE_FRAME
What happens on this specific stream (attached) is that Decoder consumes up to 15-17 frames before i get a syncpoint returned. so i can not get a frame out of the decoder untill it buffers 15-17 frames.
Is this because of the stream, can i do something to get the decoded frame right away as i need low latency on the decoder output?
Are there any other settings i am missing?
I do not have input stream information (no attachment). But from description, you are setting required decoder flags for low latency and I am suspecting this could be due the input stream. Can you check and confirm if stream is HRD compliant/valid stream? Also, you can implement rate control methods to tune your decoder, take a look at this article:https://software.intel.com/en-us/articles/video-conferencing-features-of-intel-media-software-development-kit (decoder configuration section).
hi again Harsh,
sorry to polute this thrtead .. .but i have tired a while ago make a new topic in media forum but i dont think it is in the correct forum as i have not seen any activity for a month ..
could you take a look at this topic :
and please move it to correct forum if you can.
Thank you for the note. I moved you topic to Media forum. In future, for your reference here is link: https://software.intel.com/en-us/forums/intel-media-sdk.
The decoder buffers amount of frames equal to dpb size given from the stream info. I looked at the stream - according to its level (5.1), the dpb size is 16.
If you want to have syncpoint returned right after the first frame consumed, please enable DecodedOrder flag (it's not actually deprecated as it's declared at the documentation).