am 739bf285: Merge "LVM release 1.04." into gingerbread

Merge commit '739bf285be7a154b92e74b069dff7dc8f7ffc2f3' into gingerbread-plus-aosp

* commit '739bf285be7a154b92e74b069dff7dc8f7ffc2f3':
  LVM release 1.04.
This commit is contained in:
Eric Laurent
2010-07-26 12:25:24 -07:00
committed by Android Git Automerger
13 changed files with 97 additions and 112 deletions

View File

@@ -18,8 +18,8 @@
/****************************************************************************************
$Author: nxp007753 $
$Revision: 1223 $
$Date: 2010-07-15 14:27:01 +0200 (Thu, 15 Jul 2010) $
$Revision: 1315 $
$Date: 2010-07-23 11:52:08 +0200 (Fri, 23 Jul 2010) $
*****************************************************************************************/
@@ -124,10 +124,11 @@ void LVDBE_SetFilters(LVDBE_Instance_t *pInstance,
/*
* Setup the high pass filter
*/
LoadConst_16(0, /* Clear the history, value 0 */
(LVM_INT16 *)&pInstance->pData->HPFTaps, /* Destination */
sizeof(pInstance->pData->HPFTaps)/sizeof(LVM_INT16)); /* Number of words */
BQ_2I_D32F32Cll_TRC_WRA_01_Init(&pInstance->pCoef->HPFInstance, /* Initialise the filter */
LoadConst_16(0, /* Clear the history, value 0 */
(void *)&pInstance->pData->HPFTaps, /* Destination Cast to void: \
no dereferencing in function*/
sizeof(pInstance->pData->HPFTaps)/sizeof(LVM_INT16)); /* Number of words */
BQ_2I_D32F32Cll_TRC_WRA_01_Init(&pInstance->pCoef->HPFInstance, /* Initialise the filter */
&pInstance->pData->HPFTaps,
(BQ_C32_Coefs_t *)&LVDBE_HPF_Table[Offset]);
@@ -135,10 +136,11 @@ void LVDBE_SetFilters(LVDBE_Instance_t *pInstance,
/*
* Setup the band pass filter
*/
LoadConst_16(0, /* Clear the history, value 0 */
(LVM_INT16 *)&pInstance->pData->BPFTaps, /* Destination */
sizeof(pInstance->pData->BPFTaps)/sizeof(LVM_INT16)); /* Number of words */
BP_1I_D32F32Cll_TRC_WRA_02_Init(&pInstance->pCoef->BPFInstance, /* Initialise the filter */
LoadConst_16(0, /* Clear the history, value 0 */
(void *)&pInstance->pData->BPFTaps, /* Destination Cast to void:\
no dereferencing in function*/
sizeof(pInstance->pData->BPFTaps)/sizeof(LVM_INT16)); /* Number of words */
BP_1I_D32F32Cll_TRC_WRA_02_Init(&pInstance->pCoef->BPFInstance, /* Initialise the filter */
&pInstance->pData->BPFTaps,
(BP_C32_Coefs_t *)&LVDBE_BPF_Table[Offset]);

View File

@@ -19,8 +19,8 @@
/****************************************************************************************
$Author: nxp007753 $
$Revision: 1082 $
$Date: 2010-07-05 12:44:39 +0200 (Mon, 05 Jul 2010) $
$Revision: 1316 $
$Date: 2010-07-23 11:53:24 +0200 (Fri, 23 Jul 2010) $
*****************************************************************************************/

View File

@@ -18,8 +18,8 @@
/****************************************************************************************
$Author: nxp007753 $
$Revision: 1255 $
$Date: 2010-07-16 17:07:29 +0200 (Fri, 16 Jul 2010) $
$Revision: 1316 $
$Date: 2010-07-23 11:53:24 +0200 (Fri, 23 Jul 2010) $
*****************************************************************************************/
@@ -314,8 +314,9 @@ void LVM_SetTrebleBoost(LVM_Instance_t *pInstance,
/*
* Clear the taps
*/
LoadConst_16((LVM_INT16)0, /* Value */
(LVM_INT16 *)&pInstance->pTE_Taps->TrebleBoost_Taps, /* Destination */
LoadConst_16((LVM_INT16)0, /* Value */
(void *)&pInstance->pTE_Taps->TrebleBoost_Taps, /* Destination.\
Cast to void: no dereferencing in function */
(LVM_UINT16)(sizeof(pInstance->pTE_Taps->TrebleBoost_Taps)/sizeof(LVM_INT16))); /* Number of words */
}
}

View File

@@ -18,8 +18,8 @@
/************************************************************************************
$Author: nxp007753 $
$Revision: 1255 $
$Date: 2010-07-16 17:07:29 +0200 (Fri, 16 Jul 2010) $
$Revision: 1316 $
$Date: 2010-07-23 11:53:24 +0200 (Fri, 23 Jul 2010) $
*************************************************************************************/

View File

@@ -18,9 +18,9 @@
/************************************************************************/
/* */
/* Project:: */
/* $Author: beq07716 $*/
/* $Revision: 1000 $*/
/* $Date: 2010-06-28 13:08:20 +0200 (Mon, 28 Jun 2010) $*/
/* $Author: nxp007753 $*/
/* $Revision: 1316 $*/
/* $Date: 2010-07-23 11:53:24 +0200 (Fri, 23 Jul 2010) $*/
/* */
/************************************************************************/
@@ -51,7 +51,8 @@ void MixSoft_2St_D32C31_SAT( Mix_2St_Cll_t *pInstance,
if ((pInstance->Current1 != pInstance->Target1) || (pInstance->Current2 != pInstance->Target2))
{
MixSoft_1St_D32C31_WRA( (Mix_1St_Cll_t*) pInstance, src1, dst, n);
MixInSoft_D32C31_SAT( (Mix_1St_Cll_t*) &pInstance->Alpha2, src2, dst, n);
MixInSoft_D32C31_SAT( (void *) &pInstance->Alpha2, /* Cast to void: no dereferencing in function*/
src2, dst, n);
}
/******************************************************************************
@@ -61,7 +62,8 @@ void MixSoft_2St_D32C31_SAT( Mix_2St_Cll_t *pInstance,
else
{
if (pInstance->Current1 == 0)
MixSoft_1St_D32C31_WRA( (Mix_1St_Cll_t*) &pInstance->Alpha2, src2, dst, n);
MixSoft_1St_D32C31_WRA( (void *) &pInstance->Alpha2, /* Cast to void: no dereferencing in function*/
src2, dst, n);
else if (pInstance->Current2 == 0)
MixSoft_1St_D32C31_WRA( (Mix_1St_Cll_t*) pInstance, src1, dst, n);
else

View File

@@ -18,8 +18,8 @@
/**********************************************************************************
$Author: nxp007753 $
$Revision: 1223 $
$Date: 2010-07-15 14:27:01 +0200 (Thu, 15 Jul 2010) $
$Revision: 1316 $
$Date: 2010-07-23 11:53:24 +0200 (Fri, 23 Jul 2010) $
***********************************************************************************/

View File

@@ -17,9 +17,9 @@
/************************************************************************************
$Author: nxp007753 $
$Revision: 1246 $
$Date: 2010-07-16 11:07:10 +0200 (Fri, 16 Jul 2010) $
$Author: beq06068 $
$Revision: 1307 $
$Date: 2010-07-22 17:41:25 +0200 (Thu, 22 Jul 2010) $
*************************************************************************************/
@@ -90,7 +90,7 @@ LVCS_ReturnStatus_en LVCS_BypassMixInit(LVCS_Handle_t hInstance,
*/
if ((pParams->OperatingMode == LVCS_ON) &&
(pInstance->bTimerDone == LVM_TRUE)
&& (LVC_Mixer_GetTarget(&pInstance->MSBypassMixer.MixerStream[1]) != 0x7FFF) /* this indicates an off->on transtion */
&& (pInstance->MSTarget1 != 0x7FFF) /* this indicates an off->on transtion */
)
{
pInstance->TransitionGain = pParams->EffectLevel;
@@ -260,17 +260,15 @@ LVM_INT32 LVCS_MixerCallback(LVCS_Handle_t hInstance,
LVM_INT16 CallbackParam)
{
LVCS_Instance_t *pInstance = (LVCS_Instance_t *)hInstance;
LVM_INT32 Target1;
Target1 = LVC_Mixer_GetTarget(&pInstance->MSBypassMixer.MixerStream[0]);
(void)pGeneralPurpose;
(void)pGeneralPurpose;
/*
* Off transition has completed in Headphone mode
*/
if ((pInstance->OutputDevice == LVCS_HEADPHONE) &&
(pInstance->bInOperatingModeTransition) &&
(Target1 == 0x0000)&& /* this indicates an on->off transition */
(pInstance->MSTarget0 == 0x0000)&& /* this indicates an on->off transition */
(CallbackParam == 0))
{
/* Set operating mode to OFF */
@@ -289,7 +287,7 @@ LVM_INT32 LVCS_MixerCallback(LVCS_Handle_t hInstance,
if ((pInstance->OutputDevice == LVCS_HEADPHONE) &&
(Target1 == 1) &&
(pInstance->MSTarget0 == 1) &&
(pInstance->bTimerDone == LVM_TRUE)){
/* Exit transition state */

View File

@@ -17,9 +17,9 @@
/************************************************************************************
$Author: nxp007753 $
$Revision: 1246 $
$Date: 2010-07-16 11:07:10 +0200 (Fri, 16 Jul 2010) $
$Author: beq06068 $
$Revision: 1307 $
$Date: 2010-07-22 17:41:25 +0200 (Thu, 22 Jul 2010) $
*************************************************************************************/
@@ -94,9 +94,6 @@ LVCS_ReturnStatus_en LVCS_Control(LVCS_Handle_t hInstance,
if (pParams->SampleRate != pInstance->Params.SampleRate)
{
LVC_Mixer_VarSlope_SetTimeConstant(&pInstance->MSBypassMixer.MixerStream[0],LVCS_BYPASS_MIXER_TC,pParams->SampleRate,2);
LVC_Mixer_VarSlope_SetTimeConstant(&pInstance->MSBypassMixer.MixerStream[1],LVCS_BYPASS_MIXER_TC,pParams->SampleRate,2);
pInstance->TimerParams.SamplingRate = LVCS_SampleRateTable[pParams->SampleRate];
}
@@ -130,6 +127,29 @@ LVCS_ReturnStatus_en LVCS_Control(LVCS_Handle_t hInstance,
pInstance->VolCorrect = pLVCS_VolCorrectTable[Offset];
LVC_Mixer_Init(&pInstance->BypassMix.Mixer_Instance.MixerStream[0],0,0);
{
LVM_UINT32 Gain;
const Gain_t *pOutputGainTable = (Gain_t*)&LVCS_OutputGainTable[0];
Gain = (LVM_UINT32)(pOutputGainTable[Offset].Loss * LVM_MAXINT_16);
Gain = (LVM_UINT32)pOutputGainTable[Offset].UnprocLoss * (Gain >> 15);
Gain=Gain>>15;
/*
* Apply the gain correction and shift, note the result is in Q3.13 format
*/
Gain = (Gain * pInstance->VolCorrect.GainMin) >>12;
LVC_Mixer_Init(&pInstance->BypassMix.Mixer_Instance.MixerStream[1],0,Gain);
LVC_Mixer_VarSlope_SetTimeConstant(&pInstance->BypassMix.Mixer_Instance.MixerStream[0],
LVCS_BYPASS_MIXER_TC,pParams->SampleRate,2);
LVC_Mixer_VarSlope_SetTimeConstant(&pInstance->BypassMix.Mixer_Instance.MixerStream[1],
LVCS_BYPASS_MIXER_TC,pParams->SampleRate,2);
}
err=LVCS_SEnhancerInit(hInstance,
pParams);
@@ -199,44 +219,15 @@ LVCS_ReturnStatus_en LVCS_Control(LVCS_Handle_t hInstance,
/* Change transition bypass mixer settings if needed depending on transition type */
if(pParams->OperatingMode != LVCS_OFF){
LVM_INT32 Current1;
LVM_INT32 Current2;
Current1 = LVC_Mixer_GetCurrent(&pInstance->MSBypassMixer.MixerStream[0]);
Current2 = LVC_Mixer_GetCurrent(&pInstance->MSBypassMixer.MixerStream[1]);
if(pInstance->bInOperatingModeTransition != LVM_TRUE)
{
Current1 = 0x00000000;
Current2 = LVM_MAXINT_16;
}
pInstance->MSBypassMixer.MixerStream[0].CallbackSet = 1;
pInstance->MSBypassMixer.MixerStream[1].CallbackSet = 1;
LVC_Mixer_Init(&pInstance->MSBypassMixer.MixerStream[0],LVM_MAXINT_16,Current1);
LVC_Mixer_Init(&pInstance->MSBypassMixer.MixerStream[1],0,Current2);
pInstance->MSTarget0=LVM_MAXINT_16;
pInstance->MSTarget1=0;
}
else
{
LVM_INT32 Current1;
LVM_INT32 Current2;
Current1 = LVC_Mixer_GetCurrent(&pInstance->MSBypassMixer.MixerStream[0]);
Current2 = LVC_Mixer_GetCurrent(&pInstance->MSBypassMixer.MixerStream[1]);
if(pInstance->bInOperatingModeTransition != LVM_TRUE)
{
Current1 = LVM_MAXINT_16;
Current2 = 0x00000000;
}
pInstance->MSBypassMixer.MixerStream[0].CallbackSet = 1;
pInstance->MSBypassMixer.MixerStream[1].CallbackSet = 1;
pInstance->Params.OperatingMode = OperatingModeSave;
LVC_Mixer_Init(&pInstance->MSBypassMixer.MixerStream[0],0x00000000,Current1);
LVC_Mixer_Init(&pInstance->MSBypassMixer.MixerStream[1],LVM_MAXINT_16,Current2);
pInstance->MSTarget1=LVM_MAXINT_16;
pInstance->MSTarget0=0;
}
LVC_Mixer_SetTimeConstant(&pInstance->MSBypassMixer.MixerStream[0],LVCS_BYPASS_MIXER_TC,pParams->SampleRate,2);
LVC_Mixer_SetTimeConstant(&pInstance->MSBypassMixer.MixerStream[1],LVCS_BYPASS_MIXER_TC,pParams->SampleRate,2);
/* Set transition flag */

View File

@@ -17,9 +17,9 @@
/************************************************************************************
$Author: beq07716 $
$Revision: 1001 $
$Date: 2010-06-28 13:23:02 +0200 (Mon, 28 Jun 2010) $
$Author: nxp007753 $
$Revision: 1315 $
$Date: 2010-07-23 11:52:08 +0200 (Fri, 23 Jul 2010) $
*************************************************************************************/
@@ -94,8 +94,9 @@ LVCS_ReturnStatus_en LVCS_EqualiserInit(LVCS_Handle_t hInstance,
Coeffs.B1 = (LVM_INT16)-pEqualiserCoefTable[Offset].B1;
Coeffs.B2 = (LVM_INT16)-pEqualiserCoefTable[Offset].B2;
LoadConst_16((LVM_INT16)0, /* Value */
(LVM_INT16 *)&pData->EqualiserBiquadTaps, /* Destination */
LoadConst_16((LVM_INT16)0, /* Value */
(void *)&pData->EqualiserBiquadTaps, /* Destination Cast to void:\
no dereferencing in function*/
(LVM_UINT16)(sizeof(pData->EqualiserBiquadTaps)/sizeof(LVM_INT16))); /* Number of words */
BQ_2I_D16F32Css_TRC_WRA_01_Init(&pCoefficients->EqualiserBiquadInstance,

View File

@@ -17,9 +17,9 @@
/************************************************************************************
$Author: beq07716 $
$Revision: 1001 $
$Date: 2010-06-28 13:23:02 +0200 (Mon, 28 Jun 2010) $
$Author: beq06068 $
$Revision: 1307 $
$Date: 2010-07-22 17:41:25 +0200 (Thu, 22 Jul 2010) $
*************************************************************************************/
@@ -159,7 +159,6 @@ LVCS_ReturnStatus_en LVCS_Init(LVCS_Handle_t *phInstance,
LVCS_Capabilities_t *pCapabilities)
{
LVM_INT16 Offset;
LVCS_Instance_t *pInstance;
LVCS_VolCorrect_t *pLVCS_VolCorrectTable;
@@ -197,30 +196,18 @@ LVCS_ReturnStatus_en LVCS_Init(LVCS_Handle_t *phInstance,
pInstance->Params.EffectLevel = 0;
pInstance->Params.ReverbLevel = (LVM_UINT16)0x8000;
pLVCS_VolCorrectTable = (LVCS_VolCorrect_t*)&LVCS_VolCorrectTable[0];
Offset = (LVM_INT16)(pInstance->Params.SpeakerType + (pInstance->Params.SourceFormat*(1+LVCS_EX_HEADPHONES)));
pInstance->VolCorrect = pLVCS_VolCorrectTable[Offset];
pInstance->VolCorrect = pLVCS_VolCorrectTable[0];
pInstance->TransitionGain = 0;
/* These current and target values are intialized again in LVCS_Control.c */
LVC_Mixer_Init(&pInstance->BypassMix.Mixer_Instance.MixerStream[0],0,0);
/* These current and target values are intialized again in LVCS_Control.c */
LVC_Mixer_Init(&pInstance->BypassMix.Mixer_Instance.MixerStream[1],0,0);
/*
* Initialise the bypass variables
*/
pInstance->MSBypassMixer.MixerStream[0].CallbackParam = 0;
pInstance->MSBypassMixer.MixerStream[0].pCallbackHandle = LVM_NULL;
pInstance->MSBypassMixer.MixerStream[0].pCallBack = LVM_NULL;
pInstance->MSBypassMixer.MixerStream[0].CallbackSet = 0;
LVC_Mixer_Init(&pInstance->MSBypassMixer.MixerStream[0],0,0);
LVC_Mixer_SetTimeConstant(&pInstance->MSBypassMixer.MixerStream[0],0,LVM_FS_44100,2);
pInstance->MSBypassMixer.MixerStream[1].CallbackParam = 0;
pInstance->MSBypassMixer.MixerStream[1].pCallbackHandle = LVM_NULL;
pInstance->MSBypassMixer.MixerStream[1].pCallBack = LVM_NULL;
pInstance->MSBypassMixer.MixerStream[1].CallbackSet = 0;
LVC_Mixer_Init(&pInstance->MSBypassMixer.MixerStream[1],0,0);
LVC_Mixer_SetTimeConstant(&pInstance->MSBypassMixer.MixerStream[1],0,LVM_FS_44100,2);
pInstance->MSTarget0=0;
pInstance->MSTarget1=0;
pInstance->bInOperatingModeTransition = LVM_FALSE;
pInstance->bTimerDone = LVM_FALSE;
pInstance->TimerParams.CallBackParam = 0;

View File

@@ -17,9 +17,9 @@
/************************************************************************************
$Author: beq07716 $
$Revision: 1001 $
$Date: 2010-06-28 13:23:02 +0200 (Mon, 28 Jun 2010) $
$Author: beq06068 $
$Revision: 1307 $
$Date: 2010-07-22 17:41:25 +0200 (Thu, 22 Jul 2010) $
*************************************************************************************/
@@ -128,7 +128,8 @@ typedef struct
LVCS_BypassMix_t BypassMix; /* Bypass mixer configuration */
/* Bypass variable */
LVMixer3_2St_st MSBypassMixer; /* Bypass mixer used in transitions in MS mode */
LVM_INT16 MSTarget0; /* Mixer state control variable for smooth transtion */
LVM_INT16 MSTarget1; /* Mixer state control variable for smooth transtion */
LVM_INT16 bInOperatingModeTransition; /* Operating mode transition flag */
LVM_INT16 bTimerDone; /* Timer completion flag */
LVM_Timer_Params_t TimerParams; /* Timer parameters */

View File

@@ -17,9 +17,9 @@
/************************************************************************************
$Author: beq07716 $
$Revision: 1001 $
$Date: 2010-06-28 13:23:02 +0200 (Mon, 28 Jun 2010) $
$Author: nxp007753 $
$Revision: 1315 $
$Date: 2010-07-23 11:52:08 +0200 (Fri, 23 Jul 2010) $
*************************************************************************************/
@@ -113,7 +113,7 @@ LVCS_ReturnStatus_en LVCS_ReverbGeneratorInit(LVCS_Handle_t hInstance,
Coeffs.B2 = (LVM_INT16)-pReverbCoefTable[Offset].B2;
LoadConst_16(0, /* Value */
(LVM_INT16 *)&pData->ReverbBiquadTaps, /* Destination */
(void *)&pData->ReverbBiquadTaps, /* Destination Cast to void: no dereferencing in function*/
(LVM_UINT16)(sizeof(pData->ReverbBiquadTaps)/sizeof(LVM_INT16))); /* Number of words */
BQ_2I_D16F16Css_TRC_WRA_01_Init(&pCoefficients->ReverbBiquadInstance,

View File

@@ -17,9 +17,9 @@
/************************************************************************************
$Author: beq07716 $
$Revision: 1001 $
$Date: 2010-06-28 13:23:02 +0200 (Mon, 28 Jun 2010) $
$Author: nxp007753 $
$Revision: 1315 $
$Date: 2010-07-23 11:52:08 +0200 (Fri, 23 Jul 2010) $
*************************************************************************************/
@@ -90,7 +90,8 @@ LVCS_ReturnStatus_en LVCS_SEnhancerInit(LVCS_Handle_t hInstance,
/* Clear the taps */
LoadConst_16(0, /* Value */
(LVM_INT16 *)&pData->SEBiquadTapsMid, /* Destination */
(void *)&pData->SEBiquadTapsMid, /* Destination Cast to void:\
no dereferencing in function*/
(LVM_UINT16)(sizeof(pData->SEBiquadTapsMid)/sizeof(LVM_UINT16))); /* Number of words */
FO_1I_D16F16Css_TRC_WRA_01_Init(&pCoefficient->SEBiquadInstanceMid,
@@ -116,7 +117,8 @@ LVCS_ReturnStatus_en LVCS_SEnhancerInit(LVCS_Handle_t hInstance,
/* Clear the taps */
LoadConst_16(0, /* Value */
(LVM_INT16 *)&pData->SEBiquadTapsSide, /* Destination */
(void *)&pData->SEBiquadTapsSide, /* Destination Cast to void:\
no dereferencing in function*/
(LVM_UINT16)(sizeof(pData->SEBiquadTapsSide)/sizeof(LVM_UINT16))); /* Number of words */