diff --git a/ffmpeg_opt.c b/ffmpeg_opt.c index d267c6d4e5..4e0dc478e6 100644 --- a/ffmpeg_opt.c +++ b/ffmpeg_opt.c @@ -915,8 +915,13 @@ static int open_input_file(OptionsContext *o, const char *filename) const AVClass *class = avcodec_get_class(); const AVOption *option = av_opt_find(&class, e->key, NULL, 0, AV_OPT_SEARCH_CHILDREN | AV_OPT_SEARCH_FAKE_OBJ); - if (!option) + const AVClass *fclass = avformat_get_class(); + const AVOption *foption = av_opt_find(&fclass, e->key, NULL, 0, + AV_OPT_SEARCH_CHILDREN | AV_OPT_SEARCH_FAKE_OBJ); + if (!option || foption) continue; + + if (!(option->flags & AV_OPT_FLAG_DECODING_PARAM)) { av_log(NULL, AV_LOG_ERROR, "Codec AVOption %s (%s) specified for " "input file #%d (%s) is not a decoding option.\n", e->key,