diff --git a/ffmpeg.c b/ffmpeg.c index fc48e7c442..c2ea5bd894 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -3078,6 +3078,17 @@ static int transcode_init(void) ist->decoding_needed = 1; ost->encoding_needed = 1; + if (!ost->filter && + (codec->codec_type == AVMEDIA_TYPE_VIDEO || + codec->codec_type == AVMEDIA_TYPE_AUDIO)) { + FilterGraph *fg; + fg = init_simple_filtergraph(ist, ost); + if (configure_filtergraph(fg)) { + av_log(NULL, AV_LOG_FATAL, "Error opening filters!\n"); + exit(1); + } + } + if (codec->codec_type == AVMEDIA_TYPE_VIDEO) { if (ost->filter && !ost->frame_rate.num) ost->frame_rate = av_buffersink_get_frame_rate(ost->filter->filter); @@ -3090,17 +3101,6 @@ static int transcode_init(void) } } - if (!ost->filter && - (codec->codec_type == AVMEDIA_TYPE_VIDEO || - codec->codec_type == AVMEDIA_TYPE_AUDIO)) { - FilterGraph *fg; - fg = init_simple_filtergraph(ist, ost); - if (configure_filtergraph(fg)) { - av_log(NULL, AV_LOG_FATAL, "Error opening filters!\n"); - exit(1); - } - } - switch (codec->codec_type) { case AVMEDIA_TYPE_AUDIO: codec->sample_fmt = ost->filter->filter->inputs[0]->format;