| The Datasheet Archive - 100 Million Datasheets from 7500 Manufacturers. |
Release March 1998 Device Class Definition Audio Data Formats
Top Searches for this datasheetUniversal Serial Device Class Definition Audio Data Formats Release March 1998 Device Class Definition Audio Data Formats Scope This Release This document release this device class definition. Contributors Ashour Billy Brackenridge Oren Tirosh Craig Todd Remy Zimmermann Geert Knapen Corporation Microsoft Corporation Altec Lansing Dolby Laboratories Logitech Philips ITCL Interleuvenlaan 74-76 B-3001 Leuven-Heverlee BELGIUM Phone: Fax: E-mail: Geert.Knapen@innet.be Revision History Revision Date Dec. Jan. Mar. Filename Frmts01.doc Frmts02.doc Frmts03.doc Author Geert Knapen Geert Knapen Geert Knapen Initial version Description Corrected typos. Adapted template contents correspond with core document. Brought line with core document. Added Type descriptors requests. Added details MPEG AC-3. Added format-specific requests. Copy-edited publication web. Incorporated Added Transfer Delimiter concept. Cleaned formatting. Changed references 0.9rc Apr. Frmts09rc.doc Geert Knapen Frmts09.doc Geert Knapen 0.9CE 0.9a 1.0RC Frmts09CE.doc Frmts09a.doc Frmts10RC.doc Geert Knapen Geert Knapen Geert Knapen Frmts10.doc Geert Knapen Release March 1998 Device Class Definition Audio Data Formats Copyright 1997, Implementers Forum rights reserved. INTELLECTUAL PROPERTY DISCLAIMER THIS SPECIFICATION PROVIDED WITH WARRANTIES WHATSOEVER INCLUDING WARRANTY MERCHANTABILITY, FITNESS PARTICULAR PURPOSE, WARRANTY OTHERWISE ARISING PROPOSAL, SPECIFICATION, SAMPLE. LICENSE HEREBY GRANTED REPRODUCE DISTRIBUTE THIS SPECIFICATION INTERNAL ONLY. OTHER LICENSE, EXPRESS IMPLIED, ESTOPPEL OTHERWISE, OTHER INTELLECTUAL PROPERTY RIGHTS GRANTED INTENDED HEREBY. AUTHORS THIS SPECIFICATION DISCLAIM LIABILITY, INCLUDING LIABILITY INFRINGEMENT PROPRIETARY RIGHTS, RELATING IMPLEMENTATION INFORMATION THIS SPECIFICATION. AUTHORS THIS SPECIFICATION ALSO WARRANT REPRESENT THAT SUCH IMPLEMENTATION(S) WILL INFRINGE SUCH RIGHTS. DolbyTM, AC-3TM, Logicand Dolby Surroundare trademarks Dolby Laboratories, Inc. other product names trademarks, registered trademarks, service marks their respective owners. Please send comments electronic mail techsup@usb.org Release March 1998 Device Class Definition Audio Data Formats Table Contents Scope This Release.ii Contributors.ii Revision History Table Contents List Tables Introduction Related Documents Terms Abbreviations Audio Data Formats.8 Transfer Delimiter.8 Type Formats 2.2.1 Packets 2.2.2 Audio Subframe.9 2.2.3 Audio Frame.9 2.2.4 Audio Streams 2.2.5 Type Format Type Descriptor 2.2.6 Supported Formats Type Formats 2.3.1 Encoded Audio Frames.12 2.3.2 Audio Bitstreams.12 2.3.3 Packets 2.3.4 Bandwidth Allocation.13 2.3.5 Timing 2.3.6 Type Format Type Descriptor 2.3.7 Rate feedback 2.3.8 Supported Formats Type Formats 2.4.1 Type Format Type Descriptor Adding Audio Data Formats Appendix Additional Audio Device Class Codes Audio Data Format Codes.29 A.1.1 Audio Data Format Type Codes.29 A.1.2 Audio Data Format Type Codes.29 A.1.3 Audio Data Format Type Codes.29 Format Type Codes Format-Specific Control Selectors A.3.1 MPEG Control Selectors.30 A.3.2 AC-3 Control Selectors Release March 1998 Device Class Definition Audio Data Formats List Tables Table 2-1: Type Format Type Descriptor.10 Table 2-2: Continuous Sampling Frequency Table 2-3: Discrete Number Sampling Frequencies.11 Table 2-4: Type Format Type Descriptor.13 Table 2-5: Continuous Sampling Frequency Table 2-6: Discrete Number Sampling Frequencies.14 Table 2-7: MPEG Format-Specific Descriptor Table 2-8: MPEG Control Request Values Table 2-9: MPEG Control Request Values.18 Table 2-10: Dual Channel Control Parameter Block Table 2-11: Second Stereo Control Parameter Block Table 2-12: Multilingual Control Parameter Block.20 Table 2-13: Dynamic Range Control Parameter Block Table 2-14: Scaling Control Parameter Block Table 2-15: High/Low Scaling Control Parameter Block Table 2-16: AC-3 Format-Specific Descriptor.22 Table 2-17: AC-3 Control Request Values.23 Table 2-18: AC-3 Control Request Values Table 2-19: Mode Control Parameter Block Table 2-20: Dynamic Range Control Parameter Block Table 2-21: Scaling Control Parameter Block Table 2-22: High/Low Scaling Control Parameter Block Table 2-23: Type Format Type Descriptor.26 Table 2-24: Continuous Sampling Frequency Table 2-25: Discrete Number Sampling Frequencies.27 Table A-1: Audio Data Format Type Codes.29 Table A-2: Audio Data Format Type Codes.29 Table A-3: Audio Data Format Type Codes.29 Table A-4: Format Type Codes Table A-5: MPEG Control Selectors Table A-6: AC-3 Control Selectors.30 Release March 1998 Device Class Definition Audio Data Formats Introduction intention this document describe detail Audio Data Formats that supported Audio Device Class. This document considered integral part Audio Device Class Specification, although subsequent revisions this document independent revision evolution main Audio Specification. This easily accommodate addition Audio Data Formats without impeding core Audio Specification. Related Documents Universal Serial Specification, final draft revision (also referred Specification). particular, Chapter "USB Device Framework." Universal Serial Device Class Definition Audio Data Formats (referred this document Audio Data Formats). Universal Serial Device Class Definition Terminal Types (referred this document Audio Terminal Types). ANSI S1.11-1986 standard. MPEG-1 standard ISO/IEC 111172-3 1993. MPEG-2 standard ISO/IEC 13818-3 Feb. 1997. Digital Audio Compression Standard (AC-3), ATSC A/52 Dec. 1995. (available from http://www.atsc.org) ANSI/IEEE-754 floating-point standard. ISO/IEC International Standard: Digital Audio Interface Annexes. ISO/IEC 1937 standard. G.711 standard. Terms Abbreviations This section defines terms used throughout this document. additional terms that pertain Universal Serial Bus, Chapter "Terms Abbreviations," Specification. Audio Frame collection audio subframes, each containing audio sample different physical audio channel, taken same moment time. concatenation potentially very large number audio frames ordered according ascending time. Holds single audio sample. Acronym Digital Versatile Disc. concatenation potentially very large number encoded audio frames, ordered according ascending time. sequence bits that contains encoded representation more physical audio channels. Acronym Moving Pictures Expert Group. Acronym Pulse Coded Modulation. unique token that indicates interruption isochronous data packet stream. either zerolength data packet absence isochronous transfer certain frame. Audio Stream Audio Subframe Encoded Audio Bitstream Encoded Audio Frame MPEG Transfer Delimiter Release March 1998 Device Class Definition Audio Data Formats Release March 1998 Device Class Definition Audio Data Formats Audio Data Formats Audio Data Formats divided three main groups according type. first group, Type deals with audio data streams that constructed sample-by-sample basis. Each audio sample represented single independent symbol data stream built concatenating those symbols. Different compression schemes used transform audio samples into symbols. multiple physical audio channels formatted into single audio channel cluster, then samples time subsequent channels transmitted interleaved, according cluster channel ordering described main Audio Specification, followed samples time x+1, interleaved same fashion notion physical channels explicitly preserved during transmission. typical example Type formats standard audio data. second group, Type deals with those formats that preserve notion physical channels during transmission. Typically, non-PCM encoded audio data streams belong this group. number audio samples, often originating from multiple physical channels, encoded into number bits such that, after transmission, original audio samples reconstructed certain degree accuracy. number bits used transmission typically more orders magnitude smaller than number bits needed represent original audio samples, effectively realizing considerable bandwidth reduction during transmission. third group, Type III, contains special formats that both previous groups. fact, they characteristics Type Type groups transmit audio data streams. more non-PCM encoded audio data streams packed into "pseudo-stereo samples" transmitted they were real stereo audio samples. sampling frequency these pseudo samples matches sampling frequency original audio data streams. Therefore, clock recovery receiving easier than case Type formats. drawback that unless multiple non-PCM encoded streams packed into pseudo stereo stream, more bandwidth than necessary consumed. Section A.1, "Audio Data Format Codes" summarizes Audio Data Formats that currently supported Audio Device Class. following sections explain those formats more detail. Transfer Delimiter Isochronous data streams continuous nature, although actual number bytes sent packet vary throughout lifetime stream (for rate adaptation purposes instance). indicate temporary stop isochronous data stream without closing pipe (and thus relinquishing bandwidth), in-band Transfer Delimiter needs defined. This specification considers situations Transfer Delimiter. first zero-length data packet second absence isochronous transfer particular frame. Both situations considered equivalent audio function expected behave same. However, second type consumes less isochronous bandwidth (i.e. zero bandwidth). both cases, this specification considers Transfer Delimiter entity that sent over USB. Type Formats following sections describe Audio Data Formats that belong Type number terms their definition presented. 2.2.1 Packets Audio data streams that inherently continuous must packetized when sent over USB. quality packetizing algorithm directly influences amount effort needed reconstruct reliable sample clock receiving side. goal must keep instantaneous number samples Release March 1998 Device Class Definition Audio Data Formats frame close possible average number samples frame, (nav). average should calculated sliding average over period frames. sampling rate constant, allowable variation limited sample, that This implies that packets must either contain (nav (small packet) (nav (large packet) samples. (nav) (nav) Note: case where (nav vary between (nav) (small packet), (nav) (medium packet) (nav) (large packet). limit needed buffer depths acceptable limits, this specification limits cumulative difference between ±1.5 samples. sampling rate varied implement pitch control), allowable pitch shift 1kHz/ms. That allowable variation limited sample frame. ni+1 Pitch control restricted adaptive endpoints only. AudioStreaming interfaces that support pitch control their isochronous endpoint required report this class-specific endpoint descriptor. addition, Set/Get Pitch Control request required enable disable pitch control functionality. 2.2.2 Audio Subframe basic structure used represent audio data audio subframe. audio subframe holds single audio sample. audio subframe always contains integer number bytes. This specification limits possible audio subframe sizes (bSubframeSize) bytes audio subframe. audio sample represented using number bits (bBitResolution) less than equal total number bits available audio subframe, i.e. bBitResolution bSubframeSize*8. AudioStreaming endpoints must constructed such that valid transfer take place long reported audio subframe size (bSubframeSize) respected during transmission. reported bits sample (bBitResolution) correspond with number significant bits actually used during transfer, device will either discard trailing significant bits ([actual_bits_per_sample] bBitResolution) interpret trailing zeros significant bits ([actual_bits_per_sample] bBitResolution). 2.2.3 Audio Frame audio frame consists collection audio subframes, each containing audio sample different physical audio channel, taken same moment time. number audio subframes audio frame equals number logical audio channels audio channel cluster. ordering audio subframes audio frame obeys rules forth Audio Specification. audio subframes must have same audio subframe size. 2.2.4 Audio Streams audio stream concatenation potentially very large number audio frames, ordered according ascending time. Streams packetized when transported over whereby packets only contain integer number audio frames. Each packet always starts with same channel, channel order respected throughout entire transmission. reason, there audio frames available construct packet, Transfer Delimiter must sent instead. Release March 1998 Device Class Definition Audio Data Formats 2.2.5 Type Format Type Descriptor Type format type descriptor starts with usual three fields: bLength, bDescriptorType, bDescriptorSubtype. bFormatType field indicates this Type descriptor. bNrChannels field contains number physical channels audio data stream. bSubframeSize field indicates many bytes used transport audio subframe. bBitResolution field indicates many bits total number available bits audio subframe truly used audio function convey audio information. sampling frequency capabilities isochronous data endpoint AudioStreaming Interface reported well. Depending bSamFreqType field, length descriptor varies interpretation trailing fields differs. Sampling frequencies occupy three bytes expressed support over-sampled, reduced bit-resolution systems (the range from 16,777,215 Hz). Table 2-1: Type Format Type Descriptor Offset Field bLength bDescriptorType bDescriptorSubtype bFormatType Size Value Number Constant Constant Constant Description Size this descriptor, bytes: 8+(ns*3) CS_INTERFACE descriptor type. FORMAT_TYPE descriptor subtype. FORMAT_TYPE_I. Constant identifying Format Type AudioStreaming interface using. Indicates number physical channels audio data stream. number bytes occupied audio subframe. number effectively used bits from available bits audio subframe. Indicates sampling frequency programmed: Continuous sampling frequency bNrChannels Number bSubframeSize Number bBitResolution Number bSamFreqType Number 1.255: number discrete sampling frequencies supported isochronous data endpoint AudioStreaming interface (ns) sampling frequency tables, below. Depending value bSamFreqType field, layout next part descriptor shown following tables. Table 2-2: Continuous Sampling Frequency Offset Field Size Value Description Release March 1998 Device Class Definition Audio Data Formats Offset Field tLowerSamFreq Size Value Number Description Lower bound sampling frequency range this isochronous data endpoint. Upper bound sampling frequency range this isochronous data endpoint. tUpperSamFreq Number Table 2-3: Discrete Number Sampling Frequencies Offset Field tSamFreq Size Value Number Description Sampling frequency this isochronous data endpoint. Sampling frequency this isochronous data endpoint. 8+(ns-1)*3 tSamFreq [ns] Number Note: case adaptive isochronous data endpoints that support only discrete number sampling frequencies, endpoint must least tolerate ±1000 inaccuracy reported sampling frequencies. 2.2.6 Supported Formats following paragraphs list currently supported Type Audio Data Formats. 2.2.6.1 Format (Pulse Coded Modulation) format most commonly used audio format represent audio data streams. audio data compressed uses signed two's-complement fixed point format. left-justified (the sign Msb) data padded with trailing zeros fill remaining unused bits subframe. binary point located right sign that values within range [-1,+1). 2.2.6.2 PCM8 Format PCM8 format introduced compatible with legacy 8-bit wave format. Audio data uncompressed uses bits sample (bBitResolution this case, data unsigned fixed-point, left-justified audio subframe, first. range [0,255]. 2.2.6.3 IEEE_FLOAT Format IEEE_FLOAT format based ANSI/IEEE-754 floating-point standard. Audio data represented using basic single-precision format. basic single-precision number bits wide 8-bit exponent 24-bit mantissa. Both mantissa exponent signed numbers, neither represented two's-complement format. mantissa stored sign magnitude format exponent biased form (also called excess-n form). biased form, there positive integer (called bias) which subtracted from stored number actual number. example, eight-bit exponent, bias 127. represent number stored. represent -100, stored. Release March 1998 Device Class Definition Audio Data Formats exponent zeroes exponent ones both reserved special cases, eight-bit field, exponents -126 +127 possible. basic floating-point format, mantissa assumed normalized that most significant always one, therefore stored. Only fractional part stored. 32-bit IEEE-754 floating-point word broken into three fields. most significant stores sign mantissa, next group bits stores exponent biased form, remaining bits store magnitude fractional portion mantissa. further information, refer ANSI/IEEE-754 standard. data conveyed over using bits sample (bBitResolution bSubframeSize 2.2.6.4 ALaw Format Format Starting from 16-bits linear samples, simple compression down 8-bits sample (one byte sample) achieved using logarithmic companding. compressed audio data uses bits sample (bBitsPerSample Data signed fixed point, left-justified subframe, first. compressed range [-128,128]. difference between Alaw µLaw compression lies formulae used achieve compression. Refer G.711 standard further details. Type Formats Type formats used transmit non-PCM encoded audio data into bitstreams that consist sequence encoded audio frames. 2.3.1 Encoded Audio Frames encoded audio frame sequence bits that contains encoded representation more physical audio channels. encoding takes place over fixed number audio samples. Each encoded audio frame contains enough information entirely reconstruct audio samples (albeit lossless), encoded encoded audio frame. information from adjacent encoded audio frames needed during decoding. number samples used construct encoded audio frame depends encoding scheme. (For MPEG, number samples encoded audio frame (nf) Layer 1152 Layer AC-3, number samples 1536.) most cases, encoded audio frame represents multiple physical audio channels. number bits encoded audio frame variable. content encoded audio frame defined according implemented encoding scheme. Where applicable, ordering shall first, relative existing standards serial transmission storage that encoding scheme. encoded audio frame represents interval longer than frame time This typical audio compression algorithms that psycho-acoustic vocal tract parametric models. Note: important make clear distinction between audio frame (see Section 2.2.3, "Audio Frame") encoded audio frame. overloaded term audio frame could cause confusion. Therefore, this specification will always qualifier `encoded' refer MPEG AC-3 encoded audio frames. 2.3.2 Audio Bitstreams encoded audio bitstream concatenation potentially very large number encoded audio frames, ordered according ascending time. Subsequent encoded audio frames independent decoded separately. Release March 1998 Device Class Definition Audio Data Formats 2.3.3 Packets Encoded audio bitstreams packetized when transported over isochronous pipe. Each packet contains only part single encoded audio frame. Packet sizes determined according shortpacket protocol. encoded audio frame broken down into number packets, each containing wMaxPacketSize bytes except last packet, which smaller contains remainder encoded audio frame. MaxPacketsOnly bmAttributes field class-specific endpoint descriptor set, last (short) packet must padded with zero bytes wMaxPacketSize length. packet contain bits belonging different encoded audio frames. encoded audio frame length multiple bits, last byte last packet padded with zero bits. decoder must ignore padded extra bits bytes. Consecutive encoded audio frames separated least Transfer Delimiter. Transfer Delimiter must sent consecutive frames until next encoded audio frame due. above rules guarantee that encoded audio frame always starts packet boundary. 2.3.4 Bandwidth Allocation encoded audio frame time equals number audio samples encoded audio frame divided sampling rate original audio samples. allocated bandwidth pipe must accommodate largest possible encoded audio frame transmitted within encoded audio frame time. This should take into account Transfer Delimiter requirement differences between time base stream frame timer. device choose consume more bandwidth than necessary increasing reported wMaxPacketSize) minimize time needed transmit entire encoded audio frame. This used enable early decoding therefore minimize system latency. 2.3.5 Timing timing reference point beginning encoded audio frame. Therefore, packet that contains first bits (usually encoded audio frame sync word) encoded audio frame used timing reference space. This packet called reference packet. transmission reference packet encoded audio frame should begin target playback time that frame (minus endpoint's reported delay) rounded nearest frame time. This guarantees that, receiving end, arrival subsequent reference packets matches encoded audio frame time closely possible. 2.3.6 Type Format Type Descriptor Type Format Type descriptor starts with usual three fields bLength, bDescriptorType bDescriptorSubtype. bFormatType field indicates this Type descriptor. wMaxBitRate field contains maximum number bits second this interface handle. measure buffer size available interface. wSamplesPerFrame field contains number non-PCM encoded audio samples contained within single encoded audio frame sampling frequency capabilities endpoint reported using bSamFreqType field following fields. Table 2-4: Type Format Type Descriptor Offset Field Size Value Description Release March 1998 Device Class Definition Audio Data Formats Offset Field bLength bDescriptorType bDescriptorSubtype bFormatType Size Value Number Constant Constant Constant Description Size this descriptor, bytes: 9+(ns*3) CS_INTERFACE descriptor type. FORMAT_TYPE descriptor subtype. FORMAT_TYPE_II. Constant identifying Format Type AudioStreaming interface using. Indicates maximum number bits second this interface handle. Expressed kbits/s. Indicates number audio samples contained encoded audio frame. Indicates sampling frequency programmed: Continuous sampling frequency wMaxBitRate Number wSamplesPerFrame Number bSamFreqType Number 1.255: number discrete sampling frequencies supported isochronous data endpoint AudioStreaming interface (ns) sampling frequency tables, below. Depending value bSamFreqType field, layout next part descriptor shown following tables. Table 2-5: Continuous Sampling Frequency Offset Field tLowerSamFreq Size Value Number Description Lower bound sampling frequency range this isochronous data endpoint. Upper bound sampling frequency range this isochronous data endpoint. tUpperSamFreq Number Table 2-6: Discrete Number Sampling Frequencies Offset Field tSamFreq Size Value Number Description Sampling frequency this isochronous data endpoint. Release March 1998 Device Class Definition Audio Data Formats Offset 9+(ns-1)*3 Field tSamFreq [ns] Size Value Number Description Sampling frequency this isochronous data endpoint. Note: case adaptive isochronous data endpoints that support only discrete number sampling frequencies, endpoint must least tolerate ±1000 inaccuracy reported sampling frequencies. 2.3.7 Rate feedback isochronous data endpoint needs explicit rate feedback (adaptive source, asynchronous sink), feedback pipe shall report number equivalent audio samples. host will accumulate this data start transmission encoded audio frame whenever current number samples exceeds number samples encoded audio frame. remainder kept accumulator. 2.3.8 Supported Formats following sections list currently supported Type Audio Data Formats. Format-specific descriptors format-specific requests explained more detail. 2.3.8.1 MPEG Format current specification, only MPEG decoding aspects considered. Real-time MPEG encoding peripherals (yet) available consequently covered this specification. 2.3.8.1.1 MPEG Format-Specific Descriptor wFormatTag field duplicate wFormatTag field class-specific AudioStreaming interface descriptor. same field used here identify format-specific descriptor. bmMPEGCapabilities bitmap field describes capabilities MPEG decoder built into AudioStreaming interface. Some general information must retrieved from Format Type-specific descriptor. instance, sampling frequencies supported decoder reported through Format Type-specific descriptor. This includes ability decoder handle sampling frequencies kHz, 22.05 kHz) besides standard kHz, 44.1 sampling frequencies. Bits D2.0 bmMPEGCapabilities field used indicate which layers this decoder capable processing. different layers relate different algorithms that used during encoding decoding. indicates that decoder only process MPEG-1 base stream. Therefore, only Left Right channels will output. indicates that decoder handle MPEG-2 streams that contain independent stereo pairs instead normal encoding scheme. This only applicable MPEG-2 decoders. indicates that decoder supports MPEG dual channel mode. this case, MPEG-1 base stream does contain Left Right channels stereo pair instead contains independent mono channels. these channels selected through proper request (Dual Channel Control) reproduced over Left Right output channels simultaneously. indicates that decoder supports MPEG-2 augmentation channels instead standard channels. Release March 1998 Device Class Definition Audio Data Formats indicates that multilingual information that encoded normal sampling rates kHz, 44.1 kHz). This only applicable MPEG-2 decoders. indicates that decoder capable processing streams that encoded using adaptive multichannel prediction. Bits D9.8 indicate decoder process embedded multilingual information. Multilingual capabilities consist being able process multilingual information encoded same sampling frequency main audio channels (D9.8 `01'). Some decoders provide additional capability process multilingual information encoded half sampling frequency main audio channels (D9.8 `11'). Bits D15.10 reserved future extensions. bmMPEGFeatures field indicates compression-related features. Bits D5.4 report which type Dynamic Range Control MPEG decoder supports. Some decoders implement (D5.4 `00'). implemented, either stream embedded gain parameters (D5.4 `01') provide additional scaling factors, either single scaling factor that influences both boost value simultaneously (D5.4 `10') separate scaling factor boost value (D5.4 `11') other bits reserved. Table 2-7: MPEG Format-Specific Descriptor Offset Field bLength bDescriptorType bDescriptorSubtype wFormatTag Size Value Number Constant Constant Constant Description Size this descriptor, bytes: CS_INTERFACE descriptor type. FORMAT_SPECIFIC descriptor subtype. MPEG. Constant identifying precise format AudioStreaming interface using. Release March 1998 Device Class Definition Audio Data Formats Offset Field bmMPEGCapabilities Size Value Bitmap Description Bitmap identifying MPEG capabilities decoder. indicates that capability supported: D2.0: Layer support: Layer Layer Layer D9.8: MPEG-1 only. MPEG-1 dual-channel. MPEG-2 second stereo. MPEG-2 channel augmentation. Adaptive multi-channel prediction. MPEG-2 multilingual support: supported Supported Reserved Supported D15.10: Reserved. bmMPEGFeatures Bitmap Bitmap identifying features decoder supports. indicates that feature supported: D3.0: D5.4: Reserved. Internal Dynamic Range Control: supported. supported scalable. scalable, common boost scaling value. scalable, separate boost scaling value. D7.6: Reserved. 2.3.8.1.2 MPEG Format-Specific Requests following paragraphs describe MPEG Control requests. Some requests control parameters that also dependent content incoming MPEG data stream. general, behavior MPEG decoder primarily controlled incoming bitstream. Parameters using MPEG Control requests retain their setting, even that setting applicable current incoming bitstream. example, consider decoder that receiving stream containing independent stereo channel pairs. this case, Select Second Stereo Control enabled that second stereo channel reproduced over Left Right channel. incoming stream switched full encoded stream, Select Second Stereo Control more influence decoder overrides setting produces full sound. However, incoming stream switches back previous format, Select Second Stereo Control becomes active again resumes previous setting that second stereo channel reproduced again over Left Right channel. Release March 1998 Device Class Definition Audio Data Formats 2.3.8.1.2.1 MPEG Control Request This request used attribute MPEG Control inside AudioStreaming interface audio function. Table 2-8: MPEG Control Request Values bmRequest Type 00100001B bRequest wValue wIndex wLength Data SET_CUR SET_MIN SET_MAX SET_RES Zero Interface Length parameter block Parameter plock bRequest field indicates which attribute request manipulating. MIN, attributes usually supported request. Further details which attributes supported which Controls found Section 2.3.8.1.2.3, "MPEG Controls." wValue field specifies Control Selector (CS) high byte zero byte. Control Selector indicates which type control this request manipulating. request specifies unknown unsupported that interface, control pipe must indicate stall. description parameter blocks different Controls that addressed through AC-3 Control request, Section 2.3.8.1.2.3, "MPEG Controls." 2.3.8.1.2.2 MPEG Control Request This request returns attribute setting specific MPEG Control inside AudioStreaming interface audio function. Table 2-9: MPEG Control Request Values bmRequest Type 10100001B bRequest wValue wIndex wLength Data GET_CUR GET_MIN GET_MAX GET_RES Zero Interface Length parameter block Parameter block bRequest field indicates which attribute request reading. wValue field specifies Control Selector (CS) high byte zero byte. Control Selector indicates which type control this request addressing. request specifies unknown unsupported that interface, control pipe must indicate stall. description parameter blocks different Controls that addressed through AC-3 Control request, Section 2.3.8.1.2.3, "MPEG Controls." 2.3.8.1.2.3 MPEG Controls following paragraphs present detailed description possible AC-3 Controls AudioStreaming interface incorporate. each Control, layout parameter block together with appropriate Control Selector listed. Control Selector codes defined Section A.3.1, "MPEG Control Selectors." Release March 1998 Device Class Definition Audio Data Formats 2.3.8.1.2.3.1 Dual Channel Control Dual Channel Control used select which available channels MPEG-1 base stream actually retrieved reproduced over Left Right output channels. this Control addressed decoder that does implement Dual Channel Control bmMPEGCapabilities field MPEG format-specific descriptor), control pipe must indicate stall. Dual Channel Control have only current setting attribute (CUR). position Channel2Enable switch either TRUE FALSE. When FALSE, Channel selected, when TRUE, Channel selected. current setting Control queried using MPEG Control request. Table 2-10: Dual Channel Control Parameter Block Control Selector wLength Offset MP_DUAL_CHANNEL_CONTROL Field BChannel2Enable Size Value Number Description setting attribute Dual Channel Control. Channel selected when FALSE, Channel selected when TRUE. 2.3.8.1.2.3.2 Second Stereo Control Second Stereo Control used select second stereo channel pair that encoded MPEG-2 stream instead multi-channel stereophonic information (3/2). this Control addressed decoder that does implement Second Stereo support bmMPEGCapabilities field MPEG format-specific descriptor), control pipe must indicate stall. Second Stereo Control have only current setting attribute (CUR). position 2ndStereoEnable switch either TRUE FALSE. When FALSE, main stereo channel pair selected; when TRUE, second stereo channel pair selected. current setting Control queried using MPEG Control request. Table 2-11: Second Stereo Control Parameter Block Control Selector wLength Offset MP_SECOND_STEREO_CONTROL Field B2ndStereoEnable Size Value Number Description setting attribute Second Stereo Control. Main stereo channel pair selected when FALSE, second stereo channel pair selected when TRUE. 2.3.8.1.2.3.3 Multilingual Control Multilingual Control used select multilingual channel actually retrieved from MPEG stream. this Control addressed decoder that does implement multilingual support (D9.8 Release March 1998 Device Class Definition Audio Data Formats `00' bmMPEGCapabilities field MPEG format-specific descriptor), control pipe must indicate stall. Multilingual Control supports only Control attribute. valid range from zero (0x00) seven (0x07). actual range depends incoming MPEG stream. contain only limited number multilingual channels (less than seven). Multilingual Control honors request best abilities. truncate attribute values closest available settings. will report these settings when queried during MPEG Control request. Table 2-12: Multilingual Control Parameter Block Control Selector wLength Offset MP_MULTILINGUAL_CONTROL Field bMultiLingual Size Value Number Description setting attribute multilingual channel selection: decode channel decode channel 8.255 reserved 2.3.8.1.2.3.4 Dynamic Range Control Dynamic Range Control (DRC) used enable disable Dynamic Range Control functionality decoder. decoder does support Dynamic Range control (D5.4 `00' bmMPEGFeatures field MPEG format-specific descriptor), control pipe must indicate stall when receiving this request. Dynamic Range Control have only current setting attribute (CUR). position switch either TRUE FALSE. TRUE means that MPEG decoder using Dynamic Range control words (possibly with additional scaling) contained MPEG stream control audio dynamic range. FALSE means control words being ignored, original signal dynamic range being reproduced. current setting Control queried using MPEG Control request. Table 2-13: Dynamic Range Control Parameter Block Control Selector wLength Offset MP_DYN_RANGE_CONTROL Field bEnable Size Value Bool Description setting Dynamic Range Control attribute. Enabled when TRUE, disabled when FALSE. 2.3.8.1.2.3.5 Scaling Control Scaling Control used manipulate single scaling coefficient used MPEG decoders that implement common boost/cut scaling value Dynamic Range Control (D5.4 `10' bmMPEGFeatures field MPEG format-specific descriptor). this Control addressed non`10' decoder, control pipe must indicate stall. Release March 1998 Device Class Definition Audio Data Formats Scaling Control support possible Control attributes (CUR, MIN, MAX, RES). valid range CUR, MIN, MAX, attributes from zero (0x00) 255/256 (0xFF). Scaling Control honors request best abilities. round bScale attribute value closest available setting. will report this rounded setting when queried during MPEG Control request. Table 2-14: Scaling Control Parameter Block Control Selector wLength Offset MP_SCALING_CONTROL Field bScale Size Value Number Description setting attribute Scaling Control. 2.3.8.1.2.3.6 High/Low Scaling Control High/Low Scaling Control used manipulate scaling coefficients used MPEG decoders that implement independent boost scaling value Dynamic Range Control (D5.4 `11' bmMPEGFeatures field MPEG format-specific descriptor). this Control addressed non-`11' decoder, control pipe must indicate stall. High/Low Scaling Control support possible Control attributes (CUR, MIN, MAX, RES). valid range CUR, MIN, MAX, attributes from zero (0x00) 255/256 (0xFF). High/Low Scaling Control honors request best abilities. round bLowScale bHighScale attribute values their closest available settings. will report these rounded settings when queried during MPEG Control request. bLowScale value used MPEG decoder scale Dynamic Range control words that apply gain increase (for sound levels). bHighScale value used MPEG decoder scale Dynamic Range control words that apply gain reduction (for high level sounds). Table 2-15: High/Low Scaling Control Parameter Block Control Selector wLength Offset MP_HILO_SCALING_CONTROL Field bLowScale Size Value Number Description setting attribute level Scaling Control. setting attribute high level Scaling Control. bHighScale Number 2.3.8.2 AC-3 Format current specification, only AC-3 decoding aspects considered. Real-time AC-3 encoding peripherals (yet) available consequently covered this specification. 2.3.8.2.1 AC-3 Format-Specific Descriptor wFormatTag field duplicate wFormatTag field class-specific AudioStreaming interface descriptor. same field used here identify format-specific descriptor. Release March 1998 Device Class Definition Audio Data Formats bmBSID bitmap field describes which stream modes this decoder capable processing. BSID modes range from indicates that BSID mode [bit_position] supported. Standard AC-3 decoders must capable processing least BSID modes Therefore, lower bits bmBSID field must set. bmAC3Features bitmap field indicates compression-related features. Bits D3.0 indicate which mode decoder supports. ease design decoder products, Dolby Digital offer standard operating modes called "Line Mode" Mode." These modes included within Dolby Digital decoder itself, thus greatly simplifying implementation dialog normalization, dynamic range control downmixing functions, which necessary Dolby Digital products. "Custom Modes" offer additional design flexibility aimed more esoteric audio products which additional implementation cost complexity primary concern. Bits D5.4. indicate which type Dynamic Range Control AC-3 decoder supports. Some decoders implement (D5.4 `00'). implemented, either stream embedded gain parameters (D5.4 `01') provide additional scaling factors: either single scaling factor that influences both boost value simultaneously (D5.4 `10'), separate scaling factor boost value (D5.4 `11') other bits reserved. Table 2-16: AC-3 Format-Specific Descriptor Offset Field bLength bDescriptorType bDescriptorSubtype wFormatTag Size Value Number Constant Constant Constant Description Size this descriptor, bytes: CS_INTERFACE descriptor type. FORMAT_SPECIFIC descriptor subtype. AC-3. Constant identifying precise format AudioStreaming interface using. indicates that corresponding BSID mode supported. indicates that mentioned feature supported: D5.4: mode Line mode Custom0 mode Custom1 mode Internal Dynamic Range Control: supported. supported scalable. scalable, common boost scaling value. scalable, separate boost scaling value. D7.6: Reserved bmBSID Bitmap bmAC3Features Bitmap Release March 1998 Device Class Definition Audio Data Formats 2.3.8.2.2 AC-3 Format-Specific Requests following paragraphs describe AC-3 Control requests. 2.3.8.2.2.1 AC-3 Control Request This request used attribute AC-3 Control inside AudioStreaming interface audio function. Table 2-17: AC-3 Control Request Values bmRequest Type 00100001B bRequest wValue wIndex wLength Data SET_CUR SET_MIN SET_MAX SET_RES Zero Interface Length Parameter block Parameter Block bRequest field indicates which attribute request manipulating. MIN, MAX, attributes usually supported request. Further details which attributes supported which Controls found Section 2.3.8.2.2.3, "AC-3 Controls." wValue field specifies Control Selector (CS) high byte zero byte. Control Selector indicates which type control this request manipulating. request specifies unknown unsupported that interface, control pipe must indicate stall. description parameter blocks different Controls that addressed through AC-3 Control request, Section 2.3.8.2.2.3, "AC-3 Controls." 2.3.8.2.2.2 AC-3 Control Request This request returns attribute setting specific AC-3 Control inside AudioStreaming interface audio function. Table 2-18: AC-3 Control Request Values bmRequest Type 10100001B bRequest wValue wIndex wLength Data GET_CUR GET_MIN GET_MAX GET_RES Zero Interface Length parameter block Parameter block bRequest field indicates which attribute request reading. wValue field specifies Control Selector (CS) high byte zero byte. Control Selector indicates which type control this request addressing. request specifies unknown unsupported that interface, control pipe must indicate stall. description parameter blocks different Controls that addressed through AC-3 Control request, Section 2.3.8.2.2.3, "AC-3 Controls." 2.3.8.2.2.3 AC-3 Controls following paragraphs present detailed description possible AC-3 Controls AudioStreaming interface incorporate. each Control, layout parameter block together with Release March 1998 Device Class Definition Audio Data Formats appropriate Control Selector listed. Control Selector codes defined Section A.3.2, "AC-3 Control Selectors." 2.3.8.2.2.3.1 Mode Control Mode Control used change compression mode AC-3 decoder AudioStreaming interface. Mode Control only support attribute. valid range attribute described through bmComprFeatures field AC-3 format-specific descriptor. Bits D3.0 describe which compression modes AC-3 decoder supports. Valid values are: mode Line mode Custom0 mode Custom1 mode Mode Control request specifies unsupported mode, control pipe must indicate stall. current setting queried during AC-3 Control request. Table 2-19: Mode Control Parameter Block Control Selector wLength Offset AC_MODE_CONTROL Field bMode Size Value Number Description setting attribute Compression Mode Control: mode Line mode Custom0 mode Custom1 mode other values reserved. 2.3.8.2.2.3.2 Dynamic Range Control Dynamic Range Control (DRC) used enable disable Dynamic Range Control functionality decoder. Dynamic Range Control have only current setting attribute (CUR). position Dynamic Range Control switch either TRUE FALSE. TRUE means that decoder using Dynamic Range control words (possibly with additional scaling) contained AC-3 stream control audio dynamic range. FALSE means control words being ignored original signal dynamic range being reproduced. current setting Control queried using AC-3 Control request. Table 2-20: Dynamic Range Control Parameter Block Control Selector wLength MP_DYN_RANGE_CONTROL Release March 1998 Device Class Definition Audio Data Formats Offset Field bEnable Size Value Bool Description setting Dynamic Range Control attribute. Enabled when TRUE, disabled when FALSE. 2.3.8.2.2.3.3 Scaling Control Scaling Control used manipulate single scaling coefficient used AC-3 decoders that implement common boost/cut scaling value Dynamic Range Control. (D5.4 `10' bmAC3Features field AC-3 format-specific descriptor.) this Control addressed non-`10' decoder, control pipe must indicate stall. Scaling Control support possible Control attributes (CUR, MIN, MAX, RES). valid range CUR, MIN, MAX, attributes from zero (0x00) 255/256 (0xFF). Scaling Control honors request best abilities. round bScale attribute value closest available setting. will report this rounded setting when queried during AC-3 Control request. Table 2-21: Scaling Control Parameter Block Control Selector wLength Offset AC_SCALING_CONTROL Field bScale Size Value Number Description setting attribute Scaling Control. 2.3.8.2.2.3.4 High/Low Scaling Control High/Low Scaling Control used manipulate scaling coefficients used AC-3 decoders that implement independent boost scaling value Dynamic Range Control. (D5.4 `11' bmAC3Features field AC-3 format-specific descriptor.) this Control addressed non`11' decoder, control pipe must indicate stall. High/Low Scaling Control support possible Control attributes (CUR, MIN, MAX, RES). valid range CUR, MIN, MAX, attributes from zero (0x00) 255/256 (0xFF). High/Low Scaling Control honors request best abilities. round bLowScale bHighScale attribute values their closest available settings. will report these rounded settings when queried during AC-3 Control request. bLowScale value used AC-3 decoder scale Dynamic Range control words which apply gain increase (for sound levels). bHighScale value used AC-3 decoder scale Dynamic Range control words which apply gain reduction (for high level sounds). Table 2-22: High/Low Scaling Control Parameter Block Control Selector wLength AC_HILO_SCALING_CONTROL Release March 1998 Device Class Definition Audio Data Formats Offset Field bLowScale Size Value Number Description setting attribute lowlevel Scaling Control. setting attribute highlevel Scaling Control. bHighScale Number Type Formats These formats based upon IEC1937 standard. IEC1937 standard describes method transfer non-PCM encoded audio bitstreams over IEC958 digital audio interface, together with transfer accompanying "Channel Status" "User Data." IEC958 standard specifies widely used method interconnecting digital audio equipment with twochannel linear audio. IEC1937 standard describes which IEC958 interface shall used convey non-PCM encoded audio streams consumer applications. same basic techniques used IEC1937 reused here convey non-PCM encoded audio streams over Type formatted audio stream. 2.4.1 Type Format Type Descriptor Type Format Type identical Type Format Type, two-channel 16-bit data. therefore uses audio subframes audio frame. subframe size bytes resolution bits. Type Format Type descriptor identical Type Format Type descriptor with bNrChannels field two, bSubframeSize field bBitResolution field techniques used correctly transport Type formatted streams over equally apply Type formatted streams. non-PCM encoded audio bitstreams that transferred within basic 16-bit data area IEC1937 subframes (time-slots [LSB] [MSB]) placed unaltered available 16-bit audio subframes audio frame Type formatted stream. additional information IEC1937 subframes (channel status, user bits etc.) discarded. Refer IEC1937 standard detailed description exact contents subframes. layout Type Format Type descriptor given here clarity. preassigned fields have been filled Table 2-23: Type Format Type Descriptor Offset Field bLength bDescriptorType bDescriptorSubtype bFormatType Size Value Number Constant Constant Constant Description Size this descriptor, bytes: 8+(ns*3) CS_INTERFACE descriptor type. FORMAT_TYPE descriptor subtype. FORMAT_TYPE_III. Constant identifying Format Type AudioStreaming interface using. Indicates number `virtual' physical channels audio data stream. Must two. bNrChannels Number Release March 1998 Device Class Definition Audio Data Formats Offset Field bSubframeSize Size Value Number Description number bytes occupied audio subframe. Must number effectively used bits from available bits audio subframe. Indicates sampling frequency programmed: Continuous sampling frequency bBitResolution Number bSamFreqType Number 1.255: number discrete sampling frequencies supported isochronous data endpoint AudioStreaming interface (ns) sampling frequency tables, below. Depending value bSamFreqType field, layout next part descriptor shown following tables. Table 2-24: Continuous Sampling Frequency Offset Field tLowerSamFreq Size Value Number Description Lower bound sampling frequency range this isochronous data endpoint. Upper bound sampling frequency range this isochronous data endpoint. tUpperSamFreq Number Table 2-25: Discrete Number Sampling Frequencies Offset Field tSamFreq Size Value Number Description Sampling frequency this isochronous data endpoint. Sampling frequency this isochronous data endpoint. 8+(ns-1)*3 tSamFreq [ns] Number Note: case adaptive isochronous data endpoints that support only discrete number sampling frequencies, endpoint must least tolerate ±1000 inaccuracy reported sampling frequencies. Release March 1998 Device Class Definition Audio Data Formats Adding Audio Data Formats Adding Audio Data Formats this specification achieved proposing fully documented Audio Data Format Audio Device Class Working Group. Upon acceptance, they will register Audio Data Format (attribute unique wFormatTag) update this document accordingly. This process will also guarantee that releases generic audio drivers will support newly registered Audio Data Formats. always possible vendor-specific definitions above procedure considered unsatisfactory. Release March 1998 Device Class Definition Audio Data Formats Appendix Additional Audio Device Class Codes A.1.1 Audio Data Format Codes Audio Data Format Type Codes Table A-1: Audio Data Format Type Codes Name TYPE_I_UNDEFINED PCM8 IEEE_FLOAT ALAW MULAW wFormatTag 0x0000 0x0001 0x0002 0x0003 0x0004 0x0005 A.1.2 Audio Data Format Type Codes Table A-2: Audio Data Format Type Codes Name TYPE_II_UNDEFINED MPEG AC-3 wFormatTag 0x1000 0x1001 0x1002 A.1.3 Audio Data Format Type Codes Table A-3: Audio Data Format Type Codes Name TYPE_III_UNDEFINED IEC1937_AC-3 IEC1937_MPEG-1_Layer1 IEC1937_MPEG-1_Layer2/3 IEC1937_MPEG-2_NOEXT IEC1937_MPEG-2_EXT IEC1937_MPEG-2_Layer1_LS wFormatTag 0x2000 0x2001 0x2002 0x2003 0x2004 0x2005 Release March 1998 Device Class Definition Audio Data Formats Name IEC1937_MPEG-2_Layer2/3_LS wFormatTag 0x2006 Format Type Codes Table A-4: Format Type Codes Format Type Code FORMAT_TYPE_UNDEFINED FORMAT_TYPE_I FORMAT_TYPE_II FORMAT_TYPE_II Value 0x00 0x01 0x02 0x03 A.3.1 Format-Specific Control Selectors MPEG Control Selectors Table A-5: MPEG Control Selectors Control Selector MPEG_CONTROL_UNDEFINED MP_DUAL_CHANNEL_CONTROL MP_SECOND_STEREO_CONTROL MP_MULTILINGUAL_CONTROL MP_DYN_RANGE_CONTROL MP_SCALING_CONTROL MP_HILO_SCALING_CONTROL Value 0x00 0x01 0x02 0x03 0x04 0x05 0x06 A.3.2 AC-3 Control Selectors Table A-6: AC-3 Control Selectors Control Selector AC_CONTROL_UNDEFINED AC_MODE_CONTROL AC_DYN_RANGE_CONTROL AC_SCALING_CONTROL Value 0x00 0x01 0x02 0x03 Release March 1998 Device Class Definition Audio Data Formats Control Selector AC_HILO_SCALING_CONTROL Value 0x04 Release March 1998 Other recent searchesXPZ3LMR32D - XPZ3LMR32D XPZ3LMR32D Datasheet STTA5012TV1 - STTA5012TV1 STTA5012TV1 Datasheet PBC03SAFN - PBC03SAFN PBC03SAFN Datasheet OC-3 - OC-3 OC-3 Datasheet OC-192 - OC-192 OC-192 Datasheet MAX1418 - MAX1418 MAX1418 Datasheet MAX1428 - MAX1428 MAX1428 Datasheet MAX1430 - MAX1430 MAX1430 Datasheet MAX1419 - MAX1419 MAX1419 Datasheet MAX1427EVKIT - MAX1427EVKIT MAX1427EVKIT Datasheet KTC3193 - KTC3193 KTC3193 Datasheet HSU226 - HSU226 HSU226 Datasheet CY8C25122 - CY8C25122 CY8C25122 Datasheet CY8C26233 - CY8C26233 CY8C26233 Datasheet CY8C26443 - CY8C26443 CY8C26443 Datasheet CY8C26643 - CY8C26643 CY8C26643 Datasheet
Privacy Policy | Disclaimer |