|
OpenMAXBellagio 0.9.3
|
00001 /* 00002 * Copyright (c) 2008 The Khronos Group Inc. 00003 * 00004 * Permission is hereby granted, free of charge, to any person obtaining 00005 * a copy of this software and associated documentation files (the 00006 * "Software"), to deal in the Software without restriction, including 00007 * without limitation the rights to use, copy, modify, merge, publish, 00008 * distribute, sublicense, and/or sell copies of the Software, and to 00009 * permit persons to whom the Software is furnished to do so, subject 00010 * to the following conditions: 00011 * The above copyright notice and this permission notice shall be included 00012 * in all copies or substantial portions of the Software. 00013 * 00014 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 00015 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 00016 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 00017 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 00018 * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 00019 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 00020 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 00021 * 00022 */ 00023 00029 #ifndef OMX_Audio_h 00030 #define OMX_Audio_h 00031 00032 #ifdef __cplusplus 00033 extern "C" { 00034 #endif /* __cplusplus */ 00035 00036 00037 /* Each OMX header must include all required header files to allow the 00038 * header to compile without errors. The includes below are required 00039 * for this header file to compile successfully 00040 */ 00041 00042 #include <OMX_Core.h> 00043 00063 typedef enum OMX_AUDIO_CODINGTYPE { 00064 OMX_AUDIO_CodingUnused = 0, 00065 OMX_AUDIO_CodingAutoDetect, 00066 OMX_AUDIO_CodingPCM, 00067 OMX_AUDIO_CodingADPCM, 00068 OMX_AUDIO_CodingAMR, 00069 OMX_AUDIO_CodingGSMFR, 00070 OMX_AUDIO_CodingGSMEFR, 00071 OMX_AUDIO_CodingGSMHR, 00072 OMX_AUDIO_CodingPDCFR, 00073 OMX_AUDIO_CodingPDCEFR, 00074 OMX_AUDIO_CodingPDCHR, 00075 OMX_AUDIO_CodingTDMAFR, 00076 OMX_AUDIO_CodingTDMAEFR, 00077 OMX_AUDIO_CodingQCELP8, 00078 OMX_AUDIO_CodingQCELP13, 00079 OMX_AUDIO_CodingEVRC, 00080 OMX_AUDIO_CodingSMV, 00081 OMX_AUDIO_CodingG711, 00082 OMX_AUDIO_CodingG723, 00083 OMX_AUDIO_CodingG726, 00084 OMX_AUDIO_CodingG729, 00085 OMX_AUDIO_CodingAAC, 00086 OMX_AUDIO_CodingMP3, 00087 OMX_AUDIO_CodingSBC, 00088 OMX_AUDIO_CodingVORBIS, 00089 OMX_AUDIO_CodingWMA, 00090 OMX_AUDIO_CodingRA, 00091 OMX_AUDIO_CodingMIDI, 00092 OMX_AUDIO_CodingKhronosExtensions = 0x6F000000, 00093 OMX_AUDIO_CodingVendorStartUnused = 0x7F000000, 00094 OMX_AUDIO_CodingMax = 0x7FFFFFFF 00095 } OMX_AUDIO_CODINGTYPE; 00096 00097 00104 typedef struct OMX_AUDIO_PORTDEFINITIONTYPE { 00105 OMX_STRING cMIMEType; 00106 OMX_NATIVE_DEVICETYPE pNativeRender; 00109 OMX_BOOL bFlagErrorConcealment; 00111 OMX_AUDIO_CODINGTYPE eEncoding; 00113 } OMX_AUDIO_PORTDEFINITIONTYPE; 00114 00115 00119 typedef struct OMX_AUDIO_PARAM_PORTFORMATTYPE { 00120 OMX_U32 nSize; 00121 OMX_VERSIONTYPE nVersion; 00122 OMX_U32 nPortIndex; 00123 OMX_U32 nIndex; 00124 OMX_AUDIO_CODINGTYPE eEncoding; 00125 } OMX_AUDIO_PARAM_PORTFORMATTYPE; 00126 00127 00129 typedef enum OMX_AUDIO_PCMMODETYPE { 00130 OMX_AUDIO_PCMModeLinear = 0, 00131 OMX_AUDIO_PCMModeALaw, 00132 OMX_AUDIO_PCMModeMULaw, 00133 OMX_AUDIO_PCMModeKhronosExtensions = 0x6F000000, 00134 OMX_AUDIO_PCMModeVendorStartUnused = 0x7F000000, 00135 OMX_AUDIO_PCMModeMax = 0x7FFFFFFF 00136 } OMX_AUDIO_PCMMODETYPE; 00137 00138 00139 typedef enum OMX_AUDIO_CHANNELTYPE { 00140 OMX_AUDIO_ChannelNone = 0x0, 00141 OMX_AUDIO_ChannelLF = 0x1, 00142 OMX_AUDIO_ChannelRF = 0x2, 00143 OMX_AUDIO_ChannelCF = 0x3, 00144 OMX_AUDIO_ChannelLS = 0x4, 00145 OMX_AUDIO_ChannelRS = 0x5, 00146 OMX_AUDIO_ChannelLFE = 0x6, 00147 OMX_AUDIO_ChannelCS = 0x7, 00148 OMX_AUDIO_ChannelLR = 0x8, 00149 OMX_AUDIO_ChannelRR = 0x9, 00150 OMX_AUDIO_ChannelKhronosExtensions = 0x6F000000, 00151 OMX_AUDIO_ChannelVendorStartUnused = 0x7F000000, 00152 OMX_AUDIO_ChannelMax = 0x7FFFFFFF 00153 } OMX_AUDIO_CHANNELTYPE; 00154 00155 #define OMX_AUDIO_MAXCHANNELS 16 00156 #define OMX_MIN_PCMPAYLOAD_MSEC 5 00159 typedef struct OMX_AUDIO_PARAM_PCMMODETYPE { 00160 OMX_U32 nSize; 00161 OMX_VERSIONTYPE nVersion; 00162 OMX_U32 nPortIndex; 00163 OMX_U32 nChannels; 00164 OMX_NUMERICALDATATYPE eNumData; 00165 OMX_ENDIANTYPE eEndian; 00166 OMX_BOOL bInterleaved; 00168 OMX_U32 nBitPerSample; 00169 OMX_U32 nSamplingRate; 00171 OMX_AUDIO_PCMMODETYPE ePCMMode; 00172 OMX_AUDIO_CHANNELTYPE eChannelMapping[OMX_AUDIO_MAXCHANNELS]; 00174 } OMX_AUDIO_PARAM_PCMMODETYPE; 00175 00176 00180 typedef enum OMX_AUDIO_CHANNELMODETYPE { 00181 OMX_AUDIO_ChannelModeStereo = 0, 00183 OMX_AUDIO_ChannelModeJointStereo, 00185 OMX_AUDIO_ChannelModeDual, 00187 OMX_AUDIO_ChannelModeMono, 00188 OMX_AUDIO_ChannelModeKhronosExtensions = 0x6F000000, 00189 OMX_AUDIO_ChannelModeVendorStartUnused = 0x7F000000, 00190 OMX_AUDIO_ChannelModeMax = 0x7FFFFFFF 00191 } OMX_AUDIO_CHANNELMODETYPE; 00192 00193 00194 typedef enum OMX_AUDIO_MP3STREAMFORMATTYPE { 00195 OMX_AUDIO_MP3StreamFormatMP1Layer3 = 0, 00196 OMX_AUDIO_MP3StreamFormatMP2Layer3, 00197 OMX_AUDIO_MP3StreamFormatMP2_5Layer3, 00198 OMX_AUDIO_MP3StreamFormatKhronosExtensions = 0x6F000000, 00199 OMX_AUDIO_MP3StreamFormatVendorStartUnused = 0x7F000000, 00200 OMX_AUDIO_MP3StreamFormatMax = 0x7FFFFFFF 00201 } OMX_AUDIO_MP3STREAMFORMATTYPE; 00202 00204 typedef struct OMX_AUDIO_PARAM_MP3TYPE { 00205 OMX_U32 nSize; 00206 OMX_VERSIONTYPE nVersion; 00207 OMX_U32 nPortIndex; 00208 OMX_U32 nChannels; 00209 OMX_U32 nBitRate; 00211 OMX_U32 nSampleRate; 00213 OMX_U32 nAudioBandWidth; 00215 OMX_AUDIO_CHANNELMODETYPE eChannelMode; 00216 OMX_AUDIO_MP3STREAMFORMATTYPE eFormat; 00217 } OMX_AUDIO_PARAM_MP3TYPE; 00218 00219 00220 typedef enum OMX_AUDIO_AACSTREAMFORMATTYPE { 00221 OMX_AUDIO_AACStreamFormatMP2ADTS = 0, 00222 OMX_AUDIO_AACStreamFormatMP4ADTS, 00223 OMX_AUDIO_AACStreamFormatMP4LOAS, 00224 OMX_AUDIO_AACStreamFormatMP4LATM, 00225 OMX_AUDIO_AACStreamFormatADIF, 00226 OMX_AUDIO_AACStreamFormatMP4FF, 00227 OMX_AUDIO_AACStreamFormatRAW, 00228 OMX_AUDIO_AACStreamFormatKhronosExtensions = 0x6F000000, 00229 OMX_AUDIO_AACStreamFormatVendorStartUnused = 0x7F000000, 00230 OMX_AUDIO_AACStreamFormatMax = 0x7FFFFFFF 00231 } OMX_AUDIO_AACSTREAMFORMATTYPE; 00232 00233 00236 typedef enum OMX_AUDIO_AACPROFILETYPE{ 00237 OMX_AUDIO_AACObjectNull = 0, 00238 OMX_AUDIO_AACObjectMain = 1, 00239 OMX_AUDIO_AACObjectLC, 00240 OMX_AUDIO_AACObjectSSR, 00241 OMX_AUDIO_AACObjectLTP, 00242 OMX_AUDIO_AACObjectHE, 00243 OMX_AUDIO_AACObjectScalable, 00244 OMX_AUDIO_AACObjectERLC = 17, 00245 OMX_AUDIO_AACObjectLD = 23, 00246 OMX_AUDIO_AACObjectHE_PS = 29, 00247 OMX_AUDIO_AACObjectKhronosExtensions = 0x6F000000, 00248 OMX_AUDIO_AACObjectVendorStartUnused = 0x7F000000, 00249 OMX_AUDIO_AACObjectMax = 0x7FFFFFFF 00250 } OMX_AUDIO_AACPROFILETYPE; 00251 00252 00256 #define OMX_AUDIO_AACToolNone 0x00000000 00257 #define OMX_AUDIO_AACToolMS 0x00000001 00258 #define OMX_AUDIO_AACToolIS 0x00000002 00259 #define OMX_AUDIO_AACToolTNS 0x00000004 00260 #define OMX_AUDIO_AACToolPNS 0x00000008 00261 #define OMX_AUDIO_AACToolLTP 0x00000010 00262 #define OMX_AUDIO_AACToolAll 0x7FFFFFFF 00266 #define OMX_AUDIO_AACERNone 0x00000000 00267 #define OMX_AUDIO_AACERVCB11 0x00000001 00268 #define OMX_AUDIO_AACERRVLC 0x00000002 00269 #define OMX_AUDIO_AACERHCR 0x00000004 00270 #define OMX_AUDIO_AACERAll 0x7FFFFFFF 00274 typedef struct OMX_AUDIO_PARAM_AACPROFILETYPE { 00275 OMX_U32 nSize; 00276 OMX_VERSIONTYPE nVersion; 00277 OMX_U32 nPortIndex; 00278 OMX_U32 nChannels; 00279 OMX_U32 nSampleRate; 00281 OMX_U32 nBitRate; 00283 OMX_U32 nAudioBandWidth; 00285 OMX_U32 nFrameLength; 00288 OMX_U32 nAACtools; 00289 OMX_U32 nAACERtools; 00290 OMX_AUDIO_AACPROFILETYPE eAACProfile; 00291 OMX_AUDIO_AACSTREAMFORMATTYPE eAACStreamFormat; 00292 OMX_AUDIO_CHANNELMODETYPE eChannelMode; 00293 } OMX_AUDIO_PARAM_AACPROFILETYPE; 00294 00295 00297 typedef struct OMX_AUDIO_PARAM_VORBISTYPE { 00298 OMX_U32 nSize; 00299 OMX_VERSIONTYPE nVersion; 00300 OMX_U32 nPortIndex; 00301 OMX_U32 nChannels; 00302 OMX_U32 nBitRate; 00305 OMX_U32 nMinBitRate; 00306 OMX_U32 nMaxBitRate; 00308 OMX_U32 nSampleRate; 00310 OMX_U32 nAudioBandWidth; 00312 OMX_S32 nQuality; 00315 OMX_BOOL bManaged; 00320 OMX_BOOL bDownmix; 00322 } OMX_AUDIO_PARAM_VORBISTYPE; 00323 00324 00326 typedef enum OMX_AUDIO_WMAFORMATTYPE { 00327 OMX_AUDIO_WMAFormatUnused = 0, 00328 OMX_AUDIO_WMAFormat7, 00329 OMX_AUDIO_WMAFormat8, 00330 OMX_AUDIO_WMAFormat9, 00331 OMX_AUDIO_WMAFormatKhronosExtensions = 0x6F000000, 00332 OMX_AUDIO_WMAFormatVendorStartUnused = 0x7F000000, 00333 OMX_AUDIO_WMAFormatMax = 0x7FFFFFFF 00334 } OMX_AUDIO_WMAFORMATTYPE; 00335 00336 00338 typedef enum OMX_AUDIO_WMAPROFILETYPE { 00339 OMX_AUDIO_WMAProfileUnused = 0, 00340 OMX_AUDIO_WMAProfileL1, 00341 OMX_AUDIO_WMAProfileL2, 00342 OMX_AUDIO_WMAProfileL3, 00343 OMX_AUDIO_WMAProfileKhronosExtensions = 0x6F000000, 00344 OMX_AUDIO_WMAProfileVendorStartUnused = 0x7F000000, 00345 OMX_AUDIO_WMAProfileMax = 0x7FFFFFFF 00346 } OMX_AUDIO_WMAPROFILETYPE; 00347 00348 00350 typedef struct OMX_AUDIO_PARAM_WMATYPE { 00351 OMX_U32 nSize; 00352 OMX_VERSIONTYPE nVersion; 00353 OMX_U32 nPortIndex; 00354 OMX_U16 nChannels; 00355 OMX_U32 nBitRate; 00357 OMX_AUDIO_WMAFORMATTYPE eFormat; 00358 OMX_AUDIO_WMAPROFILETYPE eProfile; 00359 OMX_U32 nSamplingRate; 00360 OMX_U16 nBlockAlign; 00361 OMX_U16 nEncodeOptions; 00362 OMX_U32 nSuperBlockAlign; 00363 } OMX_AUDIO_PARAM_WMATYPE; 00364 00368 typedef enum OMX_AUDIO_RAFORMATTYPE { 00369 OMX_AUDIO_RAFormatUnused = 0, 00370 OMX_AUDIO_RA8, 00371 OMX_AUDIO_RA9, 00372 OMX_AUDIO_RA10_AAC, 00373 OMX_AUDIO_RA10_CODEC, 00374 OMX_AUDIO_RA10_LOSSLESS, 00375 OMX_AUDIO_RA10_MULTICHANNEL, 00376 OMX_AUDIO_RA10_VOICE, 00377 OMX_AUDIO_RAFormatKhronosExtensions = 0x6F000000, 00378 OMX_AUDIO_RAFormatVendorStartUnused = 0x7F000000, 00379 OMX_VIDEO_RAFormatMax = 0x7FFFFFFF 00380 } OMX_AUDIO_RAFORMATTYPE; 00381 00383 typedef struct OMX_AUDIO_PARAM_RATYPE { 00384 OMX_U32 nSize; 00385 OMX_VERSIONTYPE nVersion; 00386 OMX_U32 nPortIndex; 00387 OMX_U32 nChannels; 00388 OMX_U32 nSamplingRate; 00389 OMX_U32 nBitsPerFrame; 00390 OMX_U32 nSamplePerFrame; 00391 OMX_U32 nCouplingQuantBits; 00392 OMX_U32 nCouplingStartRegion; 00393 OMX_U32 nNumRegions; 00394 OMX_AUDIO_RAFORMATTYPE eFormat; 00395 } OMX_AUDIO_PARAM_RATYPE; 00396 00397 00399 typedef enum OMX_AUDIO_SBCALLOCMETHODTYPE { 00400 OMX_AUDIO_SBCAllocMethodLoudness, 00401 OMX_AUDIO_SBCAllocMethodSNR, 00402 OMX_AUDIO_SBCAllocMethodKhronosExtensions = 0x6F000000, 00403 OMX_AUDIO_SBCAllocMethodVendorStartUnused = 0x7F000000, 00404 OMX_AUDIO_SBCAllocMethodMax = 0x7FFFFFFF 00405 } OMX_AUDIO_SBCALLOCMETHODTYPE; 00406 00407 00409 typedef struct OMX_AUDIO_PARAM_SBCTYPE { 00410 OMX_U32 nSize; 00411 OMX_VERSIONTYPE nVersion; 00412 OMX_U32 nPortIndex; 00413 OMX_U32 nChannels; 00414 OMX_U32 nBitRate; 00416 OMX_U32 nSampleRate; 00418 OMX_U32 nBlocks; 00419 OMX_U32 nSubbands; 00420 OMX_U32 nBitPool; 00421 OMX_BOOL bEnableBitrate; 00422 OMX_AUDIO_CHANNELMODETYPE eChannelMode; 00423 OMX_AUDIO_SBCALLOCMETHODTYPE eSBCAllocType; 00424 } OMX_AUDIO_PARAM_SBCTYPE; 00425 00426 00428 typedef struct OMX_AUDIO_PARAM_ADPCMTYPE { 00429 OMX_U32 nSize; 00430 OMX_VERSIONTYPE nVersion; 00431 OMX_U32 nPortIndex; 00432 OMX_U32 nChannels; 00435 OMX_U32 nBitsPerSample; 00436 OMX_U32 nSampleRate; 00438 } OMX_AUDIO_PARAM_ADPCMTYPE; 00439 00440 00442 typedef enum OMX_AUDIO_G723RATE { 00443 OMX_AUDIO_G723ModeUnused = 0, 00444 OMX_AUDIO_G723ModeLow, 00445 OMX_AUDIO_G723ModeHigh, 00446 OMX_AUDIO_G723ModeKhronosExtensions = 0x6F000000, 00447 OMX_AUDIO_G723ModeVendorStartUnused = 0x7F000000, 00448 OMX_AUDIO_G723ModeMax = 0x7FFFFFFF 00449 } OMX_AUDIO_G723RATE; 00450 00451 00453 typedef struct OMX_AUDIO_PARAM_G723TYPE { 00454 OMX_U32 nSize; 00455 OMX_VERSIONTYPE nVersion; 00456 OMX_U32 nPortIndex; 00457 OMX_U32 nChannels; 00460 OMX_BOOL bDTX; 00461 OMX_AUDIO_G723RATE eBitRate; 00462 OMX_BOOL bHiPassFilter; 00463 OMX_BOOL bPostFilter; 00464 } OMX_AUDIO_PARAM_G723TYPE; 00465 00466 00468 typedef enum OMX_AUDIO_G726MODE { 00469 OMX_AUDIO_G726ModeUnused = 0, 00470 OMX_AUDIO_G726Mode16, 00471 OMX_AUDIO_G726Mode24, 00472 OMX_AUDIO_G726Mode32, 00473 OMX_AUDIO_G726Mode40, 00474 OMX_AUDIO_G726ModeKhronosExtensions = 0x6F000000, 00475 OMX_AUDIO_G726ModeVendorStartUnused = 0x7F000000, 00476 OMX_AUDIO_G726ModeMax = 0x7FFFFFFF 00477 } OMX_AUDIO_G726MODE; 00478 00479 00481 typedef struct OMX_AUDIO_PARAM_G726TYPE { 00482 OMX_U32 nSize; 00483 OMX_VERSIONTYPE nVersion; 00484 OMX_U32 nPortIndex; 00485 OMX_U32 nChannels; 00488 OMX_AUDIO_G726MODE eG726Mode; 00489 } OMX_AUDIO_PARAM_G726TYPE; 00490 00491 00493 typedef enum OMX_AUDIO_G729TYPE { 00494 OMX_AUDIO_G729 = 0, 00495 OMX_AUDIO_G729A, 00496 OMX_AUDIO_G729B, 00497 OMX_AUDIO_G729AB, 00498 OMX_AUDIO_G729KhronosExtensions = 0x6F000000, 00499 OMX_AUDIO_G729VendorStartUnused = 0x7F000000, 00500 OMX_AUDIO_G729Max = 0x7FFFFFFF 00501 } OMX_AUDIO_G729TYPE; 00502 00503 00505 typedef struct OMX_AUDIO_PARAM_G729TYPE { 00506 OMX_U32 nSize; 00507 OMX_VERSIONTYPE nVersion; 00508 OMX_U32 nPortIndex; 00509 OMX_U32 nChannels; 00512 OMX_BOOL bDTX; 00513 OMX_AUDIO_G729TYPE eBitType; 00514 } OMX_AUDIO_PARAM_G729TYPE; 00515 00516 00518 typedef enum OMX_AUDIO_AMRFRAMEFORMATTYPE { 00519 OMX_AUDIO_AMRFrameFormatConformance = 0, 00521 OMX_AUDIO_AMRFrameFormatIF1, 00523 OMX_AUDIO_AMRFrameFormatIF2, 00525 OMX_AUDIO_AMRFrameFormatFSF, 00527 OMX_AUDIO_AMRFrameFormatRTPPayload, 00529 OMX_AUDIO_AMRFrameFormatITU, 00530 OMX_AUDIO_AMRFrameFormatKhronosExtensions = 0x6F000000, 00531 OMX_AUDIO_AMRFrameFormatVendorStartUnused = 0x7F000000, 00532 OMX_AUDIO_AMRFrameFormatMax = 0x7FFFFFFF 00533 } OMX_AUDIO_AMRFRAMEFORMATTYPE; 00534 00535 00537 typedef enum OMX_AUDIO_AMRBANDMODETYPE { 00538 OMX_AUDIO_AMRBandModeUnused = 0, 00539 OMX_AUDIO_AMRBandModeNB0, 00540 OMX_AUDIO_AMRBandModeNB1, 00541 OMX_AUDIO_AMRBandModeNB2, 00542 OMX_AUDIO_AMRBandModeNB3, 00543 OMX_AUDIO_AMRBandModeNB4, 00544 OMX_AUDIO_AMRBandModeNB5, 00545 OMX_AUDIO_AMRBandModeNB6, 00546 OMX_AUDIO_AMRBandModeNB7, 00547 OMX_AUDIO_AMRBandModeWB0, 00548 OMX_AUDIO_AMRBandModeWB1, 00549 OMX_AUDIO_AMRBandModeWB2, 00550 OMX_AUDIO_AMRBandModeWB3, 00551 OMX_AUDIO_AMRBandModeWB4, 00552 OMX_AUDIO_AMRBandModeWB5, 00553 OMX_AUDIO_AMRBandModeWB6, 00554 OMX_AUDIO_AMRBandModeWB7, 00555 OMX_AUDIO_AMRBandModeWB8, 00556 OMX_AUDIO_AMRBandModeKhronosExtensions = 0x6F000000, 00557 OMX_AUDIO_AMRBandModeVendorStartUnused = 0x7F000000, 00558 OMX_AUDIO_AMRBandModeMax = 0x7FFFFFFF 00559 } OMX_AUDIO_AMRBANDMODETYPE; 00560 00561 00563 typedef enum OMX_AUDIO_AMRDTXMODETYPE { 00564 OMX_AUDIO_AMRDTXModeOff = 0, 00565 OMX_AUDIO_AMRDTXModeOnVAD1, 00567 OMX_AUDIO_AMRDTXModeOnVAD2, 00569 OMX_AUDIO_AMRDTXModeOnAuto, 00572 OMX_AUDIO_AMRDTXasEFR, 00574 OMX_AUDIO_AMRDTXModeKhronosExtensions = 0x6F000000, 00575 OMX_AUDIO_AMRDTXModeVendorStartUnused = 0x7F000000, 00576 OMX_AUDIO_AMRDTXModeMax = 0x7FFFFFFF 00577 } OMX_AUDIO_AMRDTXMODETYPE; 00578 00579 00581 typedef struct OMX_AUDIO_PARAM_AMRTYPE { 00582 OMX_U32 nSize; 00583 OMX_VERSIONTYPE nVersion; 00584 OMX_U32 nPortIndex; 00585 OMX_U32 nChannels; 00586 OMX_U32 nBitRate; 00587 OMX_AUDIO_AMRBANDMODETYPE eAMRBandMode; 00588 OMX_AUDIO_AMRDTXMODETYPE eAMRDTXMode; 00589 OMX_AUDIO_AMRFRAMEFORMATTYPE eAMRFrameFormat; 00590 } OMX_AUDIO_PARAM_AMRTYPE; 00591 00592 00594 typedef struct OMX_AUDIO_PARAM_GSMFRTYPE { 00595 OMX_U32 nSize; 00596 OMX_VERSIONTYPE nVersion; 00597 OMX_U32 nPortIndex; 00598 OMX_BOOL bDTX; 00599 OMX_BOOL bHiPassFilter; 00600 } OMX_AUDIO_PARAM_GSMFRTYPE; 00601 00602 00604 typedef struct OMX_AUDIO_PARAM_GSMHRTYPE { 00605 OMX_U32 nSize; 00606 OMX_VERSIONTYPE nVersion; 00607 OMX_U32 nPortIndex; 00608 OMX_BOOL bDTX; 00609 OMX_BOOL bHiPassFilter; 00610 } OMX_AUDIO_PARAM_GSMHRTYPE; 00611 00612 00614 typedef struct OMX_AUDIO_PARAM_GSMEFRTYPE { 00615 OMX_U32 nSize; 00616 OMX_VERSIONTYPE nVersion; 00617 OMX_U32 nPortIndex; 00618 OMX_BOOL bDTX; 00619 OMX_BOOL bHiPassFilter; 00620 } OMX_AUDIO_PARAM_GSMEFRTYPE; 00621 00622 00624 typedef struct OMX_AUDIO_PARAM_TDMAFRTYPE { 00625 OMX_U32 nSize; 00626 OMX_VERSIONTYPE nVersion; 00627 OMX_U32 nPortIndex; 00628 OMX_U32 nChannels; 00631 OMX_BOOL bDTX; 00632 OMX_BOOL bHiPassFilter; 00633 } OMX_AUDIO_PARAM_TDMAFRTYPE; 00634 00635 00637 typedef struct OMX_AUDIO_PARAM_TDMAEFRTYPE { 00638 OMX_U32 nSize; 00639 OMX_VERSIONTYPE nVersion; 00640 OMX_U32 nPortIndex; 00641 OMX_U32 nChannels; 00644 OMX_BOOL bDTX; 00645 OMX_BOOL bHiPassFilter; 00646 } OMX_AUDIO_PARAM_TDMAEFRTYPE; 00647 00648 00650 typedef struct OMX_AUDIO_PARAM_PDCFRTYPE { 00651 OMX_U32 nSize; 00652 OMX_VERSIONTYPE nVersion; 00653 OMX_U32 nPortIndex; 00654 OMX_U32 nChannels; 00657 OMX_BOOL bDTX; 00658 OMX_BOOL bHiPassFilter; 00659 } OMX_AUDIO_PARAM_PDCFRTYPE; 00660 00661 00663 typedef struct OMX_AUDIO_PARAM_PDCEFRTYPE { 00664 OMX_U32 nSize; 00665 OMX_VERSIONTYPE nVersion; 00666 OMX_U32 nPortIndex; 00667 OMX_U32 nChannels; 00670 OMX_BOOL bDTX; 00671 OMX_BOOL bHiPassFilter; 00672 } OMX_AUDIO_PARAM_PDCEFRTYPE; 00673 00675 typedef struct OMX_AUDIO_PARAM_PDCHRTYPE { 00676 OMX_U32 nSize; 00677 OMX_VERSIONTYPE nVersion; 00678 OMX_U32 nPortIndex; 00679 OMX_U32 nChannels; 00682 OMX_BOOL bDTX; 00683 OMX_BOOL bHiPassFilter; 00684 } OMX_AUDIO_PARAM_PDCHRTYPE; 00685 00686 00688 typedef enum OMX_AUDIO_CDMARATETYPE { 00689 OMX_AUDIO_CDMARateBlank = 0, 00690 OMX_AUDIO_CDMARateFull, 00691 OMX_AUDIO_CDMARateHalf, 00692 OMX_AUDIO_CDMARateQuarter, 00693 OMX_AUDIO_CDMARateEighth, 00694 OMX_AUDIO_CDMARateErasure, 00695 OMX_AUDIO_CDMARateKhronosExtensions = 0x6F000000, 00696 OMX_AUDIO_CDMARateVendorStartUnused = 0x7F000000, 00697 OMX_AUDIO_CDMARateMax = 0x7FFFFFFF 00698 } OMX_AUDIO_CDMARATETYPE; 00699 00700 00702 typedef struct OMX_AUDIO_PARAM_QCELP8TYPE { 00703 OMX_U32 nSize; 00704 OMX_VERSIONTYPE nVersion; 00705 OMX_U32 nPortIndex; 00706 OMX_U32 nChannels; 00709 OMX_U32 nBitRate; 00711 OMX_AUDIO_CDMARATETYPE eCDMARate; 00712 OMX_U32 nMinBitRate; 00713 OMX_U32 nMaxBitRate; 00714 } OMX_AUDIO_PARAM_QCELP8TYPE; 00715 00716 00718 typedef struct OMX_AUDIO_PARAM_QCELP13TYPE { 00719 OMX_U32 nSize; 00720 OMX_VERSIONTYPE nVersion; 00721 OMX_U32 nPortIndex; 00722 OMX_U32 nChannels; 00725 OMX_AUDIO_CDMARATETYPE eCDMARate; 00726 OMX_U32 nMinBitRate; 00727 OMX_U32 nMaxBitRate; 00728 } OMX_AUDIO_PARAM_QCELP13TYPE; 00729 00730 00732 typedef struct OMX_AUDIO_PARAM_EVRCTYPE { 00733 OMX_U32 nSize; 00734 OMX_VERSIONTYPE nVersion; 00735 OMX_U32 nPortIndex; 00736 OMX_U32 nChannels; 00739 OMX_AUDIO_CDMARATETYPE eCDMARate; 00740 OMX_BOOL bRATE_REDUCon; 00741 OMX_U32 nMinBitRate; 00742 OMX_U32 nMaxBitRate; 00743 OMX_BOOL bHiPassFilter; 00744 OMX_BOOL bNoiseSuppressor; 00745 OMX_BOOL bPostFilter; 00746 } OMX_AUDIO_PARAM_EVRCTYPE; 00747 00748 00750 typedef struct OMX_AUDIO_PARAM_SMVTYPE { 00751 OMX_U32 nSize; 00752 OMX_VERSIONTYPE nVersion; 00753 OMX_U32 nPortIndex; 00754 OMX_U32 nChannels; 00757 OMX_AUDIO_CDMARATETYPE eCDMARate; 00758 OMX_BOOL bRATE_REDUCon; 00759 OMX_U32 nMinBitRate; 00760 OMX_U32 nMaxBitRate; 00761 OMX_BOOL bHiPassFilter; 00762 OMX_BOOL bNoiseSuppressor; 00763 OMX_BOOL bPostFilter; 00764 } OMX_AUDIO_PARAM_SMVTYPE; 00765 00766 00770 typedef enum OMX_AUDIO_MIDIFORMATTYPE 00771 { 00772 OMX_AUDIO_MIDIFormatUnknown = 0, 00773 OMX_AUDIO_MIDIFormatSMF0, 00774 OMX_AUDIO_MIDIFormatSMF1, 00775 OMX_AUDIO_MIDIFormatSMF2, 00776 OMX_AUDIO_MIDIFormatSPMIDI, 00777 OMX_AUDIO_MIDIFormatXMF0, 00778 OMX_AUDIO_MIDIFormatXMF1, 00779 OMX_AUDIO_MIDIFormatMobileXMF, 00780 OMX_AUDIO_MIDIFormatKhronosExtensions = 0x6F000000, 00781 OMX_AUDIO_MIDIFormatVendorStartUnused = 0x7F000000, 00782 OMX_AUDIO_MIDIFormatMax = 0x7FFFFFFF 00783 } OMX_AUDIO_MIDIFORMATTYPE; 00784 00785 00789 typedef struct OMX_AUDIO_PARAM_MIDITYPE { 00790 OMX_U32 nSize; 00791 OMX_VERSIONTYPE nVersion; 00792 OMX_U32 nPortIndex; 00793 OMX_U32 nFileSize; 00797 OMX_BU32 sMaxPolyphony; 00800 OMX_BOOL bLoadDefaultSound; 00802 OMX_AUDIO_MIDIFORMATTYPE eMidiFormat; 00803 } OMX_AUDIO_PARAM_MIDITYPE; 00804 00805 00809 typedef enum OMX_AUDIO_MIDISOUNDBANKTYPE { 00810 OMX_AUDIO_MIDISoundBankUnused = 0, 00811 OMX_AUDIO_MIDISoundBankDLS1, 00812 OMX_AUDIO_MIDISoundBankDLS2, 00813 OMX_AUDIO_MIDISoundBankMobileDLSBase, 00814 OMX_AUDIO_MIDISoundBankMobileDLSPlusOptions, 00815 OMX_AUDIO_MIDISoundBankKhronosExtensions = 0x6F000000, 00816 OMX_AUDIO_MIDISoundBankVendorStartUnused = 0x7F000000, 00817 OMX_AUDIO_MIDISoundBankMax = 0x7FFFFFFF 00818 } OMX_AUDIO_MIDISOUNDBANKTYPE; 00819 00820 00824 typedef enum OMX_AUDIO_MIDISOUNDBANKLAYOUTTYPE { 00825 OMX_AUDIO_MIDISoundBankLayoutUnused = 0, 00826 OMX_AUDIO_MIDISoundBankLayoutGM, 00827 OMX_AUDIO_MIDISoundBankLayoutGM2, 00828 OMX_AUDIO_MIDISoundBankLayoutUser, 00829 OMX_AUDIO_MIDISoundBankLayoutKhronosExtensions = 0x6F000000, 00830 OMX_AUDIO_MIDISoundBankLayoutVendorStartUnused = 0x7F000000, 00831 OMX_AUDIO_MIDISoundBankLayoutMax = 0x7FFFFFFF 00832 } OMX_AUDIO_MIDISOUNDBANKLAYOUTTYPE; 00833 00834 00838 typedef struct OMX_AUDIO_PARAM_MIDILOADUSERSOUNDTYPE { 00839 OMX_U32 nSize; 00840 OMX_VERSIONTYPE nVersion; 00841 OMX_U32 nPortIndex; 00842 OMX_U32 nDLSIndex; 00843 OMX_U32 nDLSSize; 00844 OMX_PTR pDLSData; 00845 OMX_AUDIO_MIDISOUNDBANKTYPE eMidiSoundBank; 00846 OMX_AUDIO_MIDISOUNDBANKLAYOUTTYPE eMidiSoundBankLayout; 00847 } OMX_AUDIO_PARAM_MIDILOADUSERSOUNDTYPE; 00848 00849 00854 typedef struct OMX_AUDIO_CONFIG_MIDIIMMEDIATEEVENTTYPE { 00855 OMX_U32 nSize; 00856 OMX_VERSIONTYPE nVersion; 00857 OMX_U32 nPortIndex; 00858 OMX_U32 nMidiEventSize; 00859 OMX_U8 nMidiEvents[1]; 00862 } OMX_AUDIO_CONFIG_MIDIIMMEDIATEEVENTTYPE; 00863 00864 00868 typedef struct OMX_AUDIO_CONFIG_MIDISOUNDBANKPROGRAMTYPE { 00869 OMX_U32 nSize; 00870 OMX_VERSIONTYPE nVersion; 00871 OMX_U32 nPortIndex; 00872 OMX_U32 nChannel; 00873 OMX_U16 nIDProgram; 00874 OMX_U16 nIDSoundBank; 00875 OMX_U32 nUserSoundBankIndex; 00877 } OMX_AUDIO_CONFIG_MIDISOUNDBANKPROGRAMTYPE; 00878 00879 00883 typedef struct OMX_AUDIO_CONFIG_MIDICONTROLTYPE { 00884 OMX_U32 nSize; 00885 OMX_VERSIONTYPE nVersion; 00886 OMX_U32 nPortIndex; 00887 OMX_BS32 sPitchTransposition; 00889 OMX_BU32 sPlayBackRate; 00891 OMX_BU32 sTempo ; 00893 OMX_U32 nMaxPolyphony; 00896 OMX_U32 nNumRepeat; 00897 OMX_U32 nStopTime; 00899 OMX_U16 nChannelMuteMask; 00900 OMX_U16 nChannelSoloMask; 00901 OMX_U32 nTrack0031MuteMask; 00902 OMX_U32 nTrack3263MuteMask; 00903 OMX_U32 nTrack0031SoloMask; 00904 OMX_U32 nTrack3263SoloMask; 00906 } OMX_AUDIO_CONFIG_MIDICONTROLTYPE; 00907 00908 00912 typedef enum OMX_AUDIO_MIDIPLAYBACKSTATETYPE { 00913 OMX_AUDIO_MIDIPlayBackStateUnknown = 0, 00915 OMX_AUDIO_MIDIPlayBackStateClosedEngaged, 00918 OMX_AUDIO_MIDIPlayBackStateParsing, 00921 OMX_AUDIO_MIDIPlayBackStateOpenEngaged, 00929 OMX_AUDIO_MIDIPlayBackStatePlaying, 00932 OMX_AUDIO_MIDIPlayBackStatePlayingPartially, 00934 OMX_AUDIO_MIDIPlayBackStatePlayingSilently, 00939 OMX_AUDIO_MIDIPlayBackStateKhronosExtensions = 0x6F000000, 00940 OMX_AUDIO_MIDIPlayBackStateVendorStartUnused = 0x7F000000, 00941 OMX_AUDIO_MIDIPlayBackStateMax = 0x7FFFFFFF 00942 } OMX_AUDIO_MIDIPLAYBACKSTATETYPE; 00943 00944 00948 typedef struct OMX_AUDIO_CONFIG_MIDISTATUSTYPE { 00949 OMX_U32 nSize; 00950 OMX_VERSIONTYPE nVersion; 00951 OMX_U32 nPortIndex; 00952 OMX_U16 nNumTracks; 00955 OMX_U32 nDuration; 00958 OMX_U32 nPosition; 00960 OMX_BOOL bVibra; 00962 OMX_U32 nNumMetaEvents; 00965 OMX_U32 nNumActiveVoices; 00968 OMX_AUDIO_MIDIPLAYBACKSTATETYPE eMIDIPlayBackState; 00969 } OMX_AUDIO_CONFIG_MIDISTATUSTYPE; 00970 00971 00981 typedef struct OMX_AUDIO_CONFIG_MIDIMETAEVENTTYPE{ 00982 OMX_U32 nSize; 00983 OMX_VERSIONTYPE nVersion; 00984 OMX_U32 nPortIndex; 00985 OMX_U32 nIndex; 00986 OMX_U8 nMetaEventType; 00987 OMX_U32 nMetaEventSize; 00988 OMX_U32 nTrack; 00989 OMX_U32 nPosition; 00990 } OMX_AUDIO_CONFIG_MIDIMETAEVENTTYPE; 00991 00992 00996 typedef struct OMX_AUDIO_CONFIG_MIDIMETAEVENTDATATYPE{ 00997 OMX_U32 nSize; 00998 OMX_VERSIONTYPE nVersion; 00999 OMX_U32 nPortIndex; 01000 OMX_U32 nIndex; 01001 OMX_U32 nMetaEventSize; 01002 OMX_U8 nData[1]; 01004 } OMX_AUDIO_CONFIG__MIDIMETAEVENTDATATYPE; 01005 01006 01008 typedef struct OMX_AUDIO_CONFIG_VOLUMETYPE { 01009 OMX_U32 nSize; 01010 OMX_VERSIONTYPE nVersion; 01011 OMX_U32 nPortIndex; 01016 OMX_BOOL bLinear; 01018 OMX_BS32 sVolume; 01033 } OMX_AUDIO_CONFIG_VOLUMETYPE; 01034 01035 01037 typedef struct OMX_AUDIO_CONFIG_CHANNELVOLUMETYPE { 01038 OMX_U32 nSize; 01039 OMX_VERSIONTYPE nVersion; 01040 OMX_U32 nPortIndex; 01045 OMX_U32 nChannel; 01048 OMX_BOOL bLinear; 01050 OMX_BS32 sVolume; 01066 OMX_BOOL bIsMIDI; 01068 } OMX_AUDIO_CONFIG_CHANNELVOLUMETYPE; 01069 01070 01072 typedef struct OMX_AUDIO_CONFIG_BALANCETYPE { 01073 OMX_U32 nSize; 01074 OMX_VERSIONTYPE nVersion; 01075 OMX_U32 nPortIndex; 01080 OMX_S32 nBalance; 01083 } OMX_AUDIO_CONFIG_BALANCETYPE; 01084 01085 01087 typedef struct OMX_AUDIO_CONFIG_MUTETYPE { 01088 OMX_U32 nSize; 01089 OMX_VERSIONTYPE nVersion; 01090 OMX_U32 nPortIndex; 01095 OMX_BOOL bMute; 01096 } OMX_AUDIO_CONFIG_MUTETYPE; 01097 01098 01100 typedef struct OMX_AUDIO_CONFIG_CHANNELMUTETYPE { 01101 OMX_U32 nSize; 01102 OMX_VERSIONTYPE nVersion; 01103 OMX_U32 nPortIndex; 01104 OMX_U32 nChannel; 01107 OMX_BOOL bMute; 01108 OMX_BOOL bIsMIDI; 01110 } OMX_AUDIO_CONFIG_CHANNELMUTETYPE; 01111 01112 01113 01118 typedef struct OMX_AUDIO_CONFIG_LOUDNESSTYPE { 01119 OMX_U32 nSize; 01120 OMX_VERSIONTYPE nVersion; 01121 OMX_U32 nPortIndex; 01122 OMX_BOOL bLoudness; 01123 } OMX_AUDIO_CONFIG_LOUDNESSTYPE; 01124 01125 01128 typedef struct OMX_AUDIO_CONFIG_BASSTYPE { 01129 OMX_U32 nSize; 01130 OMX_VERSIONTYPE nVersion; 01131 OMX_U32 nPortIndex; 01132 OMX_BOOL bEnable; 01133 OMX_S32 nBass; 01136 } OMX_AUDIO_CONFIG_BASSTYPE; 01137 01138 01141 typedef struct OMX_AUDIO_CONFIG_TREBLETYPE { 01142 OMX_U32 nSize; 01143 OMX_VERSIONTYPE nVersion; 01144 OMX_U32 nPortIndex; 01145 OMX_BOOL bEnable; 01146 OMX_S32 nTreble; 01149 } OMX_AUDIO_CONFIG_TREBLETYPE; 01150 01151 01158 typedef struct OMX_AUDIO_CONFIG_EQUALIZERTYPE { 01159 OMX_U32 nSize; 01160 OMX_VERSIONTYPE nVersion; 01161 OMX_U32 nPortIndex; 01162 OMX_BOOL bEnable; 01163 OMX_BU32 sBandIndex; 01165 OMX_BU32 sCenterFreq; 01169 OMX_BS32 sBandLevel; 01170 } OMX_AUDIO_CONFIG_EQUALIZERTYPE; 01171 01172 01176 typedef enum OMX_AUDIO_STEREOWIDENINGTYPE { 01177 OMX_AUDIO_StereoWideningHeadphones, 01178 OMX_AUDIO_StereoWideningLoudspeakers, 01179 OMX_AUDIO_StereoWideningKhronosExtensions = 0x6F000000, 01180 OMX_AUDIO_StereoWideningVendorStartUnused = 0x7F000000, 01181 OMX_AUDIO_StereoWideningMax = 0x7FFFFFFF 01182 } OMX_AUDIO_STEREOWIDENINGTYPE; 01183 01184 01190 typedef struct OMX_AUDIO_CONFIG_STEREOWIDENINGTYPE { 01191 OMX_U32 nSize; 01192 OMX_VERSIONTYPE nVersion; 01193 OMX_U32 nPortIndex; 01194 OMX_BOOL bEnable; 01195 OMX_AUDIO_STEREOWIDENINGTYPE eWideningType; 01196 OMX_U32 nStereoWidening; 01198 } OMX_AUDIO_CONFIG_STEREOWIDENINGTYPE; 01199 01200 01209 typedef struct OMX_AUDIO_CONFIG_CHORUSTYPE { 01210 OMX_U32 nSize; 01211 OMX_VERSIONTYPE nVersion; 01212 OMX_U32 nPortIndex; 01213 OMX_BOOL bEnable; 01214 OMX_BU32 sDelay; 01215 OMX_BU32 sModulationRate; 01216 OMX_U32 nModulationDepth; 01218 OMX_BU32 nFeedback; 01219 } OMX_AUDIO_CONFIG_CHORUSTYPE; 01220 01221 01228 typedef struct OMX_AUDIO_CONFIG_REVERBERATIONTYPE { 01229 OMX_U32 nSize; 01230 OMX_VERSIONTYPE nVersion; 01231 OMX_U32 nPortIndex; 01232 OMX_BOOL bEnable; 01233 OMX_BS32 sRoomLevel; 01236 OMX_BS32 sRoomHighFreqLevel; 01239 OMX_BS32 sReflectionsLevel; 01241 OMX_BU32 sReflectionsDelay; 01243 OMX_BS32 sReverbLevel; 01245 OMX_BU32 sReverbDelay; 01248 OMX_BU32 sDecayTime; 01250 OMX_BU32 nDecayHighFreqRatio; 01252 OMX_U32 nDensity; 01254 OMX_U32 nDiffusion; 01256 OMX_BU32 sReferenceHighFreq; 01260 } OMX_AUDIO_CONFIG_REVERBERATIONTYPE; 01261 01262 01266 typedef enum OMX_AUDIO_ECHOCANTYPE { 01267 OMX_AUDIO_EchoCanOff = 0, 01268 OMX_AUDIO_EchoCanNormal, 01270 OMX_AUDIO_EchoCanHFree, 01272 OMX_AUDIO_EchoCanCarKit, 01274 OMX_AUDIO_EchoCanKhronosExtensions = 0x6F000000, 01275 OMX_AUDIO_EchoCanVendorStartUnused = 0x7F000000, 01276 OMX_AUDIO_EchoCanMax = 0x7FFFFFFF 01277 } OMX_AUDIO_ECHOCANTYPE; 01278 01279 01284 typedef struct OMX_AUDIO_CONFIG_ECHOCANCELATIONTYPE { 01285 OMX_U32 nSize; 01286 OMX_VERSIONTYPE nVersion; 01287 OMX_U32 nPortIndex; 01288 OMX_AUDIO_ECHOCANTYPE eEchoCancelation; 01289 } OMX_AUDIO_CONFIG_ECHOCANCELATIONTYPE; 01290 01291 01296 typedef struct OMX_AUDIO_CONFIG_NOISEREDUCTIONTYPE { 01297 OMX_U32 nSize; 01298 OMX_VERSIONTYPE nVersion; 01299 OMX_U32 nPortIndex; 01300 OMX_BOOL bNoiseReduction; 01301 } OMX_AUDIO_CONFIG_NOISEREDUCTIONTYPE; 01302 01305 #ifdef __cplusplus 01306 } 01307 #endif /* __cplusplus */ 01308 01309 #endif 01310 /* File EOF */ 01311