[FFmpeg-devel] [PATCH] lavf/apngdec: use AVStream.time_base instead of r_frame_rate

James Almer jamrial at gmail.com
Tue Nov 25 18:56:07 CET 2014


Should fix framedrops on some apng files

Signed-off-by: James Almer <jamrial at gmail.com>
---
This is still not optimal because the value of time_base will be updated on every frame, 
and in some cases delay_num and delay_den varies between frames.

Better fix welcome.

 libavformat/apngdec.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavformat/apngdec.c b/libavformat/apngdec.c
index d766a87..47d3753 100644
--- a/libavformat/apngdec.c
+++ b/libavformat/apngdec.c
@@ -265,8 +265,8 @@ static int decode_fctl_chunk(AVFormatContext *s, APNGDemuxContext *ctx, AVPacket
         delay_num = 1;
         delay_den = ctx->default_fps;
     }
-    s->streams[0]->r_frame_rate.num = delay_den;
-    s->streams[0]->r_frame_rate.den = delay_num;
+    s->streams[0]->time_base.num = delay_num;
+    s->streams[0]->time_base.den = delay_den;
     pkt->duration = 1;
 
     av_log(s, AV_LOG_DEBUG, "%s: "
-- 
2.1.3



More information about the ffmpeg-devel mailing list