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

James Almer jamrial at gmail.com
Sat May 2 17:46:25 EEST 2020


On 5/2/2020 10:11 AM, Derek Buitenhuis wrote:
> 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) {

Maybe avctx->flags & (AV_CODEC_FLAG_PASS1 | AV_CODEC_FLAG_PASS2) instead.

> +        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");
> 

LGTM either way.


More information about the ffmpeg-devel mailing list