VLC 4.0.0-dev
vlc_codecs.h File Reference

This file defines codec related structures needed by the demuxers and decoders. More...

Include dependency graph for vlc_codecs.h:

Go to the source code of this file.

Data Structures

struct  _GUID
 
struct  _WAVEFORMATEX
 
struct  _WAVEFORMATEXTENSIBLE
 
struct  _WAVEFORMATEXTENSIBLE_IEC61937
 
struct  _WAVEHEADER
 
struct  ATTR_PACKED
 

Macros

#define GUID_DEFINED
 
#define _WAVEFORMATEX_
 
#define _WAVEFORMATEXTENSIBLE_
 
#define _WAVEFORMATEXTENSIBLE_IEC61937_
 
#define _WAVEHEADER_
 
#define _VLC_BITMAPINFOHEADER_
 
#define VLC_CHECK_WAV_FORMAT(name, val)
 
#define WAVE_FORMAT_UNKNOWN   0x0000 /* Microsoft Corporation */
 
#define WAVE_FORMAT_PCM   0x0001 /* Microsoft Corporation */
 
#define WAVE_FORMAT_ADPCM   0x0002 /* Microsoft Corporation */
 
#define WAVE_FORMAT_IEEE_FLOAT   0x0003 /* Microsoft Corporation */
 
#define WAVE_FORMAT_ALAW   0x0006 /* Microsoft Corporation */
 
#define WAVE_FORMAT_MULAW   0x0007 /* Microsoft Corporation */
 
#define WAVE_FORMAT_DTS   0x0008 /* Microsoft Corporation */
 
#define WAVE_FORMAT_WMAS   0x000a /* WMA 9 Speech */
 
#define WAVE_FORMAT_IMA_ADPCM   0x0011 /* Intel Corporation */
 
#define WAVE_FORMAT_YAMAHA_ADPCM   0x0020 /* Yamaha */
 
#define WAVE_FORMAT_TRUESPEECH   0x0022 /* TrueSpeech */
 
#define WAVE_FORMAT_GSM610   0x0031 /* Microsoft Corporation */
 
#define WAVE_FORMAT_MSNAUDIO   0x0032 /* Microsoft Corporation */
 
#define WAVE_FORMAT_AMR_NB_2   0x0038 /* AMR NB rogue */
 
#define WAVE_FORMAT_MSG723   0x0042 /* Microsoft G.723 [G723.1] */
 
#define WAVE_FORMAT_SHARP_G726   0x0045 /* ITU-T standard */
 
#define WAVE_FORMAT_MPEG   0x0050 /* Microsoft Corporation */
 
#define WAVE_FORMAT_MPEGLAYER3   0x0055 /* ISO/MPEG Layer3 Format Tag */
 
#define WAVE_FORMAT_AMR_NARROWBAND   0x0057 /* AMR NB */
 
#define WAVE_FORMAT_AMR_WIDEBAND   0x0058 /* AMR Wideband */
 
#define WAVE_FORMAT_G726_ADPCM   0x0064 /* G.726 ADPCM */
 
#define WAVE_FORMAT_VOXWARE_RT29   0x0075 /* VoxWare MetaSound */
 
#define WAVE_FORMAT_DOLBY_AC3_SPDIF   0x0092 /* Sonic Foundry */
 
#define WAVE_FORMAT_VIVOG723   0x0111 /* Vivo G.723.1 */
 
#define WAVE_FORMAT_AAC   0x00FF /* */
 
#define WAVE_FORMAT_AAC_MS   0xa106 /* Microsoft AAC */
 
#define WAVE_FORMAT_SIPRO   0x0130 /* Sipro Lab Telecom Inc. */
 
#define WAVE_FORMAT_WMA1   0x0160 /* WMA version 1 */
 
#define WAVE_FORMAT_WMA2   0x0161 /* WMA (v2) 7, 8, 9 Series */
 
#define WAVE_FORMAT_WMAP   0x0162 /* WMA 9 Professional */
 
