diff mbox series

[FFmpeg-devel,09/13] libaomenc: use AVCodecContext.framerate when available

Message ID 20230507133255.20881-9-anton@khirnov.net
State Accepted
Commit aa3b0f437674ebad01c01212fa7f6895b8e3a7dd
Headers show
Series [FFmpeg-devel,01/13] lavu/frame: extend AVFrame.repeat_pict documentation | expand

Checks

Context Check Description
andriy/configure_x86 warning Failed to apply patch

Commit Message

Anton Khirnov May 7, 2023, 1:32 p.m. UTC
---
 libavcodec/libaomenc.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
diff mbox series

Patch

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: