[FFmpeg-devel] [PATCH] avcodec/librav1e: Require a bitrate to be set when using 2-pass mode

Derek Buitenhuis derek.buitenhuis at gmail.com
Sat May 2 16:11:59 EEST 2020


Not requiring this leads to unexpected result, since Rav1e's current
two pass API has no way to fail in such a case.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis at gmail.com>
---
 libavcodec/librav1e.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/libavcodec/librav1e.c b/libavcodec/librav1e.c
index b0ff60d8c7..6f9b4cce4c 100644
--- a/libavcodec/librav1e.c
+++ b/libavcodec/librav1e.c
@@ -202,6 +202,12 @@ static av_cold int librav1e_encode_init(AVCodecContext *avctx)
                                    });
     }
 
+    if ((avctx->flags & AV_CODEC_FLAG_PASS1 || avctx->flags & AV_CODEC_FLAG_PASS2) && !avctx->bit_rate) {
+        av_log(avctx, AV_LOG_ERROR, "A bitrate must be set to use two pass mode.\n");
+        ret = AVERROR_INVALIDDATA;
+        goto end;
+    }
+
     if (avctx->flags & AV_CODEC_FLAG_PASS2) {
         if (!avctx->stats_in) {
             av_log(avctx, AV_LOG_ERROR, "No stats file provided for second pass.\n");
-- 
2.26.2



More information about the ffmpeg-devel mailing list