How to define MaxLength of mfxBitstream?

How to define MaxLength of mfxBitstream?

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.
Thanks in advance.
Jiuxiang

2 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.
Vassili Yakovlev's picture

Hi Jiuxiang,

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.

Kind regards,
Vassili

Login to leave a comment.