1826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/*--------------------------------------------------------------------------
2826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan MalchevCopyright (c) 2009, 2011, Code Aurora Forum. All rights reserved.
3826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
4826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan MalchevRedistribution and use in source and binary forms, with or without
5826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevmodification, are permitted provided that the following conditions are met:
6826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    * Redistributions of source code must retain the above copyright
7826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev      notice, this list of conditions and the following disclaimer.
8826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    * Redistributions in binary form must reproduce the above copyright
9826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev      notice, this list of conditions and the following disclaimer in the
10826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev      documentation and/or other materials provided with the distribution.
11826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    * Neither the name of Code Aurora nor
12826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev      the names of its contributors may be used to endorse or promote
13826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev      products derived from this software without specific prior written
14826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev      permission.
15826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
16826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan MalchevTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan MalchevAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan MalchevIMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan MalchevNON-INFRINGEMENT ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
20826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan MalchevCONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
21826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan MalchevEXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
22826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan MalchevPROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
23826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan MalchevOR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
24826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan MalchevWHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
25826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan MalchevOTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
26826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan MalchevADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev--------------------------------------------------------------------------*/
28826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/*============================================================================
29826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev                            O p e n M A X   w r a p p e r s
30826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev                             O p e n  M A X   C o r e
31826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
32826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev*//** @file QOMX_AudioExtensions.h
33826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev  This module contains the extensions for Audio
34826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
35826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev*//*========================================================================*/
36826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
37826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#ifndef __H_QOMX_AUDIOEXTENSIONS_H__
38826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#define __H_QOMX_AUDIOEXTENSIONS_H__
39826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
40826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/*========================================================================
41826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
42826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev                     INCLUDE FILES FOR MODULE
43826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
44826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev========================================================================== */
45826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#include <OMX_Audio.h>
46826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
47826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/*========================================================================
48826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
49826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev                      DEFINITIONS AND DECLARATIONS
50826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
51826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev========================================================================== */
52826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
53826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#if defined( __cplusplus )
54826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevextern "C"
55826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev{
56826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#endif /* end of macro __cplusplus */
57826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
58826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/* Audio extension strings */
59826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#define OMX_QCOM_INDEX_PARAM_AMRWBPLUS       "OMX.Qualcomm.index.audio.amrwbplus"
60826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#define OMX_QCOM_INDEX_PARAM_WMA10PRO        "OMX.Qualcomm.index.audio.wma10pro"
61826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#define OMX_QCOM_INDEX_PARAM_SESSIONID       "OMX.Qualcomm.index.audio.sessionId"
62826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#define OMX_QCOM_INDEX_PARAM_VOICERECORDTYPE "OMX.Qualcomm.index.audio.VoiceRecord"
63826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#define OMX_QCOM_INDEX_PARAM_AC3TYPE	     "OMX.Qualcomm.index.audio.ac3"
64826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#define OMX_QCOM_INDEX_PARAM_AC3PP	     "OMX.Qualcomm.index.audio.ac3.postproc"
65826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#define OMX_QCOM_INDEX_PARAM_DAK_BUNDLE      "OMX.Qualcomm.index.audio.dakbundle"
66826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#define OMX_QCOM_INDEX_PARAM_DAK_M2S         "OMX.Qualcomm.index.audio.dak_m2s"
67826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#define OMX_QCOM_INDEX_PARAM_DAK_SSE         "OMX.Qualcomm.index.audio.dak_sse"
68826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#define OMX_QCOM_INDEX_PARAM_DAK_SLC         "OMX.Qualcomm.index.audio.dak_slc"
69826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#define OMX_QCOM_INDEX_PARAM_DAK_VOL         "OMX.Qualcomm.index.audio.dak_vol"
70826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#define OMX_QCOM_INDEX_PARAM_DAK_NB          "OMX.Qualcomm.index.audio.dak_nb"
71826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#define OMX_QCOM_INDEX_PARAM_DAK_GEQ         "OMX.Qualcomm.index.audio.dak_geq"
72826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#define OMX_QCOM_INDEX_PARAM_DAK_MSR         "OMX.Qualcomm.index.audio.dak_msr"
73826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#define OMX_QCOM_INDEX_PARAM_DAK_HFE         "OMX.Qualcomm.index.audio.dak_hfe"
74826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#define OMX_QCOM_INDEX_PARAM_DAK_FADE        "OMX.Qualcomm.index.audio.dak_fade"
75826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#define OMX_QCOM_INDEX_PARAM_DAK_SEQ         "OMX.Qualcomm.index.audio.dak_seq"
76826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#define OMX_QCOM_INDEX_CONFIG_DUALMONO       "OMX.Qualcomm.index.audio.dualmono"
77826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
78826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum QOMX_AUDIO_AMRBANDMODETYPE {
79826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_AUDIO_AMRBandModeWB9              = 0x7F000001,/**< AMRWB Mode 9 = SID*/
80826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_AUDIO_AMRBandModeWB10             = 0x7F000002,/**< AMRWB Mode 10 = 13600 bps */
81826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_AUDIO_AMRBandModeWB11             = 0x7F000003,/**< AMRWB Mode 11 = 18000 bps */
82826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_AUDIO_AMRBandModeWB12             = 0x7F000004,/**< AMRWB Mode 12 = 24000 bps */
83826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_AUDIO_AMRBandModeWB13             = 0x7F000005,/**< AMRWB Mode 13 = 24000 bps */
84826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_AUDIO_AMRBandModeWB14             = 0x7F000006,/**< AMRWB Mode 14 = FRAME_ERASE*/
85826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_AUDIO_AMRBandModeWB15             = 0x7F000007,/**< AMRWB Mode 15 = NO_DATA */
86826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev}QOMX_AUDIO_AMRBANDMODETYPE;
87826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
88826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum QOMX_AUDIO_CODINGTYPE {
89826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   QOMX_AUDIO_CodingVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
90826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   QOMX_AUDIO_CodingEVRCB  = 0x7F000001,
91826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   QOMX_AUDIO_CodingEVRCWB = 0x7F000002,
92826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   QOMX_AUDIO_CodingFLAC   = 0x7F000003,
93826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   QOMX_AUDIO_CodingMax = 0x7FFFFFFF
94826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev}QOMX_AUDIO_CODINGTYPE;
95826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
96826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
97826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/**
98826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * AMR WB PLUS type
99826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *
100826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  STRUCT MEMBERS:
101826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  nSize           : Size of the structure in bytes
102826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  nVersion        : OMX specification version information
103826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  nPortIndex      : Port that this structure applies to
104826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  nChannels       : Number of channels
105826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  nBitRate        : Bit rate read only field
106826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  nSampleRate     : Sampling frequency for the clip(16/24/32/48KHz)
107826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  eAMRBandMode    : AMR Band Mode enumeration
108826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  eAMRDTXMode     : AMR DTX Mode enumeration
109826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  eAMRFrameFormat : AMR frame format enumeration
110826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */
111826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
112826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct QOMX_AUDIO_PARAM_AMRWBPLUSTYPE {
113826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nSize;
114826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_VERSIONTYPE nVersion;
115826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nPortIndex;
116826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nChannels;
117826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nBitRate;
118826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nSampleRate;
119826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_AUDIO_AMRBANDMODETYPE   eAMRBandMode;
120826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_AUDIO_AMRDTXMODETYPE     eAMRDTXMode;
121826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_AUDIO_AMRFRAMEFORMATTYPE eAMRFrameFormat;
122826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} QOMX_AUDIO_PARAM_AMRWBPLUSTYPE;
123826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
124826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum QOMX_AUDIO_WMAFORMATTYPE {
125826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_AUDIO_WMAFormat10Pro = 0x7F000001, /**< Windows Media Audio format 10*/
126826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} QOMX_AUDIO_WMAFORMATTYPE;
127826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
128826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/**
129826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * WMA 10 PRO type
130826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *
131826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  STRUCT MEMBERS:
132826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  nSize              : Size of the structure in bytes
133826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  nVersion           : OMX specification version information
134826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  nPortIndex         : Port that this structure applies to
135826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  nChannels          : Number of channels
136826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  nBitRate           : Bit rate read only field
137826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  eFormat            : Version of WMA stream / data
138826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  eProfile           : Profile of WMA stream / data
139826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  nSamplingRate      : Sampling rate of the source data
140826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  nBlockAlign        : block alignment, or block size, in bytes of the audio codec
141826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  nEncodeOptions     : WMA Type-specific data
142826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  nSuperBlockAlign   : WMA Type-specific data
143826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  validBitsPerSample : encoded stream (24-bit or 16-bit)
144826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  formatTag          : codec ID(0x162 or 0x166)
145826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  advancedEncodeOpt  : bit packed words indicating the features supported for LBR bitstream
146826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  advancedEncodeOpt2 : bit packed words indicating the features supported for LBR bitstream
147826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */
148826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct QOMX_AUDIO_PARAM_WMA10PROTYPE {
149826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nSize;
150826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_VERSIONTYPE nVersion;
151826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nPortIndex;
152826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U16 nChannels;
153826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nBitRate;
154826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_AUDIO_WMAFORMATTYPE eFormat;
155826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_AUDIO_WMAPROFILETYPE eProfile;
156826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nSamplingRate;
157826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U16 nBlockAlign;
158826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U16 nEncodeOptions;
159826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nSuperBlockAlign;
160826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 validBitsPerSample;
161826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 formatTag;
162826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 advancedEncodeOpt;
163826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 advancedEncodeOpt2;
164826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U16 nVirtualPktSize;
165826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} QOMX_AUDIO_PARAM_WMA10PROTYPE;
166826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
167826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
168826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum OMX_AUDIO_AC3FORMATTYPE {
169826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   omx_audio_ac3       = 0x7f000001, /**< ac-3 */
170826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   omx_audio_eac3      = 0x7f000002  /**< eac-3 */
171826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_AUDIO_AC3FORMATTYPE;
172826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
173826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum OMX_AUDIO_AC3_CHANNEL_CONFIG
174826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev{
175826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_CHANNEL_CONFIG_RSVD = 0,
176826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_CHANNEL_CONFIG_1_0,
177826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_CHANNEL_CONFIG_2_0,
178826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_CHANNEL_CONFIG_3_0,
179826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_CHANNEL_CONFIG_2_1,
180826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_CHANNEL_CONFIG_3_1,
181826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_CHANNEL_CONFIG_2_2,
182826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_CHANNEL_CONFIG_3_2,
183826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_CHANNEL_CONFIG_3_0_1,
184826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_CHANNEL_CONFIG_2_2_1,
185826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_CHANNEL_CONFIG_3_2_1,
186826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_CHANNEL_CONFIG_3_0_2,
187826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_CHANNEL_CONFIG_2_2_2,
188826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_CHANNEL_CONFIG_3_2_2,
189826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_CHANNEL_CONFIG_DEFAULT = 0xFFFF
190826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_AUDIO_AC3_CHANNEL_CONFIG;
191826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
192826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/**
193826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * AC-3 type
194826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *
195826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  STRUCT MEMBERS:
196826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  nSize               : Size of the structure in bytes
197826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  nVersion            : OMX specification version information
198826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  nPortIndex          : Port that this structure applies to
199826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  nChannels           : Number of channels
200826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  nBitRate            : Bitrate
201826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  nSamplingRate       : Sampling rate, 32K, 44.1K, 48K only supported
202826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  eFormat             : AC-3 or EAC-3
203826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  eChannelConfig      : Channel configuration
204826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  nProgramID          : Indication of ProgramID, 0-7
205826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  bCompressionOn      : Flag to enable Compression
206826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  bLfeOn              : Flag for LFE on/off
207826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  bDelaySurroundChannels : Flag to put delay on surround channels
208826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *
209826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */
210826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct QOMX_AUDIO_PARAM_AC3TYPE {
211826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_U32 nSize;
212826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_VERSIONTYPE nVersion;
213826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_U32 nPortIndex;
214826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_U16 nChannels;
215826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_U32 nBitRate;
216826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_U32 nSamplingRate;
217826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3FORMATTYPE eFormat;
218826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_CHANNEL_CONFIG eChannelConfig;
219826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_U8 nProgramID;
220826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_BOOL bCompressionOn;
221826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_BOOL bLfeOn;
222826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_BOOL bDelaySurroundChannels;
223826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} QOMX_AUDIO_PARAM_AC3TYPE;
224826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
225826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum OMX_AUDIO_AC3_CHANNEL_ROUTING
226826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev{
227826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_CHANNEL_LEFT,
228826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_CHANNEL_CENTER,
229826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_CHANNEL_RIGHT,
230826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_CHANNEL_LEFT_SURROUND,
231826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_CHANNEL_RIGHT_SURROUND,
232826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_CHANNEL_SURROUND,
233826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_CHANNEL_EXTENSION_1,
234826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_CHANNEL_EXTENSION_2,
235826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_CHANNEL_DEFAULT = 0xFFFF
236826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_AUDIO_AC3_CHANNEL_ROUTING;
237826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
238826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum OMX_AUDIO_AC3_COMPRESSION_MODE
239826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev{
240826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_COMPRESSION_MODE_ANALOG_DIALNORM,
241826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_COMPRESSION_MODE_DIGITAL_DIALNORM,
242826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_COMPRESSION_MODE_LINE_OUT,
243826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_COMPRESSION_MODE_RF_REMOD
244826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_AUDIO_AC3_COMPRESSION_MODE;
245826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
246826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum OMX_AUDIO_AC3_STEREO_MODE
247826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev{
248826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_STEREO_MODE_AUTO_DETECT,
249826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_STEREO_MODE_LT_RT,
250826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_STEREO_MODE_LO_RO,
251826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_STEREO_MODE_DEFAULT = 0xFFFF
252826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_AUDIO_AC3_STEREO_MODE;
253826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
254826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum OMX_AUDIO_AC3_DUAL_MONO_MODE
255826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev{
256826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_DUAL_MONO_MODE_STEREO,
257826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_DUAL_MONO_MODE_LEFT_MONO,
258826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_DUAL_MONO_MODE_RIGHT_MONO,
259826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_DUAL_MONO_MODE_MIXED_MONO,
260826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_DUAL_MONO_MODE_DEFAULT = 0xFFFF
261826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_AUDIO_AC3_DUAL_MONO_MODE;
262826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
263826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum OMX_AUDIO_AC3_KARAOKE_MODE
264826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev{
265826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_KARAOKE_MODE_NO_VOCAL,
266826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_KARAOKE_MODE_LEFT_VOCAL,
267826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_KARAOKE_MODE_RIGHT_VOCAL,
268826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_KARAOKE_MODE_BOTH_VOCAL,
269826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_KARAOKE_MODE_DEFAULT = 0xFFFF
270826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_AUDIO_AC3_KARAOKE_MODE;
271826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
272826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
273826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct QOMX_AUDIO_PARAM_AC3PP
274826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev{
275826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_U32 nSize;
276826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_VERSIONTYPE nVersion;
277826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_U32 nPortIndex;
278826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_CHANNEL_ROUTING eChannelRouting[8];
279826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_COMPRESSION_MODE eCompressionMode;
280826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_STEREO_MODE eStereoMode;
281826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_DUAL_MONO_MODE eDualMonoMode;
282826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_U32 usPcmScale;
283826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_U32 usDynamicScaleBoost;
284826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_U32 usDynamicScaleCut;
285826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_AC3_KARAOKE_MODE eKaraokeMode;
286826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} QOMX_AUDIO_PARAM_AC3PP;
287826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
288826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
289826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/**
290826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * Stream info data
291826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *
292826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  STRUCT MEMBERS:
293826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  sessionId :  session Id for alsa to route data
294826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */
295826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct QOMX_AUDIO_STREAM_INFO_DATA {
296826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U8  sessionId;
297826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} QOMX_AUDIO_STREAM_INFO_DATA;
298826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
299826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
300826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/**
301826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * Record Path
302826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *
303826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS:
304826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * recPath : Record Path for encoding
305826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */
306826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum{
307826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
308826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan MalchevQOMX_AUDIO_VOICE_TX,
309826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan MalchevQOMX_AUDIO_VOICE_RX,
310826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan MalchevQOMX_AUDIO_VOICE_MIXED,
311826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
312826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} QOMX_AUDIO_VOICERECORDMODETYPE;
313826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct QOMX_AUDIO_CONFIG_VOICERECORDTYPE {
314826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
315826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan MalchevOMX_U32                            nSize;
316826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan MalchevOMX_VERSIONTYPE                    nVersion;
317826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan MalchevQOMX_AUDIO_VOICERECORDMODETYPE     eVoiceRecordMode;
318826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev}  QOMX_AUDIO_CONFIG_VOICERECORDTYPE;
319826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
320826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/* Enum for mapping dual-mono contents to left and right channels */
321826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum OMX_AUDIO_DUAL_MONO_CHANNEL_CONFIG {
322826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_AUDIO_DUAL_MONO_MODE_FL_FR,/* 1st SCE to left & right */
323826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_AUDIO_DUAL_MONO_MODE_SL_SR,/* 2nd SCE to left & right */
324826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_AUDIO_DUAL_MONO_MODE_SL_FR,/* 2nd SCE to left, 1st SCE to right */
325826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_AUDIO_DUAL_MONO_MODE_FL_SR,/* 1st SCE to left, 2nd SCE to right default */
326826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_AUDIO_DUAL_MONO_MODE_DEFAULT = OMX_AUDIO_DUAL_MONO_MODE_FL_SR,
327826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_AUDIO_DUAL_MONO_MODE_INVALID = -1
328826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_AUDIO_DUAL_MONO_CHANNEL_CONFIG;
329826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
330826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/************************************/
331826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/* DAK */
332826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/*************************************/
333826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
334826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/** this is the list of custom vendor index */
335826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum OMX_INDEX_DAK_TYPE {
336826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_IndexConfigDAK_BUNDLE = OMX_IndexVendorStartUnused /*0x7F000000*/,	/**< reference: OMX_DAK_CONFIG_BUNDLETYPE */
337826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_IndexConfigDAK_M2S,	/**< reference: OMX_DAK_CONFIG_M2STYPE */
338826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_IndexConfigDAK_SSE,	/**< reference: OMX_DAK_CONFIG_SSETYPE */
339826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_IndexConfigDAK_SLC,	/**< reference: OMX_DAK_CONFIG_SLCTYPE */
340826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_IndexConfigDAK_VOL,	/**< reference: OMX_DAK_CONFIG_VOLTYPE */
341826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_IndexConfigDAK_NB,	/**< reference: OMX_DAK_CONFIG_NBTYPE */
342826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_IndexConfigDAK_GEQ,	/**< reference: OMX_DAK_CONFIG_GEQTYPE */
343826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_IndexConfigDAK_MSR, /**< reference: OMX_DAK_CONFIG_MSRTYPE */
344826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_IndexConfigDAK_HFE,	/**< reference: OMX_DAK_CONFIG_HFETYPE */
345826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_IndexConfigDAK_FADE,/**< reference: OMX_DAK_CONFIG_FADETYPE */
346826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_IndexConfigDAK_SEQ,	/**< reference: OMX_DAK_CONFIG_SEQTYPE */
347826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
348826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_INDEX_DAK_TYPE;
349826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
350826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
351826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/** Dolby Audio Kernel TDAS bundle */
352826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_DAK_CONFIG_BUNDLETYPE {
353826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    	OMX_U32 nSize;              	/**< size of the structure in bytes */
354826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_VERSIONTYPE nVersion;	/**< OMX specification version information */
355826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U32 nDAK_Version;		/**< Dolby Audio Kernel version information */
356826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U32 nDAK_Revision;		/**< Dolby Audio Kernel revision information */
357826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U8 nLfeMixLevel;		/**< level at which the LFE channel is mixed into the output audio */
358826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U8 nSampleRateIndex;	/**< Output sample rate */
359826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U8 nInChans;		/**< Channel format of input audio */
360826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U8 nInMatrix;		/**< L/R mixing specification for stereo audio input */
361826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U8 nBypass;			/**< Audio Processing bypass */
362826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U8 nRateMultipier;		/**< Sample-rate multiplier (output with respect to input) */
363826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U8 nInChanFormat;		/**< Input/Output channel format */
364826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U8 nMsrMaxProfile;		/**< Maximum number of virtual rendering channels in Mobile Surround */
365826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_BOOL bPortablemodeEnable;	/**< Enable or disable Pulse Portable Mode */
366826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_S16 nPotablemodeGain;	/**< Send the Portable Mode gain value from the Pulse decoder */
367826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U8 nORL;			/**< Device specific target signal level (output reference level) */
368826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_BOOL bPulsedownmixEnable;	/**< Enable the Pulse Downmix compensation */
369826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_S8 nPulsedownmixAtten;	/**< Attenuation value that Pulse is currently applying */
370826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U8 nOutChans;		/**< Channel format of output audio */
371826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
372826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_DAK_CONFIG_BUNDLETYPE;
373826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
374826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/** Dolby Audio Kernel Mono-to-Stereo Creator */
375826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_DAK_CONFIG_M2STYPE {
376826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U32 nSize;			/**< size of the structure in bytes */
377826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_VERSIONTYPE nVersion;	/**< OMX specification version information */
378826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_BOOL bEnable;		/**< Mono-to-Stereo Creator enable */
379826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_BOOL bDetector;		/**< Stereo detector status */
380826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_DAK_CONFIG_M2STYPE;
381826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
382826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/** Dolby Audio Kernel Sound Space Expander */
383826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_DAK_CONFIG_SSETYPE {
384826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U32 nSize;			/**< size of the structure in bytes */
385826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_VERSIONTYPE nVersion;	/**< OMX specification version information */
386826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_BOOL bEnable;		/**< Sound Space Expander enable */
387826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U8 nWidth;			/**< Width of expansion effect */
388826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U8 nSpkMode;		/**< Speaker Mode */
389826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_DAK_CONFIG_SSETYPE;
390826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
391826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/** Dolby Audio Kernel Sound Level Controller */
392826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_DAK_CONFIG_SLCTYPE {
393826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U32 nSize;			/**< size of the structure in bytes */
394826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_VERSIONTYPE nVersion;	/**< OMX specification version information */
395826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_BOOL bEnable;		/**< Sound Level Controller enable */
396826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U8 nLevel;			/**< Source audio RMS level */
397826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U8 nDepth;			/**< Depth of effect */
398826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_DAK_CONFIG_SLCTYPE;
399826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
400826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/** Dolby Audio Kernel Volume */
401826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_DAK_CONFIG_VOLTYPE {
402826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U32 nSize;			/**< size of the structure in bytes */
403826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_VERSIONTYPE nVersion;	/**< OMX specification version information */
404826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_BOOL bEnable;		/**< Volume enable */
405826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U8 nGainType;		/**< Linear/Logarithmic audio scaling */
406826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U8 nInternalGain;		/**< Audio volume scale */
407826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U8 nExternalGain;		/**< Audio volume scale applied by external volume control */
408826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_S8 nBalance;		/**< L/R panning for output audio */
409826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_BOOL bMute;			/**< Audio Mute */
410826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_DAK_CONFIG_VOLTYPE;
411826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
412826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/** Dolby Audio Kernel Natural Bass */
413826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_DAK_CONFIG_NBTYPE {
414826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U32 nSize;			/**< size of the structure in bytes */
415826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_VERSIONTYPE nVersion;	/**< OMX specification version information */
416826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_BOOL bEnable;		/**< Natural Bass enable */
417826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U8 nCutoff;			/**< Speakers/headphones lower cutoff frequency */
418826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U8 nBoost;			/**< Strength of effect */
419826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U8 nLevel;			/**< Maximum output level capability of speakers/headphones */
420826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_DAK_CONFIG_NBTYPE;
421826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
422826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/** Dolby Audio Kernel Graphic EQ */
423826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_DAK_CONFIG_GEQTYPE {
424826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U32 nSize;			/**< size of the structure in bytes */
425826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_VERSIONTYPE nVersion;	/**< OMX specification version information */
426826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_BOOL bEnable;		/**< Graphic EQ enable */
427826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U8 nNbands;			/**< Number of frequency bands */
428826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_S8 nPreamp;			/**< Global attenuation to apply prior to band level adjustment */
429826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U8 nMaxboost;		/**< Maximum absolute boost with respect to the source audio */
430826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_S8 nBand1;			/**< Boost/cut for 1st frequency band */
431826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_S8 nBand2;			/**< Boost/cut for 2nd frequency band */
432826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_S8 nBand3;			/**< Boost/cut for 3rd frequency band */
433826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_S8 nBand4;			/**< Boost/cut for 4th frequency band */
434826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_S8 nBand5;			/**< Boost/cut for 5th frequency band */
435826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_S8 nBand6;			/**< Boost/cut for 6th frequency band */
436826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_S8 nBand7;			/**< Boost/cut for 7th frequency band */
437826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_DAK_CONFIG_GEQTYPE;
438826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
439826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/** Dolby Audio Kernel, Mobile Surround and Surround Upmixer */
440826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_DAK_CONFIG_MSRTYPE {
441826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U32 nSize;			/**< size of the structure in bytes */
442826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_VERSIONTYPE nVersion;	/**< OMX specification version information */
443826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_BOOL bMsrEnable;		/**< Mobile Surround enable */
444826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U8 nMsrRoom;		/**< Room Size control */
445826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U8 nMsrBright;		/**< Brightness control */
446826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_BOOL bMupEnable;		/**< Mobile Surround Upmixer enable */
447826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_DAK_CONFIG_MSRTYPE;
448826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
449826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/** Dolby Audio Kernel High Frequency Enhancer */
450826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_DAK_CONFIG_HFETYPE {
451826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U32 nSize;			/**< size of the structure in bytes */
452826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_VERSIONTYPE nVersion;	/**< OMX specification version information */
453826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_BOOL bEnable;		/**< High Frequency Enhancer enable */
454826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U8 nDepth;			/**< Strength of effect */
455826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_DAK_CONFIG_HFETYPE;
456826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
457826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/** Dolby Audio Kernel Fade */
458826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_DAK_CONFIG_FADETYPE {
459826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U32 nSize;			/**< size of the structure in bytes */
460826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_VERSIONTYPE nVersion;	/**< OMX specification version information */
461826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_BOOL bEnable;		/**< Fade enable */
462826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U8 nTarget;			/**< Target fade level */
463826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U16 nTime;			/**< Fade time interval */
464826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_DAK_CONFIG_FADETYPE;
465826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
466826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/** Dolby Audio Kernel Speaker EQ */
467826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_DAK_CONFIG_SEQTYPE {
468826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U32 nSize;			/**< size of the structure in bytes */
469826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_VERSIONTYPE nVersion;	/**< OMX specification version information */
470826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_BOOL bEnable;		/**< Speaker EQ enable */
471826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_S8 nLeftGainDB;		/**< Additional gain for Left channel */
472826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_S8 nRightGainDB;		/**< Additional gain for Right channel */
473826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U8 nCoef48000Size;		/**< Length of the block of coefficients for 48KHz Sampling Rate case */
474826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_PTR pCoef48000;		/**< Pointer to the block of coefficients for the 48KHz case */
475826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U8 nCoef44100Size;		/**< Length of the block of coefficients for 44.1KHz Sampling Rate case */
476826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_PTR pCoef44100;		/**< Pointer to the block of coefficients for the 44.1KHz case */
477826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U8 nCoef32000Size;		/**< Length of the block of coefficients for 32KHz Sampling Rate case */
478826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_PTR pCoef32000;		/**< Pointer to the block of coefficients for the 32KHz case */
479826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_U8 nCoef24000Size;		/**< Length of the block of coefficients for 24KHz Sampling Rate case */
480826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev	OMX_PTR pCoef24000;		/**< Pointer to the block of coefficients for the 24KHz case */
481826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
482826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_DAK_CONFIG_SEQTYPE;
483826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
484826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
485826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum OMX_AUDIO_CHANNELTYPE_EXTENSION {
486826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_AUDIO_ChannelTS = OMX_AUDIO_ChannelVendorStartUnused,    /**< Top Surround */
487826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_AUDIO_ChannelCVH    /**< Central Vertical Height */
488826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_AUDIO_CHANNELTYPE_EXTENSION;
489826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
490826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/**
491826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * DUAL-MONO type
492826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *
493826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  STRUCT MEMBERS:
494826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  nSize               : Size of the structure in bytes
495826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  nVersion            : OMX specification version information
496826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  nPortIndex          : Port that this structure applies to
497826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  eChannelConfig      : Enum for channel config
498826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *
499826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */
500826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct QOMX_AUDIO_CONFIG_DUALMONOTYPE {
501826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_U32 nSize;
502826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_VERSIONTYPE nVersion;
503826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_U32 nPortIndex;
504826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev   OMX_AUDIO_DUAL_MONO_CHANNEL_CONFIG eChannelConfig;
505826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} QOMX_AUDIO_CONFIG_DUALMONOTYPE;
506826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
507826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#if defined( __cplusplus )
508826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev}
509826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#endif /* end of macro __cplusplus */
510826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
511826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#endif /* end of macro __H_QOMX_AUDIOEXTENSIONS_H__ */
512