[vlc-devel] [PATCH v3 1/2] Add DSD FourCCs

Steve Lhomme robux4 at ycbcr.xyz
Thu May 31 09:13:32 CEST 2018


On 2018-05-30 5:47 PM, Marvin Scholz wrote:
> ---
> 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

It was added in ffmpeg 55.58.104 and we currently require 57.37.100 so 
that check is sufficient (just to be sure).

> +    { 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[] = {

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20180531/77c6d75d/attachment.html>


More information about the vlc-devel mailing list