diff -r 000000000000 -r bb4b476bbb96 Audio Signal Processing/audio_transducer_chipset_api.h --- /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 + +#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