ffmpeg: treat avi as VFR in framerate conversion code
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 8 Nov 2013 23:03:27 +0000 (00:03 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 8 Nov 2013 23:09:32 +0000 (00:09 +0100)
It can be debated if avi is vfr or cfr, it can be either depending
on the definition of vfr and cfr.
This commit ensures that avi is treated correctly independent of
the AVFMT_VARIABLE_FPS value.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
ffmpeg.c

index b1052c0..a628fe6 100644 (file)
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -819,8 +819,12 @@ static void do_video_out(AVFormatContext *s,
     nb_frames = 1;
 
     format_video_sync = video_sync_method;
-    if (format_video_sync == VSYNC_AUTO)
-        format_video_sync = (s->oformat->flags & AVFMT_VARIABLE_FPS) ? ((s->oformat->flags & AVFMT_NOTIMESTAMPS) ? VSYNC_PASSTHROUGH : VSYNC_VFR) : VSYNC_CFR;
+    if (format_video_sync == VSYNC_AUTO) {
+        if(!strcmp(s->oformat->name, "avi")) {
+            format_video_sync = VSYNC_VFR;
+        } else
+            format_video_sync = (s->oformat->flags & AVFMT_VARIABLE_FPS) ? ((s->oformat->flags & AVFMT_NOTIMESTAMPS) ? VSYNC_PASSTHROUGH : VSYNC_VFR) : VSYNC_CFR;
+    }
 
     switch (format_video_sync) {
     case VSYNC_CFR: