diff --git a/libavformat/allformats.c b/libavformat/allformats.c
index 541e4d14e0be0edc95f2621b4d443fa28b6ff209..8c746ff6990a67f4f0e3645c47aa8c7892af2d67 100644
--- a/libavformat/allformats.c
+++ b/libavformat/allformats.c
@@ -275,7 +275,7 @@ void av_register_all(void)
     REGISTER_DEMUXER (TTA,              tta);
     REGISTER_DEMUXER (TXD,              txd);
     REGISTER_DEMUXER (TTY,              tty);
-    REGISTER_DEMUXER (VC1,              vc1);
+    REGISTER_MUXDEMUX(VC1,              vc1);
     REGISTER_MUXDEMUX(VC1T,             vc1t);
     REGISTER_DEMUXER (VIVO,             vivo);
     REGISTER_DEMUXER (VMD,              vmd);
diff --git a/libavformat/rawenc.c b/libavformat/rawenc.c
index 0345f70e75fa68cda357ea93398ab635d499fd92..b804c24078b574ece9debfc0f0cd30226bb7d43e 100644
--- a/libavformat/rawenc.c
+++ b/libavformat/rawenc.c
@@ -268,3 +268,15 @@ AVOutputFormat ff_truehd_muxer = {
     .flags             = AVFMT_NOTIMESTAMPS,
 };
 #endif
+
+#if CONFIG_VC1_MUXER
+AVOutputFormat ff_vc1_muxer = {
+    .name              = "vc1",
+    .long_name         = NULL_IF_CONFIG_SMALL("raw VC-1 video"),
+    .extensions        = "vc1",
+    .audio_codec       = AV_CODEC_ID_NONE,
+    .video_codec       = AV_CODEC_ID_VC1,
+    .write_packet      = ff_raw_write_packet,
+    .flags             = AVFMT_NOTIMESTAMPS,
+};
+#endif