<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
On 2018-05-30 5:47 PM, Marvin Scholz wrote:<br>
<blockquote type="cite"
cite="mid:20180530154739.68498-1-epirat07@gmail.com">
<pre wrap="">---
Only add the mapping when using FFmpeg as libav
does not support DSD, so the build would fail.
---
include/vlc_fourcc.h | 4 ++++
modules/codec/avcodec/fourcc.c | 8 ++++++++
src/misc/fourcc_list.h | 8 ++++++++
3 files changed, 20 insertions(+)
diff --git a/include/vlc_fourcc.h b/include/vlc_fourcc.h
index 40adfeed69..1a880c2f0f 100644
--- a/include/vlc_fourcc.h
+++ b/include/vlc_fourcc.h
@@ -529,6 +529,10 @@
#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',' ')
diff --git a/modules/codec/avcodec/fourcc.c b/modules/codec/avcodec/fourcc.c
index 311ee69b19..0844ca7013 100644
--- a/modules/codec/avcodec/fourcc.c
+++ b/modules/codec/avcodec/fourcc.c
@@ -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</pre>
</blockquote>
<br>
It was added in ffmpeg 55.58.104 and we currently require <span
style=" color:#008000;">57.37.100 so that check is sufficient
(just to be sure).</span><br>
<br>
<blockquote type="cite"
cite="mid:20180530154739.68498-1-epirat07@gmail.com">
<pre wrap="">
+ { 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 */
diff --git a/src/misc/fourcc_list.h b/src/misc/fourcc_list.h
index eb304f5161..ab218ce8ba 100644
--- a/src/misc/fourcc_list.h
+++ b/src/misc/fourcc_list.h
@@ -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[] = {
</pre>
</blockquote>
<br>
</body>
</html>