VLC  2.1.0-git
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Functions | Variables
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  _WAVEHEADER
struct  ATTR_PACKED
struct  ATTR_PACKED
struct  ATTR_PACKED
struct  ATTR_PACKED
struct  ATTR_PACKED
struct  ATTR_PACKED
struct  ATTR_PACKED

Macros

#define GUID_DEFINED
#define _WAVEFORMATEX_
#define _WAVEFORMATEXTENSIBLE_
#define _WAVEHEADER_
#define _VLC_BITMAPINFOHEADER_
#define _RECT32_
#define _REFERENCE_TIME_
#define _VIDEOINFOHEADER_
#define _RGBQUAD_
#define _TRUECOLORINFO_
#define _VIDEOINFO_
#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_MS   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_MSG723   0x0042 /* Microsoft G.723 [G723.1] */
#define WAVE_FORMAT_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_NB   0x0057 /* AMR NB */
#define WAVE_FORMAT_AMR_WB   0x0058 /* AMR Wideband */
#define WAVE_FORMAT_DOLBY_AC3_SPDIF   0x0092 /* Sonic Foundry */
#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_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_INDEO_AUDIO   0x0402 /* Indeo Audio Coder */
#define WAVE_FORMAT_AAC_2   0x1601 /* Other AAC */
#define WAVE_FORMAT_AAC_LATM   0x1602 /* AAC/LATM */
#define WAVE_FORMAT_A52   0x2000 /* a52 */
#define WAVE_FORMAT_DTS   0x2001 /* DTS */
#define WAVE_FORMAT_FFMPEG_AAC   0x706D
#define WAVE_FORMAT_DIVIO_AAC   0x4143 /* Divio's AAC */
#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   0x0061
#define WAVE_FORMAT_DK4   0x0062
#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_SPEEX   0xa109 /* Speex audio */
#define WAVE_FORMAT_FLAC   0xf1ac /* Xiph Flac */
#define WAVE_FORMAT_EXTENSIBLE   0xFFFE /* Microsoft */
#define _KSDATAFORMAT_SUBTYPE_PCM_   {0x00000001, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}}
#define KSDATAFORMAT_SUBTYPE_PCM   VLC_KSDATAFORMAT_SUBTYPE_PCM
#define _KSDATAFORMAT_SUBTYPE_UNKNOWN_   {0x00000000, 0x0000, 0x0000, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}
#define KSDATAFORMAT_SUBTYPE_UNKNOWN   VLC_KSDATAFORMAT_SUBTYPE_UNKNOWN
#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

Typedefs

typedef struct _GUID GUID
typedef struct _GUIDREFGUID
typedef struct _GUIDLPGUID
typedef GUID guid_t
typedef struct ATTR_PACKED
_WAVEFORMATEX 
WAVEFORMATEX
typedef struct ATTR_PACKED
_WAVEFORMATEX
PWAVEFORMATEX
typedef struct ATTR_PACKED
_WAVEFORMATEX
NPWAVEFORMATEX
typedef struct ATTR_PACKED
_WAVEFORMATEX
LPWAVEFORMATEX
typedef struct ATTR_PACKED
_WAVEFORMATEXTENSIBLE 
WAVEFORMATEXTENSIBLE
typedef struct ATTR_PACKED
_WAVEFORMATEXTENSIBLE
PWAVEFORMATEXTENSIBLE
typedef struct ATTR_PACKED
_WAVEHEADER 
WAVEHEADER
typedef struct ATTR_PACKED VLC_BITMAPINFOHEADER
typedef struct ATTR_PACKEDVLC_PBITMAPINFOHEADER
typedef struct ATTR_PACKEDVLC_LPBITMAPINFOHEADER
typedef struct ATTR_PACKED VLC_BITMAPINFO
typedef struct ATTR_PACKEDVLC_LPBITMAPINFO
typedef struct ATTR_PACKED RECT32
typedef int64_t REFERENCE_TIME
typedef struct ATTR_PACKED VIDEOINFOHEADER
typedef struct ATTR_PACKED RGBQUAD1
typedef struct ATTR_PACKED TRUECOLORINFO
typedef struct ATTR_PACKED VIDEOINFO

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 guidcmp (const GUID *s1, const GUID *s2)
static void sf_tag_to_fourcc (GUID *guid_tag, vlc_fourcc_t *fcc, const char **ppsz_name)

Variables