#define WAVE_FORMAT_WMAL   0x0163 /* WMA 9 Lossless */
 
#define WAVE_FORMAT_CREATIVE_ADPCM   0x0200 /* Creative */
 
#define WAVE_FORMAT_ULEAD_DV_AUDIO_NTSC   0x0215 /* Ulead */
 
#define WAVE_FORMAT_ULEAD_DV_AUDIO_PAL   0x0216 /* Ulead */
 
#define WAVE_FORMAT_ATRAC3   0x0270 /* Atrac3, != from MSDN doc */
 
#define WAVE_FORMAT_SONY_ATRAC3   0x0272 /* Atrac3, != from MSDN doc */
 
#define WAVE_FORMAT_IMC   0x0401
 
#define WAVE_FORMAT_INDEO_AUDIO   0x0402 /* Indeo Audio Coder */
 
#define WAVE_FORMAT_ON2_AVC   0x0500 /* VP7 */
 
#define WAVE_FORMAT_ON2_AVC_2   0x0501 /* VP6 */
 
#define WAVE_FORMAT_QNAP_ADTS   0x0AAC /* Qnap ADTS */
 
#define WAVE_FORMAT_AAC_ADTS   0x1600 /* AAC/ADTS */
 
#define WAVE_FORMAT_AAC_2   0x1601 /* Other AAC */
 
#define WAVE_FORMAT_AAC_LATM   0x1602 /* AAC/LATM */
 
#define WAVE_FORMAT_HEAAC   0x1610 /* Raw AAC or ADTS */
 
#define WAVE_FORMAT_A52   0x2000 /* a52 */
 
#define WAVE_FORMAT_DTSINC_DTS   0x2001 /* DTS */
 
#define WAVE_FORMAT_ALAC   0x6c61
 
#define WAVE_FORMAT_OPUS   0x704f
 
#define WAVE_FORMAT_AVCODEC_AAC   0x706D
 
#define WAVE_FORMAT_DIVIO_AAC   0x4143 /* Divio's AAC */
 
#define WAVE_FORMAT_AMR_NB   0x7361
 
#define WAVE_FORMAT_AMR_WB   0x7362
 
#define WAVE_FORMAT_AMR_WP   0x7363
 
#define WAVE_FORMAT_GSM_AMR_FIXED   0x7A21 /* Fixed bitrate, no SID */
 
#define WAVE_FORMAT_GSM_AMR   0x7A22 /* Variable bitrate, including SID */
 
#define WAVE_FORMAT_DK3   0x0062
 
#define WAVE_FORMAT_DK4   0x0061
 
#define WAVE_FORMAT_VORBIS   0x566f
 
#define WAVE_FORMAT_VORB_1   0x674f
 
#define WAVE_FORMAT_VORB_2   0x6750
 
#define WAVE_FORMAT_VORB_3   0x6751
 
#define WAVE_FORMAT_VORB_1PLUS   0x676f
 
#define WAVE_FORMAT_VORB_2PLUS   0x6770
 
#define WAVE_FORMAT_VORB_3PLUS   0x6771
 
#define WAVE_FORMAT_G723_1   0xa100
 
#define WAVE_FORMAT_AAC_3   0xa106
 
#define WAVE_FORMAT_SPEEX   0xa109 /* Speex audio */
 
#define WAVE_FORMAT_FLAC   0xf1ac /* Xiph Flac */
 
#define WAVE_FORMAT_EXTENSIBLE   0xFFFE /* Microsoft */
 
#define VLC_KSDATAFORMAT_SUBTYPE_ATRAC3P   {0xE923AABF, 0xCB58, 0x4471, {0xA1, 0x19, 0xFF, 0xFA, 0x01, 0xE4, 0xCE, 0x62}} /* Undocumented */
 
#define VLC_KSDATAFORMAT_SUBTYPE_UNKNOWN   {0x00000000, 0x0000, 0x0000, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}
 
#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 WAVE_SPEAKER_FRONT_LEFT   0x1
 
#define WAVE_SPEAKER_FRONT_RIGHT   0x2
 
