avconv: prefer user-forced input framerate when choosing output framerate

This commit is contained in:
Anton Khirnov 2012-08-24 17:42:46 +02:00
parent db70730291
commit 44b0b85fe9

View File

@ -1682,7 +1682,11 @@ static int transcode_init(void)
(video_sync_method == VSYNC_CFR ||
(video_sync_method == VSYNC_AUTO &&
!(oc->oformat->flags & (AVFMT_NOTIMESTAMPS | AVFMT_VARIABLE_FPS))))) {
ost->frame_rate = ist->st->avg_frame_rate.num ? ist->st->avg_frame_rate : (AVRational){25, 1};
ost->frame_rate = ist->framerate.num ? ist->framerate :
ist->st->avg_frame_rate.num ?
ist->st->avg_frame_rate :
(AVRational){25, 1};
if (ost->enc && ost->enc->supported_framerates && !ost->force_fps) {
int idx = av_find_nearest_q_idx(ost->frame_rate, ost->enc->supported_framerates);
ost->frame_rate = ost->enc->supported_framerates[idx];