OMX_Audio.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2007 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_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 /* __cplusplus */
01260 
01261 #endif
01262 /* File EOF */
01263 

Generated for OpenMAX Bellagio rel. 0.3.5-svn by  doxygen 1.5.1
SourceForge.net Logo