Merge "resolved conflicts for merge of 79178b8b to master"

This commit is contained in:
Eric Laurent
2011-11-05 08:56:06 -07:00
committed by Android (Google) Code Review

View File

@ -49,6 +49,16 @@ extern "C" const struct effect_interface_s gLvmEffectInterface;
}\
}
static inline int16_t clamp16(int32_t sample)
{
// check overflow for both positive and negative values:
// all bits above short range must me equal to sign bit
if ((sample>>15) ^ (sample>>31))
sample = 0x7FFF ^ (sample>>31);
return sample;
}
// Namespaces
namespace android {
namespace {
@ -707,13 +717,6 @@ int LvmBundle_init(EffectContext *pContext){
} /* end LvmBundle_init */
static inline int16_t clamp16(int32_t sample)
{
if ((sample>>15) ^ (sample>>31))
sample = 0x7FFF ^ (sample>>31);
return sample;
}
//----------------------------------------------------------------------------
// LvmBundle_process()
//----------------------------------------------------------------------------
@ -2683,12 +2686,19 @@ int Effect_process(effect_handle_t self,
ALOGV("\tLVM_ERROR : LvmBundle_process returned error %d", lvmStatus);
return lvmStatus;
}
}else{
} else {
//ALOGV("\tEffect_process Not Calling process with %d effects enabled, %d called: Effect %d",
//pContext->pBundledContext->NumberEffectsEnabled,
//pContext->pBundledContext->NumberEffectsCalled, pContext->EffectType);
// 2 is for stereo input
memcpy(outBuffer->raw, inBuffer->raw, outBuffer->frameCount*sizeof(LVM_INT16)*2);
if (pContext->config.outputCfg.accessMode == EFFECT_BUFFER_ACCESS_ACCUMULATE) {
for (size_t i=0; i < outBuffer->frameCount*2; i++){
outBuffer->s16[i] =
clamp16((LVM_INT32)outBuffer->s16[i] + (LVM_INT32)inBuffer->s16[i]);
}
} else {
memcpy(outBuffer->raw, inBuffer->raw, outBuffer->frameCount*sizeof(LVM_INT16)*2);
}
}
return status;