diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c index d59de62546..0f43b7baa7 100644 --- a/fftools/ffmpeg.c +++ b/fftools/ffmpeg.c @@ -711,9 +711,6 @@ static int reap_filters(int flush) switch (av_buffersink_get_type(filter)) { case AVMEDIA_TYPE_VIDEO: - if (!ost->frame_aspect_ratio.num) - enc->sample_aspect_ratio = filtered_frame->sample_aspect_ratio; - enc_frame(ost, filtered_frame); break; case AVMEDIA_TYPE_AUDIO: diff --git a/fftools/ffmpeg_enc.c b/fftools/ffmpeg_enc.c index a0779c45ae..0236e50e38 100644 --- a/fftools/ffmpeg_enc.c +++ b/fftools/ffmpeg_enc.c @@ -653,6 +653,9 @@ static int encode_frame(OutputFile *of, OutputStream *ost, AVFrame *frame) av_ts2str(frame->pts), av_ts2timestr(frame->pts, &enc->time_base), enc->time_base.num, enc->time_base.den); } + + if (frame->sample_aspect_ratio.num && !ost->frame_aspect_ratio.num) + enc->sample_aspect_ratio = frame->sample_aspect_ratio; } update_benchmark(NULL);