Audio Signal Processing/audio_transducer_chipset_api.h
changeset 0 bb4b476bbb96
child 2 ea09f30a96a5
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Audio Signal Processing/audio_transducer_chipset_api.h	Fri Jun 26 15:44:04 2009 +0100
@@ -0,0 +1,180 @@
+/*
+  audio_transducer_chipset_api.h
+
+  Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+  All rights reserved.
+
+  This program and the accompanying materials are made available 
+  under the terms of the Eclipse Public License v1.0 which accompanies 
+  this distribution, and is available at 
+  http://www.eclipse.org/legal/epl-v10.html
+
+  Initial Contributors:
+  Nokia Corporation - initial contribution.
+
+  Contributors:
+*/
+
+#ifndef AUDIO_TRANSDUCER_CHIPSET_API_H
+#define AUDIO_TRANSDUCER_CHIPSET_API_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+
+/* Each OMX header must include all required header files to allow the
+ *  header to compile without errors.  The includes below are required
+ *  for this header file to compile successfully 
+ */
+
+#include <OMX_Audio.h>
+
+#define MAX_FIRRESPONSE_POINTS 100
+
+/* Transducer Equalizer parameters */
+
+
+typedef enum OMX_AUDIO_PHASERESPONSETYPE {
+OMX_AUDIO_PhaseNotDefined,   
+OMX_AUDIO_LinearPhase,	
+OMX_AUDIO_MinimumPhase,
+} OMX_AUDIO_PHASERESPONSETYPE;
+
+
+typedef enum OMX_AUDIO_FILTERTYPE {
+OMX_AUDIO_NotDefined,   
+OMX_AUDIO_Peaking,	
+OMX_AUDIO_Lowpass,	
+OMX_AUDIO_Highpass,
+OMX_AUDIO_Lowshelf,	
+OMX_AUDIO_Highshelf,
+} OMX_AUDIO_FILTERTYPE;
+
+
+typedef struct OMX_AUDIO_CONFIG_IIR_EQUALIZER  {
+     OMX_U32 nSize;
+     OMX_VERSIONTYPE nVersion;  
+     OMX_U32 nPortIndex;
+     OMX_BU32 sBandIndex ; 
+     OMX_AUDIO_FILTERTYPE eFilterType;
+     OMX_U32 nFilterCenterCutoffFrequency;
+     OMX_S32 nFilterGain;
+     OMX_U32 nFilterBandwidth; /* Q-value could be used instead. */
+ } OMX_AUDIO_CONFIG_IIR_EQUALIZER;
+
+
+typedef struct OMX_AUDIO_CONFIG_FIR_RESPONSE  {
+     OMX_U32 nSize;
+     OMX_VERSIONTYPE nVersion;  
+     OMX_U32 nPortIndex;
+     OMX_u32 nFrequencyPoints; 
+     OMX_S32 nFrequencies[MAX_FIRRESPONSE_POINTS];
+     OMX_S32 nGains[MAX_FIRRESPONSE_POINTS];
+} OMX_AUDIO_CONFIG_FIR_RESPONSE;
+
+
+typedef struct OMX_AUDIO_CONFIG_TRANSDUCEREQUALIZERTYPE  { 
+     OMX_U32 nSize;                                    
+     OMX_VERSIONTYPE nVersion;                   
+     OMX_U32 nPortIndex;            
+     OMX_BOOL bEnableFir;
+     OMX_BOOL bEnableIir;
+     OMX_U32 nChannel;
+     OMX_AUDIO_PHASERESPONSETYPE ePhaseResponseTargetFir;
+     OMX_AUDIO_PHASERESPONSETYPE ePhaseResponseTargetIir;
+     OMX_U32 nIIREqualizerBlocks;
+     OMX_U32 nIIREqualizerGain;
+} OMX_AUDIO_CONFIG_TRANSDUCEREQUALIZERTYPE;
+
+
+/* MDRC parameters */
+
+typedef struct OMX_AUDIO_CONFIG_MDRCTYPE {
+    OMX_U32 nSize;
+    OMX_VERSIONTYPE nVersion;
+    OMX_U32 nPortIndex;
+    OMX_BOOL bEnable;
+    OMX_BU32 sBandIndex;
+    OMX_BU32 sBandRange;
+    OMX_BU32 sBandLevel;
+    OMX_BU32 sKneePoints;	
+    OMX_U32 nDynamicResponse[10][2];
+    OMX_BU32 sAttackTime; 
+    OMX_BU32 sReleaseTime;	    
+} OMX_AUDIO_CONFIG_MDRCTYPE;
+
+/* Transducer (Loudspeaker) protection parameters */
+
+typedef struct OMX_AUDIO_CONFIG_LSPROTECTIONTYPE {
+    OMX_U32 nSize;
+    OMX_VERSIONTYPE nVersion;
+    OMX_U32 nPortIndex;
+    OMX_AUDIO_CHANNELTYPE eChannel;
+    OMX_BOOL bEnable;
+ } OMX_AUDIO_CONFIG_LSPROTECTIONTYPE;
+
+/* End of Transducer protection params */
+
+/* Transducer SPL limit parameters */
+
+typedef enum OMX_AUDIO_SPLLIMITTYPE {
+OMX_AUDIO_SPLLimitation,	
+OMX_AUDIO_SPLNormalization,	
+OMX_AUDIO_SPLMax,
+} OMX_AUDIO_OMX_AUDIO_SPLLIMITTYPE;
+
+
+typedef struct OMX_AUDIO_CONFIG_SPLLIMITTYPE {
+    OMX_U32 nSize;
+    OMX_VERSIONTYPE nVersion;
+    OMX_U32 nPortIndex;
+    OMX_BOOL bEnable;
+    OMX_AUDIO_SPLLIMITTYPE eMode;
+    OMX_S32 nSplLimit;
+    OMX_S32 nGain;	    
+} OMX_AUDIO_CONFIG_SPLLIMITTYPE;
+/* End of transducer SPL limit params */
+
+/* Click Removal algorithm parameters */
+
+typedef struct OMX_AUDIO_CONFIG_CLICKREMOVALTYPE {
+   	OMX_U32 nSize;
+   	OMX_VERSIONTYPE nVersion;
+   	OMX_U32 nPortIndex;
+   	OMX_BOOL bEnable;
+		OMX_BU16 sClickControl;
+} OMX_AUDIO_CONFIG_CLICKREMOVALTYPE;
+/* End of click removal params */
+
+/* Earpiece Active Noise Control */
+
+typedef struct OMX_AUDIO_CONFIG_EARPIECE_ACTIVE_NOISE_CONTROL { 
+     OMX_U32 nSize;                                    
+     OMX_VERSIONTYPE nVersion;                   
+     OMX_U32 nPortIndex;            
+     OMX_BOOL bEnable;
+} OMX_AUDIO_CONFIG_EARPIECE_ACTIVE_NOISE_CONTROL;
+
+/* Algorithm for Preventing System Shutdown by Audio System (APSSAS) */
+
+typedef struct OMX_AUDIO_PARAM_APSSASTYPE {
+    OMX_U32 nSize;
+    OMX_VERSIONTYPE nVersion;
+    OMX_U32 nPortIndex;
+    OMX_BOOL bEnable;
+} OMX_AUDIO_PARAM_APSSASTYPE;
+
+typedef struct OMX_AUDIO_CONFIG_BATTERY_VOLTAGETYPE {
+    OMX_U32 nSize;
+    OMX_VERSIONTYPE nVersion;
+    OMX_U32 nPortIndex;
+    OMX_U32 nBattVol;
+} OMX_AUDIO_CONFIG_BATTERY_VOLTAGETYPE;
+
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif
\ No newline at end of file