mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-24 13:56:33 +02:00
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
This commit is contained in:
parent
63833766dc
commit
192c14fa55
@ -313,7 +313,7 @@ static int gxf_header(AVFormatContext *s, AVFormatParameters *ap) {
|
|||||||
st = s->streams[idx];
|
st = s->streams[idx];
|
||||||
if (!main_timebase.num || !main_timebase.den) {
|
if (!main_timebase.num || !main_timebase.den) {
|
||||||
main_timebase.num = si.frames_per_second.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;
|
st->start_time = si.first_field;
|
||||||
if (si.first_field != AV_NOPTS_VALUE && si.last_field != AV_NOPTS_VALUE)
|
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) {
|
if (!main_timebase.num || !main_timebase.den) {
|
||||||
// this may not always be correct, but simply the best we can get
|
// this may not always be correct, but simply the best we can get
|
||||||
main_timebase.num = fps.den;
|
main_timebase.num = fps.den;
|
||||||
main_timebase.den = fps.num;
|
main_timebase.den = fps.num * 2;
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
av_log(s, AV_LOG_INFO, "UMF packet too short\n");
|
av_log(s, AV_LOG_INFO, "UMF packet too short\n");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user