[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