]> git.sesse.net Git - ffmpeg/commit
avcodec/ac3enc: Use actual size of buffer in init_put_bits()
authorAndreas Rheinhardt <andreas.rheinhardt@outlook.com>
Mon, 29 Mar 2021 16:19:43 +0000 (18:19 +0200)
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>
Fri, 2 Apr 2021 10:06:56 +0000 (12:06 +0200)
commit968c158abde36ebb7520706a69eebe3e8eacbd81
tree71c6932bd2d154852e26ac5268c0c964e98ced32
parent3d97a0061c723827fda0c1cf28c6f63e7e4cf1b8
avcodec/ac3enc: Use actual size of buffer in init_put_bits()

Since the very beginning (since de6d9b6404bfd1c589799142da5a95428f146edd)
the AC-3 encoder used AC3_MAX_CODED_FRAME_SIZE (namely 3840) for the
size of the output buffer (without any check at all).
This causes problems when encoding EAC-3 for which the maximum is too small,
smaller than the actual size of the buffer: One can run into asserts used
by the PutBits API. Ticket #8513 is about such a case and this commit
fixes it by using the real size of the buffer.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
libavcodec/ac3.h
libavcodec/ac3enc.c