[Libav-user] [dnxhd] Internal error, put_bits buffer too small

Paul B Mahol onemda at gmail.com
Thu Oct 3 09:47:06 EEST 2019

Please provide input samples that allow to reproduce this issue with ffmpeg.

On 10/2/19, Jonathan Noble <jonnobleuk at gmail.com> wrote:
> Hi,
> I am trying to encode to dnxhd with libavcodec. The result is quite glitchy
> with stuttering and anomalies on most frames.
> During encoding I see the following message almost continuously.
>> Internal error, put_bits buffer too small
> I have tried to understand what this buffer is, how it is set up and I am
> struggling. From what I can understand the puts_bit buffer is
> DNXHDEncContext->m->pb which is initialised via init_put_bits() in
> dnxhd_encode_thread().
> The 2 arguments used in init_put_bits() are DNXHDEncContext->slice_offs and
> DNXHDEncContext->slice_size. These 2 are configured in
> dnxhd_setup_thread_slices() with 2 variables MpegEncContext->mb_width and
> MpegEncContext->mb_bits.
> If my understanding is correct the 2 aforementioned variables in
> MpegEncContext are the variables I need to set. However, I have no idea
> what they mean or how they are accessed outside of
> AVCodecContext->priv_data.
> Is my understanding correct? How does one setup the puts_bit buffer
> correctly for a dnxhd encode?
> Kind regards
> Jon Noble

More information about the Libav-user mailing list