In my application, mfxBitstream to an existing h264 decoder maybe changed from different resources. Once the decoder returned MFX_WRN_VIDEO_PARAM_CHANGED, I need to reset the decoder. So I need to assign a new MaxLenght to mfxBitstream.
It looks like that MaxLenth can be any size. But how to select a proper size.Is there any relationship between MaxLength of mfxBitstream and the resolution of video frame? Can it found by new uploaded mfxBitstream.
You have to initialize encoder/decoder session with the parameters you need (resolution, framerate, etc.)and request recommended parameters by calling GetVideoParam with mfxVideoParam structure which is initialized with all zeroes. You receive the recommended buffer size (in KB) in mfxVideoParam.mfx.BufferSizeInKB.
So MaxLength must be mfxVideoParam.mfx.BufferSizeInKB * 1024.