Add DSD FourCCs
authorMarvin Scholz <epirat07@gmail.com>
Sun, 27 May 2018 02:01:21 +0000 (04:01 +0200)
committerMarvin Scholz <epirat07@gmail.com>
Fri, 15 Jun 2018 16:24:02 +0000 (18:24 +0200)
include/vlc_fourcc.h
modules/codec/avcodec/fourcc.c
src/misc/fourcc_list.h

index 40adfee..1a880c2 100644 (file)
 #define VLC_CODEC_ADPCM_IMA_EA_SEAD          VLC_FOURCC('S','E','A','D')
 #define VLC_CODEC_ADPCM_EA_R1                VLC_FOURCC('E','A','R','1')
 #define VLC_CODEC_ADPCM_IMA_APC              VLC_FOURCC('A','I','P','C')
+#define VLC_CODEC_DSD_LSBF                   VLC_FOURCC('D','S','D','l')
+#define VLC_CODEC_DSD_LSBF_PLANAR            VLC_FOURCC('D','S','F','l')
+#define VLC_CODEC_DSD_MSBF                   VLC_FOURCC('D','S','D',' ')
+#define VLC_CODEC_DSD_MSBF_PLANAR            VLC_FOURCC('D','S','F','m')
 
 /* Subtitle */
 #define VLC_CODEC_SPU       VLC_FOURCC('s','p','u',' ')
index 311ee69..0844ca7 100644 (file)
@@ -464,6 +464,14 @@ static const struct vlc_avcodec_fourcc audio_codecs[] =
     /* AV_CODEC_ID_PAF_AUDIO */
     { VLC_CODEC_ON2AVC, AV_CODEC_ID_ON2AVC },
 
+    /* DSD (FFmpeg only) */
+#if LIBAVCODEC_VERSION_MICRO >= 100
+    { VLC_CODEC_DSD_LSBF, AV_CODEC_ID_DSD_LSBF },
+    { VLC_CODEC_DSD_MSBF, AV_CODEC_ID_DSD_MSBF },
+    { VLC_CODEC_DSD_LSBF_PLANAR, AV_CODEC_ID_DSD_LSBF_PLANAR },
+    { VLC_CODEC_DSD_MSBF_PLANAR, AV_CODEC_ID_DSD_MSBF_PLANAR },
+#endif
+
     /* ffmpeg only: AV_CODEC_ID_FFWAVESYNTH */
     /* ffmpeg only: AV_CODEC_ID_SONIC */
     /* ffmpeg only: AV_CODEC_ID_SONIC_LS */
index eb304f5..ab218ce 100644 (file)
@@ -1557,6 +1557,14 @@ static const staticentry_t p_list_audio[] = {
     B(VLC_CODEC_ADPCM_EA_R1, "ADPCM Electronic Arts R1"),
 
     B(VLC_CODEC_ADPCM_IMA_APC, "ADPCM APC"),
+
+    B(VLC_CODEC_DSD_LSBF, "DSD (Direct Stream Digital) LSB first"),
+
+    B(VLC_CODEC_DSD_MSBF, "DSD (Direct Stream Digital) MSB first"),
+
+    B(VLC_CODEC_DSD_LSBF_PLANAR, "DSD (Direct Stream Digital) LSB first, planar"),
+
+    B(VLC_CODEC_DSD_MSBF_PLANAR, "DSD (Direct Stream Digital) MSB first, planar"),
 };
 
 static const staticentry_t p_list_spu[] = {