#define WAVE_SPEAKER_FRONT_CENTER   0x4
 
#define WAVE_SPEAKER_LOW_FREQUENCY   0x8
 
#define WAVE_SPEAKER_BACK_LEFT   0x10
 
#define WAVE_SPEAKER_BACK_RIGHT   0x20
 
#define WAVE_SPEAKER_FRONT_LEFT_OF_CENTER   0x40
 
#define WAVE_SPEAKER_FRONT_RIGHT_OF_CENTER   0x80
 
#define WAVE_SPEAKER_BACK_CENTER   0x100
 
#define WAVE_SPEAKER_SIDE_LEFT   0x200
 
#define WAVE_SPEAKER_SIDE_RIGHT   0x400
 
#define WAVE_SPEAKER_TOP_CENTER   0x800
 
#define WAVE_SPEAKER_TOP_FRONT_LEFT   0x1000
 
#define WAVE_SPEAKER_TOP_FRONT_CENTER   0x2000
 
#define WAVE_SPEAKER_TOP_FRONT_RIGHT   0x4000
 
#define WAVE_SPEAKER_TOP_BACK_LEFT   0x8000
 
#define WAVE_SPEAKER_TOP_BACK_CENTER   0x10000
 
#define WAVE_SPEAKER_TOP_BACK_RIGHT   0x20000
 
#define WAVE_SPEAKER_RESERVED   0x80000000
 
#define GUID_FMT   "0x%8.8x-0x%4.4x-0x%4.4x-0x%2.2x%2.2x%2.2x%2.2x%2.2x%2.2x%2.2x%2.2x"
 
#define GUID_PRINT(guid)
 

Typedefs

typedef struct _GUID GUID
 
typedef struct _GUIDREFGUID
 
typedef struct _GUIDLPGUID
 
typedef GUID vlc_guid_t
 
typedef struct ATTR_PACKED _WAVEFORMATEX WAVEFORMATEX
 
typedef struct ATTR_PACKED _WAVEFORMATEXPWAVEFORMATEX
 
typedef struct ATTR_PACKED _WAVEFORMATEXNPWAVEFORMATEX
 
typedef struct ATTR_PACKED _WAVEFORMATEXLPWAVEFORMATEX
 
typedef struct ATTR_PACKED _WAVEFORMATEXTENSIBLE WAVEFORMATEXTENSIBLE
 
typedef struct ATTR_PACKED _WAVEFORMATEXTENSIBLEPWAVEFORMATEXTENSIBLE
 
typedef struct ATTR_PACKED _WAVEFORMATEXTENSIBLE_IEC61937 WAVEFORMATEXTENSIBLE_IEC61937
 
typedef struct ATTR_PACKED _WAVEFORMATEXTENSIBLE_IEC61937PWAVEFORMATEXTENSIBLE_IEC61937
 
typedef struct ATTR_PACKED _WAVEHEADER WAVEHEADER
 
typedef struct ATTR_PACKED VLC_BITMAPINFOHEADER
 
typedef struct ATTR_PACKEDVLC_PBITMAPINFOHEADER
 
typedef struct ATTR_PACKEDVLC_LPBITMAPINFOHEADER
 

Functions

static void wf_tag_to_fourcc (uint16_t i_tag, vlc_fourcc_t *fcc, const char **ppsz_name)
 
static void fourcc_to_wf_tag (vlc_fourcc_t fcc, uint16_t *pi_tag)
 
static int guidcmpbase (const GUID *s1, const GUID *s2)
 
static int guidcmp (const GUID *s1, const GUID *s2)
 
static void sf_tag_to_fourcc (const GUID *guid_tag, vlc_fourcc_t *fcc, const char **ppsz_name)
 

Variables

struct {
   uint16_t   i_tag
 
   vlc_fourcc_t   i_fourcc
 
   const char *   psz_name
 
wave_format_tag_to_fourcc []
 
struct {
   const GUID   guid_tag
 
   const vlc_fourcc_t   i_fourcc
 
