diff --git a/avconv.c b/avconv.c
index 4ad01c2bbf04fdd9cc654b94485ddebf58146d0d..75a8f0d5ec504e8075c841cc8fe0ef9d6d35e526 100644
--- a/avconv.c
+++ b/avconv.c
@@ -1766,6 +1766,8 @@ static int transcode_init(void)
 
             if (ost->st->codec->me_threshold)
                 input_streams[ost->source_index]->st->codec->debug |= FF_DEBUG_MV;
+        } else {
+            av_opt_set_dict(ost->st->codec, &ost->opts);
         }
     }
 
diff --git a/avconv_opt.c b/avconv_opt.c
index 2a40087708889da862ff48850176bab729609975..7c58f49e3b325071066490e6dee09c6fd2ce42c3 100644
--- a/avconv_opt.c
+++ b/avconv_opt.c
@@ -800,6 +800,8 @@ static OutputStream *new_output_stream(OptionsContext *o, AVFormatContext *oc, e
                    preset, ost->file_index, ost->index);
             exit(1);
         }
+    } else {
+        ost->opts = filter_codec_opts(o->g->codec_opts, AV_CODEC_ID_NONE, oc, st, NULL);
     }
 
     avcodec_get_context_defaults3(st->codec, ost->enc);