MPEG2VideoEncoder access violations

MPEG2VideoEncoder access violations

MPEG2VideoEncoderBase::Init() calls CreateFrameBuffer() to initialize/reinitialize internal frame buffers in the following cases only (OR):

  1. first initialization
  2. width/height changed
  3. color format changed

It doesn't take into account IPDistance parameter changes. So, the following code:

MPEG2VideoEncoder.Init( IPDistance = 1 );
... do some encoding work A ...
MPEG2VideoEncoder.Init( IPDistance = 3 ); // or Reset, then Init
... do some encoding work B ...

will get access violations or __non_rtti_object exceptions at work B (inside MPEG2VideoEncoderBase::FrameDone, LoadToBuffer), because the real size of frames.buf_B is 0 (instead of supposed size = 2).

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


Thanks for you reported. I tracked this problem into to our defect database.


And please look at one more defect:

Leave a Comment

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