diff --git a/cmdutils.c b/cmdutils.c
index 688f501840cc0ffbd2554bc92dac272252fb1a8c..fa5632672a376012586e4c072396fb2681c1d03f 100644
--- a/cmdutils.c
+++ b/cmdutils.c
@@ -1462,10 +1462,8 @@ AVDictionary *filter_codec_opts(AVDictionary *opts, enum AVCodecID codec_id,
     if (!codec)
         codec            = s->oformat ? avcodec_find_encoder(codec_id)
                                       : avcodec_find_decoder(codec_id);
-    if (!codec)
-        return NULL;
 
-    switch (codec->type) {
+    switch (st->codec->codec_type) {
     case AVMEDIA_TYPE_VIDEO:
         prefix  = 'v';
         flags  |= AV_OPT_FLAG_VIDEO_PARAM;