summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2011-11-24 04:57:38 +0100
committerMichael Niedermayer <michaelni@gmx.at>2011-11-24 04:57:38 +0100
commit957867ab139332d548c05d6a2f22ce0246b66359 (patch)
tree6195aa8c4c2c50e4653efd653ed017560e00c343
parent8e576d58306df95d6373dd0ca2c1f21f1afaeca9 (diff)
ffmpeg: rewrite vsync / notimestamps handling
The qatar implementation makes no sense. a muxer without timestamps is constant fps thus needs vsync. the crc/mp5 are special cases that have timestamps yet allow any nonsensical timestamps. raw (yuv/rgb) video is constant fps thus needs vsync too. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--ffmpeg.c3
-rw-r--r--tests/ref/lavf/gxf2
2 files changed, 2 insertions, 3 deletions
diff --git a/ffmpeg.c b/ffmpeg.c
index f6a9765d67..577425b79e 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -1246,8 +1246,7 @@ static void do_video_out(AVFormatContext *s,
format_video_sync = video_sync_method;
if (format_video_sync < 0)
- format_video_sync = (s->oformat->flags & AVFMT_NOTIMESTAMPS) ? 0 :
- (s->oformat->flags & AVFMT_VARIABLE_FPS) ? 2 : 1;
+ format_video_sync = (s->oformat->flags & AVFMT_VARIABLE_FPS) ? ((s->oformat->flags & AVFMT_NOTIMESTAMPS) ? 0 : 2) : 1;
if (format_video_sync) {
double vdelta = sync_ipts - ost->sync_opts + duration;
diff --git a/tests/ref/lavf/gxf b/tests/ref/lavf/gxf
index 6b39c2f273..68bc9785a2 100644
--- a/tests/ref/lavf/gxf
+++ b/tests/ref/lavf/gxf
@@ -1,3 +1,3 @@
346d38d330ab5cb0caa6b5537167bc0d *./tests/data/lavf/lavf.gxf
796392 ./tests/data/lavf/lavf.gxf
-./tests/data/lavf/lavf.gxf CRC=0x345f86eb
+./tests/data/lavf/lavf.gxf CRC=0x102918fd