These are the examples provided for [[/users/frank26080115/libraries/LPC1700CMSIS_Lib/]] Note, the entire "program" is not compilable!
USBDEV/USBAudio/audio.h@0:bf7b9fba3924, 2011-03-20 (annotated)
- Committer:
- frank26080115
- Date:
- Sun Mar 20 05:38:56 2011 +0000
- Revision:
- 0:bf7b9fba3924
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
frank26080115 | 0:bf7b9fba3924 | 1 | /*---------------------------------------------------------------------------- |
frank26080115 | 0:bf7b9fba3924 | 2 | * U S B - K e r n e l |
frank26080115 | 0:bf7b9fba3924 | 3 | *---------------------------------------------------------------------------- |
frank26080115 | 0:bf7b9fba3924 | 4 | * Name: AUDIO.H |
frank26080115 | 0:bf7b9fba3924 | 5 | * Purpose: USB Audio Device Class Definitions |
frank26080115 | 0:bf7b9fba3924 | 6 | * Version: V1.10 |
frank26080115 | 0:bf7b9fba3924 | 7 | *---------------------------------------------------------------------------- |
frank26080115 | 0:bf7b9fba3924 | 8 | * This software is supplied "AS IS" without any warranties, express, |
frank26080115 | 0:bf7b9fba3924 | 9 | * implied or statutory, including but not limited to the implied |
frank26080115 | 0:bf7b9fba3924 | 10 | * warranties of fitness for purpose, satisfactory quality and |
frank26080115 | 0:bf7b9fba3924 | 11 | * noninfringement. Keil extends you a royalty-free right to reproduce |
frank26080115 | 0:bf7b9fba3924 | 12 | * and distribute executable files created using this software for use |
frank26080115 | 0:bf7b9fba3924 | 13 | * on Philips LPC2xxx microcontroller devices only. Nothing else gives |
frank26080115 | 0:bf7b9fba3924 | 14 | * you the right to use this software. |
frank26080115 | 0:bf7b9fba3924 | 15 | * |
frank26080115 | 0:bf7b9fba3924 | 16 | * Copyright (c) 2005-2006 Keil Software. |
frank26080115 | 0:bf7b9fba3924 | 17 | *---------------------------------------------------------------------------*/ |
frank26080115 | 0:bf7b9fba3924 | 18 | |
frank26080115 | 0:bf7b9fba3924 | 19 | #ifndef __AUDIO_H__ |
frank26080115 | 0:bf7b9fba3924 | 20 | #define __AUDIO_H__ |
frank26080115 | 0:bf7b9fba3924 | 21 | |
frank26080115 | 0:bf7b9fba3924 | 22 | |
frank26080115 | 0:bf7b9fba3924 | 23 | /* Audio Interface Subclass Codes */ |
frank26080115 | 0:bf7b9fba3924 | 24 | #define AUDIO_SUBCLASS_UNDEFINED 0x00 |
frank26080115 | 0:bf7b9fba3924 | 25 | #define AUDIO_SUBCLASS_AUDIOCONTROL 0x01 |
frank26080115 | 0:bf7b9fba3924 | 26 | #define AUDIO_SUBCLASS_AUDIOSTREAMING 0x02 |
frank26080115 | 0:bf7b9fba3924 | 27 | #define AUDIO_SUBCLASS_MIDISTREAMING 0x03 |
frank26080115 | 0:bf7b9fba3924 | 28 | |
frank26080115 | 0:bf7b9fba3924 | 29 | /* Audio Interface Protocol Codes */ |
frank26080115 | 0:bf7b9fba3924 | 30 | #define AUDIO_PROTOCOL_UNDEFINED 0x00 |
frank26080115 | 0:bf7b9fba3924 | 31 | |
frank26080115 | 0:bf7b9fba3924 | 32 | |
frank26080115 | 0:bf7b9fba3924 | 33 | /* Audio Descriptor Types */ |
frank26080115 | 0:bf7b9fba3924 | 34 | #define AUDIO_UNDEFINED_DESCRIPTOR_TYPE 0x20 |
frank26080115 | 0:bf7b9fba3924 | 35 | #define AUDIO_DEVICE_DESCRIPTOR_TYPE 0x21 |
frank26080115 | 0:bf7b9fba3924 | 36 | #define AUDIO_CONFIGURATION_DESCRIPTOR_TYPE 0x22 |
frank26080115 | 0:bf7b9fba3924 | 37 | #define AUDIO_STRING_DESCRIPTOR_TYPE 0x23 |
frank26080115 | 0:bf7b9fba3924 | 38 | #define AUDIO_INTERFACE_DESCRIPTOR_TYPE 0x24 |
frank26080115 | 0:bf7b9fba3924 | 39 | #define AUDIO_ENDPOINT_DESCRIPTOR_TYPE 0x25 |
frank26080115 | 0:bf7b9fba3924 | 40 | |
frank26080115 | 0:bf7b9fba3924 | 41 | |
frank26080115 | 0:bf7b9fba3924 | 42 | /* Audio Control Interface Descriptor Subtypes */ |
frank26080115 | 0:bf7b9fba3924 | 43 | #define AUDIO_CONTROL_UNDEFINED 0x00 |
frank26080115 | 0:bf7b9fba3924 | 44 | #define AUDIO_CONTROL_HEADER 0x01 |
frank26080115 | 0:bf7b9fba3924 | 45 | #define AUDIO_CONTROL_INPUT_TERMINAL 0x02 |
frank26080115 | 0:bf7b9fba3924 | 46 | #define AUDIO_CONTROL_OUTPUT_TERMINAL 0x03 |
frank26080115 | 0:bf7b9fba3924 | 47 | #define AUDIO_CONTROL_MIXER_UNIT 0x04 |
frank26080115 | 0:bf7b9fba3924 | 48 | #define AUDIO_CONTROL_SELECTOR_UNIT 0x05 |
frank26080115 | 0:bf7b9fba3924 | 49 | #define AUDIO_CONTROL_FEATURE_UNIT 0x06 |
frank26080115 | 0:bf7b9fba3924 | 50 | #define AUDIO_CONTROL_PROCESSING_UNIT 0x07 |
frank26080115 | 0:bf7b9fba3924 | 51 | #define AUDIO_CONTROL_EXTENSION_UNIT 0x08 |
frank26080115 | 0:bf7b9fba3924 | 52 | |
frank26080115 | 0:bf7b9fba3924 | 53 | /* Audio Streaming Interface Descriptor Subtypes */ |
frank26080115 | 0:bf7b9fba3924 | 54 | #define AUDIO_STREAMING_UNDEFINED 0x00 |
frank26080115 | 0:bf7b9fba3924 | 55 | #define AUDIO_STREAMING_GENERAL 0x01 |
frank26080115 | 0:bf7b9fba3924 | 56 | #define AUDIO_STREAMING_FORMAT_TYPE 0x02 |
frank26080115 | 0:bf7b9fba3924 | 57 | #define AUDIO_STREAMING_FORMAT_SPECIFIC 0x03 |
frank26080115 | 0:bf7b9fba3924 | 58 | |
frank26080115 | 0:bf7b9fba3924 | 59 | /* Audio Endpoint Descriptor Subtypes */ |
frank26080115 | 0:bf7b9fba3924 | 60 | #define AUDIO_ENDPOINT_UNDEFINED 0x00 |
frank26080115 | 0:bf7b9fba3924 | 61 | #define AUDIO_ENDPOINT_GENERAL 0x01 |
frank26080115 | 0:bf7b9fba3924 | 62 | |
frank26080115 | 0:bf7b9fba3924 | 63 | |
frank26080115 | 0:bf7b9fba3924 | 64 | /* Audio Descriptor Sizes */ |
frank26080115 | 0:bf7b9fba3924 | 65 | #define AUDIO_CONTROL_INTERFACE_DESC_SZ(n) 0x08+n |
frank26080115 | 0:bf7b9fba3924 | 66 | #define AUDIO_STREAMING_INTERFACE_DESC_SIZE 0x07 |
frank26080115 | 0:bf7b9fba3924 | 67 | #define AUDIO_INPUT_TERMINAL_DESC_SIZE 0x0C |
frank26080115 | 0:bf7b9fba3924 | 68 | #define AUDIO_OUTPUT_TERMINAL_DESC_SIZE 0x09 |
frank26080115 | 0:bf7b9fba3924 | 69 | #define AUDIO_MIXER_UNIT_DESC_SZ(p,n) 0x0A+p+n |
frank26080115 | 0:bf7b9fba3924 | 70 | #define AUDIO_SELECTOR_UNIT_DESC_SZ(p) 0x06+p |
frank26080115 | 0:bf7b9fba3924 | 71 | #define AUDIO_FEATURE_UNIT_DESC_SZ(ch,n) 0x07+(ch+1)*n |
frank26080115 | 0:bf7b9fba3924 | 72 | #define AUDIO_PROCESSING_UNIT_DESC_SZ(p,n,x) 0x0D+p+n+x |
frank26080115 | 0:bf7b9fba3924 | 73 | #define AUDIO_EXTENSION_UNIT_DESC_SZ(p,n) 0x0D+p+n |
frank26080115 | 0:bf7b9fba3924 | 74 | #define AUDIO_STANDARD_ENDPOINT_DESC_SIZE 0x09 |
frank26080115 | 0:bf7b9fba3924 | 75 | #define AUDIO_STREAMING_ENDPOINT_DESC_SIZE 0x07 |
frank26080115 | 0:bf7b9fba3924 | 76 | |
frank26080115 | 0:bf7b9fba3924 | 77 | |
frank26080115 | 0:bf7b9fba3924 | 78 | /* Audio Processing Unit Process Types */ |
frank26080115 | 0:bf7b9fba3924 | 79 | #define AUDIO_UNDEFINED_PROCESS 0x00 |
frank26080115 | 0:bf7b9fba3924 | 80 | #define AUDIO_UP_DOWN_MIX_PROCESS 0x01 |
frank26080115 | 0:bf7b9fba3924 | 81 | #define AUDIO_DOLBY_PROLOGIC_PROCESS 0x02 |
frank26080115 | 0:bf7b9fba3924 | 82 | #define AUDIO_3D_STEREO_PROCESS 0x03 |
frank26080115 | 0:bf7b9fba3924 | 83 | #define AUDIO_REVERBERATION_PROCESS 0x04 |
frank26080115 | 0:bf7b9fba3924 | 84 | #define AUDIO_CHORUS_PROCESS 0x05 |
frank26080115 | 0:bf7b9fba3924 | 85 | #define AUDIO_DYN_RANGE_COMP_PROCESS 0x06 |
frank26080115 | 0:bf7b9fba3924 | 86 | |
frank26080115 | 0:bf7b9fba3924 | 87 | |
frank26080115 | 0:bf7b9fba3924 | 88 | /* Audio Request Codes */ |
frank26080115 | 0:bf7b9fba3924 | 89 | #define AUDIO_REQUEST_UNDEFINED 0x00 |
frank26080115 | 0:bf7b9fba3924 | 90 | #define AUDIO_REQUEST_SET_CUR 0x01 |
frank26080115 | 0:bf7b9fba3924 | 91 | #define AUDIO_REQUEST_GET_CUR 0x81 |
frank26080115 | 0:bf7b9fba3924 | 92 | #define AUDIO_REQUEST_SET_MIN 0x02 |
frank26080115 | 0:bf7b9fba3924 | 93 | #define AUDIO_REQUEST_GET_MIN 0x82 |
frank26080115 | 0:bf7b9fba3924 | 94 | #define AUDIO_REQUEST_SET_MAX 0x03 |
frank26080115 | 0:bf7b9fba3924 | 95 | #define AUDIO_REQUEST_GET_MAX 0x83 |
frank26080115 | 0:bf7b9fba3924 | 96 | #define AUDIO_REQUEST_SET_RES 0x04 |
frank26080115 | 0:bf7b9fba3924 | 97 | #define AUDIO_REQUEST_GET_RES 0x84 |
frank26080115 | 0:bf7b9fba3924 | 98 | #define AUDIO_REQUEST_SET_MEM 0x05 |
frank26080115 | 0:bf7b9fba3924 | 99 | #define AUDIO_REQUEST_GET_MEM 0x85 |
frank26080115 | 0:bf7b9fba3924 | 100 | #define AUDIO_REQUEST_GET_STAT 0xFF |
frank26080115 | 0:bf7b9fba3924 | 101 | |
frank26080115 | 0:bf7b9fba3924 | 102 | |
frank26080115 | 0:bf7b9fba3924 | 103 | /* Audio Control Selector Codes */ |
frank26080115 | 0:bf7b9fba3924 | 104 | #define AUDIO_CONTROL_UNDEFINED 0x00 /* Common Selector */ |
frank26080115 | 0:bf7b9fba3924 | 105 | |
frank26080115 | 0:bf7b9fba3924 | 106 | /* Terminal Control Selectors */ |
frank26080115 | 0:bf7b9fba3924 | 107 | #define AUDIO_COPY_PROTECT_CONTROL 0x01 |
frank26080115 | 0:bf7b9fba3924 | 108 | |
frank26080115 | 0:bf7b9fba3924 | 109 | /* Feature Unit Control Selectors */ |
frank26080115 | 0:bf7b9fba3924 | 110 | #define AUDIO_MUTE_CONTROL 0x01 |
frank26080115 | 0:bf7b9fba3924 | 111 | #define AUDIO_VOLUME_CONTROL 0x02 |
frank26080115 | 0:bf7b9fba3924 | 112 | #define AUDIO_BASS_CONTROL 0x03 |
frank26080115 | 0:bf7b9fba3924 | 113 | #define AUDIO_MID_CONTROL 0x04 |
frank26080115 | 0:bf7b9fba3924 | 114 | #define AUDIO_TREBLE_CONTROL 0x05 |
frank26080115 | 0:bf7b9fba3924 | 115 | #define AUDIO_GRAPHIC_EQUALIZER_CONTROL 0x06 |
frank26080115 | 0:bf7b9fba3924 | 116 | #define AUDIO_AUTOMATIC_GAIN_CONTROL 0x07 |
frank26080115 | 0:bf7b9fba3924 | 117 | #define AUDIO_DELAY_CONTROL 0x08 |
frank26080115 | 0:bf7b9fba3924 | 118 | #define AUDIO_BASS_BOOST_CONTROL 0x09 |
frank26080115 | 0:bf7b9fba3924 | 119 | #define AUDIO_LOUDNESS_CONTROL 0x0A |
frank26080115 | 0:bf7b9fba3924 | 120 | |
frank26080115 | 0:bf7b9fba3924 | 121 | /* Processing Unit Control Selectors: */ |
frank26080115 | 0:bf7b9fba3924 | 122 | #define AUDIO_ENABLE_CONTROL 0x01 /* Common Selector */ |
frank26080115 | 0:bf7b9fba3924 | 123 | #define AUDIO_MODE_SELECT_CONTROL 0x02 /* Common Selector */ |
frank26080115 | 0:bf7b9fba3924 | 124 | |
frank26080115 | 0:bf7b9fba3924 | 125 | /* - Up/Down-mix Control Selectors */ |
frank26080115 | 0:bf7b9fba3924 | 126 | /* AUDIO_ENABLE_CONTROL 0x01 Common Selector */ |
frank26080115 | 0:bf7b9fba3924 | 127 | /* AUDIO_MODE_SELECT_CONTROL 0x02 Common Selector */ |
frank26080115 | 0:bf7b9fba3924 | 128 | |
frank26080115 | 0:bf7b9fba3924 | 129 | /* - Dolby Prologic Control Selectors */ |
frank26080115 | 0:bf7b9fba3924 | 130 | /* AUDIO_ENABLE_CONTROL 0x01 Common Selector */ |
frank26080115 | 0:bf7b9fba3924 | 131 | /* AUDIO_MODE_SELECT_CONTROL 0x02 Common Selector */ |
frank26080115 | 0:bf7b9fba3924 | 132 | |
frank26080115 | 0:bf7b9fba3924 | 133 | /* - 3D Stereo Extender Control Selectors */ |
frank26080115 | 0:bf7b9fba3924 | 134 | /* AUDIO_ENABLE_CONTROL 0x01 Common Selector */ |
frank26080115 | 0:bf7b9fba3924 | 135 | #define AUDIO_SPACIOUSNESS_CONTROL 0x02 |
frank26080115 | 0:bf7b9fba3924 | 136 | |
frank26080115 | 0:bf7b9fba3924 | 137 | /* - Reverberation Control Selectors */ |
frank26080115 | 0:bf7b9fba3924 | 138 | /* AUDIO_ENABLE_CONTROL 0x01 Common Selector */ |
frank26080115 | 0:bf7b9fba3924 | 139 | #define AUDIO_REVERB_LEVEL_CONTROL 0x02 |
frank26080115 | 0:bf7b9fba3924 | 140 | #define AUDIO_REVERB_TIME_CONTROL 0x03 |
frank26080115 | 0:bf7b9fba3924 | 141 | #define AUDIO_REVERB_FEEDBACK_CONTROL 0x04 |
frank26080115 | 0:bf7b9fba3924 | 142 | |
frank26080115 | 0:bf7b9fba3924 | 143 | /* - Chorus Control Selectors */ |
frank26080115 | 0:bf7b9fba3924 | 144 | /* AUDIO_ENABLE_CONTROL 0x01 Common Selector */ |
frank26080115 | 0:bf7b9fba3924 | 145 | #define AUDIO_CHORUS_LEVEL_CONTROL 0x02 |
frank26080115 | 0:bf7b9fba3924 | 146 | #define AUDIO_SHORUS_RATE_CONTROL 0x03 |
frank26080115 | 0:bf7b9fba3924 | 147 | #define AUDIO_CHORUS_DEPTH_CONTROL 0x04 |
frank26080115 | 0:bf7b9fba3924 | 148 | |
frank26080115 | 0:bf7b9fba3924 | 149 | /* - Dynamic Range Compressor Control Selectors */ |
frank26080115 | 0:bf7b9fba3924 | 150 | /* AUDIO_ENABLE_CONTROL 0x01 Common Selector */ |
frank26080115 | 0:bf7b9fba3924 | 151 | #define AUDIO_COMPRESSION_RATE_CONTROL 0x02 |
frank26080115 | 0:bf7b9fba3924 | 152 | #define AUDIO_MAX_AMPL_CONTROL 0x03 |
frank26080115 | 0:bf7b9fba3924 | 153 | #define AUDIO_THRESHOLD_CONTROL 0x04 |
frank26080115 | 0:bf7b9fba3924 | 154 | #define AUDIO_ATTACK_TIME_CONTROL 0x05 |
frank26080115 | 0:bf7b9fba3924 | 155 | #define AUDIO_RELEASE_TIME_CONTROL 0x06 |
frank26080115 | 0:bf7b9fba3924 | 156 | |
frank26080115 | 0:bf7b9fba3924 | 157 | /* Extension Unit Control Selectors */ |
frank26080115 | 0:bf7b9fba3924 | 158 | /* AUDIO_ENABLE_CONTROL 0x01 Common Selector */ |
frank26080115 | 0:bf7b9fba3924 | 159 | |
frank26080115 | 0:bf7b9fba3924 | 160 | /* Endpoint Control Selectors */ |
frank26080115 | 0:bf7b9fba3924 | 161 | #define AUDIO_SAMPLING_FREQ_CONTROL 0x01 |
frank26080115 | 0:bf7b9fba3924 | 162 | #define AUDIO_PITCH_CONTROL 0x02 |
frank26080115 | 0:bf7b9fba3924 | 163 | |
frank26080115 | 0:bf7b9fba3924 | 164 | |
frank26080115 | 0:bf7b9fba3924 | 165 | /* Audio Format Specific Control Selectors */ |
frank26080115 | 0:bf7b9fba3924 | 166 | |
frank26080115 | 0:bf7b9fba3924 | 167 | /* MPEG Control Selectors */ |
frank26080115 | 0:bf7b9fba3924 | 168 | #define AUDIO_MPEG_CONTROL_UNDEFINED 0x00 |
frank26080115 | 0:bf7b9fba3924 | 169 | #define AUDIO_MPEG_DUAL_CHANNEL_CONTROL 0x01 |
frank26080115 | 0:bf7b9fba3924 | 170 | #define AUDIO_MPEG_SECOND_STEREO_CONTROL 0x02 |
frank26080115 | 0:bf7b9fba3924 | 171 | #define AUDIO_MPEG_MULTILINGUAL_CONTROL 0x03 |
frank26080115 | 0:bf7b9fba3924 | 172 | #define AUDIO_MPEG_DYN_RANGE_CONTROL 0x04 |
frank26080115 | 0:bf7b9fba3924 | 173 | #define AUDIO_MPEG_SCALING_CONTROL 0x05 |
frank26080115 | 0:bf7b9fba3924 | 174 | #define AUDIO_MPEG_HILO_SCALING_CONTROL 0x06 |
frank26080115 | 0:bf7b9fba3924 | 175 | |
frank26080115 | 0:bf7b9fba3924 | 176 | /* AC-3 Control Selectors */ |
frank26080115 | 0:bf7b9fba3924 | 177 | #define AUDIO_AC3_CONTROL_UNDEFINED 0x00 |
frank26080115 | 0:bf7b9fba3924 | 178 | #define AUDIO_AC3_MODE_CONTROL 0x01 |
frank26080115 | 0:bf7b9fba3924 | 179 | #define AUDIO_AC3_DYN_RANGE_CONTROL 0x02 |
frank26080115 | 0:bf7b9fba3924 | 180 | #define AUDIO_AC3_SCALING_CONTROL 0x03 |
frank26080115 | 0:bf7b9fba3924 | 181 | #define AUDIO_AC3_HILO_SCALING_CONTROL 0x04 |
frank26080115 | 0:bf7b9fba3924 | 182 | |
frank26080115 | 0:bf7b9fba3924 | 183 | |
frank26080115 | 0:bf7b9fba3924 | 184 | /* Audio Format Types */ |
frank26080115 | 0:bf7b9fba3924 | 185 | #define AUDIO_FORMAT_TYPE_UNDEFINED 0x00 |
frank26080115 | 0:bf7b9fba3924 | 186 | #define AUDIO_FORMAT_TYPE_I 0x01 |
frank26080115 | 0:bf7b9fba3924 | 187 | #define AUDIO_FORMAT_TYPE_II 0x02 |
frank26080115 | 0:bf7b9fba3924 | 188 | #define AUDIO_FORMAT_TYPE_III 0x03 |
frank26080115 | 0:bf7b9fba3924 | 189 | |
frank26080115 | 0:bf7b9fba3924 | 190 | |
frank26080115 | 0:bf7b9fba3924 | 191 | /* Audio Format Type Descriptor Sizes */ |
frank26080115 | 0:bf7b9fba3924 | 192 | #define AUDIO_FORMAT_TYPE_I_DESC_SZ(n) 0x08+(n*3) |
frank26080115 | 0:bf7b9fba3924 | 193 | #define AUDIO_FORMAT_TYPE_II_DESC_SZ(n) 0x09+(n*3) |
frank26080115 | 0:bf7b9fba3924 | 194 | #define AUDIO_FORMAT_TYPE_III_DESC_SZ(n) 0x08+(n*3) |
frank26080115 | 0:bf7b9fba3924 | 195 | #define AUDIO_FORMAT_MPEG_DESC_SIZE 0x09 |
frank26080115 | 0:bf7b9fba3924 | 196 | #define AUDIO_FORMAT_AC3_DESC_SIZE 0x0A |
frank26080115 | 0:bf7b9fba3924 | 197 | |
frank26080115 | 0:bf7b9fba3924 | 198 | |
frank26080115 | 0:bf7b9fba3924 | 199 | /* Audio Data Format Codes */ |
frank26080115 | 0:bf7b9fba3924 | 200 | |
frank26080115 | 0:bf7b9fba3924 | 201 | /* Audio Data Format Type I Codes */ |
frank26080115 | 0:bf7b9fba3924 | 202 | #define AUDIO_FORMAT_TYPE_I_UNDEFINED 0x0000 |
frank26080115 | 0:bf7b9fba3924 | 203 | #define AUDIO_FORMAT_PCM 0x0001 |
frank26080115 | 0:bf7b9fba3924 | 204 | #define AUDIO_FORMAT_PCM8 0x0002 |
frank26080115 | 0:bf7b9fba3924 | 205 | #define AUDIO_FORMAT_IEEE_FLOAT 0x0003 |
frank26080115 | 0:bf7b9fba3924 | 206 | #define AUDIO_FORMAT_ALAW 0x0004 |
frank26080115 | 0:bf7b9fba3924 | 207 | #define AUDIO_FORMAT_MULAW 0x0005 |
frank26080115 | 0:bf7b9fba3924 | 208 | |
frank26080115 | 0:bf7b9fba3924 | 209 | /* Audio Data Format Type II Codes */ |
frank26080115 | 0:bf7b9fba3924 | 210 | #define AUDIO_FORMAT_TYPE_II_UNDEFINED 0x1000 |
frank26080115 | 0:bf7b9fba3924 | 211 | #define AUDIO_FORMAT_MPEG 0x1001 |
frank26080115 | 0:bf7b9fba3924 | 212 | #define AUDIO_FORMAT_AC3 0x1002 |
frank26080115 | 0:bf7b9fba3924 | 213 | |
frank26080115 | 0:bf7b9fba3924 | 214 | /* Audio Data Format Type III Codes */ |
frank26080115 | 0:bf7b9fba3924 | 215 | #define AUDIO_FORMAT_TYPE_III_UNDEFINED 0x2000 |
frank26080115 | 0:bf7b9fba3924 | 216 | #define AUDIO_FORMAT_IEC1937_AC3 0x2001 |
frank26080115 | 0:bf7b9fba3924 | 217 | #define AUDIO_FORMAT_IEC1937_MPEG1_L1 0x2002 |
frank26080115 | 0:bf7b9fba3924 | 218 | #define AUDIO_FORMAT_IEC1937_MPEG1_L2_3 0x2003 |
frank26080115 | 0:bf7b9fba3924 | 219 | #define AUDIO_FORMAT_IEC1937_MPEG2_NOEXT 0x2003 |
frank26080115 | 0:bf7b9fba3924 | 220 | #define AUDIO_FORMAT_IEC1937_MPEG2_EXT 0x2004 |
frank26080115 | 0:bf7b9fba3924 | 221 | #define AUDIO_FORMAT_IEC1937_MPEG2_L1_LS 0x2005 |
frank26080115 | 0:bf7b9fba3924 | 222 | #define AUDIO_FORMAT_IEC1937_MPEG2_L2_3 0x2006 |
frank26080115 | 0:bf7b9fba3924 | 223 | |
frank26080115 | 0:bf7b9fba3924 | 224 | |
frank26080115 | 0:bf7b9fba3924 | 225 | /* Predefined Audio Channel Configuration Bits */ |
frank26080115 | 0:bf7b9fba3924 | 226 | #define AUDIO_CHANNEL_M 0x0000 /* Mono */ |
frank26080115 | 0:bf7b9fba3924 | 227 | #define AUDIO_CHANNEL_L 0x0001 /* Left Front */ |
frank26080115 | 0:bf7b9fba3924 | 228 | #define AUDIO_CHANNEL_R 0x0002 /* Right Front */ |
frank26080115 | 0:bf7b9fba3924 | 229 | #define AUDIO_CHANNEL_C 0x0004 /* Center Front */ |
frank26080115 | 0:bf7b9fba3924 | 230 | #define AUDIO_CHANNEL_LFE 0x0008 /* Low Freq. Enhance. */ |
frank26080115 | 0:bf7b9fba3924 | 231 | #define AUDIO_CHANNEL_LS 0x0010 /* Left Surround */ |
frank26080115 | 0:bf7b9fba3924 | 232 | #define AUDIO_CHANNEL_RS 0x0020 /* Right Surround */ |
frank26080115 | 0:bf7b9fba3924 | 233 | #define AUDIO_CHANNEL_LC 0x0040 /* Left of Center */ |
frank26080115 | 0:bf7b9fba3924 | 234 | #define AUDIO_CHANNEL_RC 0x0080 /* Right of Center */ |
frank26080115 | 0:bf7b9fba3924 | 235 | #define AUDIO_CHANNEL_S 0x0100 /* Surround */ |
frank26080115 | 0:bf7b9fba3924 | 236 | #define AUDIO_CHANNEL_SL 0x0200 /* Side Left */ |
frank26080115 | 0:bf7b9fba3924 | 237 | #define AUDIO_CHANNEL_SR 0x0400 /* Side Right */ |
frank26080115 | 0:bf7b9fba3924 | 238 | #define AUDIO_CHANNEL_T 0x0800 /* Top */ |
frank26080115 | 0:bf7b9fba3924 | 239 | |
frank26080115 | 0:bf7b9fba3924 | 240 | |
frank26080115 | 0:bf7b9fba3924 | 241 | /* Feature Unit Control Bits */ |
frank26080115 | 0:bf7b9fba3924 | 242 | #define AUDIO_CONTROL_MUTE 0x0001 |
frank26080115 | 0:bf7b9fba3924 | 243 | #define AUDIO_CONTROL_VOLUME 0x0002 |
frank26080115 | 0:bf7b9fba3924 | 244 | #define AUDIO_CONTROL_BASS 0x0004 |
frank26080115 | 0:bf7b9fba3924 | 245 | #define AUDIO_CONTROL_MID 0x0008 |
frank26080115 | 0:bf7b9fba3924 | 246 | #define AUDIO_CONTROL_TREBLE 0x0010 |
frank26080115 | 0:bf7b9fba3924 | 247 | #define AUDIO_CONTROL_GRAPHIC_EQUALIZER 0x0020 |
frank26080115 | 0:bf7b9fba3924 | 248 | #define AUDIO_CONTROL_AUTOMATIC_GAIN 0x0040 |
frank26080115 | 0:bf7b9fba3924 | 249 | #define AUDIO_CONTROL_DEALY 0x0080 |
frank26080115 | 0:bf7b9fba3924 | 250 | #define AUDIO_CONTROL_BASS_BOOST 0x0100 |
frank26080115 | 0:bf7b9fba3924 | 251 | #define AUDIO_CONTROL_LOUDNESS 0x0200 |
frank26080115 | 0:bf7b9fba3924 | 252 | |
frank26080115 | 0:bf7b9fba3924 | 253 | /* Processing Unit Control Bits: */ |
frank26080115 | 0:bf7b9fba3924 | 254 | #define AUDIO_CONTROL_ENABLE 0x0001 /* Common Bit */ |
frank26080115 | 0:bf7b9fba3924 | 255 | #define AUDIO_CONTROL_MODE_SELECT 0x0002 /* Common Bit */ |
frank26080115 | 0:bf7b9fba3924 | 256 | |
frank26080115 | 0:bf7b9fba3924 | 257 | /* - Up/Down-mix Control Bits */ |
frank26080115 | 0:bf7b9fba3924 | 258 | /* AUDIO_CONTROL_ENABLE 0x0001 Common Bit */ |
frank26080115 | 0:bf7b9fba3924 | 259 | /* AUDIO_CONTROL_MODE_SELECT 0x0002 Common Bit */ |
frank26080115 | 0:bf7b9fba3924 | 260 | |
frank26080115 | 0:bf7b9fba3924 | 261 | /* - Dolby Prologic Control Bits */ |
frank26080115 | 0:bf7b9fba3924 | 262 | /* AUDIO_CONTROL_ENABLE 0x0001 Common Bit */ |
frank26080115 | 0:bf7b9fba3924 | 263 | /* AUDIO_CONTROL_MODE_SELECT 0x0002 Common Bit */ |
frank26080115 | 0:bf7b9fba3924 | 264 | |
frank26080115 | 0:bf7b9fba3924 | 265 | /* - 3D Stereo Extender Control Bits */ |
frank26080115 | 0:bf7b9fba3924 | 266 | /* AUDIO_CONTROL_ENABLE 0x0001 Common Bit */ |
frank26080115 | 0:bf7b9fba3924 | 267 | #define AUDIO_CONTROL_SPACIOUSNESS 0x0002 |
frank26080115 | 0:bf7b9fba3924 | 268 | |
frank26080115 | 0:bf7b9fba3924 | 269 | /* - Reverberation Control Bits */ |
frank26080115 | 0:bf7b9fba3924 | 270 | /* AUDIO_CONTROL_ENABLE 0x0001 Common Bit */ |
frank26080115 | 0:bf7b9fba3924 | 271 | #define AUDIO_CONTROL_REVERB_TYPE 0x0002 |
frank26080115 | 0:bf7b9fba3924 | 272 | #define AUDIO_CONTROL_REVERB_LEVEL 0x0004 |
frank26080115 | 0:bf7b9fba3924 | 273 | #define AUDIO_CONTROL_REVERB_TIME 0x0008 |
frank26080115 | 0:bf7b9fba3924 | 274 | #define AUDIO_CONTROL_REVERB_FEEDBACK 0x0010 |
frank26080115 | 0:bf7b9fba3924 | 275 | |
frank26080115 | 0:bf7b9fba3924 | 276 | /* - Chorus Control Bits */ |
frank26080115 | 0:bf7b9fba3924 | 277 | /* AUDIO_CONTROL_ENABLE 0x0001 Common Bit */ |
frank26080115 | 0:bf7b9fba3924 | 278 | #define AUDIO_CONTROL_CHORUS_LEVEL 0x0002 |
frank26080115 | 0:bf7b9fba3924 | 279 | #define AUDIO_CONTROL_SHORUS_RATE 0x0004 |
frank26080115 | 0:bf7b9fba3924 | 280 | #define AUDIO_CONTROL_CHORUS_DEPTH 0x0008 |
frank26080115 | 0:bf7b9fba3924 | 281 | |
frank26080115 | 0:bf7b9fba3924 | 282 | /* - Dynamic Range Compressor Control Bits */ |
frank26080115 | 0:bf7b9fba3924 | 283 | /* AUDIO_CONTROL_ENABLE 0x0001 Common Bit */ |
frank26080115 | 0:bf7b9fba3924 | 284 | #define AUDIO_CONTROL_COMPRESSION_RATE 0x0002 |
frank26080115 | 0:bf7b9fba3924 | 285 | #define AUDIO_CONTROL_MAX_AMPL 0x0004 |
frank26080115 | 0:bf7b9fba3924 | 286 | #define AUDIO_CONTROL_THRESHOLD 0x0008 |
frank26080115 | 0:bf7b9fba3924 | 287 | #define AUDIO_CONTROL_ATTACK_TIME 0x0010 |
frank26080115 | 0:bf7b9fba3924 | 288 | #define AUDIO_CONTROL_RELEASE_TIME 0x0020 |
frank26080115 | 0:bf7b9fba3924 | 289 | |
frank26080115 | 0:bf7b9fba3924 | 290 | /* Extension Unit Control Bits */ |
frank26080115 | 0:bf7b9fba3924 | 291 | /* AUDIO_CONTROL_ENABLE 0x0001 Common Bit */ |
frank26080115 | 0:bf7b9fba3924 | 292 | |
frank26080115 | 0:bf7b9fba3924 | 293 | /* Endpoint Control Bits */ |
frank26080115 | 0:bf7b9fba3924 | 294 | #define AUDIO_CONTROL_SAMPLING_FREQ 0x01 |
frank26080115 | 0:bf7b9fba3924 | 295 | #define AUDIO_CONTROL_PITCH 0x02 |
frank26080115 | 0:bf7b9fba3924 | 296 | #define AUDIO_MAX_PACKETS_ONLY 0x80 |
frank26080115 | 0:bf7b9fba3924 | 297 | |
frank26080115 | 0:bf7b9fba3924 | 298 | |
frank26080115 | 0:bf7b9fba3924 | 299 | /* Audio Terminal Types */ |
frank26080115 | 0:bf7b9fba3924 | 300 | |
frank26080115 | 0:bf7b9fba3924 | 301 | /* USB Terminal Types */ |
frank26080115 | 0:bf7b9fba3924 | 302 | #define AUDIO_TERMINAL_USB_UNDEFINED 0x0100 |
frank26080115 | 0:bf7b9fba3924 | 303 | #define AUDIO_TERMINAL_USB_STREAMING 0x0101 |
frank26080115 | 0:bf7b9fba3924 | 304 | #define AUDIO_TERMINAL_USB_VENDOR_SPECIFIC 0x01FF |
frank26080115 | 0:bf7b9fba3924 | 305 | |
frank26080115 | 0:bf7b9fba3924 | 306 | /* Input Terminal Types */ |
frank26080115 | 0:bf7b9fba3924 | 307 | #define AUDIO_TERMINAL_INPUT_UNDEFINED 0x0200 |
frank26080115 | 0:bf7b9fba3924 | 308 | #define AUDIO_TERMINAL_MICROPHONE 0x0201 |
frank26080115 | 0:bf7b9fba3924 | 309 | #define AUDIO_TERMINAL_DESKTOP_MICROPHONE 0x0202 |
frank26080115 | 0:bf7b9fba3924 | 310 | #define AUDIO_TERMINAL_PERSONAL_MICROPHONE 0x0203 |
frank26080115 | 0:bf7b9fba3924 | 311 | #define AUDIO_TERMINAL_OMNI_DIR_MICROPHONE 0x0204 |
frank26080115 | 0:bf7b9fba3924 | 312 | #define AUDIO_TERMINAL_MICROPHONE_ARRAY 0x0205 |
frank26080115 | 0:bf7b9fba3924 | 313 | #define AUDIO_TERMINAL_PROCESSING_MIC_ARRAY 0x0206 |
frank26080115 | 0:bf7b9fba3924 | 314 | |
frank26080115 | 0:bf7b9fba3924 | 315 | /* Output Terminal Types */ |
frank26080115 | 0:bf7b9fba3924 | 316 | #define AUDIO_TERMINAL_OUTPUT_UNDEFINED 0x0300 |
frank26080115 | 0:bf7b9fba3924 | 317 | #define AUDIO_TERMINAL_SPEAKER 0x0301 |
frank26080115 | 0:bf7b9fba3924 | 318 | #define AUDIO_TERMINAL_HEADPHONES 0x0302 |
frank26080115 | 0:bf7b9fba3924 | 319 | #define AUDIO_TERMINAL_HEAD_MOUNTED_AUDIO 0x0303 |
frank26080115 | 0:bf7b9fba3924 | 320 | #define AUDIO_TERMINAL_DESKTOP_SPEAKER 0x0304 |
frank26080115 | 0:bf7b9fba3924 | 321 | #define AUDIO_TERMINAL_ROOM_SPEAKER 0x0305 |
frank26080115 | 0:bf7b9fba3924 | 322 | #define AUDIO_TERMINAL_COMMUNICATION_SPEAKER 0x0306 |
frank26080115 | 0:bf7b9fba3924 | 323 | #define AUDIO_TERMINAL_LOW_FREQ_SPEAKER 0x0307 |
frank26080115 | 0:bf7b9fba3924 | 324 | |
frank26080115 | 0:bf7b9fba3924 | 325 | /* Bi-directional Terminal Types */ |
frank26080115 | 0:bf7b9fba3924 | 326 | #define AUDIO_TERMINAL_BIDIRECTIONAL_UNDEFINED 0x0400 |
frank26080115 | 0:bf7b9fba3924 | 327 | #define AUDIO_TERMINAL_HANDSET 0x0401 |
frank26080115 | 0:bf7b9fba3924 | 328 | #define AUDIO_TERMINAL_HEAD_MOUNTED_HANDSET 0x0402 |
frank26080115 | 0:bf7b9fba3924 | 329 | #define AUDIO_TERMINAL_SPEAKERPHONE 0x0403 |
frank26080115 | 0:bf7b9fba3924 | 330 | #define AUDIO_TERMINAL_SPEAKERPHONE_ECHOSUPRESS 0x0404 |
frank26080115 | 0:bf7b9fba3924 | 331 | #define AUDIO_TERMINAL_SPEAKERPHONE_ECHOCANCEL 0x0405 |
frank26080115 | 0:bf7b9fba3924 | 332 | |
frank26080115 | 0:bf7b9fba3924 | 333 | /* Telephony Terminal Types */ |
frank26080115 | 0:bf7b9fba3924 | 334 | #define AUDIO_TERMINAL_TELEPHONY_UNDEFINED 0x0500 |
frank26080115 | 0:bf7b9fba3924 | 335 | #define AUDIO_TERMINAL_PHONE_LINE 0x0501 |
frank26080115 | 0:bf7b9fba3924 | 336 | #define AUDIO_TERMINAL_TELEPHONE 0x0502 |
frank26080115 | 0:bf7b9fba3924 | 337 | #define AUDIO_TERMINAL_DOWN_LINE_PHONE 0x0503 |
frank26080115 | 0:bf7b9fba3924 | 338 | |
frank26080115 | 0:bf7b9fba3924 | 339 | /* External Terminal Types */ |
frank26080115 | 0:bf7b9fba3924 | 340 | #define AUDIO_TERMINAL_EXTERNAL_UNDEFINED 0x0600 |
frank26080115 | 0:bf7b9fba3924 | 341 | #define AUDIO_TERMINAL_ANALOG_CONNECTOR 0x0601 |
frank26080115 | 0:bf7b9fba3924 | 342 | #define AUDIO_TERMINAL_DIGITAL_AUDIO_INTERFACE 0x0602 |
frank26080115 | 0:bf7b9fba3924 | 343 | #define AUDIO_TERMINAL_LINE_CONNECTOR 0x0603 |
frank26080115 | 0:bf7b9fba3924 | 344 | #define AUDIO_TERMINAL_LEGACY_AUDIO_CONNECTOR 0x0604 |
frank26080115 | 0:bf7b9fba3924 | 345 | #define AUDIO_TERMINAL_SPDIF_INTERFACE 0x0605 |
frank26080115 | 0:bf7b9fba3924 | 346 | #define AUDIO_TERMINAL_1394_DA_STREAM 0x0606 |
frank26080115 | 0:bf7b9fba3924 | 347 | #define AUDIO_TERMINAL_1394_DA_STREAM_TRACK 0x0607 |
frank26080115 | 0:bf7b9fba3924 | 348 | |
frank26080115 | 0:bf7b9fba3924 | 349 | /* Embedded Function Terminal Types */ |
frank26080115 | 0:bf7b9fba3924 | 350 | #define AUDIO_TERMINAL_EMBEDDED_UNDEFINED 0x0700 |
frank26080115 | 0:bf7b9fba3924 | 351 | #define AUDIO_TERMINAL_CALIBRATION_NOISE 0x0701 |
frank26080115 | 0:bf7b9fba3924 | 352 | #define AUDIO_TERMINAL_EQUALIZATION_NOISE 0x0702 |
frank26080115 | 0:bf7b9fba3924 | 353 | #define AUDIO_TERMINAL_CD_PLAYER 0x0703 |
frank26080115 | 0:bf7b9fba3924 | 354 | #define AUDIO_TERMINAL_DAT 0x0704 |
frank26080115 | 0:bf7b9fba3924 | 355 | #define AUDIO_TERMINAL_DCC 0x0705 |
frank26080115 | 0:bf7b9fba3924 | 356 | #define AUDIO_TERMINAL_MINI_DISK 0x0706 |
frank26080115 | 0:bf7b9fba3924 | 357 | #define AUDIO_TERMINAL_ANALOG_TAPE 0x0707 |
frank26080115 | 0:bf7b9fba3924 | 358 | #define AUDIO_TERMINAL_PHONOGRAPH 0x0708 |
frank26080115 | 0:bf7b9fba3924 | 359 | #define AUDIO_TERMINAL_VCR_AUDIO 0x0709 |
frank26080115 | 0:bf7b9fba3924 | 360 | #define AUDIO_TERMINAL_VIDEO_DISC_AUDIO 0x070A |
frank26080115 | 0:bf7b9fba3924 | 361 | #define AUDIO_TERMINAL_DVD_AUDIO 0x070B |
frank26080115 | 0:bf7b9fba3924 | 362 | #define AUDIO_TERMINAL_TV_TUNER_AUDIO 0x070C |
frank26080115 | 0:bf7b9fba3924 | 363 | #define AUDIO_TERMINAL_SATELLITE_RECEIVER_AUDIO 0x070D |
frank26080115 | 0:bf7b9fba3924 | 364 | #define AUDIO_TERMINAL_CABLE_TUNER_AUDIO 0x070E |
frank26080115 | 0:bf7b9fba3924 | 365 | #define AUDIO_TERMINAL_DSS_AUDIO 0x070F |
frank26080115 | 0:bf7b9fba3924 | 366 | #define AUDIO_TERMINAL_RADIO_RECEIVER 0x0710 |
frank26080115 | 0:bf7b9fba3924 | 367 | #define AUDIO_TERMINAL_RADIO_TRANSMITTER 0x0711 |
frank26080115 | 0:bf7b9fba3924 | 368 | #define AUDIO_TERMINAL_MULTI_TRACK_RECORDER 0x0712 |
frank26080115 | 0:bf7b9fba3924 | 369 | #define AUDIO_TERMINAL_SYNTHESIZER 0x0713 |
frank26080115 | 0:bf7b9fba3924 | 370 | |
frank26080115 | 0:bf7b9fba3924 | 371 | |
frank26080115 | 0:bf7b9fba3924 | 372 | #endif /* __AUDIO_H__ */ |