From 06f93d7400dce2fdb95f696ece2836d3feaf4017 Mon Sep 17 00:00:00 2001 From: Paul B Mahol Date: Sat, 21 Jan 2017 22:21:27 +0100 Subject: [PATCH] add QDMC decoding support Signed-off-by: Paul B Mahol Signed-off-by: Jean-Baptiste Kempf --- NEWS | 2 +- include/vlc_fourcc.h | 1 + modules/codec/avcodec/fourcc.c | 3 +++ modules/demux/mp4/essetup.c | 2 +- src/misc/fourcc_list.h | 4 ++++ 5 files changed, 10 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index a914f6324d..9a3b91eff7 100644 --- a/NEWS +++ b/NEWS @@ -75,7 +75,7 @@ Decoder: * New BPG decoder based on libbpg * Fixed uncompressed DVD-Audio (AOB) LPCM decoding * Rewrite WPL playlists and add ZPL playlists support (Zune) - * Support TDSC, Canopus HQX, Cineform, SpeedHQ, Pixlet codecs + * Support TDSC, Canopus HQX, Cineform, SpeedHQ, Pixlet and QDMC codecs * TTML subtitles support, including EBU-TT-D variant * Support 9-bit and 10-bit GBR planar formats * New hardware accelerated decoder for OS X and and iOS based on Video Toolbox diff --git a/include/vlc_fourcc.h b/include/vlc_fourcc.h index 08e4af7976..2286a5b7ff 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 829894651d..5fc027f85d 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 2647972d6f..9de310040a 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 ba1210ef7a..9e06636e2a 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"),