[Libav-user] [dnxhd] Internal error, put_bits buffer too small
Jonathan Noble
jonnobleuk at gmail.com
Thu Oct 3 00:02:11 EEST 2019
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://ffmpeg.org/pipermail/libav-user/attachments/20191002/cbec3421/attachment.html>
More information about the Libav-user
mailing list