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>
pull/2/head
Michael Niedermayer 13 years ago
parent 8e576d5830
commit 957867ab13
  1. 3
      ffmpeg.c
  2. 2
      tests/ref/lavf/gxf

@ -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;

@ -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

Loading…
Cancel
Save