   const char *   psz_name
 
sub_format_tag_to_fourcc []
 

Detailed Description

This file defines codec related structures needed by the demuxers and decoders.

Macro Definition Documentation

◆ _VLC_BITMAPINFOHEADER_

#define _VLC_BITMAPINFOHEADER_

◆ _WAVEFORMATEX_

#define _WAVEFORMATEX_

◆ _WAVEFORMATEXTENSIBLE_

#define _WAVEFORMATEXTENSIBLE_

◆ _WAVEFORMATEXTENSIBLE_IEC61937_

#define _WAVEFORMATEXTENSIBLE_IEC61937_

◆ _WAVEHEADER_

#define _WAVEHEADER_

◆ GUID_DEFINED

#define GUID_DEFINED

◆ GUID_FMT

#define GUID_FMT   "0x%8.8x-0x%4.4x-0x%4.4x-0x%2.2x%2.2x%2.2x%2.2x%2.2x%2.2x%2.2x%2.2x"

◆ GUID_PRINT

#define GUID_PRINT (   guid)
Value:
(unsigned)(guid).Data1, \
(guid).Data2, \
(guid).Data3, \
(guid).Data4[0],(guid).Data4[1],(guid).Data4[2],(guid).Data4[3], \
(guid).Data4[4],(guid).Data4[5],(guid).Data4[6],(guid).Data4[7]

◆ VLC_AMBISONIC_SUBTYPE_IEEE_FLOAT

#define VLC_AMBISONIC_SUBTYPE_IEEE_FLOAT   {0x00000003, 0x0721, 0x11D3, {0x86, 0x44, 0xC8, 0xC1, 0xCA, 0x00, 0x00, 0x00}} /* AMBISONIC_B_FORMAT_IEEE_FLOAT */

◆ VLC_AMBISONIC_SUBTYPE_PCM

#define VLC_AMBISONIC_SUBTYPE_PCM   {0x00000001, 0x0721, 0x11D3, {0x86, 0x44, 0xC8, 0xC1, 0xCA, 0x00, 0x00, 0x00}} /* AMBISONIC_B_FORMAT_PCM */

◆ VLC_CHECK_WAV_FORMAT

#define VLC_CHECK_WAV_FORMAT (   name,
  val 
)

◆ VLC_KSDATAFORMAT_SUBTYPE_ATRAC3P

#define VLC_KSDATAFORMAT_SUBTYPE_ATRAC3P   {0xE923AABF, 0xCB58, 0x4471, {0xA1, 0x19, 0xFF, 0xFA, 0x01, 0xE4, 0xCE, 0x62}} /* Undocumented */

◆ VLC_KSDATAFORMAT_SUBTYPE_UNKNOWN

#define VLC_KSDATAFORMAT_SUBTYPE_UNKNOWN   {0x00000000, 0x0000, 0x0000, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}

◆ VLC_WAVEFORMATEX_GUIDBASE

#define VLC_WAVEFORMATEX_GUIDBASE   {0x00000000, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}} /* Generated from Wave Format */

◆ WAVE_FORMAT_A52

#define WAVE_FORMAT_A52   0x2000 /* a52 */

◆ WAVE_FORMAT_AAC

#define WAVE_FORMAT_AAC   0x00FF /* */

◆ WAVE_FORMAT_AAC_2

#define WAVE_FORMAT_AAC_2   0x1601 /* Other AAC */

◆ WAVE_FORMAT_AAC_3

#define WAVE_FORMAT_AAC_3   0xa106

◆ WAVE_FORMAT_AAC_ADTS

#define WAVE_FORMAT_AAC_ADTS   0x1600 /* AAC/ADTS */

◆ WAVE_FORMAT_AAC_LATM

#define WAVE_FORMAT_AAC_LATM   0x1602 /* AAC/LATM */

◆ WAVE_FORMAT_AAC_MS

#define WAVE_FORMAT_AAC_MS   0xa106 /* Microsoft AAC */

◆ WAVE_FORMAT_ADPCM

#define WAVE_FORMAT_ADPCM   0x0002 /* Microsoft Corporation */

◆ WAVE_FORMAT_ALAC

#define WAVE_FORMAT_ALAC   0x6c61

◆ WAVE_FORMAT_ALAW

#define WAVE_FORMAT_ALAW   0x0006 /* Microsoft Corporation */

◆ WAVE_FORMAT_AMR_NARROWBAND

#define WAVE_FORMAT_AMR_NARROWBAND   0x0057 /* AMR NB */

◆ WAVE_FORMAT_AMR_NB

#define WAVE_FORMAT_AMR_NB   0x7361

◆ WAVE_FORMAT_AMR_NB_2

#define WAVE_FORMAT_AMR_NB_2   0x0038 /* AMR NB rogue */

◆ WAVE_FORMAT_AMR_WB

#define WAVE_FORMAT_AMR_WB   0x7362

◆ WAVE_FORMAT_AMR_WIDEBAND

#define WAVE_FORMAT_AMR_WIDEBAND   0x0058 /* AMR Wideband */

◆ WAVE_FORMAT_AMR_WP

#define WAVE_FORMAT_AMR_WP   0x7363

◆ WAVE_FORMAT_ATRAC3

#define WAVE_FORMAT_ATRAC3   0x0270 /* Atrac3, != from MSDN doc */

◆ WAVE_FORMAT_AVCODEC_AAC

#define WAVE_FORMAT_AVCODEC_AAC   0x706D

◆ WAVE_FORMAT_CREATIVE_ADPCM

#define WAVE_FORMAT_CREATIVE_ADPCM   0x0200 /* Creative */

◆ WAVE_FORMAT_DIVIO_AAC

#define WAVE_FORMAT_DIVIO_AAC   0x4143 /* Divio's AAC */

◆ WAVE_FORMAT_DK3

#define WAVE_FORMAT_DK3   0x0062

◆ WAVE_FORMAT_DK4

#define WAVE_FORMAT_DK4   0x0061

◆ WAVE_FORMAT_DOLBY_AC3_SPDIF

#define WAVE_FORMAT_DOLBY_AC3_SPDIF   0x0092 /* Sonic Foundry */

◆ WAVE_FORMAT_DTS

#define WAVE_FORMAT_DTS   0x0008 /* Microsoft Corporation */

◆ WAVE_FORMAT_DTSINC_DTS

#define WAVE_FORMAT_DTSINC_DTS   0x2001 /* DTS */

◆ WAVE_FORMAT_EXTENSIBLE

#define WAVE_FORMAT_EXTENSIBLE   0xFFFE /* Microsoft */

◆ WAVE_FORMAT_FLAC

#define WAVE_FORMAT_FLAC   0xf1ac /* Xiph Flac */

◆ WAVE_FORMAT_G723_1

#define WAVE_FORMAT_G723_1   0xa100

◆ WAVE_FORMAT_G726_ADPCM

#define WAVE_FORMAT_G726_ADPCM   0x0064 /* G.726 ADPCM */

◆ WAVE_FORMAT_GSM610

#define WAVE_FORMAT_GSM610   0x0031 /* Microsoft Corporation */

◆ WAVE_FORMAT_GSM_AMR

#define WAVE_FORMAT_GSM_AMR   0x7A22 /* Variable bitrate, including SID */

◆ WAVE_FORMAT_GSM_AMR_FIXED

#define WAVE_FORMAT_GSM_AMR_FIXED   0x7A21 /* Fixed bitrate, no SID */

◆ WAVE_FORMAT_HEAAC

#define WAVE_FORMAT_HEAAC   0x1610 /* Raw AAC or ADTS */

◆ WAVE_FORMAT_IEEE_FLOAT

#define WAVE_FORMAT_IEEE_FLOAT   0x0003 /* Microsoft Corporation */

◆ WAVE_FORMAT_IMA_ADPCM

#define WAVE_FORMAT_IMA_ADPCM   0x0011 /* Intel Corporation */

◆ WAVE_FORMAT_IMC

#define WAVE_FORMAT_IMC   0x0401

◆ WAVE_FORMAT_INDEO_AUDIO

#define WAVE_FORMAT_INDEO_AUDIO   0x0402 /* Indeo Audio Coder */

◆ WAVE_FORMAT_MPEG

#define WAVE_FORMAT_MPEG   0x0050 /* Microsoft Corporation */

◆ WAVE_FORMAT_MPEGLAYER3

#define WAVE_FORMAT_MPEGLAYER3   0x0055 /* ISO/MPEG Layer3 Format Tag */

◆ WAVE_FORMAT_MSG723

#define WAVE_FORMAT_MSG723   0x0042 /* Microsoft G.723 [G723.1] */

◆ WAVE_FORMAT_MSNAUDIO

#define WAVE_FORMAT_MSNAUDIO   0x0032 /* Microsoft Corporation */

◆ WAVE_FORMAT_MULAW

#define WAVE_FORMAT_MULAW   0x0007 /* Microsoft Corporation */

◆ WAVE_FORMAT_ON2_AVC

#define WAVE_FORMAT_ON2_AVC   0x0500 /* VP7 */

◆ WAVE_FORMAT_ON2_AVC_2

#define WAVE_FORMAT_ON2_AVC_2   0x0501 /* VP6 */

◆ WAVE_FORMAT_OPUS

#define WAVE_FORMAT_OPUS   0x704f

◆ WAVE_FORMAT_PCM

#define WAVE_FORMAT_PCM   0x0001 /* Microsoft Corporation */

◆ WAVE_FORMAT_QNAP_ADTS

#define WAVE_FORMAT_QNAP_ADTS   0x0AAC /* Qnap ADTS */

◆ WAVE_FORMAT_SHARP_G726

#define WAVE_FORMAT_SHARP_G726   0x0045 /* ITU-T standard */

◆ WAVE_FORMAT_SIPRO

#define WAVE_FORMAT_SIPRO   0x0130 /* Sipro Lab Telecom Inc. */

◆ WAVE_FORMAT_SONY_ATRAC3

#define WAVE_FORMAT_SONY_ATRAC3   0x0272 /* Atrac3, != from MSDN doc */

◆ WAVE_FORMAT_SPEEX

#define WAVE_FORMAT_SPEEX   0xa109 /* Speex audio */

◆ WAVE_FORMAT_TRUESPEECH

#define WAVE_FORMAT_TRUESPEECH   0x0022 /* TrueSpeech */

◆ WAVE_FORMAT_ULEAD_DV_AUDIO_NTSC

#define WAVE_FORMAT_ULEAD_DV_AUDIO_NTSC   0x0215 /* Ulead */

◆ WAVE_FORMAT_ULEAD_DV_AUDIO_PAL

#define WAVE_FORMAT_ULEAD_DV_AUDIO_PAL   0x0216 /* Ulead */

◆ WAVE_FORMAT_UNKNOWN

#define WAVE_FORMAT_UNKNOWN   0x0000 /* Microsoft Corporation */

◆ WAVE_FORMAT_VIVOG723

#define WAVE_FORMAT_VIVOG723   0x0111 /* Vivo G.723.1 */

◆ WAVE_FORMAT_VORB_1

#define WAVE_FORMAT_VORB_1   0x674f

◆ WAVE_FORMAT_VORB_1PLUS

#define WAVE_FORMAT_VORB_1PLUS   0x676f

◆ WAVE_FORMAT_VORB_2

#define WAVE_FORMAT_VORB_2   0x6750

◆ WAVE_FORMAT_VORB_2PLUS

#define WAVE_FORMAT_VORB_2PLUS   0x6770

◆ WAVE_FORMAT_VORB_3

#define WAVE_FORMAT_VORB_3   0x6751

◆ WAVE_FORMAT_VORB_3PLUS

#define WAVE_FORMAT_VORB_3PLUS   0x6771

◆ WAVE_FORMAT_VORBIS

#define WAVE_FORMAT_VORBIS   0x566f

◆ WAVE_FORMAT_VOXWARE_RT29

#define WAVE_FORMAT_VOXWARE_RT29   0x0075 /* VoxWare MetaSound */

◆ WAVE_FORMAT_WMA1

#define WAVE_FORMAT_WMA1   0x0160 /* WMA version 1 */

◆ WAVE_FORMAT_WMA2

#define WAVE_FORMAT_WMA2   0x0161 /* WMA (v2) 7, 8, 9 Series */

◆ WAVE_FORMAT_WMAL

#define WAVE_FORMAT_WMAL   0x0163 /* WMA 9 Lossless */

◆ WAVE_FORMAT_WMAP

#define WAVE_FORMAT_WMAP   0x0162 /* WMA 9 Professional */

◆ WAVE_FORMAT_WMAS

#define WAVE_FORMAT_WMAS   0x000a /* WMA 9 Speech */

◆ WAVE_FORMAT_YAMAHA_ADPCM

#define WAVE_FORMAT_YAMAHA_ADPCM   0x0020 /* Yamaha */

◆ WAVE_SPEAKER_BACK_CENTER

#define WAVE_SPEAKER_BACK_CENTER   0x100

◆ WAVE_SPEAKER_BACK_LEFT

#define WAVE_SPEAKER_BACK_LEFT   0x10

◆ WAVE_SPEAKER_BACK_RIGHT

#define WAVE_SPEAKER_BACK_RIGHT   0x20

◆ WAVE_SPEAKER_FRONT_CENTER

#define WAVE_SPEAKER_FRONT_CENTER   0x4

◆ WAVE_SPEAKER_FRONT_LEFT

#define WAVE_SPEAKER_FRONT_LEFT   0x1

◆ WAVE_SPEAKER_FRONT_LEFT_OF_CENTER

#define WAVE_SPEAKER_FRONT_LEFT_OF_CENTER   0x40

◆ WAVE_SPEAKER_FRONT_RIGHT

#define WAVE_SPEAKER_FRONT_RIGHT   0x2

◆ WAVE_SPEAKER_FRONT_RIGHT_OF_CENTER

#define WAVE_SPEAKER_FRONT_RIGHT_OF_CENTER   0x80

◆ WAVE_SPEAKER_LOW_FREQUENCY

#define WAVE_SPEAKER_LOW_FREQUENCY   0x8

◆ WAVE_SPEAKER_RESERVED

#define WAVE_SPEAKER_RESERVED   0x80000000

◆ WAVE_SPEAKER_SIDE_LEFT

#define WAVE_SPEAKER_SIDE_LEFT   0x200

◆ WAVE_SPEAKER_SIDE_RIGHT

#define WAVE_SPEAKER_SIDE_RIGHT   0x400

◆ WAVE_SPEAKER_TOP_BACK_CENTER

#define WAVE_SPEAKER_TOP_BACK_CENTER   0x10000

◆ WAVE_SPEAKER_TOP_BACK_LEFT

#define WAVE_SPEAKER_TOP_BACK_LEFT   0x8000

◆ WAVE_SPEAKER_TOP_BACK_RIGHT

#define WAVE_SPEAKER_TOP_BACK_RIGHT   0x20000

◆ WAVE_SPEAKER_TOP_CENTER

#define WAVE_SPEAKER_TOP_CENTER   0x800

◆ WAVE_SPEAKER_TOP_FRONT_CENTER

#define WAVE_SPEAKER_TOP_FRONT_CENTER   0x2000

◆ WAVE_SPEAKER_TOP_FRONT_LEFT

#define WAVE_SPEAKER_TOP_FRONT_LEFT   0x1000

◆ WAVE_SPEAKER_TOP_FRONT_RIGHT

#define WAVE_SPEAKER_TOP_FRONT_RIGHT   0x4000

Typedef Documentation

◆ GUID

typedef struct _GUID GUID

◆ LPGUID

typedef struct _GUID * LPGUID

◆ LPWAVEFORMATEX

◆ NPWAVEFORMATEX

◆ PWAVEFORMATEX

◆ PWAVEFORMATEXTENSIBLE

◆ PWAVEFORMATEXTENSIBLE_IEC61937

◆ REFGUID

typedef struct _GUID * REFGUID

◆ VLC_BITMAPINFOHEADER

◆ vlc_guid_t

typedef GUID vlc_guid_t

◆ VLC_LPBITMAPINFOHEADER

◆ VLC_PBITMAPINFOHEADER

◆ WAVEFORMATEX

◆ WAVEFORMATEXTENSIBLE

◆ WAVEFORMATEXTENSIBLE_IEC61937

◆ WAVEHEADER

Function Documentation

◆ fourcc_to_wf_tag()

static void fourcc_to_wf_tag ( vlc_fourcc_t  fcc,
uint16_t *  pi_tag 
)
inlinestatic

◆ guidcmp()

static int guidcmp ( const GUID s1,
const GUID s2 
)
inlinestatic

References _GUID::Data1, and guidcmpbase().

Referenced by sf_tag_to_fourcc().

◆ guidcmpbase()

static int guidcmpbase ( const GUID s1,
const GUID s2 
)
inlinestatic

References _GUID::Data2, _GUID::Data3, and _GUID::Data4.

Referenced by guidcmp(), and sf_tag_to_fourcc().

◆ sf_tag_to_fourcc()

static void sf_tag_to_fourcc ( const GUID guid_tag,
vlc_fourcc_t fcc,
const char **  ppsz_name 
)
inlinestatic

◆ wf_tag_to_fourcc()

static void wf_tag_to_fourcc ( uint16_t  i_tag,
vlc_fourcc_t fcc,
const char **  ppsz_name 
)
inlinestatic

References i_tag, and wave_format_tag_to_fourcc.

Referenced by sf_tag_to_fourcc().

Variable Documentation

◆ guid_tag

const GUID guid_tag

Referenced by sf_tag_to_fourcc().

◆ i_fourcc

◆ i_tag

uint16_t i_tag

Referenced by wf_tag_to_fourcc().

◆ psz_name

const char* psz_name

◆ 

const struct { ... } sub_format_tag_to_fourcc[]
Initial value:
=
{
{ {0x00000001, 0x0721, 0x11D3, {0x86, 0x44, 0xC8, 0xC1, 0xCA, 0x00, 0x00, 0x00}} , ( ((uint32_t) 'a' ) | ( ((uint32_t) 'r' ) << 8 ) | ( ((uint32_t) 'a' ) << 16 ) | ( ((uint32_t) 'w' ) << 24 ) ), "Ambisonic B format (PCM)" },
{ {0x00000003, 0x0721, 0x11D3, {0x86, 0x44, 0xC8, 0xC1, 0xCA, 0x00, 0x00, 0x00}} , ( ((uint32_t) 'a' ) | ( ((uint32_t) 'f' ) << 8 ) | ( ((uint32_t) 'l' ) << 16 ) | ( ((uint32_t) 't' ) << 24 ) ), "Ambisonic B format (IEEE float)" },
{ {0xE923AABF, 0xCB58, 0x4471, {0xA1, 0x19, 0xFF, 0xFA, 0x01, 0xE4, 0xCE, 0x62}} , ( ((uint32_t) 'a' ) | ( ((uint32_t) 't' ) << 8 ) | ( ((uint32_t) 'r' ) << 16 ) | ( ((uint32_t) 'p' ) << 24 ) ) , "Sony Atrac3+" },
{ {0x00000000, 0x0000, 0x0000, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}} , ( ((uint32_t) 'u' ) | ( ((uint32_t) 'n' ) << 8 ) | ( ((uint32_t) 'd' ) << 16 ) | ( ((uint32_t) 'f' ) << 24 ) ) , "Unknown" }
}

Referenced by sf_tag_to_fourcc().

◆ 

const struct { ... } wave_format_tag_to_fourcc[]