Commit 981f6fc9 authored by Michael Niedermayer's avatar Michael Niedermayer

ffmpeg: better timebase guessing for stream copy

Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent 158eb859
...@@ -2237,13 +2237,23 @@ static int transcode(AVFormatContext **output_files, ...@@ -2237,13 +2237,23 @@ static int transcode(AVFormatContext **output_files,
goto fail; goto fail;
memcpy(codec->extradata, icodec->extradata, icodec->extradata_size); memcpy(codec->extradata, icodec->extradata, icodec->extradata_size);
codec->extradata_size= icodec->extradata_size; codec->extradata_size= icodec->extradata_size;
if(!copy_tb && av_q2d(icodec->time_base)*icodec->ticks_per_frame > av_q2d(ist->st->time_base) && av_q2d(ist->st->time_base) < 1.0/500){
codec->time_base = icodec->time_base; codec->time_base = ist->st->time_base;
codec->time_base.num *= icodec->ticks_per_frame; if(!strcmp(os->oformat->name, "avi")) {
av_reduce(&codec->time_base.num, &codec->time_base.den, if(!copy_tb && av_q2d(icodec->time_base)*icodec->ticks_per_frame > 2*av_q2d(ist->st->time_base) && av_q2d(ist->st->time_base) < 1.0/500){
codec->time_base.num, codec->time_base.den, INT_MAX); codec->time_base = icodec->time_base;
}else codec->time_base.num *= icodec->ticks_per_frame;
codec->time_base = ist->st->time_base; codec->time_base.den *= 2;
}
} else if(!(os->oformat->flags & AVFMT_VARIABLE_FPS)) {
if(!copy_tb && av_q2d(icodec->time_base)*icodec->ticks_per_frame > av_q2d(ist->st->time_base) && av_q2d(ist->st->time_base) < 1.0/500){
codec->time_base = icodec->time_base;
codec->time_base.num *= icodec->ticks_per_frame;
}
}
av_reduce(&codec->time_base.num, &codec->time_base.den,
codec->time_base.num, codec->time_base.den, INT_MAX);
switch(codec->codec_type) { switch(codec->codec_type) {
case AVMEDIA_TYPE_AUDIO: case AVMEDIA_TYPE_AUDIO:
if(audio_volume != 256) { if(audio_volume != 256) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment