00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00029 #ifndef OMX_Audio_h
00030 #define OMX_Audio_h
00031
00032 #ifdef __cplusplus
00033 extern "C" {
00034 #endif
00035
00036
00037
00038
00039
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_CodingMax = 0x7FFFFFFF
00093 } OMX_AUDIO_CODINGTYPE;
00094
00095
00102 typedef struct OMX_AUDIO_PORTDEFINITIONTYPE {
00103 OMX_STRING cMIMEType;
00104 OMX_NATIVE_DEVICETYPE pNativeRender;
00107 OMX_BOOL bFlagErrorConcealment;
00109 OMX_AUDIO_CODINGTYPE eEncoding;
00111 } OMX_AUDIO_PORTDEFINITIONTYPE;
00112
00113
00117 typedef struct OMX_AUDIO_PARAM_PORTFORMATTYPE {
00118 OMX_U32 nSize;
00119 OMX_VERSIONTYPE nVersion;
00120 OMX_U32 nPortIndex;
00121 OMX_U32 nIndex;
00122 OMX_AUDIO_CODINGTYPE eEncoding;
00123 } OMX_AUDIO_PARAM_PORTFORMATTYPE;
00124
00125
00127 typedef enum OMX_AUDIO_PCMMODETYPE {
00128 OMX_AUDIO_PCMModeLinear = 0,
00129 OMX_AUDIO_PCMModeALaw,
00130 OMX_AUDIO_PCMModeMULaw,
00131 OMX_AUDIO_PCMModeMax = 0x7FFFFFFF
00132 } OMX_AUDIO_PCMMODETYPE;
00133
00134
00135 typedef enum OMX_AUDIO_CHANNELTYPE {
00136 OMX_AUDIO_ChannelNone = 0x0,
00137 OMX_AUDIO_ChannelLF = 0x1,
00138 OMX_AUDIO_ChannelRF = 0x2,
00139 OMX_AUDIO_ChannelCF = 0x3,
00140 OMX_AUDIO_ChannelLS = 0x4,
00141 OMX_AUDIO_ChannelRS = 0x5,
00142 OMX_AUDIO_ChannelLFE = 0x6,
00143 OMX_AUDIO_ChannelCS = 0x7,
00144 OMX_AUDIO_ChannelLR = 0x8,
00145 OMX_AUDIO_ChannelRR = 0x9,
00146 OMX_AUDIO_ChannelMax = 0x7FFFFFFF
00147 } OMX_AUDIO_CHANNELTYPE;
00148
00149 #define OMX_AUDIO_MAXCHANNELS 16
00150 #define OMX_MIN_PCMPAYLOAD_MSEC 5
00153 typedef struct OMX_AUDIO_PARAM_PCMMODETYPE {
00154 OMX_U32 nSize;
00155 OMX_VERSIONTYPE nVersion;
00156 OMX_U32 nPortIndex;
00157 OMX_U32 nChannels;
00158 OMX_NUMERICALDATATYPE eNumData;
00159 OMX_ENDIANTYPE eEndian;
00160 OMX_BOOL bInterleaved;
00162 OMX_U32 nBitPerSample;
00163 OMX_U32 nSamplingRate;
00165 OMX_AUDIO_PCMMODETYPE ePCMMode;
00166 OMX_AUDIO_CHANNELTYPE eChannelMapping[OMX_AUDIO_MAXCHANNELS];
00168 } OMX_AUDIO_PARAM_PCMMODETYPE;
00169
00170
00174 typedef enum OMX_AUDIO_CHANNELMODETYPE {
00175 OMX_AUDIO_ChannelModeStereo = 0,
00177 OMX_AUDIO_ChannelModeJointStereo,
00179 OMX_AUDIO_ChannelModeDual,
00181 OMX_AUDIO_ChannelModeMono,
00182 OMX_AUDIO_ChannelModeMax = 0x7FFFFFFF
00183 } OMX_AUDIO_CHANNELMODETYPE;
00184
00185
00186 typedef enum OMX_AUDIO_MP3STREAMFORMATTYPE {
00187 OMX_AUDIO_MP3StreamFormatMP1Layer3 = 0,
00188 OMX_AUDIO_MP3StreamFormatMP2Layer3,
00189 OMX_AUDIO_MP3StreamFormatMP2_5Layer3,
00190 OMX_AUDIO_MP3StreamFormatMax = 0x7FFFFFFF
00191 } OMX_AUDIO_MP3STREAMFORMATTYPE;
00192
00194 typedef struct OMX_AUDIO_PARAM_MP3TYPE {
00195 OMX_U32 nSize;
00196 OMX_VERSIONTYPE nVersion;
00197 OMX_U32 nPortIndex;
00198 OMX_U32 nChannels;
00199 OMX_U32 nBitRate;
00201 OMX_U32 nSampleRate;
00203 OMX_U32 nAudioBandWidth;
00205 OMX_AUDIO_CHANNELMODETYPE eChannelMode;
00206 OMX_AUDIO_MP3STREAMFORMATTYPE eFormat;
00207 } OMX_AUDIO_PARAM_MP3TYPE;
00208
00209
00210 typedef enum OMX_AUDIO_AACSTREAMFORMATTYPE {
00211 OMX_AUDIO_AACStreamFormatMP2ADTS = 0,
00212 OMX_AUDIO_AACStreamFormatMP4ADTS,
00213 OMX_AUDIO_AACStreamFormatMP4LOAS,
00214 OMX_AUDIO_AACStreamFormatMP4LATM,
00215 OMX_AUDIO_AACStreamFormatADIF,
00216 OMX_AUDIO_AACStreamFormatMP4FF,
00217 OMX_AUDIO_AACStreamFormatRAW,
00218 OMX_AUDIO_AACStreamFormatMax = 0x7FFFFFFF
00219 } OMX_AUDIO_AACSTREAMFORMATTYPE;
00220
00221
00224 typedef enum OMX_AUDIO_AACPROFILETYPE{
00225 OMX_AUDIO_AACObjectNull = 0,
00226 OMX_AUDIO_AACObjectMain = 1,
00227 OMX_AUDIO_AACObjectLC,
00228 OMX_AUDIO_AACObjectSSR,
00229 OMX_AUDIO_AACObjectLTP,
00230 OMX_AUDIO_AACObjectHE,
00231 OMX_AUDIO_AACObjectScalable,
00232 OMX_AUDIO_AACObjectERLC = 17,
00233 OMX_AUDIO_AACObjectLD = 23,
00234 OMX_AUDIO_AACObjectHE_PS = 29,
00235 OMX_AUDIO_AACObjectMax = 0x7FFFFFFF
00236 } OMX_AUDIO_AACPROFILETYPE;
00237
00238
00242 #define OMX_AUDIO_AACToolNone 0x00000000
00243 #define OMX_AUDIO_AACToolMS 0x00000001
00244 #define OMX_AUDIO_AACToolIS 0x00000002
00245 #define OMX_AUDIO_AACToolTNS 0x00000004
00246 #define OMX_AUDIO_AACToolPNS 0x00000008
00247 #define OMX_AUDIO_AACToolLTP 0x00000010
00248 #define OMX_AUDIO_AACToolAll 0x7FFFFFFF
00252 #define OMX_AUDIO_AACERNone 0x00000000
00253 #define OMX_AUDIO_AACERVCB11 0x00000001
00254 #define OMX_AUDIO_AACERRVLC 0x00000002
00255 #define OMX_AUDIO_AACERHCR 0x00000004
00256 #define OMX_AUDIO_AACERAll 0x7FFFFFFF
00260 typedef struct OMX_AUDIO_PARAM_AACPROFILETYPE {
00261 OMX_U32 nSize;
00262 OMX_VERSIONTYPE nVersion;
00263 OMX_U32 nPortIndex;
00264 OMX_U32 nChannels;
00265 OMX_U32 nSampleRate;
00267 OMX_U32 nBitRate;
00269 OMX_U32 nAudioBandWidth;
00271 OMX_U32 nFrameLength;
00274 OMX_U32 nAACtools;
00275 OMX_U32 nAACERtools;
00276 OMX_AUDIO_AACPROFILETYPE eAACProfile;
00277 OMX_AUDIO_AACSTREAMFORMATTYPE eAACStreamFormat;
00278 OMX_AUDIO_CHANNELMODETYPE eChannelMode;
00279 } OMX_AUDIO_PARAM_AACPROFILETYPE;
00280
00281
00283 typedef struct OMX_AUDIO_PARAM_VORBISTYPE {
00284 OMX_U32 nSize;
00285 OMX_VERSIONTYPE nVersion;
00286 OMX_U32 nPortIndex;
00287 OMX_U32 nChannels;
00288 OMX_U32 nBitRate;
00291 OMX_U32 nMinBitRate;
00292 OMX_U32 nMaxBitRate;
00294 OMX_U32 nSampleRate;
00296 OMX_U32 nAudioBandWidth;
00298 OMX_S32 nQuality;
00301 OMX_BOOL bManaged;
00306 OMX_BOOL bDownmix;
00308 } OMX_AUDIO_PARAM_VORBISTYPE;
00309
00310
00312 typedef enum OMX_AUDIO_WMAFORMATTYPE {
00313 OMX_AUDIO_WMAFormatUnused = 0,
00314 OMX_AUDIO_WMAFormat7,
00315 OMX_AUDIO_WMAFormat8,
00316 OMX_AUDIO_WMAFormat9,
00317 OMX_AUDIO_WMAFormatMax = 0x7FFFFFFF
00318 } OMX_AUDIO_WMAFORMATTYPE;
00319
00320
00322 typedef enum OMX_AUDIO_WMAPROFILETYPE {
00323 OMX_AUDIO_WMAProfileUnused = 0,
00324 OMX_AUDIO_WMAProfileL1,
00325 OMX_AUDIO_WMAProfileL2,
00326 OMX_AUDIO_WMAProfileL3,
00327 OMX_AUDIO_WMAProfileMax = 0x7FFFFFFF
00328 } OMX_AUDIO_WMAPROFILETYPE;
00329
00330
00332 typedef struct OMX_AUDIO_PARAM_WMATYPE {
00333 OMX_U32 nSize;
00334 OMX_VERSIONTYPE nVersion;
00335 OMX_U32 nPortIndex;
00336 OMX_U16 nChannels;
00337 OMX_U32 nBitRate;
00339 OMX_AUDIO_WMAFORMATTYPE eFormat;
00340 OMX_AUDIO_WMAPROFILETYPE eProfile;
00341 OMX_U32 nSamplingRate;
00342 OMX_U16 nBlockAlign;
00343 OMX_U16 nEncodeOptions;
00344 OMX_U32 nSuperBlockAlign;
00345 } OMX_AUDIO_PARAM_WMATYPE;
00346
00350 typedef enum OMX_AUDIO_RAFORMATTYPE {
00351 OMX_AUDIO_RAFormatUnused = 0,
00352 OMX_AUDIO_RA8,
00353 OMX_AUDIO_RA9,
00354 OMX_AUDIO_RA10_AAC,
00355 OMX_AUDIO_RA10_CODEC,
00356 OMX_AUDIO_RA10_LOSSLESS,
00357 OMX_AUDIO_RA10_MULTICHANNEL,
00358 OMX_AUDIO_RA10_VOICE,
00359 OMX_VIDEO_RAFormatMax = 0x7FFFFFFF
00360 } OMX_AUDIO_RAFORMATTYPE;
00361
00363 typedef struct OMX_AUDIO_PARAM_RATYPE {
00364 OMX_U32 nSize;
00365 OMX_VERSIONTYPE nVersion;
00366 OMX_U32 nPortIndex;
00367 OMX_U32 nChannels;
00368 OMX_U32 nSamplingRate;
00369 OMX_U32 nBitsPerFrame;
00370 OMX_U32 nSamplePerFrame;
00371 OMX_U32 nCouplingQuantBits;
00372 OMX_U32 nCouplingStartRegion;
00373 OMX_U32 nNumRegions;
00374 OMX_AUDIO_RAFORMATTYPE eFormat;
00375 } OMX_AUDIO_PARAM_RATYPE;
00376
00377
00379 typedef enum OMX_AUDIO_SBCALLOCMETHODTYPE {
00380 OMX_AUDIO_SBCAllocMethodLoudness,
00381 OMX_AUDIO_SBCAllocMethodSNR,
00382 OMX_AUDIO_SBCAllocMethodMax = 0x7FFFFFFF
00383 } OMX_AUDIO_SBCALLOCMETHODTYPE;
00384
00385
00387 typedef struct OMX_AUDIO_PARAM_SBCTYPE {
00388 OMX_U32 nSize;
00389 OMX_VERSIONTYPE nVersion;
00390 OMX_U32 nPortIndex;
00391 OMX_U32 nChannels;
00392 OMX_U32 nBitRate;
00394 OMX_U32 nSampleRate;
00396 OMX_U32 nBlocks;
00397 OMX_U32 nSubbands;
00398 OMX_U32 nBitPool;
00399 OMX_BOOL bEnableBitrate;
00400 OMX_AUDIO_CHANNELMODETYPE eChannelMode;
00401 OMX_AUDIO_SBCALLOCMETHODTYPE eSBCAllocType;
00402 } OMX_AUDIO_PARAM_SBCTYPE;
00403
00404
00406 typedef struct OMX_AUDIO_PARAM_ADPCMTYPE {
00407 OMX_U32 nSize;
00408 OMX_VERSIONTYPE nVersion;
00409 OMX_U32 nPortIndex;
00410 OMX_U32 nChannels;
00413 OMX_U32 nBitsPerSample;
00414 OMX_U32 nSampleRate;
00416 } OMX_AUDIO_PARAM_ADPCMTYPE;
00417
00418
00420 typedef enum OMX_AUDIO_G723RATE {
00421 OMX_AUDIO_G723ModeUnused = 0,
00422 OMX_AUDIO_G723ModeLow,
00423 OMX_AUDIO_G723ModeHigh,
00424 OMX_AUDIO_G723ModeMax = 0x7FFFFFFF
00425 } OMX_AUDIO_G723RATE;
00426
00427
00429 typedef struct OMX_AUDIO_PARAM_G723TYPE {
00430 OMX_U32 nSize;
00431 OMX_VERSIONTYPE nVersion;
00432 OMX_U32 nPortIndex;
00433 OMX_U32 nChannels;
00436 OMX_BOOL bDTX;
00437 OMX_AUDIO_G723RATE eBitRate;
00438 OMX_BOOL bHiPassFilter;
00439 OMX_BOOL bPostFilter;
00440 } OMX_AUDIO_PARAM_G723TYPE;
00441
00442
00444 typedef enum OMX_AUDIO_G726MODE {
00445 OMX_AUDIO_G726ModeUnused = 0,
00446 OMX_AUDIO_G726Mode16,
00447 OMX_AUDIO_G726Mode24,
00448 OMX_AUDIO_G726Mode32,
00449 OMX_AUDIO_G726Mode40,
00450 OMX_AUDIO_G726ModeMax = 0x7FFFFFFF
00451 } OMX_AUDIO_G726MODE;
00452
00453
00455 typedef struct OMX_AUDIO_PARAM_G726TYPE {
00456 OMX_U32 nSize;
00457 OMX_VERSIONTYPE nVersion;
00458 OMX_U32 nPortIndex;
00459 OMX_U32 nChannels;
00462 OMX_AUDIO_G726MODE eG726Mode;
00463 } OMX_AUDIO_PARAM_G726TYPE;
00464
00465
00467 typedef enum OMX_AUDIO_G729TYPE {
00468 OMX_AUDIO_G729 = 0,
00469 OMX_AUDIO_G729A,
00470 OMX_AUDIO_G729B,
00471 OMX_AUDIO_G729AB,
00472 OMX_AUDIO_G729Max = 0x7FFFFFFF
00473 } OMX_AUDIO_G729TYPE;
00474
00475
00477 typedef struct OMX_AUDIO_PARAM_G729TYPE {
00478 OMX_U32 nSize;
00479 OMX_VERSIONTYPE nVersion;
00480 OMX_U32 nPortIndex;
00481 OMX_U32 nChannels;
00484 OMX_BOOL bDTX;
00485 OMX_AUDIO_G729TYPE eBitType;
00486 } OMX_AUDIO_PARAM_G729TYPE;
00487
00488
00490 typedef enum OMX_AUDIO_AMRFRAMEFORMATTYPE {
00491 OMX_AUDIO_AMRFrameFormatConformance = 0,
00493 OMX_AUDIO_AMRFrameFormatIF1,
00495 OMX_AUDIO_AMRFrameFormatIF2,
00497 OMX_AUDIO_AMRFrameFormatFSF,
00499 OMX_AUDIO_AMRFrameFormatRTPPayload,
00501 OMX_AUDIO_AMRFrameFormatITU,
00502 OMX_AUDIO_AMRFrameFormatMax = 0x7FFFFFFF
00503 } OMX_AUDIO_AMRFRAMEFORMATTYPE;
00504
00505
00507 typedef enum OMX_AUDIO_AMRBANDMODETYPE {
00508 OMX_AUDIO_AMRBandModeUnused = 0,
00509 OMX_AUDIO_AMRBandModeNB0,
00510 OMX_AUDIO_AMRBandModeNB1,
00511 OMX_AUDIO_AMRBandModeNB2,
00512 OMX_AUDIO_AMRBandModeNB3,
00513 OMX_AUDIO_AMRBandModeNB4,
00514 OMX_AUDIO_AMRBandModeNB5,
00515 OMX_AUDIO_AMRBandModeNB6,
00516 OMX_AUDIO_AMRBandModeNB7,
00517 OMX_AUDIO_AMRBandModeWB0,
00518 OMX_AUDIO_AMRBandModeWB1,
00519 OMX_AUDIO_AMRBandModeWB2,
00520 OMX_AUDIO_AMRBandModeWB3,
00521 OMX_AUDIO_AMRBandModeWB4,
00522 OMX_AUDIO_AMRBandModeWB5,
00523 OMX_AUDIO_AMRBandModeWB6,
00524 OMX_AUDIO_AMRBandModeWB7,
00525 OMX_AUDIO_AMRBandModeWB8,
00526 OMX_AUDIO_AMRBandModeMax = 0x7FFFFFFF
00527 } OMX_AUDIO_AMRBANDMODETYPE;
00528
00529
00531 typedef enum OMX_AUDIO_AMRDTXMODETYPE {
00532 OMX_AUDIO_AMRDTXModeOff = 0,
00533 OMX_AUDIO_AMRDTXModeOnVAD1,
00535 OMX_AUDIO_AMRDTXModeOnVAD2,
00537 OMX_AUDIO_AMRDTXModeOnAuto,
00540 OMX_AUDIO_AMRDTXasEFR,
00542 OMX_AUDIO_AMRDTXModeMax = 0x7FFFFFFF
00543 } OMX_AUDIO_AMRDTXMODETYPE;
00544
00545
00547 typedef struct OMX_AUDIO_PARAM_AMRTYPE {
00548 OMX_U32 nSize;
00549 OMX_VERSIONTYPE nVersion;
00550 OMX_U32 nPortIndex;
00551 OMX_U32 nChannels;
00552 OMX_U32 nBitRate;
00553 OMX_AUDIO_AMRBANDMODETYPE eAMRBandMode;
00554 OMX_AUDIO_AMRDTXMODETYPE eAMRDTXMode;
00555 OMX_AUDIO_AMRFRAMEFORMATTYPE eAMRFrameFormat;
00556 } OMX_AUDIO_PARAM_AMRTYPE;
00557
00558
00560 typedef struct OMX_AUDIO_PARAM_GSMFRTYPE {
00561 OMX_U32 nSize;
00562 OMX_VERSIONTYPE nVersion;
00563 OMX_U32 nPortIndex;
00564 OMX_BOOL bDTX;
00565 OMX_BOOL bHiPassFilter;
00566 } OMX_AUDIO_PARAM_GSMFRTYPE;
00567
00568
00570 typedef struct OMX_AUDIO_PARAM_GSMHRTYPE {
00571 OMX_U32 nSize;
00572 OMX_VERSIONTYPE nVersion;
00573 OMX_U32 nPortIndex;
00574 OMX_BOOL bDTX;
00575 OMX_BOOL bHiPassFilter;
00576 } OMX_AUDIO_PARAM_GSMHRTYPE;
00577
00578
00580 typedef struct OMX_AUDIO_PARAM_GSMEFRTYPE {
00581 OMX_U32 nSize;
00582 OMX_VERSIONTYPE nVersion;
00583 OMX_U32 nPortIndex;
00584 OMX_BOOL bDTX;
00585 OMX_BOOL bHiPassFilter;
00586 } OMX_AUDIO_PARAM_GSMEFRTYPE;
00587
00588
00590 typedef struct OMX_AUDIO_PARAM_TDMAFRTYPE {
00591 OMX_U32 nSize;
00592 OMX_VERSIONTYPE nVersion;
00593 OMX_U32 nPortIndex;
00594 OMX_U32 nChannels;
00597 OMX_BOOL bDTX;
00598 OMX_BOOL bHiPassFilter;
00599 } OMX_AUDIO_PARAM_TDMAFRTYPE;
00600
00601
00603 typedef struct OMX_AUDIO_PARAM_TDMAEFRTYPE {
00604 OMX_U32 nSize;
00605 OMX_VERSIONTYPE nVersion;
00606 OMX_U32 nPortIndex;
00607 OMX_U32 nChannels;
00610 OMX_BOOL bDTX;
00611 OMX_BOOL bHiPassFilter;
00612 } OMX_AUDIO_PARAM_TDMAEFRTYPE;
00613
00614
00616 typedef struct OMX_AUDIO_PARAM_PDCFRTYPE {
00617 OMX_U32 nSize;
00618 OMX_VERSIONTYPE nVersion;
00619 OMX_U32 nPortIndex;
00620 OMX_U32 nChannels;
00623 OMX_BOOL bDTX;
00624 OMX_BOOL bHiPassFilter;
00625 } OMX_AUDIO_PARAM_PDCFRTYPE;
00626
00627
00629 typedef struct OMX_AUDIO_PARAM_PDCEFRTYPE {
00630 OMX_U32 nSize;
00631 OMX_VERSIONTYPE nVersion;
00632 OMX_U32 nPortIndex;
00633 OMX_U32 nChannels;
00636 OMX_BOOL bDTX;
00637 OMX_BOOL bHiPassFilter;
00638 } OMX_AUDIO_PARAM_PDCEFRTYPE;
00639
00641 typedef struct OMX_AUDIO_PARAM_PDCHRTYPE {
00642 OMX_U32 nSize;
00643 OMX_VERSIONTYPE nVersion;
00644 OMX_U32 nPortIndex;
00645 OMX_U32 nChannels;
00648 OMX_BOOL bDTX;
00649 OMX_BOOL bHiPassFilter;
00650 } OMX_AUDIO_PARAM_PDCHRTYPE;
00651
00652
00654 typedef enum OMX_AUDIO_CDMARATETYPE {
00655 OMX_AUDIO_CDMARateBlank = 0,
00656 OMX_AUDIO_CDMARateFull,
00657 OMX_AUDIO_CDMARateHalf,
00658 OMX_AUDIO_CDMARateQuarter,
00659 OMX_AUDIO_CDMARateEighth,
00660 OMX_AUDIO_CDMARateErasure,
00661 OMX_AUDIO_CDMARateMax = 0x7FFFFFFF
00662 } OMX_AUDIO_CDMARATETYPE;
00663
00664
00666 typedef struct OMX_AUDIO_PARAM_QCELP8TYPE {
00667 OMX_U32 nSize;
00668 OMX_VERSIONTYPE nVersion;
00669 OMX_U32 nPortIndex;
00670 OMX_U32 nChannels;
00673 OMX_U32 nBitRate;
00675 OMX_AUDIO_CDMARATETYPE eCDMARate;
00676 OMX_U32 nMinBitRate;
00677 OMX_U32 nMaxBitRate;
00678 } OMX_AUDIO_PARAM_QCELP8TYPE;
00679
00680
00682 typedef struct OMX_AUDIO_PARAM_QCELP13TYPE {
00683 OMX_U32 nSize;
00684 OMX_VERSIONTYPE nVersion;
00685 OMX_U32 nPortIndex;
00686 OMX_U32 nChannels;
00689 OMX_AUDIO_CDMARATETYPE eCDMARate;
00690 OMX_U32 nMinBitRate;
00691 OMX_U32 nMaxBitRate;
00692 } OMX_AUDIO_PARAM_QCELP13TYPE;
00693
00694
00696 typedef struct OMX_AUDIO_PARAM_EVRCTYPE {
00697 OMX_U32 nSize;
00698 OMX_VERSIONTYPE nVersion;
00699 OMX_U32 nPortIndex;
00700 OMX_U32 nChannels;
00703 OMX_AUDIO_CDMARATETYPE eCDMARate;
00704 OMX_BOOL bRATE_REDUCon;
00705 OMX_U32 nMinBitRate;
00706 OMX_U32 nMaxBitRate;
00707 OMX_BOOL bHiPassFilter;
00708 OMX_BOOL bNoiseSuppressor;
00709 OMX_BOOL bPostFilter;
00710 } OMX_AUDIO_PARAM_EVRCTYPE;
00711
00712
00714 typedef struct OMX_AUDIO_PARAM_SMVTYPE {
00715 OMX_U32 nSize;
00716 OMX_VERSIONTYPE nVersion;
00717 OMX_U32 nPortIndex;
00718 OMX_U32 nChannels;
00721 OMX_AUDIO_CDMARATETYPE eCDMARate;
00722 OMX_BOOL bRATE_REDUCon;
00723 OMX_U32 nMinBitRate;
00724 OMX_U32 nMaxBitRate;
00725 OMX_BOOL bHiPassFilter;
00726 OMX_BOOL bNoiseSuppressor;
00727 OMX_BOOL bPostFilter;
00728 } OMX_AUDIO_PARAM_SMVTYPE;
00729
00730
00734 typedef enum OMX_AUDIO_MIDIFORMATTYPE
00735 {
00736 OMX_AUDIO_MIDIFormatUnknown = 0,
00737 OMX_AUDIO_MIDIFormatSMF0,
00738 OMX_AUDIO_MIDIFormatSMF1,
00739 OMX_AUDIO_MIDIFormatSMF2,
00740 OMX_AUDIO_MIDIFormatSPMIDI,
00741 OMX_AUDIO_MIDIFormatXMF0,
00742 OMX_AUDIO_MIDIFormatXMF1,
00743 OMX_AUDIO_MIDIFormatMobileXMF,
00744 OMX_AUDIO_MIDIFormatMax = 0x7FFFFFFF
00745 } OMX_AUDIO_MIDIFORMATTYPE;
00746
00747
00751 typedef struct OMX_AUDIO_PARAM_MIDITYPE {
00752 OMX_U32 nSize;
00753 OMX_VERSIONTYPE nVersion;
00754 OMX_U32 nPortIndex;
00755 OMX_U32 nFileSize;
00759 OMX_BU32 sMaxPolyphony;
00762 OMX_BOOL bLoadDefaultSound;
00764 OMX_AUDIO_MIDIFORMATTYPE eMidiFormat;
00765 } OMX_AUDIO_PARAM_MIDITYPE;
00766
00767
00771 typedef enum OMX_AUDIO_MIDISOUNDBANKTYPE {
00772 OMX_AUDIO_MIDISoundBankUnused = 0,
00773 OMX_AUDIO_MIDISoundBankDLS1,
00774 OMX_AUDIO_MIDISoundBankDLS2,
00775 OMX_AUDIO_MIDISoundBankMobileDLSBase,
00776 OMX_AUDIO_MIDISoundBankMobileDLSPlusOptions,
00777 OMX_AUDIO_MIDISoundBankMax = 0x7FFFFFFF
00778 } OMX_AUDIO_MIDISOUNDBANKTYPE;
00779
00780
00784 typedef enum OMX_AUDIO_MIDISOUNDBANKLAYOUTTYPE {
00785 OMX_AUDIO_MIDISoundBankLayoutUnused = 0,
00786 OMX_AUDIO_MIDISoundBankLayoutGM,
00787 OMX_AUDIO_MIDISoundBankLayoutGM2,
00788 OMX_AUDIO_MIDISoundBankLayoutUser,
00789 OMX_AUDIO_MIDISoundBankLayoutMax = 0x7FFFFFFF
00790 } OMX_AUDIO_MIDISOUNDBANKLAYOUTTYPE;
00791
00792
00796 typedef struct OMX_AUDIO_PARAM_MIDILOADUSERSOUNDTYPE {
00797 OMX_U32 nSize;
00798 OMX_VERSIONTYPE nVersion;
00799 OMX_U32 nPortIndex;
00800 OMX_U32 nDLSIndex;
00801 OMX_U32 nDLSSize;
00802 OMX_PTR pDLSData;
00803 OMX_AUDIO_MIDISOUNDBANKTYPE eMidiSoundBank;
00804 OMX_AUDIO_MIDISOUNDBANKLAYOUTTYPE eMidiSoundBankLayout;
00805 } OMX_AUDIO_PARAM_MIDILOADUSERSOUNDTYPE;
00806
00807
00812 typedef struct OMX_AUDIO_CONFIG_MIDIIMMEDIATEEVENTTYPE {
00813 OMX_U32 nSize;
00814 OMX_VERSIONTYPE nVersion;
00815 OMX_U32 nPortIndex;
00816 OMX_U32 nMidiEventSize;
00817 OMX_U8 nMidiEvents[1];
00820 } OMX_AUDIO_CONFIG_MIDIIMMEDIATEEVENTTYPE;
00821
00822
00826 typedef struct OMX_AUDIO_CONFIG_MIDISOUNDBANKPROGRAMTYPE {
00827 OMX_U32 nSize;
00828 OMX_VERSIONTYPE nVersion;
00829 OMX_U32 nPortIndex;
00830 OMX_U32 nChannel;
00831 OMX_U16 nIDProgram;
00832 OMX_U16 nIDSoundBank;
00833 OMX_U32 nUserSoundBankIndex;
00835 } OMX_AUDIO_CONFIG_MIDISOUNDBANKPROGRAMTYPE;
00836
00837
00841 typedef struct OMX_AUDIO_CONFIG_MIDICONTROLTYPE {
00842 OMX_U32 nSize;
00843 OMX_VERSIONTYPE nVersion;
00844 OMX_U32 nPortIndex;
00845 OMX_BS32 sPitchTransposition;
00847 OMX_BU32 sPlayBackRate;
00849 OMX_BU32 sTempo ;
00851 OMX_U32 nMaxPolyphony;
00854 OMX_U32 nNumRepeat;
00855 OMX_U32 nStopTime;
00857 OMX_U16 nChannelMuteMask;
00858 OMX_U16 nChannelSoloMask;
00859 OMX_U32 nTrack0031MuteMask;
00860 OMX_U32 nTrack3263MuteMask;
00861 OMX_U32 nTrack0031SoloMask;
00862 OMX_U32 nTrack3263SoloMask;
00864 } OMX_AUDIO_CONFIG_MIDICONTROLTYPE;
00865
00866
00870 typedef enum OMX_AUDIO_MIDIPLAYBACKSTATETYPE {
00871 OMX_AUDIO_MIDIPlayBackStateUnknown = 0,
00873 OMX_AUDIO_MIDIPlayBackStateClosedEngaged,
00876 OMX_AUDIO_MIDIPlayBackStateParsing,
00879 OMX_AUDIO_MIDIPlayBackStateOpenEngaged,
00887 OMX_AUDIO_MIDIPlayBackStatePlaying,
00890 OMX_AUDIO_MIDIPlayBackStatePlayingPartially,
00892 OMX_AUDIO_MIDIPlayBackStatePlayingSilently,
00897 OMX_AUDIO_MIDIPlayBackStateMax = 0x7FFFFFFF
00898 } OMX_AUDIO_MIDIPLAYBACKSTATETYPE;
00899
00900
00904 typedef struct OMX_AUDIO_CONFIG_MIDISTATUSTYPE {
00905 OMX_U32 nSize;
00906 OMX_VERSIONTYPE nVersion;
00907 OMX_U32 nPortIndex;
00908 OMX_U16 nNumTracks;
00911 OMX_U32 nDuration;
00914 OMX_U32 nPosition;
00916 OMX_BOOL bVibra;
00918 OMX_U32 nNumMetaEvents;
00921 OMX_U32 nNumActiveVoices;
00924 OMX_AUDIO_MIDIPLAYBACKSTATETYPE eMIDIPlayBackState;
00925 } OMX_AUDIO_CONFIG_MIDISTATUSTYPE;
00926
00927
00937 typedef struct OMX_AUDIO_CONFIG_MIDIMETAEVENTTYPE{
00938 OMX_U32 nSize;
00939 OMX_VERSIONTYPE nVersion;
00940 OMX_U32 nPortIndex;
00941 OMX_U32 nIndex;
00942 OMX_U8 nMetaEventType;
00943 OMX_U32 nMetaEventSize;
00944 OMX_U32 nTrack;
00945 OMX_U32 nPosition;
00946 } OMX_AUDIO_CONFIG_MIDIMETAEVENTTYPE;
00947
00948
00952 typedef struct OMX_AUDIO_CONFIG_MIDIMETAEVENTDATATYPE{
00953 OMX_U32 nSize;
00954 OMX_VERSIONTYPE nVersion;
00955 OMX_U32 nPortIndex;
00956 OMX_U32 nIndex;
00957 OMX_U32 nMetaEventSize;
00958 OMX_U8 nData[1];
00960 } OMX_AUDIO_CONFIG__MIDIMETAEVENTDATATYPE;
00961
00962
00964 typedef struct OMX_AUDIO_CONFIG_VOLUMETYPE {
00965 OMX_U32 nSize;
00966 OMX_VERSIONTYPE nVersion;
00967 OMX_U32 nPortIndex;
00972 OMX_BOOL bLinear;
00974 OMX_BS32 sVolume;
00989 } OMX_AUDIO_CONFIG_VOLUMETYPE;
00990
00991
00993 typedef struct OMX_AUDIO_CONFIG_CHANNELVOLUMETYPE {
00994 OMX_U32 nSize;
00995 OMX_VERSIONTYPE nVersion;
00996 OMX_U32 nPortIndex;
01001 OMX_U32 nChannel;
01004 OMX_BOOL bLinear;
01006 OMX_BS32 sVolume;
01022 OMX_BOOL bIsMIDI;
01024 } OMX_AUDIO_CONFIG_CHANNELVOLUMETYPE;
01025
01026
01028 typedef struct OMX_AUDIO_CONFIG_BALANCETYPE {
01029 OMX_U32 nSize;
01030 OMX_VERSIONTYPE nVersion;
01031 OMX_U32 nPortIndex;
01036 OMX_S32 nBalance;
01039 } OMX_AUDIO_CONFIG_BALANCETYPE;
01040
01041
01043 typedef struct OMX_AUDIO_CONFIG_MUTETYPE {
01044 OMX_U32 nSize;
01045 OMX_VERSIONTYPE nVersion;
01046 OMX_U32 nPortIndex;
01051 OMX_BOOL bMute;
01052 } OMX_AUDIO_CONFIG_MUTETYPE;
01053
01054
01056 typedef struct OMX_AUDIO_CONFIG_CHANNELMUTETYPE {
01057 OMX_U32 nSize;
01058 OMX_VERSIONTYPE nVersion;
01059 OMX_U32 nPortIndex;
01060 OMX_U32 nChannel;
01063 OMX_BOOL bMute;
01064 OMX_BOOL bIsMIDI;
01066 } OMX_AUDIO_CONFIG_CHANNELMUTETYPE;
01067
01068
01069
01074 typedef struct OMX_AUDIO_CONFIG_LOUDNESSTYPE {
01075 OMX_U32 nSize;
01076 OMX_VERSIONTYPE nVersion;
01077 OMX_U32 nPortIndex;
01078 OMX_BOOL bLoudness;
01079 } OMX_AUDIO_CONFIG_LOUDNESSTYPE;
01080
01081
01084 typedef struct OMX_AUDIO_CONFIG_BASSTYPE {
01085 OMX_U32 nSize;
01086 OMX_VERSIONTYPE nVersion;
01087 OMX_U32 nPortIndex;
01088 OMX_BOOL bEnable;
01089 OMX_S32 nBass;
01092 } OMX_AUDIO_CONFIG_BASSTYPE;
01093
01094
01097 typedef struct OMX_AUDIO_CONFIG_TREBLETYPE {
01098 OMX_U32 nSize;
01099 OMX_VERSIONTYPE nVersion;
01100 OMX_U32 nPortIndex;
01101 OMX_BOOL bEnable;
01102 OMX_S32 nTreble;
01105 } OMX_AUDIO_CONFIG_TREBLETYPE;
01106
01107
01114 typedef struct OMX_AUDIO_CONFIG_EQUALIZERTYPE {
01115 OMX_U32 nSize;
01116 OMX_VERSIONTYPE nVersion;
01117 OMX_U32 nPortIndex;
01118 OMX_BOOL bEnable;
01119 OMX_BU32 sBandIndex;
01121 OMX_BU32 sCenterFreq;
01125 OMX_BS32 sBandLevel;
01126 } OMX_AUDIO_CONFIG_EQUALIZERTYPE;
01127
01128
01132 typedef enum OMX_AUDIO_STEREOWIDENINGTYPE {
01133 OMX_AUDIO_StereoWideningHeadphones,
01134 OMX_AUDIO_StereoWideningLoudspeakers,
01135 OMX_AUDIO_StereoWideningMax = 0x7FFFFFFF
01136 } OMX_AUDIO_STEREOWIDENINGTYPE;
01137
01138
01144 typedef struct OMX_AUDIO_CONFIG_STEREOWIDENINGTYPE {
01145 OMX_U32 nSize;
01146 OMX_VERSIONTYPE nVersion;
01147 OMX_U32 nPortIndex;
01148 OMX_BOOL bEnable;
01149 OMX_AUDIO_STEREOWIDENINGTYPE eWideningType;
01150 OMX_U32 nStereoWidening;
01152 } OMX_AUDIO_CONFIG_STEREOWIDENINGTYPE;
01153
01154
01163 typedef struct OMX_AUDIO_CONFIG_CHORUSTYPE {
01164 OMX_U32 nSize;
01165 OMX_VERSIONTYPE nVersion;
01166 OMX_U32 nPortIndex;
01167 OMX_BOOL bEnable;
01168 OMX_BU32 sDelay;
01169 OMX_BU32 sModulationRate;
01170 OMX_U32 nModulationDepth;
01172 OMX_BU32 nFeedback;
01173 } OMX_AUDIO_CONFIG_CHORUSTYPE;
01174
01175
01182 typedef struct OMX_AUDIO_CONFIG_REVERBERATIONTYPE {
01183 OMX_U32 nSize;
01184 OMX_VERSIONTYPE nVersion;
01185 OMX_U32 nPortIndex;
01186 OMX_BOOL bEnable;
01187 OMX_BS32 sRoomLevel;
01190 OMX_BS32 sRoomHighFreqLevel;
01193 OMX_BS32 sReflectionsLevel;
01195 OMX_BU32 sReflectionsDelay;
01197 OMX_BS32 sReverbLevel;
01199 OMX_BU32 sReverbDelay;
01202 OMX_BU32 sDecayTime;
01204 OMX_BU32 nDecayHighFreqRatio;
01206 OMX_U32 nDensity;
01208 OMX_U32 nDiffusion;
01210 OMX_BU32 sReferenceHighFreq;
01214 } OMX_AUDIO_CONFIG_REVERBERATIONTYPE;
01215
01216
01220 typedef enum OMX_AUDIO_ECHOCANTYPE {
01221 OMX_AUDIO_EchoCanOff = 0,
01222 OMX_AUDIO_EchoCanNormal,
01224 OMX_AUDIO_EchoCanHFree,
01226 OMX_AUDIO_EchoCanCarKit,
01228 OMX_AUDIO_EchoCanMax = 0x7FFFFFFF
01229 } OMX_AUDIO_ECHOCANTYPE;
01230
01231
01236 typedef struct OMX_AUDIO_CONFIG_ECHOCANCELATIONTYPE {
01237 OMX_U32 nSize;
01238 OMX_VERSIONTYPE nVersion;
01239 OMX_U32 nPortIndex;
01240 OMX_AUDIO_ECHOCANTYPE eEchoCancelation;
01241 } OMX_AUDIO_CONFIG_ECHOCANCELATIONTYPE;
01242
01243
01248 typedef struct OMX_AUDIO_CONFIG_NOISEREDUCTIONTYPE {
01249 OMX_U32 nSize;
01250 OMX_VERSIONTYPE nVersion;
01251 OMX_U32 nPortIndex;
01252 OMX_BOOL bNoiseReduction;
01253 } OMX_AUDIO_CONFIG_NOISEREDUCTIONTYPE;
01254
01257 #ifdef __cplusplus
01258 }
01259 #endif
01260
01261 #endif
01262
01263