USB Device Class Definition for Audio Devices
Release 1.0 March 18, 1998 46
| Offset |
Field |
Size |
Value |
Description |
| 7 |
baSourceID(1) |
1 |
Number |
ID of the Unit or Terminal to which the first Input Pin of this Processing Unit is connected. |
| … |
… |
… |
… |
… |
| 7+(p-1) |
baSourceID (p) |
1 |
Number |
ID of the Unit or Terminal to which the last Input Pin of this Processing Unit is connected. |
| 7+p |
bNrChannels |
1 |
Number |
Number of logical output channels in the audio channel cluster of the Processing Unit. |
| 7+p+1 |
wChannelConfig |
2 |
Bitmap |
Describes the spatial location of the logical channels in the audio channel cluster of the Processing Unit. |
| 7+p+3 |
iChannelNames |
1 |
Index |
Index of a string descriptor that describes the name of the first logical channel in the audio channel cluster of the Processing Unit. |
| 11+p |
bControlSize |
1 |
Number |
Size in bytes of the bmControls field: n |
| 12+p |
bmControls |
n |
Bitmap |
A bit set to 1 indicates that the mentioned Control is supported: D0: Enable Processing. D1..(n*8-1): process-specific allocation. |
| 12+p +n |
iProcessing |
1 |
Index |
Index of a string descriptor, describing this Processing Unit. |
| 13+p +n |
Process-specific |
x |
NA |
A process-specific descriptor is appended to the common descriptor. See the following paragraphs. |
4.3.2.6.1 Up/Down-mix Processing Unit Descriptor
The wProcessType field of the common Processing Unit descriptor contains the value UP/DOWNMIX_PROCESS. (See Appendix A.7, “Processing Unit Process Types”)
The Up/Down-mix Processing Unit has a single Input Pin. Therefore, the bNrInputs field must contain the value 1. The bNrChannels, wChannelConfig, and iChannelNames fields together constitute the output cluster descriptor of the Up/Down-mix Processing Unit. It describes which logical channels are physically present at the output of the Processing Unit. Depending upon the selected operating mode, one or more channels may be unused.
The bmControls field is a bitmap, indicating the availability of certain audio Controls in the Up/Downmix Processing Unit. For future expandability, the number of bytes occupied by the bmControls field is indicated in the bControlSize field.
Bit D0 of the bmControls field represents the Enable Processing Control. The Mode Select Control (D1) is used to change the behavior of the Processing Unit by selecting different modes of operation.
USB Device Class Definition for Audio Devices
Release 1.0 March 18, 1998 47
The process-specific descriptor of the Up/Down-mix Processing Unit describes the supported modes of operation of the Processing Unit. Selecting a mode of operation is done by issuing the Set Mode Request. The number of supported modes (m) is contained in the bNrModes field. This field is followed by an array of mode fields, waModes(). The index i into this array is one-based and directly related to the number of the mode described by entry waModes(i). It is the value i that must be used as a parameter for the Set Mode request to select the mode i.
The bit allocations in the waModes() fields are very similar to those of the wChannelConfig field in a cluster descriptor (see Section 3.7.2.3, “Audio Channel Cluster Format”) i.e. a bit set in the waModes(i) field indicates that for mode i, the Up/Down-mix Processing Unit produces meaningful audio data for the logical channel that is associated with the position of the set bit. Logical channels that are present in the output cluster but are not used in a certain mode are considered to be inactive and at most produce silence in that mode.
Each waModes(i) field can only contain set bits for those logical channels that are present in the output channel cluster. In other words, all waModes() fields can only contain a subset of the wChannelConfig field of the cluster descriptor of the Unit. Furthermore, logical channels that have a non-predefined spatial position can not be marked as active in the waModes() fields. It is therefore assumed by default that they are active.
The following table outlines the combination of the common and process-specific Up/Down-mix Processing Unit descriptors.
Table 4-9: Up/Down-mix Processing Unit Descriptor
| Offset |
Field |
Size |
Value |
Description |
| 0 |
bLength |
1 |
Number |
Size of this descriptor, in bytes: 15+n+2*m |
| 1 |
bDescriptorType |
1 |
Constant |
CS_INTERFACE descriptor type. |
| 2 |
bDescriptorSubtype |
1 |
Constant |
PROCESSING_UNIT descriptor subtype. |
| 3 |
bUnitID |
1 |
Number |
Constant uniquely identifying the Unit within the audio function. This value is used in all requests to address this Unit. |
| 4 |
wProcessType |
2 |
Constant |
UP/DOWNMIX_PROCESS process type. |
| 6 |
bNrInPins |
1 |
Number |
Number of Input Pins of this Unit: 1 |
| 7 |
bSourceID |
1 |
Number |
ID of the Unit or Terminal to which the Input Pin of this Processing Unit is connected. |
| 8 |
bNrChannels |
1 |
Number |
Number of logical output channels in the output channel cluster of the Processing Unit. |
| 9 |
wChannelConfig |
2 |
Bitmap |
Describes the spatial location of the logical channels in the output channel cluster of the Processing Unit. |
| 11 |
iChannelNames |
1 |
Index |
Index of a string descriptor, describing the name of the first logical channel in the Processing Unit’s output channel cluster. |
USB Device Class Definition for Audio Devices
Release 1.0 March 18, 1998 48
| Offset |
Field |
Size |
Value |
Description |
| 12 |
bControlSize |
1 |
Number |
Size, in bytes, of the bmControls field: n |
| 13 |
bmControls |
n |
Bitmap |
A bit set to 1 indicates that the mentioned Control is supported: D0: Enable Processing. D1: Mode Select. D2..(n*8-1):Reserved |
| 13+n |
iProcessing |
1 |
Index |
Index of a string descriptor, describing this Processing Unit. |
| 14+n |
bNrModes |
1 |
Number |
Number of modes, supported by this Processing Unit: m |
| 15+n |
waModes(1) |
2 |
Bitmap |
Describes the active logical channels in mode 1. |
| … |
… |
… |
… |
… |
| 15+n+(m-1)*2 |
waModes(m) |
2 |
Bitmap |
Describes active the logical channels in mode m. |
4.3.2.6.2 Dolby Prologic Processing Unit Descriptor
The wProcessType field of the common Processing Unit descriptor contains the value DOLBY_PROLOGIC_PROCESS. (See Appendix A.7, “Processing Unit Process Types”)
The Dolby Prologic Processing Unit has a single Input Pin. Therefore, the bNrInputs field must contain the value 1. The bNrChannels, wChannelConfig, and iChannelNames fields together constitute the output cluster descriptor of the Dolby Prologic Processing Unit. It describes which logical channels are physically present at the output of the Processing Unit. Depending upon the selected operating mode, one or more channels may be unused.
Bit D0 of the $b(){bmControls} field represents the Enable Processing Control. The Mode Select Control (D1) is used to change the behavior of the Processing Unit by selecting different modes of operation.
Although the input cluster may contain a number of logical channels, the Dolby Prologic Processing Unit only uses Left and Right logical input channels as input for the decoding process. Obviously, these two logical channels must be present in the input cluster for the Unit to operate properly. All other logical channels are discarded.
The output cluster may contain logical channels other than Left, Right, Center, and/or Surround (these must be present) to facilitate connectivity within the audio function. Channels that are present in the output cluster but do not participate in the chosen mode of operation must be muted.
The process-specific descriptor of the Dolby Prologic Processing Unit describes the supported modes of operation of the Processing Unit. The number of supported modes (m) is contained in the bNrModes field. This field is followed by an array of mode fields, waModes(). The bit allocations in the waModes() fields are very similar to those of the wChannelConfig field in a cluster descriptor (see Section 3.7.2.3, “Audio Channel Cluster Format”) i.e., a bit set in the waModes(i) field indicates that for mode i, the Dolby Prologic Processing Unit produces meaningful audio data for the logical channel that is associated with the position of the set bit.
The Dolby Prologic Processing Unit supports, at most, the following three different modes:
USB Device Class Definition for Audio Devices
Release 1.0 March 18, 1998 49
· Left, Right, Center channel decoding waModes() = 0x0007
· Left, Right, Surround channel decoding waModes() = 0x0103
· Left, Right, Center, Surround decoding waModes() = 0x0107
The wChannelConfig field of the cluster descriptor of the Unit must at least contain the union of all bits set for all the supported modes.
The following table outlines the combination of the common and process-specific Dolby Prologic Processing Unit descriptors. It is identical to the Up/Down-mix Processing Unit descriptor except for some field values. It is repeated here for clarity.
Table 4-10: Dolby Prologic Processing Unit Descriptor
| Offset |
Field |
Size |
Value |
Description |
| 0 |
bLength |
1 |
Number |
Size of this descriptor, in bytes: 15+n+2*m |
| 1 |
bDescriptorType |
1 |
Constant |
CS_INTERFACE descriptor type. |
| 2 |
bDescriptorSubtype |
1 |
Constant |
PROCESSING_UNIT descriptor subtype. |
| 3 |
bUnitID |
1 |
Number |
Constant uniquely identifying the Unit within the audio function. This value is used in all requests to address this Unit. |
| 4 |
wProcessType |
2 |
Constant |
DOLBY_PROLOGIC_PROCESS process type. |
| 6 |
bNrInPins |
1 |
Number |
Number of Input Pins of this Unit: 1 |
| 7 |
bSourceID |
1 |
Number |
ID of the Unit or Terminal to which the Input Pin of this Processing Unit is connected. |
| 8 |
bNrChannels |
1 |
Number |
Number of logical output channels in the output channel cluster of the Processing Unit. |
| 9 |
wChannelConfig |
2 |
Bitmap |
Describes the spatial location of the logical channels in the Processing Unit’s output channel cluster. At least Left, Right, Center and/or Surround must be set. |
| 11 |
iChannelNames |
1 |
Index |
Index of a string descriptor, describing the name of the first logical channel in the Processing Unit’s output channel cluster. |
| 12 |
bControlSize |
1 |
Number |
Size, in bytes, of the bmControls field: n |
| 13 |
bmControls |
n |
Bitmap |
A bit set to 1 indicates that the mentioned Control is supported: D0: Enable Processing. D1: Mode Select. D2..(n*8-1):Reserved |
USB Device Class Definition for Audio Devices
Release 1.0 March 18, 1998 50
| Offset |
Field |
Size |
Value |
Description |
| 13+n |
iProcessing |
1 |
Index |
Index of a string descriptor, describing this Processing Unit. |
| 14+n |
bNrModes |
1 |
Number |
Number of modes, supported by this Processing Unit: m A maximum of 3 different modes is possible. |
| 15+n |
waModes(1) |
2 |
Bitmap |
Describes the active logical channels in mode 1. |
| … |
… |
… |
… |
… |
| 15+n+(m-1)*2 |
waModes(m) |
2 |
Bitmap |
Describes active the logical channels in mode m. |
4.3.2.6.3 3D-Stereo Extender Processing Unit Descriptor
The wProcessType field of the common Processing Unit descriptor contains the value 3D-STEREO_EXTENDER_PROCESS. (See Section A.7, “Processing Unit Process Types”)
The 3D-Stereo Extender Processing Unit has a single Input Pin. Therefore, the bNrInputs field must contain the value 1. The bNrChannels, wChannelConfig and iChannelNames fields together constitute the output cluster descriptor of the 3D-Stereo Extender Processing Unit. It describes which logical channels are physically present at the output of the Processing Unit.
Bit D0 of the bmControls field represents the Enable Processing Control. Bit D1 indicates the availability of the Spaciousness Control.
Although the input cluster may contain a number of logical channels, the 3D-Stereo Extender Processing Unit only uses Left and Right logical input channels as input for the extension process. Obviously, these two logical channels must be present in the input cluster for the Unit to operate properly. All other logical channels are discarded by the process.
The output cluster may contain logical channels other than Left and Right (these must be present) to facilitate connectivity within the audio function. Channels that are present in the output cluster but not in the input cluster must be muted. Channels other than Left and Right that are present in both input and output cluster can be passed unaltered from input to output. Channels only present in the input cluster are absorbed by the Processing Unit.
There is no process-specific descriptor for the 3D-Stereo Extender Processing Unit.
The following table outlines the 3D-Stereo Extender Processing Unit descriptor. It is identical to the common Processing Unit descriptor, except for some field values. It is repeated here for clarity.
Table 4-11: 3D-Stereo Extender Processing Unit Descriptor
| Offset |
Field |
Size |
Value |
Description |
| 0 |
bLength |
1 |
Number |
Size of this descriptor, in bytes: 14+n |
| 1 |
bDescriptorType |
1 |
Constant |
CS_INTERFACE descriptor type. |
| 2 |
bDescriptorSubtype |
1 |
Constant |
PROCESSING_UNIT descriptor subtype. |
最終更新:2011年05月28日 12:28