diff --git a/libavformat/allformats.c b/libavformat/allformats.c
index 149d6df0a9d9b730ad1b0c8d9664db249a714ff3..9e47a6f7b45e445bb77a2fb0708a0b1cf42f207d 100644
--- a/libavformat/allformats.c
+++ b/libavformat/allformats.c
@@ -70,7 +70,7 @@ void av_register_all(void)
     REGISTER_MUXER    (CRC, crc);
     REGISTER_DEMUXER  (DAUD, daud);
     REGISTER_DEMUXER  (DSICIN, dsicin);
-    REGISTER_DEMUXER  (DTS, dts);
+    REGISTER_MUXDEMUX (DTS, dts);
     REGISTER_MUXDEMUX (DV, dv);
     REGISTER_DEMUXER  (DXA, dxa);
     REGISTER_DEMUXER  (EA, ea);
diff --git a/libavformat/raw.c b/libavformat/raw.c
index d4b138953734813ceb174245f777d0d00ed1b83a..c860b7f54e015dd3fa5d9a1652b643dfb2b021d5 100644
--- a/libavformat/raw.c
+++ b/libavformat/raw.c
@@ -513,6 +513,20 @@ AVOutputFormat ac3_muxer = {
     raw_write_packet,
     .flags= AVFMT_NOTIMESTAMPS,
 };
+
+AVOutputFormat dts_muxer = {
+    "dts",
+    "raw dts",
+    "audio/x-dca",
+    "dts",
+    0,
+    CODEC_ID_DTS,
+    0,
+    NULL,
+    raw_write_packet,
+    .flags= AVFMT_NOTIMESTAMPS,
+};
+
 #endif //CONFIG_MUXERS
 
 AVInputFormat dts_demuxer = {