From 192c14fa5510e8b5e13ed5796ae87aabbfad84d6 Mon Sep 17 00:00:00 2001 From: Reimar Döffinger Date: Sat, 6 Mar 2010 22:20:33 +0000 Subject: GXF time base is always based on "fields" per second even for non-interlaced video. Should fix issue 1766. Originally committed as revision 22256 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/gxf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'libavformat/gxf.c') diff --git a/libavformat/gxf.c b/libavformat/gxf.c index d7aaabf161..afcf8df1f0 100644 --- a/libavformat/gxf.c +++ b/libavformat/gxf.c @@ -313,7 +313,7 @@ static int gxf_header(AVFormatContext *s, AVFormatParameters *ap) { st = s->streams[idx]; if (!main_timebase.num || !main_timebase.den) { main_timebase.num = si.frames_per_second.den; - main_timebase.den = si.frames_per_second.num * si.fields_per_frame; + main_timebase.den = si.frames_per_second.num * 2; } st->start_time = si.first_field; if (si.first_field != AV_NOPTS_VALUE && si.last_field != AV_NOPTS_VALUE) @@ -344,7 +344,7 @@ static int gxf_header(AVFormatContext *s, AVFormatParameters *ap) { if (!main_timebase.num || !main_timebase.den) { // this may not always be correct, but simply the best we can get main_timebase.num = fps.den; - main_timebase.den = fps.num; + main_timebase.den = fps.num * 2; } } else av_log(s, AV_LOG_INFO, "UMF packet too short\n"); -- cgit v1.2.3