[FFmpeg-devel] [PATCH 07/12] ratecontrol: fix stuffing bits for 30000/1001 fps one frame vbv
Baptiste Coudurier
baptiste.coudurier at gmail.com
Wed Jul 4 21:35:09 EEST 2018
---
libavcodec/ratecontrol.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/libavcodec/ratecontrol.c b/libavcodec/ratecontrol.c
index 49d169ba25..28bdddbad1 100644
--- a/libavcodec/ratecontrol.c
+++ b/libavcodec/ratecontrol.c
@@ -705,16 +705,16 @@ int ff_vbv_update(MpegEncContext *s, int frame_size)
rcc->buffer_index += av_clip(left, min_rate, max_rate);
if (rcc->buffer_index > buffer_size) {
- int stuffing = ceil((rcc->buffer_index - buffer_size) / 8);
+ int stuffing = rcc->buffer_index - buffer_size;
- if (stuffing < 4 && s->codec_id == AV_CODEC_ID_MPEG4)
- stuffing = 4;
- rcc->buffer_index -= 8 * stuffing;
+ if (stuffing < 32 && s->codec_id == AV_CODEC_ID_MPEG4)
+ stuffing = 32;
+ rcc->buffer_index -= stuffing;
if (s->avctx->debug & FF_DEBUG_RC)
- av_log(s->avctx, AV_LOG_DEBUG, "stuffing %d bytes\n", stuffing);
+ av_log(s->avctx, AV_LOG_DEBUG, "stuffing %d bytes\n", stuffing>>3);
- return stuffing;
+ return stuffing>>3;
}
}
return 0;
--
2.17.0 (Apple Git-106)
More information about the ffmpeg-devel
mailing list