[FFmpeg-cvslog] libaomenc: use AVCodecContext.framerate when available

Anton Khirnov git at videolan.org
Mon May 15 11:36:48 EEST 2023


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Thu May  4 11:13:04 2023 +0200| [aa3b0f437674ebad01c01212fa7f6895b8e3a7dd] | committer: Anton Khirnov

libaomenc: use AVCodecContext.framerate when available

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=aa3b0f437674ebad01c01212fa7f6895b8e3a7dd
---

 libavcodec/libaomenc.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/libavcodec/libaomenc.c b/libavcodec/libaomenc.c
index 0b88102c77..1d3a4ae64c 100644
--- a/libavcodec/libaomenc.c
+++ b/libavcodec/libaomenc.c
@@ -1295,8 +1295,12 @@ static int aom_encode(AVCodecContext *avctx, AVPacket *pkt,
         if (frame->duration > ULONG_MAX) {
             av_log(avctx, AV_LOG_WARNING,
                    "Frame duration too large: %"PRId64"\n", frame->duration);
-        } else
-            duration = frame->duration ? frame->duration : avctx->ticks_per_frame;
+        } else if (frame->duration)
+            duration = frame->duration;
+        else if (avctx->framerate.num > 0 && avctx->framerate.den > 0)
+            duration = av_rescale_q(1, av_inv_q(avctx->framerate), avctx->time_base);
+        else
+            duration = avctx->ticks_per_frame ? avctx->ticks_per_frame : 1;
 
         switch (frame->color_range) {
         case AVCOL_RANGE_MPEG:



More information about the ffmpeg-cvslog mailing list