[vlc-devel] [PATCH] add QDMC decoding support

Paul B Mahol onemda at gmail.com
Sat Jan 21 22:21:27 CET 2017


Signed-off-by: Paul B Mahol <onemda at gmail.com>
---
 include/vlc_fourcc.h           | 1 +
 modules/codec/avcodec/fourcc.c | 3 +++
 modules/demux/mp4/essetup.c    | 2 +-
 src/misc/fourcc_list.h         | 4 ++++
 4 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/include/vlc_fourcc.h b/include/vlc_fourcc.h
index 08e4af7..2286a5b 100644
--- a/include/vlc_fourcc.h
+++ b/include/vlc_fourcc.h
@@ -440,6 +440,7 @@
 #define VLC_CODEC_AMR_WB                     VLC_FOURCC('s','a','w','b')
 #define VLC_CODEC_ALAC                       VLC_FOURCC('a','l','a','c')
 #define VLC_CODEC_QDM2                       VLC_FOURCC('Q','D','M','2')
+#define VLC_CODEC_QDMC                       VLC_FOURCC('Q','D','M','C')
 #define VLC_CODEC_COOK                       VLC_FOURCC('c','o','o','k')
 #define VLC_CODEC_SIPR                       VLC_FOURCC('s','i','p','r')
 #define VLC_CODEC_TTA                        VLC_FOURCC('T','T','A','1')
diff --git a/modules/codec/avcodec/fourcc.c b/modules/codec/avcodec/fourcc.c
index 8298946..5fc027f 100644
--- a/modules/codec/avcodec/fourcc.c
+++ b/modules/codec/avcodec/fourcc.c
@@ -398,6 +398,9 @@ static const struct
     /* AV_CODEC_ID_WESTWOOD_SND1 */
     { VLC_CODEC_GSM, AV_CODEC_ID_GSM, AUDIO_ES },
     { VLC_CODEC_QDM2, AV_CODEC_ID_QDM2, AUDIO_ES },
+#if LIBAVCODEC_VERSION_CHECK( 57, 999, 999, 71, 100 )
+    { VLC_CODEC_QDMC, AV_CODEC_ID_QDMC, AUDIO_ES },
+#endif
     { VLC_CODEC_COOK, AV_CODEC_ID_COOK, AUDIO_ES },
     { VLC_CODEC_TRUESPEECH, AV_CODEC_ID_TRUESPEECH, AUDIO_ES },
     { VLC_CODEC_TTA, AV_CODEC_ID_TTA, AUDIO_ES },
diff --git a/modules/demux/mp4/essetup.c b/modules/demux/mp4/essetup.c
index 7482e28..0ab5efe 100644
--- a/modules/demux/mp4/essetup.c
+++ b/modules/demux/mp4/essetup.c
@@ -1105,7 +1105,7 @@ int SetupAudioES( demux_t *p_demux, mp4_track_t *p_track, MP4_Box_t *p_sample )
         case VLC_CODEC_AMR_WB:
             p_track->fmt.audio.i_rate = 16000;
             break;
-        case VLC_FOURCC( 'Q', 'D', 'M', 'C' ):
+        case VLC_CODEC_QDMC:
         case VLC_CODEC_QDM2:
         case VLC_CODEC_ALAC:
         {
diff --git a/src/misc/fourcc_list.h b/src/misc/fourcc_list.h
index ba1210e..9e06636 100644
--- a/src/misc/fourcc_list.h
+++ b/src/misc/fourcc_list.h
@@ -1322,6 +1322,10 @@ static const staticentry_t p_list_audio[] = {
     B(VLC_CODEC_QDM2, "QDM2 Audio"),
         A("QDM2"),
 
+    /* QDMC */
+    B(VLC_CODEC_QDMC, "QDMC Audio"),
+        A("QDMC"),
+
     /* COOK */
     B(VLC_CODEC_COOK, "Cook Audio"),
         A("cook"),
-- 
2.9.3



More information about the vlc-devel mailing list