Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mpc-hc/LAVFilters.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHendrik Leppkes <h.leppkes@gmail.com>2014-12-21 11:52:08 +0300
committerHendrik Leppkes <h.leppkes@gmail.com>2014-12-21 11:52:08 +0300
commitdf6aef620ed97d0cd3fa2c8c0db8563cd71e0529 (patch)
treee1c1c4b2baff641246e7088df0b7d534891a6cef
parent1bca810e04b5643742be762245299fab349e232d (diff)
Add DSD media types
-rw-r--r--common/includes/moreuuids.h16
-rw-r--r--demuxer/Demuxers/LAVFAudioHelper.cpp4
2 files changed, 20 insertions, 0 deletions
diff --git a/common/includes/moreuuids.h b/common/includes/moreuuids.h
index ed885bd0..978d46e2 100644
--- a/common/includes/moreuuids.h
+++ b/common/includes/moreuuids.h
@@ -1416,6 +1416,22 @@ DEFINE_GUID(MEDIASUBTYPE_SPEEX,
DEFINE_GUID(MEDIASUBTYPE_OPUS,
WAVE_FORMAT_OPUS, 0x000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
+#define WAVE_FORMAT_DSDL mmioFOURCC('D','S','D','L')
+DEFINE_GUID(MEDIASUBTYPE_DSDL,
+ WAVE_FORMAT_DSDL, 0x000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
+
+#define WAVE_FORMAT_DSDM mmioFOURCC('D','S','D','M')
+DEFINE_GUID(MEDIASUBTYPE_DSDM,
+ WAVE_FORMAT_DSDM, 0x000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
+
+#define WAVE_FORMAT_DSD1 mmioFOURCC('D','S','D','1')
+DEFINE_GUID(MEDIASUBTYPE_DSD1,
+ WAVE_FORMAT_DSD1, 0x000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
+
+#define WAVE_FORMAT_DSD8 mmioFOURCC('D','S','D','8')
+DEFINE_GUID(MEDIASUBTYPE_DSD8,
+ WAVE_FORMAT_DSD8, 0x000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
+
struct WAVEFORMATEX_HDMV_LPCM : public WAVEFORMATEX
{
BYTE channel_conf;
diff --git a/demuxer/Demuxers/LAVFAudioHelper.cpp b/demuxer/Demuxers/LAVFAudioHelper.cpp
index 7468559f..9f404c43 100644
--- a/demuxer/Demuxers/LAVFAudioHelper.cpp
+++ b/demuxer/Demuxers/LAVFAudioHelper.cpp
@@ -76,6 +76,10 @@ static FormatMapping audio_map[] = {
{ AV_CODEC_ID_ATRAC1, &MEDIASUBTYPE_ATRC, WAVE_FORMAT_ATRC, nullptr },
{ AV_CODEC_ID_ATRAC3, &MEDIASUBTYPE_ATRC, WAVE_FORMAT_ATRC, nullptr },
{ AV_CODEC_ID_ATRAC3P, &MEDIASUBTYPE_ATRAC3P, WAVE_FORMAT_ATRAC3P, nullptr },
+ { AV_CODEC_ID_DSD_LSBF, &MEDIASUBTYPE_DSDL, 0, nullptr },
+ { AV_CODEC_ID_DSD_MSBF, &MEDIASUBTYPE_DSDM, 0, nullptr },
+ { AV_CODEC_ID_DSD_LSBF_PLANAR, &MEDIASUBTYPE_DSD1, 0, nullptr },
+ { AV_CODEC_ID_DSD_MSBF_PLANAR, &MEDIASUBTYPE_DSD8, 0, nullptr },
};
CMediaType CLAVFAudioHelper::initAudioType(AVCodecID codecId, unsigned int &codecTag, std::string container)