[FFmpeg-cvslog] avcodec/proresenc_kostya: Remove harmful check
Andreas Rheinhardt
git at videolan.org
Sat Apr 10 05:59:13 EEST 2021
ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Wed Apr 7 22:43:38 2021 +0200| [7c109cb92381c4895a95cf706527c0d0ff656ee7] | committer: Andreas Rheinhardt
avcodec/proresenc_kostya: Remove harmful check
The ProRes encoder allocates huge worst-case buffers just to be safe;
and for huge resolutions (8k in this case) these can be so big that the
number of bits does no longer fit into a (signed 32-bit) int; this means
that one must no longer use the parts of the PutBits API that deal with
bit counters. Yet proresenc_kostya did it, namely for a check about
whether we are already beyond the end. Yet this check is unnecessary
nowadays, because the PutBits API comes with automatic checks (with
a log message and a av_assert2() in put_bits() and an av_assert0() in
flush_put_bits()), so this is unnecessary. So simply remove the check.
Fixes ticket #9173.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7c109cb92381c4895a95cf706527c0d0ff656ee7
---
libavcodec/proresenc_kostya.c | 5 -----
1 file changed, 5 deletions(-)
diff --git a/libavcodec/proresenc_kostya.c b/libavcodec/proresenc_kostya.c
index d8edd12f34..54fc6707a1 100644
--- a/libavcodec/proresenc_kostya.c
+++ b/libavcodec/proresenc_kostya.c
@@ -619,11 +619,6 @@ static int encode_slice(AVCodecContext *avctx, const AVFrame *pic,
flush_put_bits(pb);
sizes[i] = put_bytes_output(pb) - total_size;
total_size = put_bytes_output(pb);
- if (put_bits_left(pb) < 0) {
- av_log(avctx, AV_LOG_ERROR,
- "Underestimated required buffer size.\n");
- return AVERROR_BUG;
- }
}
return total_size;
}
More information about the ffmpeg-cvslog
mailing list