Audio Subtypes

 The following tables list media subtype GUIDs for audio. Where applicable, each table lists the equivalent format tag, declared in Mmreg.h.

Uncompressed Audio Types

GUIDDescriptionHeaderEquivalent Format Tag
MEDIASUBTYPE_IEEE_FLOATIEEE floating-point audio.uuids.hWAVE_FORMAT_IEEE_FLOAT (0x0003)
MEDIASUBTYPE_PCMPCM audio.uuids.hWAVE_FORMAT_PCM (0x0001)

 

MPEG-4 and AAC Audio Types

GUIDDescriptionHeaderEquivalent Format Tag
MEDIASUBTYPE_MPEG_ADTS_AAC

Advanced Audio Coding (AAC) audio in Audio Data Transport Stream (ADTS) format.

The format block is a WAVEFORMATEX structure with wFormatTag equal to WAVE_FORMAT_MPEG_ADTS_AAC.

The WAVEFORMATEX structure specifies the core AAC-LC sample rate and number of channels, prior to applying spectral band replication (SBR) or parametric stereo (PS) tools, if present.

No additional data is required after the WAVEFORMATEX structure.

wmcodecdsp.hWAVE_FORMAT_MPEG_ADTS_AAC (0x1600)
MEDIASUBTYPE_MPEG_HEAAC

High-Efficiency Advanced Audio Coding (HE-AAC) stream.

The format block is an HEAACWAVEFORMAT structure.

wmcodecdsp.hWAVE_FORMAT_MPEG_HEAAC (0x1610)
MEDIASUBTYPE_MPEG_LOAS

MPEG-4 audio transport stream with a synchronization layer (LOAS) and a multiplex layer (LATM).

The format block is a WAVEFORMATEX structure with wFormatTag equal to WAVE_FORMAT_MPEG_LOAS.

The WAVEFORMATEX structure specifies the core AAC-LC sample rate and number of channels, prior to applying spectral SBR or PS tools, if present.

No additional data is required after the WAVEFORMATEX structure.

wmcodecdsp.hWAVE_FORMAT_MPEG_LOAS (0x1602)
MEDIASUBTYPE_RAW_AAC1

Raw AAC.

The format block is a WAVEFORMATEX structure with wFormatTag equal to WAVE_FORMAT_RAW_AAC1.

The WAVEFORMATEX structure specifies the sample rate and number of channels in the decoded audio after applying SBR and PS tools, if present.

The WAVEFORMATEX structure is followed by additional bytes that contain the AudioSpecificConfig() data, as defined by ISO/IEC 14496-3 (MPEG-4 Audio).

The length of the AudioSpecificConfig() data is 2 bytes for AAC-LC or HE-AAC with implicit signaling of SBR/PS. It is more than 2 bytes for HE-AAC with explicit signaling of SBR/PS.

wmcodecdps.hWAVE_FORMAT_RAW_AAC1 (0x00FF)

 

Dolby Audio Types

GUIDDescriptionHeaderEquivalent Format Tag
MEDIASUBTYPE_DOLBY_DDPLUSDolby Digital Plus audio.wmcodecdsp.hn/a
MEDIASUBTYPE_DOLBY_AC3Dolby Digital (AC-3) audio.ksuuids.hn/a
MEDIASUBTYPE_DOLBY_AC3_SPDIFDolby AC-3 over S/PDIF.uuids.hWAVE_FORMAT_DOLBY_AC3_SPDIF (0x0092)
MEDIASUBTYPE_DVM

DVM AC-3 codec. Used when playing an AVI files with Dolby Digital audio.

The format block is a WAVEFORMATEX structure with the format tag equal to WAVE_FORMAT_DVM.

wmcodecdsp.hWAVE_FORMAT_DVM (0x2000)
MEDIASUBTYPE_RAW_SPORTAC-3 over S/PDIF; see Remarks.uuids.hWAVE_FORMAT_RAW_SPORT (0x0240)
MEDIASUBTYPE_SPDIF_TAG_241hAC-3 over S/PDIF; see Remarks.uuids.hWAVE_FORMAT_ESST_AC3 (0x0241)

 

To specify padded AC-3, use the subtype MEDIASUBTYPE_DOLBY_AC3_SPDIF, which corresponds to a format tag of 0x0092 (WAVE_FORMAT_DOLBY_AC3_SPDIF). The values 0x240 and 0x241 have also been used to indicate padded AC-3, but Microsoft encourages the use of 0x0092.

Miscellaneous Audio Types

GUIDDescriptionHeaderEquivalent Format Tag
MEDIASUBTYPE_DRM_AudioAudio with digital rights management (DRM) protection.uuids.hWAVE_FORMAT_DRM (0x0009)
MEDIASUBTYPE_DTS

Digital Theater Systems (DTS) audio.

The format block is a WAVEFORMATEX structure with the format tag equal to WAVE_FORMAT_UNKNOWN.

ksuuids.hn/a
MEDIASUBTYPE_DTS2

Digital Theater Systems (DTS) audio.

The format block is a WAVEFORMATEX structure with the format tag equal to WAVE_FORMAT_DTS2.

This subtype is equivalent to MEDIASUBTYPE_DTS but uses a different format tag.

wmcodecdsp.hWAVE_FORMAT_DTS2 (0x2001)
MEDIASUBTYPE_DVD_LPCM_AUDIODVD audio data.ksuuids.hn/a
MEDIASUBTYPE_MPEG1AudioPayloadMPEG-1 audio payload.uuids.hWAVE_FORMAT_MPEG (0x0050)
MEDIASUBTYPE_MPEG1PacketMPEG1 audio packet.uuids.hn/a
MEDIASUBTYPE_MPEG1PayloadMPEG1 audio Payload.uuids.hn/a
MEDIASUBTYPE_MPEG2_AUDIOMPEG-2 audio data.ksuuids.hn/a

 

Audio Format Tags

The wFormatTag field in the WAVEFORMATEX structure specifies the audio format type. Media samples are generally whole number of samples as specified in the wBitsPerSample field in the WAVEFORMATEX structure. This is not necessarily true for MPEG audio samples that can come from packetized streams and are therefore not necessarily packaged on sample / frame boundaries. For MPEG audio the time stamp in a media sample is the time stamp for the first frame whose first byte is contained in the media sample.

Media subtypes are defined for each wFormatTag as follows:

  • The Data1 subfield of the subtype GUID is the same as the wFormatTag value.
  • The Data 2 field is 0.
  • The Data 3 field is 0x0010.
  • The Data 4 field is 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71.

Thus, for PCM audio the subtype GUID (defined in uuids.h as MEDIASUBTYPE_PCM) is:

{00000001-0000-0010-8000-00AA00389B71}

The CreateAudioMediaType function can be used to create an AM_MEDIA_TYPE structure from a WAVEFORMATEX structure.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值