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".

Reply via email to