/*-------------------------------------------------------------------------- | |
Copyright (c) 2009, 2011, Code Aurora Forum. All rights reserved. | |
Redistribution and use in source and binary forms, with or without | |
modification, are permitted provided that the following conditions are met: | |
* Redistributions of source code must retain the above copyright | |
notice, this list of conditions and the following disclaimer. | |
* Redistributions in binary form must reproduce the above copyright | |
notice, this list of conditions and the following disclaimer in the | |
documentation and/or other materials provided with the distribution. | |
* Neither the name of Code Aurora nor | |
the names of its contributors may be used to endorse or promote | |
products derived from this software without specific prior written | |
permission. | |
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | |
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | |
IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | |
NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR | |
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, | |
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, | |
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; | |
OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | |
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR | |
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF | |
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
--------------------------------------------------------------------------*/ | |
/*============================================================================ | |
O p e n M A X w r a p p e r s | |
O p e n M A X C o r e | |
*//** @file QOMX_AudioExtensions.h | |
This module contains the extensions for Audio | |
*//*========================================================================*/ | |
#ifndef __H_QOMX_AUDIOEXTENSIONS_H__ | |
#define __H_QOMX_AUDIOEXTENSIONS_H__ | |
/*======================================================================== | |
INCLUDE FILES FOR MODULE | |
========================================================================== */ | |
#include <OMX_Audio.h> | |
/*======================================================================== | |
DEFINITIONS AND DECLARATIONS | |
========================================================================== */ | |
#if defined( __cplusplus ) | |
extern "C" | |
{ | |
#endif /* end of macro __cplusplus */ | |
/* Audio extension strings */ | |
#define OMX_QCOM_INDEX_PARAM_AMRWBPLUS "OMX.Qualcomm.index.audio.amrwbplus" | |
#define OMX_QCOM_INDEX_PARAM_WMA10PRO "OMX.Qualcomm.index.audio.wma10pro" | |
#define OMX_QCOM_INDEX_PARAM_SESSIONID "OMX.Qualcomm.index.audio.sessionId" | |
#define OMX_QCOM_INDEX_PARAM_VOICERECORDTYPE "OMX.Qualcomm.index.audio.VoiceRecord" | |
#define OMX_QCOM_INDEX_PARAM_AC3TYPE "OMX.Qualcomm.index.audio.ac3" | |
#define OMX_QCOM_INDEX_PARAM_AC3PP "OMX.Qualcomm.index.audio.ac3.postproc" | |
#define OMX_QCOM_INDEX_PARAM_DAK_BUNDLE "OMX.Qualcomm.index.audio.dakbundle" | |
#define OMX_QCOM_INDEX_PARAM_DAK_M2S "OMX.Qualcomm.index.audio.dak_m2s" | |
#define OMX_QCOM_INDEX_PARAM_DAK_SSE "OMX.Qualcomm.index.audio.dak_sse" | |
#define OMX_QCOM_INDEX_PARAM_DAK_SLC "OMX.Qualcomm.index.audio.dak_slc" | |
#define OMX_QCOM_INDEX_PARAM_DAK_VOL "OMX.Qualcomm.index.audio.dak_vol" | |
#define OMX_QCOM_INDEX_PARAM_DAK_NB "OMX.Qualcomm.index.audio.dak_nb" | |
#define OMX_QCOM_INDEX_PARAM_DAK_GEQ "OMX.Qualcomm.index.audio.dak_geq" | |
#define OMX_QCOM_INDEX_PARAM_DAK_MSR "OMX.Qualcomm.index.audio.dak_msr" | |
#define OMX_QCOM_INDEX_PARAM_DAK_HFE "OMX.Qualcomm.index.audio.dak_hfe" | |
#define OMX_QCOM_INDEX_PARAM_DAK_FADE "OMX.Qualcomm.index.audio.dak_fade" | |
#define OMX_QCOM_INDEX_PARAM_DAK_SEQ "OMX.Qualcomm.index.audio.dak_seq" | |
#define OMX_QCOM_INDEX_CONFIG_DUALMONO "OMX.Qualcomm.index.audio.dualmono" | |
typedef enum QOMX_AUDIO_AMRBANDMODETYPE { | |
QOMX_AUDIO_AMRBandModeWB9 = 0x7F000001,/**< AMRWB Mode 9 = SID*/ | |
QOMX_AUDIO_AMRBandModeWB10 = 0x7F000002,/**< AMRWB Mode 10 = 13600 bps */ | |
QOMX_AUDIO_AMRBandModeWB11 = 0x7F000003,/**< AMRWB Mode 11 = 18000 bps */ | |
QOMX_AUDIO_AMRBandModeWB12 = 0x7F000004,/**< AMRWB Mode 12 = 24000 bps */ | |
QOMX_AUDIO_AMRBandModeWB13 = 0x7F000005,/**< AMRWB Mode 13 = 24000 bps */ | |
QOMX_AUDIO_AMRBandModeWB14 = 0x7F000006,/**< AMRWB Mode 14 = FRAME_ERASE*/ | |
QOMX_AUDIO_AMRBandModeWB15 = 0x7F000007,/**< AMRWB Mode 15 = NO_DATA */ | |
}QOMX_AUDIO_AMRBANDMODETYPE; | |
typedef enum QOMX_AUDIO_CODINGTYPE { | |
QOMX_AUDIO_CodingVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ | |
QOMX_AUDIO_CodingEVRCB = 0x7F000001, | |
QOMX_AUDIO_CodingEVRCWB = 0x7F000002, | |
QOMX_AUDIO_CodingFLAC = 0x7F000003, | |
QOMX_AUDIO_CodingMax = 0x7FFFFFFF | |
}QOMX_AUDIO_CODINGTYPE; | |
/** | |
* AMR WB PLUS type | |
* | |
* STRUCT MEMBERS: | |
* nSize : Size of the structure in bytes | |
* nVersion : OMX specification version information | |
* nPortIndex : Port that this structure applies to | |
* nChannels : Number of channels | |
* nBitRate : Bit rate read only field | |
* nSampleRate : Sampling frequency for the clip(16/24/32/48KHz) | |
* eAMRBandMode : AMR Band Mode enumeration | |
* eAMRDTXMode : AMR DTX Mode enumeration | |
* eAMRFrameFormat : AMR frame format enumeration | |
*/ | |
typedef struct QOMX_AUDIO_PARAM_AMRWBPLUSTYPE { | |
OMX_U32 nSize; | |
OMX_VERSIONTYPE nVersion; | |
OMX_U32 nPortIndex; | |
OMX_U32 nChannels; | |
OMX_U32 nBitRate; | |
OMX_U32 nSampleRate; | |
OMX_AUDIO_AMRBANDMODETYPE eAMRBandMode; | |
OMX_AUDIO_AMRDTXMODETYPE eAMRDTXMode; | |
OMX_AUDIO_AMRFRAMEFORMATTYPE eAMRFrameFormat; | |
} QOMX_AUDIO_PARAM_AMRWBPLUSTYPE; | |
typedef enum QOMX_AUDIO_WMAFORMATTYPE { | |
QOMX_AUDIO_WMAFormat10Pro = 0x7F000001, /**< Windows Media Audio format 10*/ | |
} QOMX_AUDIO_WMAFORMATTYPE; | |
/** | |
* WMA 10 PRO type | |
* | |
* STRUCT MEMBERS: | |
* nSize : Size of the structure in bytes | |
* nVersion : OMX specification version information | |
* nPortIndex : Port that this structure applies to | |
* nChannels : Number of channels | |
* nBitRate : Bit rate read only field | |
* eFormat : Version of WMA stream / data | |
* eProfile : Profile of WMA stream / data | |
* nSamplingRate : Sampling rate of the source data | |
* nBlockAlign : block alignment, or block size, in bytes of the audio codec | |
* nEncodeOptions : WMA Type-specific data | |
* nSuperBlockAlign : WMA Type-specific data | |
* validBitsPerSample : encoded stream (24-bit or 16-bit) | |
* formatTag : codec ID(0x162 or 0x166) | |
* advancedEncodeOpt : bit packed words indicating the features supported for LBR bitstream | |
* advancedEncodeOpt2 : bit packed words indicating the features supported for LBR bitstream | |
*/ | |
typedef struct QOMX_AUDIO_PARAM_WMA10PROTYPE { | |
OMX_U32 nSize; | |
OMX_VERSIONTYPE nVersion; | |
OMX_U32 nPortIndex; | |
OMX_U16 nChannels; | |
OMX_U32 nBitRate; | |
QOMX_AUDIO_WMAFORMATTYPE eFormat; | |
OMX_AUDIO_WMAPROFILETYPE eProfile; | |
OMX_U32 nSamplingRate; | |
OMX_U16 nBlockAlign; | |
OMX_U16 nEncodeOptions; | |
OMX_U32 nSuperBlockAlign; | |
OMX_U32 validBitsPerSample; | |
OMX_U32 formatTag; | |
OMX_U32 advancedEncodeOpt; | |
OMX_U32 advancedEncodeOpt2; | |
OMX_U16 nVirtualPktSize; | |
} QOMX_AUDIO_PARAM_WMA10PROTYPE; | |
typedef enum OMX_AUDIO_AC3FORMATTYPE { | |
omx_audio_ac3 = 0x7f000001, /**< ac-3 */ | |
omx_audio_eac3 = 0x7f000002 /**< eac-3 */ | |
} OMX_AUDIO_AC3FORMATTYPE; | |
typedef enum OMX_AUDIO_AC3_CHANNEL_CONFIG | |
{ | |
OMX_AUDIO_AC3_CHANNEL_CONFIG_RSVD = 0, | |
OMX_AUDIO_AC3_CHANNEL_CONFIG_1_0, | |
OMX_AUDIO_AC3_CHANNEL_CONFIG_2_0, | |
OMX_AUDIO_AC3_CHANNEL_CONFIG_3_0, | |
OMX_AUDIO_AC3_CHANNEL_CONFIG_2_1, | |
OMX_AUDIO_AC3_CHANNEL_CONFIG_3_1, | |
OMX_AUDIO_AC3_CHANNEL_CONFIG_2_2, | |
OMX_AUDIO_AC3_CHANNEL_CONFIG_3_2, | |
OMX_AUDIO_AC3_CHANNEL_CONFIG_3_0_1, | |
OMX_AUDIO_AC3_CHANNEL_CONFIG_2_2_1, | |
OMX_AUDIO_AC3_CHANNEL_CONFIG_3_2_1, | |
OMX_AUDIO_AC3_CHANNEL_CONFIG_3_0_2, | |
OMX_AUDIO_AC3_CHANNEL_CONFIG_2_2_2, | |
OMX_AUDIO_AC3_CHANNEL_CONFIG_3_2_2, | |
OMX_AUDIO_AC3_CHANNEL_CONFIG_DEFAULT = 0xFFFF | |
} OMX_AUDIO_AC3_CHANNEL_CONFIG; | |
/** | |
* AC-3 type | |
* | |
* STRUCT MEMBERS: | |
* nSize : Size of the structure in bytes | |
* nVersion : OMX specification version information | |
* nPortIndex : Port that this structure applies to | |
* nChannels : Number of channels | |
* nBitRate : Bitrate | |
* nSamplingRate : Sampling rate, 32K, 44.1K, 48K only supported | |
* eFormat : AC-3 or EAC-3 | |
* eChannelConfig : Channel configuration | |
* nProgramID : Indication of ProgramID, 0-7 | |
* bCompressionOn : Flag to enable Compression | |
* bLfeOn : Flag for LFE on/off | |
* bDelaySurroundChannels : Flag to put delay on surround channels | |
* | |
*/ | |
typedef struct QOMX_AUDIO_PARAM_AC3TYPE { | |
OMX_U32 nSize; | |
OMX_VERSIONTYPE nVersion; | |
OMX_U32 nPortIndex; | |
OMX_U16 nChannels; | |
OMX_U32 nBitRate; | |
OMX_U32 nSamplingRate; | |
OMX_AUDIO_AC3FORMATTYPE eFormat; | |
OMX_AUDIO_AC3_CHANNEL_CONFIG eChannelConfig; | |
OMX_U8 nProgramID; | |
OMX_BOOL bCompressionOn; | |
OMX_BOOL bLfeOn; | |
OMX_BOOL bDelaySurroundChannels; | |
} QOMX_AUDIO_PARAM_AC3TYPE; | |
typedef enum OMX_AUDIO_AC3_CHANNEL_ROUTING | |
{ | |
OMX_AUDIO_AC3_CHANNEL_LEFT, | |
OMX_AUDIO_AC3_CHANNEL_CENTER, | |
OMX_AUDIO_AC3_CHANNEL_RIGHT, | |
OMX_AUDIO_AC3_CHANNEL_LEFT_SURROUND, | |
OMX_AUDIO_AC3_CHANNEL_RIGHT_SURROUND, | |
OMX_AUDIO_AC3_CHANNEL_SURROUND, | |
OMX_AUDIO_AC3_CHANNEL_EXTENSION_1, | |
OMX_AUDIO_AC3_CHANNEL_EXTENSION_2, | |
OMX_AUDIO_AC3_CHANNEL_DEFAULT = 0xFFFF | |
} OMX_AUDIO_AC3_CHANNEL_ROUTING; | |
typedef enum OMX_AUDIO_AC3_COMPRESSION_MODE | |
{ | |
OMX_AUDIO_AC3_COMPRESSION_MODE_ANALOG_DIALNORM, | |
OMX_AUDIO_AC3_COMPRESSION_MODE_DIGITAL_DIALNORM, | |
OMX_AUDIO_AC3_COMPRESSION_MODE_LINE_OUT, | |
OMX_AUDIO_AC3_COMPRESSION_MODE_RF_REMOD | |
} OMX_AUDIO_AC3_COMPRESSION_MODE; | |
typedef enum OMX_AUDIO_AC3_STEREO_MODE | |
{ | |
OMX_AUDIO_AC3_STEREO_MODE_AUTO_DETECT, | |
OMX_AUDIO_AC3_STEREO_MODE_LT_RT, | |
OMX_AUDIO_AC3_STEREO_MODE_LO_RO, | |
OMX_AUDIO_AC3_STEREO_MODE_DEFAULT = 0xFFFF | |
} OMX_AUDIO_AC3_STEREO_MODE; | |
typedef enum OMX_AUDIO_AC3_DUAL_MONO_MODE | |
{ | |
OMX_AUDIO_AC3_DUAL_MONO_MODE_STEREO, | |
OMX_AUDIO_AC3_DUAL_MONO_MODE_LEFT_MONO, | |
OMX_AUDIO_AC3_DUAL_MONO_MODE_RIGHT_MONO, | |
OMX_AUDIO_AC3_DUAL_MONO_MODE_MIXED_MONO, | |
OMX_AUDIO_AC3_DUAL_MONO_MODE_DEFAULT = 0xFFFF | |
} OMX_AUDIO_AC3_DUAL_MONO_MODE; | |
typedef enum OMX_AUDIO_AC3_KARAOKE_MODE | |
{ | |
OMX_AUDIO_AC3_KARAOKE_MODE_NO_VOCAL, | |
OMX_AUDIO_AC3_KARAOKE_MODE_LEFT_VOCAL, | |
OMX_AUDIO_AC3_KARAOKE_MODE_RIGHT_VOCAL, | |
OMX_AUDIO_AC3_KARAOKE_MODE_BOTH_VOCAL, | |
OMX_AUDIO_AC3_KARAOKE_MODE_DEFAULT = 0xFFFF | |
} OMX_AUDIO_AC3_KARAOKE_MODE; | |
typedef struct QOMX_AUDIO_PARAM_AC3PP | |
{ | |
OMX_U32 nSize; | |
OMX_VERSIONTYPE nVersion; | |
OMX_U32 nPortIndex; | |
OMX_AUDIO_AC3_CHANNEL_ROUTING eChannelRouting[8]; | |
OMX_AUDIO_AC3_COMPRESSION_MODE eCompressionMode; | |
OMX_AUDIO_AC3_STEREO_MODE eStereoMode; | |
OMX_AUDIO_AC3_DUAL_MONO_MODE eDualMonoMode; | |
OMX_U32 usPcmScale; | |
OMX_U32 usDynamicScaleBoost; | |
OMX_U32 usDynamicScaleCut; | |
OMX_AUDIO_AC3_KARAOKE_MODE eKaraokeMode; | |
} QOMX_AUDIO_PARAM_AC3PP; | |
/** | |
* Stream info data | |
* | |
* STRUCT MEMBERS: | |
* sessionId : session Id for alsa to route data | |
*/ | |
typedef struct QOMX_AUDIO_STREAM_INFO_DATA { | |
OMX_U8 sessionId; | |
} QOMX_AUDIO_STREAM_INFO_DATA; | |
/** | |
* Record Path | |
* | |
* STRUCT MEMBERS: | |
* recPath : Record Path for encoding | |
*/ | |
typedef enum{ | |
QOMX_AUDIO_VOICE_TX, | |
QOMX_AUDIO_VOICE_RX, | |
QOMX_AUDIO_VOICE_MIXED, | |
} QOMX_AUDIO_VOICERECORDMODETYPE; | |
typedef struct QOMX_AUDIO_CONFIG_VOICERECORDTYPE { | |
OMX_U32 nSize; | |
OMX_VERSIONTYPE nVersion; | |
QOMX_AUDIO_VOICERECORDMODETYPE eVoiceRecordMode; | |
} QOMX_AUDIO_CONFIG_VOICERECORDTYPE; | |
/* Enum for mapping dual-mono contents to left and right channels */ | |
typedef enum OMX_AUDIO_DUAL_MONO_CHANNEL_CONFIG { | |
OMX_AUDIO_DUAL_MONO_MODE_FL_FR,/* 1st SCE to left & right */ | |
OMX_AUDIO_DUAL_MONO_MODE_SL_SR,/* 2nd SCE to left & right */ | |
OMX_AUDIO_DUAL_MONO_MODE_SL_FR,/* 2nd SCE to left, 1st SCE to right */ | |
OMX_AUDIO_DUAL_MONO_MODE_FL_SR,/* 1st SCE to left, 2nd SCE to right default */ | |
OMX_AUDIO_DUAL_MONO_MODE_DEFAULT = OMX_AUDIO_DUAL_MONO_MODE_FL_SR, | |
OMX_AUDIO_DUAL_MONO_MODE_INVALID = -1 | |
} OMX_AUDIO_DUAL_MONO_CHANNEL_CONFIG; | |
/************************************/ | |
/* DAK */ | |
/*************************************/ | |
/** this is the list of custom vendor index */ | |
typedef enum OMX_INDEX_DAK_TYPE { | |
OMX_IndexConfigDAK_BUNDLE = OMX_IndexVendorStartUnused /*0x7F000000*/, /**< reference: OMX_DAK_CONFIG_BUNDLETYPE */ | |
OMX_IndexConfigDAK_M2S, /**< reference: OMX_DAK_CONFIG_M2STYPE */ | |
OMX_IndexConfigDAK_SSE, /**< reference: OMX_DAK_CONFIG_SSETYPE */ | |
OMX_IndexConfigDAK_SLC, /**< reference: OMX_DAK_CONFIG_SLCTYPE */ | |
OMX_IndexConfigDAK_VOL, /**< reference: OMX_DAK_CONFIG_VOLTYPE */ | |
OMX_IndexConfigDAK_NB, /**< reference: OMX_DAK_CONFIG_NBTYPE */ | |
OMX_IndexConfigDAK_GEQ, /**< reference: OMX_DAK_CONFIG_GEQTYPE */ | |
OMX_IndexConfigDAK_MSR, /**< reference: OMX_DAK_CONFIG_MSRTYPE */ | |
OMX_IndexConfigDAK_HFE, /**< reference: OMX_DAK_CONFIG_HFETYPE */ | |
OMX_IndexConfigDAK_FADE,/**< reference: OMX_DAK_CONFIG_FADETYPE */ | |
OMX_IndexConfigDAK_SEQ, /**< reference: OMX_DAK_CONFIG_SEQTYPE */ | |
} OMX_INDEX_DAK_TYPE; | |
/** Dolby Audio Kernel TDAS bundle */ | |
typedef struct OMX_DAK_CONFIG_BUNDLETYPE { | |
OMX_U32 nSize; /**< size of the structure in bytes */ | |
OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ | |
OMX_U32 nDAK_Version; /**< Dolby Audio Kernel version information */ | |
OMX_U32 nDAK_Revision; /**< Dolby Audio Kernel revision information */ | |
OMX_U8 nLfeMixLevel; /**< level at which the LFE channel is mixed into the output audio */ | |
OMX_U8 nSampleRateIndex; /**< Output sample rate */ | |
OMX_U8 nInChans; /**< Channel format of input audio */ | |
OMX_U8 nInMatrix; /**< L/R mixing specification for stereo audio input */ | |
OMX_U8 nBypass; /**< Audio Processing bypass */ | |
OMX_U8 nRateMultipier; /**< Sample-rate multiplier (output with respect to input) */ | |
OMX_U8 nInChanFormat; /**< Input/Output channel format */ | |
OMX_U8 nMsrMaxProfile; /**< Maximum number of virtual rendering channels in Mobile Surround */ | |
OMX_BOOL bPortablemodeEnable; /**< Enable or disable Pulse Portable Mode */ | |
OMX_S16 nPotablemodeGain; /**< Send the Portable Mode gain value from the Pulse decoder */ | |
OMX_U8 nORL; /**< Device specific target signal level (output reference level) */ | |
OMX_BOOL bPulsedownmixEnable; /**< Enable the Pulse Downmix compensation */ | |
OMX_S8 nPulsedownmixAtten; /**< Attenuation value that Pulse is currently applying */ | |
OMX_U8 nOutChans; /**< Channel format of output audio */ | |
} OMX_DAK_CONFIG_BUNDLETYPE; | |
/** Dolby Audio Kernel Mono-to-Stereo Creator */ | |
typedef struct OMX_DAK_CONFIG_M2STYPE { | |
OMX_U32 nSize; /**< size of the structure in bytes */ | |
OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ | |
OMX_BOOL bEnable; /**< Mono-to-Stereo Creator enable */ | |
OMX_BOOL bDetector; /**< Stereo detector status */ | |
} OMX_DAK_CONFIG_M2STYPE; | |
/** Dolby Audio Kernel Sound Space Expander */ | |
typedef struct OMX_DAK_CONFIG_SSETYPE { | |
OMX_U32 nSize; /**< size of the structure in bytes */ | |
OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ | |
OMX_BOOL bEnable; /**< Sound Space Expander enable */ | |
OMX_U8 nWidth; /**< Width of expansion effect */ | |
OMX_U8 nSpkMode; /**< Speaker Mode */ | |
} OMX_DAK_CONFIG_SSETYPE; | |
/** Dolby Audio Kernel Sound Level Controller */ | |
typedef struct OMX_DAK_CONFIG_SLCTYPE { | |
OMX_U32 nSize; /**< size of the structure in bytes */ | |
OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ | |
OMX_BOOL bEnable; /**< Sound Level Controller enable */ | |
OMX_U8 nLevel; /**< Source audio RMS level */ | |
OMX_U8 nDepth; /**< Depth of effect */ | |
} OMX_DAK_CONFIG_SLCTYPE; | |
/** Dolby Audio Kernel Volume */ | |
typedef struct OMX_DAK_CONFIG_VOLTYPE { | |
OMX_U32 nSize; /**< size of the structure in bytes */ | |
OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ | |
OMX_BOOL bEnable; /**< Volume enable */ | |
OMX_U8 nGainType; /**< Linear/Logarithmic audio scaling */ | |
OMX_U8 nInternalGain; /**< Audio volume scale */ | |
OMX_U8 nExternalGain; /**< Audio volume scale applied by external volume control */ | |
OMX_S8 nBalance; /**< L/R panning for output audio */ | |
OMX_BOOL bMute; /**< Audio Mute */ | |
} OMX_DAK_CONFIG_VOLTYPE; | |
/** Dolby Audio Kernel Natural Bass */ | |
typedef struct OMX_DAK_CONFIG_NBTYPE { | |
OMX_U32 nSize; /**< size of the structure in bytes */ | |
OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ | |
OMX_BOOL bEnable; /**< Natural Bass enable */ | |
OMX_U8 nCutoff; /**< Speakers/headphones lower cutoff frequency */ | |
OMX_U8 nBoost; /**< Strength of effect */ | |
OMX_U8 nLevel; /**< Maximum output level capability of speakers/headphones */ | |
} OMX_DAK_CONFIG_NBTYPE; | |
/** Dolby Audio Kernel Graphic EQ */ | |
typedef struct OMX_DAK_CONFIG_GEQTYPE { | |
OMX_U32 nSize; /**< size of the structure in bytes */ | |
OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ | |
OMX_BOOL bEnable; /**< Graphic EQ enable */ | |
OMX_U8 nNbands; /**< Number of frequency bands */ | |
OMX_S8 nPreamp; /**< Global attenuation to apply prior to band level adjustment */ | |
OMX_U8 nMaxboost; /**< Maximum absolute boost with respect to the source audio */ | |
OMX_S8 nBand1; /**< Boost/cut for 1st frequency band */ | |
OMX_S8 nBand2; /**< Boost/cut for 2nd frequency band */ | |
OMX_S8 nBand3; /**< Boost/cut for 3rd frequency band */ | |
OMX_S8 nBand4; /**< Boost/cut for 4th frequency band */ | |
OMX_S8 nBand5; /**< Boost/cut for 5th frequency band */ | |
OMX_S8 nBand6; /**< Boost/cut for 6th frequency band */ | |
OMX_S8 nBand7; /**< Boost/cut for 7th frequency band */ | |
} OMX_DAK_CONFIG_GEQTYPE; | |
/** Dolby Audio Kernel, Mobile Surround and Surround Upmixer */ | |
typedef struct OMX_DAK_CONFIG_MSRTYPE { | |
OMX_U32 nSize; /**< size of the structure in bytes */ | |
OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ | |
OMX_BOOL bMsrEnable; /**< Mobile Surround enable */ | |
OMX_U8 nMsrRoom; /**< Room Size control */ | |
OMX_U8 nMsrBright; /**< Brightness control */ | |
OMX_BOOL bMupEnable; /**< Mobile Surround Upmixer enable */ | |
} OMX_DAK_CONFIG_MSRTYPE; | |
/** Dolby Audio Kernel High Frequency Enhancer */ | |
typedef struct OMX_DAK_CONFIG_HFETYPE { | |
OMX_U32 nSize; /**< size of the structure in bytes */ | |
OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ | |
OMX_BOOL bEnable; /**< High Frequency Enhancer enable */ | |
OMX_U8 nDepth; /**< Strength of effect */ | |
} OMX_DAK_CONFIG_HFETYPE; | |
/** Dolby Audio Kernel Fade */ | |
typedef struct OMX_DAK_CONFIG_FADETYPE { | |
OMX_U32 nSize; /**< size of the structure in bytes */ | |
OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ | |
OMX_BOOL bEnable; /**< Fade enable */ | |
OMX_U8 nTarget; /**< Target fade level */ | |
OMX_U16 nTime; /**< Fade time interval */ | |
} OMX_DAK_CONFIG_FADETYPE; | |
/** Dolby Audio Kernel Speaker EQ */ | |
typedef struct OMX_DAK_CONFIG_SEQTYPE { | |
OMX_U32 nSize; /**< size of the structure in bytes */ | |
OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ | |
OMX_BOOL bEnable; /**< Speaker EQ enable */ | |
OMX_S8 nLeftGainDB; /**< Additional gain for Left channel */ | |
OMX_S8 nRightGainDB; /**< Additional gain for Right channel */ | |
OMX_U8 nCoef48000Size; /**< Length of the block of coefficients for 48KHz Sampling Rate case */ | |
OMX_PTR pCoef48000; /**< Pointer to the block of coefficients for the 48KHz case */ | |
OMX_U8 nCoef44100Size; /**< Length of the block of coefficients for 44.1KHz Sampling Rate case */ | |
OMX_PTR pCoef44100; /**< Pointer to the block of coefficients for the 44.1KHz case */ | |
OMX_U8 nCoef32000Size; /**< Length of the block of coefficients for 32KHz Sampling Rate case */ | |
OMX_PTR pCoef32000; /**< Pointer to the block of coefficients for the 32KHz case */ | |
OMX_U8 nCoef24000Size; /**< Length of the block of coefficients for 24KHz Sampling Rate case */ | |
OMX_PTR pCoef24000; /**< Pointer to the block of coefficients for the 24KHz case */ | |
} OMX_DAK_CONFIG_SEQTYPE; | |
typedef enum OMX_AUDIO_CHANNELTYPE_EXTENSION { | |
OMX_AUDIO_ChannelTS = OMX_AUDIO_ChannelVendorStartUnused, /**< Top Surround */ | |
OMX_AUDIO_ChannelCVH /**< Central Vertical Height */ | |
} OMX_AUDIO_CHANNELTYPE_EXTENSION; | |
/** | |
* DUAL-MONO type | |
* | |
* STRUCT MEMBERS: | |
* nSize : Size of the structure in bytes | |
* nVersion : OMX specification version information | |
* nPortIndex : Port that this structure applies to | |
* eChannelConfig : Enum for channel config | |
* | |
*/ | |
typedef struct QOMX_AUDIO_CONFIG_DUALMONOTYPE { | |
OMX_U32 nSize; | |
OMX_VERSIONTYPE nVersion; | |
OMX_U32 nPortIndex; | |
OMX_AUDIO_DUAL_MONO_CHANNEL_CONFIG eChannelConfig; | |
} QOMX_AUDIO_CONFIG_DUALMONOTYPE; | |
#if defined( __cplusplus ) | |
} | |
#endif /* end of macro __cplusplus */ | |
#endif /* end of macro __H_QOMX_AUDIOEXTENSIONS_H__ */ |