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