ffmpeg | branch: master | Derek Buitenhuis <[email protected]> | Thu Apr 30 20:06:43 2020 +0100| [3c740f2d9f573542313ea64d7ab45fd1669ee511] | committer: Derek Buitenhuis
avcodec/librav1e: Use the framerate when available for ratecontrol Rav1e currently uses the time base given to it only for ratecontrol... where the inverse is taken and used as a framerate. So, do what we do in other wrappers and use the framerate if we can. Signed-off-by: Derek Buitenhuis <[email protected]> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3c740f2d9f573542313ea64d7ab45fd1669ee511 --- libavcodec/librav1e.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/libavcodec/librav1e.c b/libavcodec/librav1e.c index b8b1b4f8f1..b0ff60d8c7 100644 --- a/libavcodec/librav1e.c +++ b/libavcodec/librav1e.c @@ -186,10 +186,21 @@ static av_cold int librav1e_encode_init(AVCodecContext *avctx) return AVERROR_EXTERNAL; } - rav1e_config_set_time_base(cfg, (RaRational) { - avctx->time_base.num * avctx->ticks_per_frame, - avctx->time_base.den - }); + /* + * Rav1e currently uses the time base given to it only for ratecontrol... where + * the inverse is taken and used as a framerate. So, do what we do in other wrappers + * and use the framerate if we can. + */ + if (avctx->framerate.num > 0 && avctx->framerate.den > 0) { + rav1e_config_set_time_base(cfg, (RaRational) { + avctx->framerate.den, avctx->framerate.num + }); + } else { + rav1e_config_set_time_base(cfg, (RaRational) { + avctx->time_base.num * avctx->ticks_per_frame, + avctx->time_base.den + }); + } if (avctx->flags & AV_CODEC_FLAG_PASS2) { if (!avctx->stats_in) { _______________________________________________ ffmpeg-cvslog mailing list [email protected] https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe".
