[vlc-commits] [Git][videolan/vlc][master] avcodec: Add DFPWM reading support
Steve Lhomme (@robUx4)
gitlab at videolan.org
Mon Apr 20 05:40:47 UTC 2026
Steve Lhomme pushed to branch master at VideoLAN / VLC
Commits:
3ce976bc by JackMacWindows at 2026-04-20T05:40:31+00:00
avcodec: Add DFPWM reading support
- - - - -
5 changed files:
- include/vlc_codecs.h
- include/vlc_fourcc.h
- modules/codec/avcodec/fourcc.c
- modules/demux/wav.c
- src/misc/fourcc_list.h
Changes:
=====================================
include/vlc_codecs.h
=====================================
@@ -284,6 +284,7 @@ VLC_CHECK_WAV_FORMAT(WAVE_FORMAT_OPUS, 0x704f)
#define VLC_WAVEFORMATEX_GUIDBASE {0x00000000, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}} /* Generated from Wave Format */
#define VLC_AMBISONIC_SUBTYPE_PCM {0x00000001, 0x0721, 0x11D3, {0x86, 0x44, 0xC8, 0xC1, 0xCA, 0x00, 0x00, 0x00}} /* AMBISONIC_B_FORMAT_PCM */
#define VLC_AMBISONIC_SUBTYPE_IEEE_FLOAT {0x00000003, 0x0721, 0x11D3, {0x86, 0x44, 0xC8, 0xC1, 0xCA, 0x00, 0x00, 0x00}} /* AMBISONIC_B_FORMAT_IEEE_FLOAT */
+#define VLC_DFPWM_SUBTYPE {0x38FAC13A, 0x1D81, 0x6143, {0xA4, 0x0D, 0xCE, 0x53, 0xCA, 0x60, 0x7C, 0xD1}} /* from libavformat */
/* Microsoft speaker definitions */
#define WAVE_SPEAKER_FRONT_LEFT 0x1
@@ -427,6 +428,7 @@ sub_format_tag_to_fourcc[] =
{ VLC_AMBISONIC_SUBTYPE_PCM, VLC_FOURCC( 'a', 'r', 'a', 'w' ), "Ambisonic B format (PCM)" },
{ VLC_AMBISONIC_SUBTYPE_IEEE_FLOAT, VLC_FOURCC( 'a', 'f', 'l', 't' ), "Ambisonic B format (IEEE float)" },
{ VLC_KSDATAFORMAT_SUBTYPE_ATRAC3P, VLC_CODEC_ATRAC3P, "Sony Atrac3+" },
+ { VLC_DFPWM_SUBTYPE, VLC_CODEC_DFPWM, "DFPWMa" },
{ VLC_KSDATAFORMAT_SUBTYPE_UNKNOWN, VLC_CODEC_UNKNOWN, "Unknown" }
};
=====================================
include/vlc_fourcc.h
=====================================
@@ -651,6 +651,7 @@
#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')
+#define VLC_CODEC_DFPWM VLC_FOURCC('D','F','P','W')
/* Subtitle */
#define VLC_CODEC_SPU VLC_FOURCC('s','p','u',' ')
=====================================
modules/codec/avcodec/fourcc.c
=====================================
@@ -499,6 +499,9 @@ static const struct vlc_avcodec_fourcc audio_codecs[] =
{ VLC_CODEC_METASOUND, AV_CODEC_ID_METASOUND },
/* AV_CODEC_ID_PAF_AUDIO */
{ VLC_CODEC_ON2AVC, AV_CODEC_ID_ON2AVC },
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT( 59, 23, 100 )
+ { VLC_CODEC_DFPWM, AV_CODEC_ID_DFPWM },
+#endif
/* DSD */
{ VLC_CODEC_DSD_LSBF, AV_CODEC_ID_DSD_LSBF },
=====================================
modules/demux/wav.c
=====================================
@@ -574,6 +574,7 @@ static int ChunkParseFmt( demux_t *p_demux, uint32_t i_size )
case VLC_CODEC_TRUESPEECH:
case VLC_CODEC_ATRAC3P:
case VLC_CODEC_ATRAC3:
+ case VLC_CODEC_DFPWM:
case VLC_CODEC_G723_1:
case VLC_CODEC_WMA2:
if( FrameInfo_MSGSM( &p_sys->i_frame_size, &p_sys->i_frame_samples,
=====================================
src/misc/fourcc_list.h
=====================================
@@ -1762,6 +1762,8 @@ static const staticentry_t p_list_audio[] = {
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"),
+
+ B(VLC_CODEC_DFPWM, "DFPWM1a audio"),
};
static const staticentry_t p_list_spu[] = {
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/3ce976bc9f51467b5ddecbc54570d25643dbd60d
--
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/3ce976bc9f51467b5ddecbc54570d25643dbd60d
You're receiving this email because of your account on code.videolan.org.
More information about the vlc-commits
mailing list