static const GUID VLC_KSDATAFORMAT_SUBTYPE_PCM = {0xE923AABF, 0xCB58, 0x4471, {0xA1, 0x19, 0xFF, 0xFA, 0x01, 0xE4, 0xCE, 0x62}}
static const GUID VLC_KSDATAFORMAT_SUBTYPE_UNKNOWN = {0x00000000, 0x0000, 0x0000, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}
struct {
   uint16_t   i_tag
   vlc_fourcc_t   i_fourcc
   const char *   psz_name
wave_format_tag_to_fourcc []
struct {
   GUID   guid_tag
   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

#define _KSDATAFORMAT_SUBTYPE_PCM_   {0x00000001, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}}
#define _KSDATAFORMAT_SUBTYPE_UNKNOWN_   {0x00000000, 0x0000, 0x0000, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}
#define _RECT32_
#define _REFERENCE_TIME_
#define _RGBQUAD_
#define _TRUECOLORINFO_
#define _VIDEOINFO_
#define _VIDEOINFOHEADER_
#define _VLC_BITMAPINFOHEADER_
#define _WAVEFORMATEX_
#define _WAVEFORMATEXTENSIBLE_
#define _WAVEHEADER_
#define GUID_DEFINED
#define KSDATAFORMAT_SUBTYPE_PCM   VLC_KSDATAFORMAT_SUBTYPE_PCM
#define KSDATAFORMAT_SUBTYPE_UNKNOWN   VLC_KSDATAFORMAT_SUBTYPE_UNKNOWN

Referenced by sf_tag_to_fourcc().

#define WAVE_FORMAT_A52   0x2000 /* a52 */
#define WAVE_FORMAT_AAC   0x00FF /* */
#define WAVE_FORMAT_AAC_2   0x1601 /* Other AAC */
#define WAVE_FORMAT_AAC_LATM   0x1602 /* AAC/LATM */
#define WAVE_FORMAT_AAC_MS   0xa106 /* Microsoft AAC */
#define WAVE_FORMAT_ADPCM   0x0002 /* Microsoft Corporation */
#define WAVE_FORMAT_ALAW   0x0006 /* Microsoft Corporation */
#define WAVE_FORMAT_AMR_NB   0x0057 /* AMR NB */
#define WAVE_FORMAT_AMR_WB   0x0058 /* AMR Wideband */
#define WAVE_FORMAT_ATRAC3   0x0270 /* Atrac3, != from MSDN doc */
#define WAVE_FORMAT_DIVIO_AAC   0x4143 /* Divio's AAC */
#define WAVE_FORMAT_DK3   0x0061
#define WAVE_FORMAT_DK4   0x0062
#define WAVE_FORMAT_DOLBY_AC3_SPDIF   0x0092 /* Sonic Foundry */
#define WAVE_FORMAT_DTS   0x2001 /* DTS */
#define WAVE_FORMAT_DTS_MS   0x0008 /* Microsoft Corporation */
#define WAVE_FORMAT_EXTENSIBLE   0xFFFE /* Microsoft */
#define WAVE_FORMAT_FFMPEG_AAC   0x706D
#define WAVE_FORMAT_FLAC   0xf1ac /* Xiph Flac */
#define WAVE_FORMAT_G723_1   0xa100
#define WAVE_FORMAT_G726   0x0045 /* ITU-T standard */
#define WAVE_FORMAT_GSM610   0x0031 /* Microsoft Corporation */
#define WAVE_FORMAT_GSM_AMR   0x7A22 /* Variable bitrate, including SID */
#define WAVE_FORMAT_GSM_AMR_FIXED   0x7A21 /* Fixed bitrate, no SID */
#define WAVE_FORMAT_IEEE_FLOAT   0x0003 /* Microsoft Corporation */
#define WAVE_FORMAT_IMA_ADPCM   0x0011 /* Intel Corporation */
#define WAVE_FORMAT_INDEO_AUDIO   0x0402 /* Indeo Audio Coder */
#define WAVE_FORMAT_MPEG   0x0050 /* Microsoft Corporation */
#define WAVE_FORMAT_MPEGLAYER3   0x0055 /* ISO/MPEG Layer3 Format Tag */
#define WAVE_FORMAT_MSG723   0x0042 /* Microsoft G.723 [G723.1] */
#define WAVE_FORMAT_MSNAUDIO   0x0032 /* Microsoft Corporation */
#define WAVE_FORMAT_MULAW   0x0007 /* Microsoft Corporation */
#define WAVE_FORMAT_PCM   0x0001 /* Microsoft Corporation */
#define WAVE_FORMAT_SIPRO   0x0130 /* Sipro Lab Telecom Inc. */
#define WAVE_FORMAT_SONY_ATRAC3   0x0272 /* Atrac3, != from MSDN doc */
#define WAVE_FORMAT_SPEEX   0xa109 /* Speex audio */
#define WAVE_FORMAT_TRUESPEECH   0x0022 /* TrueSpeech */
#define WAVE_FORMAT_ULEAD_DV_AUDIO_NTSC   0x0215 /* Ulead */
#define WAVE_FORMAT_ULEAD_DV_AUDIO_PAL   0x0216 /* Ulead */
#define WAVE_FORMAT_UNKNOWN   0x0000 /* Microsoft Corporation */
#define WAVE_FORMAT_VORB_1   0x674f
#define WAVE_FORMAT_VORB_1PLUS   0x676f
#define WAVE_FORMAT_VORB_2   0x6750
#define WAVE_FORMAT_VORB_2PLUS   0x6770
#define WAVE_FORMAT_VORB_3   0x6751
#define WAVE_FORMAT_VORB_3PLUS   0x6771
#define WAVE_FORMAT_VORBIS   0x566f
#define WAVE_FORMAT_WMA1   0x0160 /* WMA version 1 */
#define WAVE_FORMAT_WMA2   0x0161 /* WMA (v2) 7, 8, 9 Series */
#define WAVE_FORMAT_WMAL   0x0163 /* WMA 9 Lossless */
#define WAVE_FORMAT_WMAP   0x0162 /* WMA 9 Professional */
#define WAVE_FORMAT_WMAS   0x000a /* WMA 9 Speech */
#define WAVE_FORMAT_YAMAHA_ADPCM   0x0020 /* Yamaha */
#define WAVE_SPEAKER_BACK_CENTER   0x100
#define WAVE_SPEAKER_BACK_LEFT   0x10
#define WAVE_SPEAKER_BACK_RIGHT   0x20
#define WAVE_SPEAKER_FRONT_CENTER   0x4
#define WAVE_SPEAKER_FRONT_LEFT   0x1
#define WAVE_SPEAKER_FRONT_LEFT_OF_CENTER   0x40
#define WAVE_SPEAKER_FRONT_RIGHT   0x2
#define WAVE_SPEAKER_FRONT_RIGHT_OF_CENTER   0x80
#define WAVE_SPEAKER_LOW_FREQUENCY   0x8
#define WAVE_SPEAKER_RESERVED   0x80000000
#define WAVE_SPEAKER_SIDE_LEFT   0x200
#define WAVE_SPEAKER_SIDE_RIGHT   0x400
#define WAVE_SPEAKER_TOP_BACK_CENTER   0x10000
#define WAVE_SPEAKER_TOP_BACK_LEFT   0x8000
#define WAVE_SPEAKER_TOP_BACK_RIGHT   0x20000
#define WAVE_SPEAKER_TOP_CENTER   0x800
#define WAVE_SPEAKER_TOP_FRONT_CENTER   0x2000
#define WAVE_SPEAKER_TOP_FRONT_LEFT   0x1000
#define WAVE_SPEAKER_TOP_FRONT_RIGHT   0x4000

Typedef Documentation

typedef struct _GUID GUID
typedef GUID guid_t
typedef struct _GUID * LPGUID
typedef struct ATTR_PACKED RECT32
typedef int64_t REFERENCE_TIME
typedef struct _GUID * REFGUID
typedef struct ATTR_PACKED RGBQUAD1
typedef struct ATTR_PACKED TRUECOLORINFO
typedef struct ATTR_PACKED VIDEOINFO
typedef struct ATTR_PACKED VIDEOINFOHEADER
typedef struct ATTR_PACKED VLC_BITMAPINFO
typedef struct ATTR_PACKED * VLC_LPBITMAPINFO

Function Documentation

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

Variable Documentation

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

Referenced by sf_tag_to_fourcc().

const GUID VLC_KSDATAFORMAT_SUBTYPE_PCM = {0xE923AABF, 0xCB58, 0x4471, {0xA1, 0x19, 0xFF, 0xFA, 0x01, 0xE4, 0xCE, 0x62}}
static
const GUID VLC_KSDATAFORMAT_SUBTYPE_UNKNOWN = {0x00000000, 0x0000, 0x0000, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}
static
struct { ... } wave_format_tag_to_fourcc[]