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
_______________________________________________
Libav-user mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/libav-user

To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".

Reply via email to