1dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/*--------------------------------------------------------------------------
261a2c6a19dbd06a317a419623020e02056661876Praveen ChavanCopyright (c) 2009, 2011, The Linux Foundation. All rights reserved.
3dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
4dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandRedistribution and use in source and binary forms, with or without
5dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandmodification, are permitted provided that the following conditions are met:
6dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    * Redistributions of source code must retain the above copyright
7dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand      notice, this list of conditions and the following disclaimer.
8dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    * Redistributions in binary form must reproduce the above copyright
9dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand      notice, this list of conditions and the following disclaimer in the
10dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand      documentation and/or other materials provided with the distribution.
1161a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    * Neither the name of The Linux Foundation nor
12dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand      the names of its contributors may be used to endorse or promote
13dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand      products derived from this software without specific prior written
14dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand      permission.
15dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
16dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandIMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandNON-INFRINGEMENT ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
20dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandCONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
21dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandEXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
22dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandPROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
23dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandOR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
24dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandWHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
25dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandOTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
26dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand--------------------------------------------------------------------------*/
28dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/*============================================================================
29dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand                            O p e n M A X   w r a p p e r s
30dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand                             O p e n  M A X   C o r e
31dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
32dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand*//** @file QOMX_AudioExtensions.h
33dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand  This module contains the extensions for Audio
34dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
35dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand*//*========================================================================*/
36dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
37dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#ifndef __H_QOMX_AUDIOEXTENSIONS_H__
38dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define __H_QOMX_AUDIOEXTENSIONS_H__
39dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
40dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/*========================================================================
41dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
42dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand                     INCLUDE FILES FOR MODULE
43dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
44dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand========================================================================== */
45dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#include <OMX_Audio.h>
46dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
47dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/*========================================================================
48dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
49dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand                      DEFINITIONS AND DECLARATIONS
50dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
51dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand========================================================================== */
52dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
53dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#if defined( __cplusplus )
54dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandextern "C"
55dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand{
56dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#endif /* end of macro __cplusplus */
57dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
58dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/* Audio extension strings */
59dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_PARAM_AMRWBPLUS       "OMX.Qualcomm.index.audio.amrwbplus"
60dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_PARAM_WMA10PRO        "OMX.Qualcomm.index.audio.wma10pro"
61dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_PARAM_SESSIONID       "OMX.Qualcomm.index.audio.sessionId"
62dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_PARAM_VOICERECORDTYPE "OMX.Qualcomm.index.audio.VoiceRecord"
63dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_PARAM_AC3TYPE	     "OMX.Qualcomm.index.audio.ac3"
6461a2c6a19dbd06a317a419623020e02056661876Praveen Chavan#define OMX_QCOM_INDEX_PARAM_AC3PP	     "OMX.Qualcomm.index.audio.postproc.ac3"
65dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_PARAM_DAK_BUNDLE      "OMX.Qualcomm.index.audio.dakbundle"
66dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_PARAM_DAK_M2S         "OMX.Qualcomm.index.audio.dak_m2s"
67dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_PARAM_DAK_SSE         "OMX.Qualcomm.index.audio.dak_sse"
68dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_PARAM_DAK_SLC         "OMX.Qualcomm.index.audio.dak_slc"
69dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_PARAM_DAK_VOL         "OMX.Qualcomm.index.audio.dak_vol"
70dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_PARAM_DAK_NB          "OMX.Qualcomm.index.audio.dak_nb"
71dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_PARAM_DAK_GEQ         "OMX.Qualcomm.index.audio.dak_geq"
72dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_PARAM_DAK_MSR         "OMX.Qualcomm.index.audio.dak_msr"
73dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_PARAM_DAK_HFE         "OMX.Qualcomm.index.audio.dak_hfe"
74dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_PARAM_DAK_FADE        "OMX.Qualcomm.index.audio.dak_fade"
75dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_PARAM_DAK_SEQ         "OMX.Qualcomm.index.audio.dak_seq"
76dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_CONFIG_DUALMONO       "OMX.Qualcomm.index.audio.dualmono"
778767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan#define OMX_QCOM_INDEX_CONFIG_AAC_SEL_MIX_COEF "OMX.Qualcomm.index.audio.aac_sel_mix_coef"
78dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
79dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum QOMX_AUDIO_AMRBANDMODETYPE {
80dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_AUDIO_AMRBandModeWB9              = 0x7F000001,/**< AMRWB Mode 9 = SID*/
81dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_AUDIO_AMRBandModeWB10             = 0x7F000002,/**< AMRWB Mode 10 = 13600 bps */
82dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_AUDIO_AMRBandModeWB11             = 0x7F000003,/**< AMRWB Mode 11 = 18000 bps */
83dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_AUDIO_AMRBandModeWB12             = 0x7F000004,/**< AMRWB Mode 12 = 24000 bps */
84dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_AUDIO_AMRBandModeWB13             = 0x7F000005,/**< AMRWB Mode 13 = 24000 bps */
85dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_AUDIO_AMRBandModeWB14             = 0x7F000006,/**< AMRWB Mode 14 = FRAME_ERASE*/
86dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_AUDIO_AMRBandModeWB15             = 0x7F000007,/**< AMRWB Mode 15 = NO_DATA */
87dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand}QOMX_AUDIO_AMRBANDMODETYPE;
88dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
89dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum QOMX_AUDIO_CODINGTYPE {
90dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   QOMX_AUDIO_CodingVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
91dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   QOMX_AUDIO_CodingEVRCB  = 0x7F000001,
92dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   QOMX_AUDIO_CodingEVRCWB = 0x7F000002,
93dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   QOMX_AUDIO_CodingFLAC   = 0x7F000003,
94dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   QOMX_AUDIO_CodingMax = 0x7FFFFFFF
95dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand}QOMX_AUDIO_CODINGTYPE;
96dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
97dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
98dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/**
99dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * AMR WB PLUS type
100dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *
101dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  STRUCT MEMBERS:
102dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  nSize           : Size of the structure in bytes
103dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  nVersion        : OMX specification version information
104dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  nPortIndex      : Port that this structure applies to
105dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  nChannels       : Number of channels
106dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  nBitRate        : Bit rate read only field
107dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  nSampleRate     : Sampling frequency for the clip(16/24/32/48KHz)
108dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  eAMRBandMode    : AMR Band Mode enumeration
109dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  eAMRDTXMode     : AMR DTX Mode enumeration
110dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  eAMRFrameFormat : AMR frame format enumeration
111dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */
112dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
113dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct QOMX_AUDIO_PARAM_AMRWBPLUSTYPE {
114dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nSize;
115dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_VERSIONTYPE nVersion;
116dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nPortIndex;
117dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nChannels;
118dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nBitRate;
119dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nSampleRate;
120dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_AUDIO_AMRBANDMODETYPE   eAMRBandMode;
121dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_AUDIO_AMRDTXMODETYPE     eAMRDTXMode;
122dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_AUDIO_AMRFRAMEFORMATTYPE eAMRFrameFormat;
123dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_AUDIO_PARAM_AMRWBPLUSTYPE;
124dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
125dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum QOMX_AUDIO_WMAFORMATTYPE {
126dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_AUDIO_WMAFormat10Pro = 0x7F000001, /**< Windows Media Audio format 10*/
127dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_AUDIO_WMAFORMATTYPE;
128dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
129dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/**
130dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * WMA 10 PRO type
131dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *
132dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  STRUCT MEMBERS:
133dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  nSize              : Size of the structure in bytes
134dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  nVersion           : OMX specification version information
135dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  nPortIndex         : Port that this structure applies to
136dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  nChannels          : Number of channels
137dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  nBitRate           : Bit rate read only field
138dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  eFormat            : Version of WMA stream / data
139dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  eProfile           : Profile of WMA stream / data
140dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  nSamplingRate      : Sampling rate of the source data
141dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  nBlockAlign        : block alignment, or block size, in bytes of the audio codec
142dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  nEncodeOptions     : WMA Type-specific data
143dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  nSuperBlockAlign   : WMA Type-specific data
144dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  validBitsPerSample : encoded stream (24-bit or 16-bit)
145dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  formatTag          : codec ID(0x162 or 0x166)
146dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  advancedEncodeOpt  : bit packed words indicating the features supported for LBR bitstream
147dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  advancedEncodeOpt2 : bit packed words indicating the features supported for LBR bitstream
148dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */
149dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct QOMX_AUDIO_PARAM_WMA10PROTYPE {
150dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nSize;
151dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_VERSIONTYPE nVersion;
152dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nPortIndex;
153dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U16 nChannels;
154dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nBitRate;
155dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_AUDIO_WMAFORMATTYPE eFormat;
156dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_AUDIO_WMAPROFILETYPE eProfile;
157dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nSamplingRate;
158dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U16 nBlockAlign;
159dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U16 nEncodeOptions;
160dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nSuperBlockAlign;
161dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 validBitsPerSample;
162dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 formatTag;
163dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 advancedEncodeOpt;
164dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 advancedEncodeOpt2;
165dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U16 nVirtualPktSize;
166dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_AUDIO_PARAM_WMA10PROTYPE;
167dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
168dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
169dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum OMX_AUDIO_AC3FORMATTYPE {
170dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   omx_audio_ac3       = 0x7f000001, /**< ac-3 */
171dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   omx_audio_eac3      = 0x7f000002  /**< eac-3 */
172dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_AUDIO_AC3FORMATTYPE;
173dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
174dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum OMX_AUDIO_AC3_CHANNEL_CONFIG
175dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand{
176dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_CHANNEL_CONFIG_RSVD = 0,
177dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_CHANNEL_CONFIG_1_0,
178dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_CHANNEL_CONFIG_2_0,
179dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_CHANNEL_CONFIG_3_0,
18061a2c6a19dbd06a317a419623020e02056661876Praveen Chavan   OMX_AUDIO_AC3_CHANNEL_CONFIG_2_1,
181dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_CHANNEL_CONFIG_3_1,
18261a2c6a19dbd06a317a419623020e02056661876Praveen Chavan   OMX_AUDIO_AC3_CHANNEL_CONFIG_2_2,
183dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_CHANNEL_CONFIG_3_2,
18461a2c6a19dbd06a317a419623020e02056661876Praveen Chavan   OMX_AUDIO_AC3_CHANNEL_CONFIG_3_0_1,
18561a2c6a19dbd06a317a419623020e02056661876Praveen Chavan   OMX_AUDIO_AC3_CHANNEL_CONFIG_2_2_1,
18661a2c6a19dbd06a317a419623020e02056661876Praveen Chavan   OMX_AUDIO_AC3_CHANNEL_CONFIG_3_2_1,
18761a2c6a19dbd06a317a419623020e02056661876Praveen Chavan   OMX_AUDIO_AC3_CHANNEL_CONFIG_3_0_2,
18861a2c6a19dbd06a317a419623020e02056661876Praveen Chavan   OMX_AUDIO_AC3_CHANNEL_CONFIG_2_2_2,
189dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_CHANNEL_CONFIG_3_2_2,
19061a2c6a19dbd06a317a419623020e02056661876Praveen Chavan   OMX_AUDIO_AC3_CHANNEL_CONFIG_DEFAULT = 0xFFFF
191dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_AUDIO_AC3_CHANNEL_CONFIG;
192dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
19361a2c6a19dbd06a317a419623020e02056661876Praveen Chavan/**
194dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * AC-3 type
19561a2c6a19dbd06a317a419623020e02056661876Praveen Chavan *
196dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  STRUCT MEMBERS:
197dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  nSize               : Size of the structure in bytes
198dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  nVersion            : OMX specification version information
199dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  nPortIndex          : Port that this structure applies to
200dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  nChannels           : Number of channels
201dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  nBitRate            : Bitrate
202dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  nSamplingRate       : Sampling rate, 32K, 44.1K, 48K only supported
203dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  eFormat             : AC-3 or EAC-3
204dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  eChannelConfig      : Channel configuration
205dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  nProgramID          : Indication of ProgramID, 0-7
206dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  bCompressionOn      : Flag to enable Compression
207dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  bLfeOn              : Flag for LFE on/off
208dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  bDelaySurroundChannels : Flag to put delay on surround channels
20961a2c6a19dbd06a317a419623020e02056661876Praveen Chavan *
210dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */
211dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct QOMX_AUDIO_PARAM_AC3TYPE {
21261a2c6a19dbd06a317a419623020e02056661876Praveen Chavan   OMX_U32 nSize;
213dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_VERSIONTYPE nVersion;
214dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_U32 nPortIndex;
215dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_U16 nChannels;
216dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_U32 nBitRate;
217dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_U32 nSamplingRate;
218dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3FORMATTYPE eFormat;
219dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_CHANNEL_CONFIG eChannelConfig;
220dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_U8 nProgramID;
221dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_BOOL bCompressionOn;
222dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_BOOL bLfeOn;
223dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_BOOL bDelaySurroundChannels;
224dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_AUDIO_PARAM_AC3TYPE;
225dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
226dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum OMX_AUDIO_AC3_CHANNEL_ROUTING
227dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand{
228dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_CHANNEL_LEFT,
229dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_CHANNEL_CENTER,
230dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_CHANNEL_RIGHT,
231dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_CHANNEL_LEFT_SURROUND,
232dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_CHANNEL_RIGHT_SURROUND,
233dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_CHANNEL_SURROUND,
234dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_CHANNEL_EXTENSION_1,
235dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_CHANNEL_EXTENSION_2,
236dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_CHANNEL_DEFAULT = 0xFFFF
237dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_AUDIO_AC3_CHANNEL_ROUTING;
238dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
239dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum OMX_AUDIO_AC3_COMPRESSION_MODE
240dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand{
241dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_COMPRESSION_MODE_ANALOG_DIALNORM,
242dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_COMPRESSION_MODE_DIGITAL_DIALNORM,
243dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_COMPRESSION_MODE_LINE_OUT,
244dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_COMPRESSION_MODE_RF_REMOD
245dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_AUDIO_AC3_COMPRESSION_MODE;
246dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
247dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum OMX_AUDIO_AC3_STEREO_MODE
248dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand{
249dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_STEREO_MODE_AUTO_DETECT,
250dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_STEREO_MODE_LT_RT,
251dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_STEREO_MODE_LO_RO,
252dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_STEREO_MODE_DEFAULT = 0xFFFF
253dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_AUDIO_AC3_STEREO_MODE;
254dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
255dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum OMX_AUDIO_AC3_DUAL_MONO_MODE
256dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand{
257dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_DUAL_MONO_MODE_STEREO,
258dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_DUAL_MONO_MODE_LEFT_MONO,
259dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_DUAL_MONO_MODE_RIGHT_MONO,
260dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_DUAL_MONO_MODE_MIXED_MONO,
261dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_DUAL_MONO_MODE_DEFAULT = 0xFFFF
262dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_AUDIO_AC3_DUAL_MONO_MODE;
263dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
264dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum OMX_AUDIO_AC3_KARAOKE_MODE
265dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand{
266dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_KARAOKE_MODE_NO_VOCAL,
267dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_KARAOKE_MODE_LEFT_VOCAL,
268dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_KARAOKE_MODE_RIGHT_VOCAL,
269dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_KARAOKE_MODE_BOTH_VOCAL,
270dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_KARAOKE_MODE_DEFAULT = 0xFFFF
271dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_AUDIO_AC3_KARAOKE_MODE;
272dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
273dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
274dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct QOMX_AUDIO_PARAM_AC3PP
275dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand{
27661a2c6a19dbd06a317a419623020e02056661876Praveen Chavan   OMX_U32 nSize;
277dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_VERSIONTYPE nVersion;
278dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_U32 nPortIndex;
279dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_CHANNEL_ROUTING eChannelRouting[8];
280dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_COMPRESSION_MODE eCompressionMode;
281dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_STEREO_MODE eStereoMode;
282dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_DUAL_MONO_MODE eDualMonoMode;
283dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_U32 usPcmScale;
284dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_U32 usDynamicScaleBoost;
285dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_U32 usDynamicScaleCut;
286dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_AC3_KARAOKE_MODE eKaraokeMode;
28761a2c6a19dbd06a317a419623020e02056661876Praveen Chavan} QOMX_AUDIO_PARAM_AC3PP;
288dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
289dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
290dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/**
291dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Stream info data
292dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *
293dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  STRUCT MEMBERS:
294dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  sessionId :  session Id for alsa to route data
295dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */
296dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct QOMX_AUDIO_STREAM_INFO_DATA {
297dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U8  sessionId;
298dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_AUDIO_STREAM_INFO_DATA;
299dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
300dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
301dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/**
302dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Record Path
303dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *
304dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS:
305dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * recPath : Record Path for encoding
306dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */
307dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum{
308dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
309dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandQOMX_AUDIO_VOICE_TX,
310dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandQOMX_AUDIO_VOICE_RX,
311dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandQOMX_AUDIO_VOICE_MIXED,
312dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
313dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_AUDIO_VOICERECORDMODETYPE;
314dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct QOMX_AUDIO_CONFIG_VOICERECORDTYPE {
315dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
316dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandOMX_U32                            nSize;
317dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandOMX_VERSIONTYPE                    nVersion;
318dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandQOMX_AUDIO_VOICERECORDMODETYPE     eVoiceRecordMode;
319dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand}  QOMX_AUDIO_CONFIG_VOICERECORDTYPE;
320dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
321dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/* Enum for mapping dual-mono contents to left and right channels */
322dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum OMX_AUDIO_DUAL_MONO_CHANNEL_CONFIG {
323dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_AUDIO_DUAL_MONO_MODE_FL_FR,/* 1st SCE to left & right */
324dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_AUDIO_DUAL_MONO_MODE_SL_SR,/* 2nd SCE to left & right */
325dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_AUDIO_DUAL_MONO_MODE_SL_FR,/* 2nd SCE to left, 1st SCE to right */
326dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_AUDIO_DUAL_MONO_MODE_FL_SR,/* 1st SCE to left, 2nd SCE to right default */
327dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_AUDIO_DUAL_MONO_MODE_DEFAULT = OMX_AUDIO_DUAL_MONO_MODE_FL_SR,
328dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_AUDIO_DUAL_MONO_MODE_INVALID = -1
329dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_AUDIO_DUAL_MONO_CHANNEL_CONFIG;
330dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
331dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/************************************/
332dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/* DAK */
333dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/*************************************/
334dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
335dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** this is the list of custom vendor index */
336dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum OMX_INDEX_DAK_TYPE {
337dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_IndexConfigDAK_BUNDLE = OMX_IndexVendorStartUnused /*0x7F000000*/,	/**< reference: OMX_DAK_CONFIG_BUNDLETYPE */
338dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_IndexConfigDAK_M2S,	/**< reference: OMX_DAK_CONFIG_M2STYPE */
339dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_IndexConfigDAK_SSE,	/**< reference: OMX_DAK_CONFIG_SSETYPE */
340dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_IndexConfigDAK_SLC,	/**< reference: OMX_DAK_CONFIG_SLCTYPE */
341dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_IndexConfigDAK_VOL,	/**< reference: OMX_DAK_CONFIG_VOLTYPE */
342dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_IndexConfigDAK_NB,	/**< reference: OMX_DAK_CONFIG_NBTYPE */
343dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_IndexConfigDAK_GEQ,	/**< reference: OMX_DAK_CONFIG_GEQTYPE */
344dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_IndexConfigDAK_MSR, /**< reference: OMX_DAK_CONFIG_MSRTYPE */
345dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_IndexConfigDAK_HFE,	/**< reference: OMX_DAK_CONFIG_HFETYPE */
346dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_IndexConfigDAK_FADE,/**< reference: OMX_DAK_CONFIG_FADETYPE */
347dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_IndexConfigDAK_SEQ,	/**< reference: OMX_DAK_CONFIG_SEQTYPE */
348dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
349dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_INDEX_DAK_TYPE;
350dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
351dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
352dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** Dolby Audio Kernel TDAS bundle */
353dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_DAK_CONFIG_BUNDLETYPE {
354dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    	OMX_U32 nSize;              	/**< size of the structure in bytes */
355dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_VERSIONTYPE nVersion;	/**< OMX specification version information */
356dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U32 nDAK_Version;		/**< Dolby Audio Kernel version information */
357dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U32 nDAK_Revision;		/**< Dolby Audio Kernel revision information */
358dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U8 nLfeMixLevel;		/**< level at which the LFE channel is mixed into the output audio */
359dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U8 nSampleRateIndex;	/**< Output sample rate */
360dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U8 nInChans;		/**< Channel format of input audio */
361dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U8 nInMatrix;		/**< L/R mixing specification for stereo audio input */
362dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U8 nBypass;			/**< Audio Processing bypass */
363dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U8 nRateMultipier;		/**< Sample-rate multiplier (output with respect to input) */
364dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U8 nInChanFormat;		/**< Input/Output channel format */
365dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U8 nMsrMaxProfile;		/**< Maximum number of virtual rendering channels in Mobile Surround */
366dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_BOOL bPortablemodeEnable;	/**< Enable or disable Pulse Portable Mode */
367dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_S16 nPotablemodeGain;	/**< Send the Portable Mode gain value from the Pulse decoder */
368dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U8 nORL;			/**< Device specific target signal level (output reference level) */
369dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_BOOL bPulsedownmixEnable;	/**< Enable the Pulse Downmix compensation */
370dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_S8 nPulsedownmixAtten;	/**< Attenuation value that Pulse is currently applying */
371dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U8 nOutChans;		/**< Channel format of output audio */
372dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
373dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_DAK_CONFIG_BUNDLETYPE;
374dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
375dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** Dolby Audio Kernel Mono-to-Stereo Creator */
376dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_DAK_CONFIG_M2STYPE {
377dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U32 nSize;			/**< size of the structure in bytes */
378dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_VERSIONTYPE nVersion;	/**< OMX specification version information */
379dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_BOOL bEnable;		/**< Mono-to-Stereo Creator enable */
380dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_BOOL bDetector;		/**< Stereo detector status */
381dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_DAK_CONFIG_M2STYPE;
382dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
383dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** Dolby Audio Kernel Sound Space Expander */
384dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_DAK_CONFIG_SSETYPE {
385dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U32 nSize;			/**< size of the structure in bytes */
386dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_VERSIONTYPE nVersion;	/**< OMX specification version information */
387dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_BOOL bEnable;		/**< Sound Space Expander enable */
388dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U8 nWidth;			/**< Width of expansion effect */
389dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U8 nSpkMode;		/**< Speaker Mode */
390dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_DAK_CONFIG_SSETYPE;
391dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
392dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** Dolby Audio Kernel Sound Level Controller */
393dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_DAK_CONFIG_SLCTYPE {
394dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U32 nSize;			/**< size of the structure in bytes */
395dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_VERSIONTYPE nVersion;	/**< OMX specification version information */
396dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_BOOL bEnable;		/**< Sound Level Controller enable */
397dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U8 nLevel;			/**< Source audio RMS level */
398dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U8 nDepth;			/**< Depth of effect */
399dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_DAK_CONFIG_SLCTYPE;
400dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
401dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** Dolby Audio Kernel Volume */
402dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_DAK_CONFIG_VOLTYPE {
403dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U32 nSize;			/**< size of the structure in bytes */
404dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_VERSIONTYPE nVersion;	/**< OMX specification version information */
405dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_BOOL bEnable;		/**< Volume enable */
406dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U8 nGainType;		/**< Linear/Logarithmic audio scaling */
407dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U8 nInternalGain;		/**< Audio volume scale */
408dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U8 nExternalGain;		/**< Audio volume scale applied by external volume control */
409dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_S8 nBalance;		/**< L/R panning for output audio */
41061a2c6a19dbd06a317a419623020e02056661876Praveen Chavan	OMX_BOOL bMute;			/**< Audio Mute */
411dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_DAK_CONFIG_VOLTYPE;
412dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
413dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** Dolby Audio Kernel Natural Bass */
414dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_DAK_CONFIG_NBTYPE {
415dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U32 nSize;			/**< size of the structure in bytes */
416dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_VERSIONTYPE nVersion;	/**< OMX specification version information */
417dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_BOOL bEnable;		/**< Natural Bass enable */
418dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U8 nCutoff;			/**< Speakers/headphones lower cutoff frequency */
419dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U8 nBoost;			/**< Strength of effect */
420dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U8 nLevel;			/**< Maximum output level capability of speakers/headphones */
421dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_DAK_CONFIG_NBTYPE;
422dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
423dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** Dolby Audio Kernel Graphic EQ */
424dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_DAK_CONFIG_GEQTYPE {
425dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U32 nSize;			/**< size of the structure in bytes */
426dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_VERSIONTYPE nVersion;	/**< OMX specification version information */
427dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_BOOL bEnable;		/**< Graphic EQ enable */
428dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U8 nNbands;			/**< Number of frequency bands */
429dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_S8 nPreamp;			/**< Global attenuation to apply prior to band level adjustment */
430dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U8 nMaxboost;		/**< Maximum absolute boost with respect to the source audio */
431dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_S8 nBand1;			/**< Boost/cut for 1st frequency band */
432dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_S8 nBand2;			/**< Boost/cut for 2nd frequency band */
433dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_S8 nBand3;			/**< Boost/cut for 3rd frequency band */
434dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_S8 nBand4;			/**< Boost/cut for 4th frequency band */
435dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_S8 nBand5;			/**< Boost/cut for 5th frequency band */
436dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_S8 nBand6;			/**< Boost/cut for 6th frequency band */
437dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_S8 nBand7;			/**< Boost/cut for 7th frequency band */
438dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_DAK_CONFIG_GEQTYPE;
439dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
440dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** Dolby Audio Kernel, Mobile Surround and Surround Upmixer */
441dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_DAK_CONFIG_MSRTYPE {
442dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U32 nSize;			/**< size of the structure in bytes */
443dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_VERSIONTYPE nVersion;	/**< OMX specification version information */
444dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_BOOL bMsrEnable;		/**< Mobile Surround enable */
445dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U8 nMsrRoom;		/**< Room Size control */
446dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U8 nMsrBright;		/**< Brightness control */
447dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_BOOL bMupEnable;		/**< Mobile Surround Upmixer enable */
448dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_DAK_CONFIG_MSRTYPE;
449dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
450dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** Dolby Audio Kernel High Frequency Enhancer */
451dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_DAK_CONFIG_HFETYPE {
452dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U32 nSize;			/**< size of the structure in bytes */
453dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_VERSIONTYPE nVersion;	/**< OMX specification version information */
454dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_BOOL bEnable;		/**< High Frequency Enhancer enable */
455dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U8 nDepth;			/**< Strength of effect */
456dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_DAK_CONFIG_HFETYPE;
457dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
458dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** Dolby Audio Kernel Fade */
459dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_DAK_CONFIG_FADETYPE {
460dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U32 nSize;			/**< size of the structure in bytes */
461dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_VERSIONTYPE nVersion;	/**< OMX specification version information */
462dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_BOOL bEnable;		/**< Fade enable */
463dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U8 nTarget;			/**< Target fade level */
464dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U16 nTime;			/**< Fade time interval */
465dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_DAK_CONFIG_FADETYPE;
466dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
467dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** Dolby Audio Kernel Speaker EQ */
468dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_DAK_CONFIG_SEQTYPE {
469dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U32 nSize;			/**< size of the structure in bytes */
470dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_VERSIONTYPE nVersion;	/**< OMX specification version information */
471dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_BOOL bEnable;		/**< Speaker EQ enable */
472dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_S8 nLeftGainDB;		/**< Additional gain for Left channel */
473dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_S8 nRightGainDB;		/**< Additional gain for Right channel */
474dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U8 nCoef48000Size;		/**< Length of the block of coefficients for 48KHz Sampling Rate case */
475dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_PTR pCoef48000;		/**< Pointer to the block of coefficients for the 48KHz case */
476dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U8 nCoef44100Size;		/**< Length of the block of coefficients for 44.1KHz Sampling Rate case */
477dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_PTR pCoef44100;		/**< Pointer to the block of coefficients for the 44.1KHz case */
478dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U8 nCoef32000Size;		/**< Length of the block of coefficients for 32KHz Sampling Rate case */
479dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_PTR pCoef32000;		/**< Pointer to the block of coefficients for the 32KHz case */
480dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_U8 nCoef24000Size;		/**< Length of the block of coefficients for 24KHz Sampling Rate case */
481dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand	OMX_PTR pCoef24000;		/**< Pointer to the block of coefficients for the 24KHz case */
482dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
483dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_DAK_CONFIG_SEQTYPE;
484dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
485dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
486dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum OMX_AUDIO_CHANNELTYPE_EXTENSION {
487dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_AUDIO_ChannelTS = OMX_AUDIO_ChannelVendorStartUnused,    /**< Top Surround */
488dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_AUDIO_ChannelCVH    /**< Central Vertical Height */
489dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_AUDIO_CHANNELTYPE_EXTENSION;
490dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
491dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/**
492dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * DUAL-MONO type
493dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *
494dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  STRUCT MEMBERS:
495dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  nSize               : Size of the structure in bytes
496dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  nVersion            : OMX specification version information
497dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  nPortIndex          : Port that this structure applies to
498dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  eChannelConfig      : Enum for channel config
499dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *
500dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */
501dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct QOMX_AUDIO_CONFIG_DUALMONOTYPE {
502dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_U32 nSize;
503dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_VERSIONTYPE nVersion;
504dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_U32 nPortIndex;
505dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand   OMX_AUDIO_DUAL_MONO_CHANNEL_CONFIG eChannelConfig;
506dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_AUDIO_CONFIG_DUALMONOTYPE;
507dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
508dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#if defined( __cplusplus )
509dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand}
510dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#endif /* end of macro __cplusplus */
511dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
512dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#endif /* end of macro __H_QOMX_AUDIOEXTENSIONS_H__ */
513