Lines Matching refs:pContext

177 int  Reverb_init            (ReverbContext *pContext);
178 void Reverb_free (ReverbContext *pContext);
179 int Reverb_setConfig (ReverbContext *pContext, effect_config_t *pConfig);
180 void Reverb_getConfig (ReverbContext *pContext, effect_config_t *pConfig);
181 int Reverb_setParameter (ReverbContext *pContext, void *pParam, void *pValue);
182 int Reverb_getParameter (ReverbContext *pContext,
186 int Reverb_LoadPreset (ReverbContext *pContext);
243 ReverbContext *pContext = new ReverbContext;
245 pContext->itfe = &gReverbInterface;
246 pContext->hInstance = NULL;
248 pContext->auxiliary = false;
250 pContext->auxiliary = true;
256 pContext->preset = false;
258 pContext->preset = true;
260 pContext->curPreset = REVERB_PRESET_LAST + 1;
261 pContext->nextPreset = REVERB_DEFAULT_PRESET;
268 ret = Reverb_init(pContext);
272 delete pContext;
276 *pHandle = (effect_handle_t)pContext;
279 pContext->PcmInPtr = NULL;
280 pContext->PcmOutPtr = NULL;
282 pContext->PcmInPtr = fopen("/data/tmp/reverb_pcm_in.pcm", "w");
283 pContext->PcmOutPtr = fopen("/data/tmp/reverb_pcm_out.pcm", "w");
285 if((pContext->PcmInPtr == NULL)||
286 (pContext->PcmOutPtr == NULL)){
293 pContext->InFrames32 = (LVM_INT32 *)malloc(LVREV_MAX_FRAME_SIZE * sizeof(LVM_INT32) * 2);
294 pContext->OutFrames32 = (LVM_INT32 *)malloc(LVREV_MAX_FRAME_SIZE * sizeof(LVM_INT32) * 2);
296 ALOGV("\tEffectCreate %p, size %d", pContext, sizeof(ReverbContext));
302 ReverbContext * pContext = (ReverbContext *)handle;
305 if (pContext == NULL){
311 fclose(pContext->PcmInPtr);
312 fclose(pContext->PcmOutPtr);
314 free(pContext->InFrames32);
315 free(pContext->OutFrames32);
316 Reverb_free(pContext);
317 delete pContext;
427 // pContext: effect engine context
438 ReverbContext *pContext){
446 if (pContext->config.inputCfg.channels == AUDIO_CHANNEL_OUT_STEREO) {
448 } else if (pContext->config.inputCfg.channels != AUDIO_CHANNEL_OUT_MONO) {
453 OutFrames16 = (LVM_INT16 *)pContext->OutFrames32;
456 if((pContext->InFrames32 == NULL)||(pContext->OutFrames32 == NULL)){
462 fwrite(pIn, frameCount*sizeof(LVM_INT16)*samplesPerFrame, 1, pContext->PcmInPtr);
463 fflush(pContext->PcmInPtr);
466 if (pContext->preset && pContext->nextPreset != pContext->curPreset) {
467 Reverb_LoadPreset(pContext);
473 if (pContext->auxiliary) {
475 pContext->InFrames32[i] = (LVM_INT32)pIn[i]<<8;
480 pContext->InFrames32[2*i] = (pIn[2*i] * REVERB_SEND_LEVEL) >> 4; // <<8 + >>12
481 pContext->InFrames32[2*i+1] = (pIn[2*i+1] * REVERB_SEND_LEVEL) >> 4; // <<8 + >>12
485 if (pContext->preset && pContext->curPreset == REVERB_PRESET_NONE) {
486 memset(pContext->OutFrames32, 0, frameCount * sizeof(LVM_INT32) * 2); //always stereo here
488 if(pContext->bEnabled == LVM_FALSE && pContext->SamplesToExitCount > 0) {
489 memset(pContext->InFrames32,0,frameCount * sizeof(LVM_INT32) * samplesPerFrame);
494 LvmStatus = LVREV_Process(pContext->hInstance, /* Instance handle */
495 pContext->InFrames32, /* Input buffer */
496 pContext->OutFrames32, /* Output buffer */
504 if (pContext->auxiliary) {
506 OutFrames16[i] = clamp16(pContext->OutFrames32[i]>>8);
510 OutFrames16[i] = clamp16((pContext->OutFrames32[i]>>8) + (LVM_INT32)pIn[i]);
514 if ((pContext->leftVolume != pContext->prevLeftVolume ||
515 pContext->rightVolume != pContext->prevRightVolume) &&
516 pContext->volumeMode == REVERB_VOLUME_RAMP) {
517 LVM_INT32 vl = (LVM_INT32)pContext->prevLeftVolume << 16;
518 LVM_INT32 incl = (((LVM_INT32)pContext->leftVolume << 16) - vl) / frameCount;
519 LVM_INT32 vr = (LVM_INT32)pContext->prevRightVolume << 16;
520 LVM_INT32 incr = (((LVM_INT32)pContext->rightVolume << 16) - vr) / frameCount;
532 pContext->prevLeftVolume = pContext->leftVolume;
533 pContext->prevRightVolume = pContext->rightVolume;
534 } else if (pContext->volumeMode != REVERB_VOLUME_OFF) {
535 if (pContext->leftVolume != REVERB_UNIT_VOLUME ||
536 pContext->rightVolume != REVERB_UNIT_VOLUME) {
539 clamp16((LVM_INT32)(pContext->leftVolume * OutFrames16[2*i]) >> 12);
541 clamp16((LVM_INT32)(pContext->rightVolume * OutFrames16[2*i+1]) >> 12);
544 pContext->prevLeftVolume = pContext->leftVolume;
545 pContext->prevRightVolume = pContext->rightVolume;
546 pContext->volumeMode = REVERB_VOLUME_RAMP;
551 fwrite(OutFrames16, frameCount*sizeof(LVM_INT16)*2, 1, pContext->PcmOutPtr);
552 fflush(pContext->PcmOutPtr);
556 if (pContext->config.outputCfg.accessMode == EFFECT_BUFFER_ACCESS_ACCUMULATE){
575 // pContext: effect engine context
581 void Reverb_free(ReverbContext *pContext){
588 LvmStatus = LVREV_GetMemoryTable(pContext->hInstance,
619 // pContext: effect engine context
627 int Reverb_setConfig(ReverbContext *pContext, effect_config_t *pConfig){
631 CHECK_ARG(pContext != NULL);
636 CHECK_ARG((pContext->auxiliary && pConfig->inputCfg.channels == AUDIO_CHANNEL_OUT_MONO) ||
637 ((!pContext->auxiliary) && pConfig->inputCfg.channels == AUDIO_CHANNEL_OUT_STEREO));
648 pContext->config = *pConfig;
675 if(pContext->SampleRate != SampleRate){
683 LvmStatus = LVREV_GetControlParameters(pContext->hInstance,
689 LvmStatus = LVREV_SetControlParameters(pContext->hInstance, &ActiveParams);
708 // pContext: effect engine context
716 void Reverb_getConfig(ReverbContext *pContext, effect_config_t *pConfig)
718 *pConfig = pContext->config;
727 // pContext: effect engine context
733 int Reverb_init(ReverbContext *pContext){
738 CHECK_ARG(pContext != NULL);
740 if (pContext->hInstance != NULL){
741 Reverb_free(pContext);
744 pContext->config.inputCfg.accessMode = EFFECT_BUFFER_ACCESS_READ;
745 if (pContext->auxiliary) {
746 pContext->config.inputCfg.channels = AUDIO_CHANNEL_OUT_MONO;
748 pContext->config.inputCfg.channels = AUDIO_CHANNEL_OUT_STEREO;
751 pContext->config.inputCfg.format = AUDIO_FORMAT_PCM_16_BIT;
752 pContext->config.inputCfg.samplingRate = 44100;
753 pContext->config.inputCfg.bufferProvider.getBuffer = NULL;
754 pContext->config.inputCfg.bufferProvider.releaseBuffer = NULL;
755 pContext->config.inputCfg.bufferProvider.cookie = NULL;
756 pContext->config.inputCfg.mask = EFFECT_CONFIG_ALL;
757 pContext->config.outputCfg.accessMode = EFFECT_BUFFER_ACCESS_ACCUMULATE;
758 pContext->config.outputCfg.channels = AUDIO_CHANNEL_OUT_STEREO;
759 pContext->config.outputCfg.format = AUDIO_FORMAT_PCM_16_BIT;
760 pContext->config.outputCfg.samplingRate = 44100;
761 pContext->config.outputCfg.bufferProvider.getBuffer = NULL;
762 pContext->config.outputCfg.bufferProvider.releaseBuffer = NULL;
763 pContext->config.outputCfg.bufferProvider.cookie = NULL;
764 pContext->config.outputCfg.mask = EFFECT_CONFIG_ALL;
766 pContext->leftVolume = REVERB_UNIT_VOLUME;
767 pContext->rightVolume = REVERB_UNIT_VOLUME;
768 pContext->prevLeftVolume = REVERB_UNIT_VOLUME;
769 pContext->prevRightVolume = REVERB_UNIT_VOLUME;
770 pContext->volumeMode = REVERB_VOLUME_FLAT;
829 pContext->hInstance = LVM_NULL;
832 LvmStatus = LVREV_GetInstanceHandle(&pContext->hInstance,
846 if(pContext->config.inputCfg.channels == AUDIO_CHANNEL_OUT_MONO){
861 pContext->SamplesToExitCount = (params.T60 * pContext->config.inputCfg.samplingRate)/1000;
867 pContext->SavedRoomLevel = -6000;
868 pContext->SavedHfLevel = 0;
869 pContext->bEnabled = LVM_FALSE;
870 pContext->SavedDecayTime = params.T60;
871 pContext->SavedDecayHfRatio = params.Damping*20;
872 pContext->SavedDensity = params.RoomSize*10;
873 pContext->SavedDiffusion = params.Density*10;
874 pContext->SavedReverbLevel = -6000;
877 LvmStatus = LVREV_SetControlParameters(pContext->hInstance,
977 // pContext: effect engine context
982 void ReverbSetRoomHfLevel(ReverbContext *pContext, int16_t level){
989 LvmStatus = LVREV_GetControlParameters(pContext->hInstance, &ActiveParams);
997 LvmStatus = LVREV_SetControlParameters(pContext->hInstance, &ActiveParams);
1000 pContext->SavedHfLevel = level;
1001 //ALOGV("\tReverbSetHfRoomLevel end.. saving %d", pContext->SavedHfLevel);
1012 // pContext: effect engine context
1016 int16_t ReverbGetRoomHfLevel(ReverbContext *pContext){
1018 //ALOGV("\tReverbGetRoomHfLevel start, saved level is %d", pContext->SavedHfLevel);
1024 LvmStatus = LVREV_GetControlParameters(pContext->hInstance, &ActiveParams);
1029 level = ReverbConvertHfLevel(pContext->SavedHfLevel);
1031 //ALOGV("\tReverbGetRoomHfLevel() ActiveParams.LPFL %d, pContext->SavedHfLevel: %d, "
1032 // "converted level: %d\n", ActiveParams.LPF, pContext->SavedHfLevel, level);
1040 return pContext->SavedHfLevel;
1050 // pContext: effect engine context
1055 void ReverbSetReverbLevel(ReverbContext *pContext, int16_t level){
1063 LvmStatus = LVREV_GetControlParameters(pContext->hInstance, &ActiveParams);
1069 CombinedLevel = (level + pContext->SavedRoomLevel)-LVREV_MAX_REVERB_LEVEL;
1071 // CombinedLevel, level, pContext->SavedRoomLevel);
1078 LvmStatus = LVREV_SetControlParameters(pContext->hInstance, &ActiveParams);
1082 pContext->SavedReverbLevel = level;
1083 //ALOGV("\tReverbSetReverbLevel end pContext->SavedReverbLevel is %d\n\n",
1084 // pContext->SavedReverbLevel);
1095 // pContext: effect engine context
1099 int16_t ReverbGetReverbLevel(ReverbContext *pContext){
1108 LvmStatus = LVREV_GetControlParameters(pContext->hInstance, &ActiveParams);
1114 CombinedLevel = (pContext->SavedReverbLevel + pContext->SavedRoomLevel)-LVREV_MAX_REVERB_LEVEL;
1117 //CombinedLevel, pContext->SavedReverbLevel, pContext->SavedRoomLevel);
1120 //ALOGV("\tReverbGetReverbLevel(): ActiveParams.Level: %d, pContext->SavedReverbLevel: %d, "
1121 //"pContext->SavedRoomLevel: %d, CombinedLevel: %d, converted level: %d\n",
1122 //ActiveParams.Level, pContext->SavedReverbLevel,pContext->SavedRoomLevel, CombinedLevel,level);
1131 return pContext->SavedReverbLevel;
1141 // pContext: effect engine context
1146 void ReverbSetRoomLevel(ReverbContext *pContext, int16_t level){
1154 LvmStatus = LVREV_GetControlParameters(pContext->hInstance, &ActiveParams);
1160 CombinedLevel = (level + pContext->SavedReverbLevel)-LVREV_MAX_REVERB_LEVEL;
1164 LvmStatus = LVREV_SetControlParameters(pContext->hInstance, &ActiveParams);
1168 pContext->SavedRoomLevel = level;
1180 // pContext: effect engine context
1184 int16_t ReverbGetRoomLevel(ReverbContext *pContext){
1193 LvmStatus = LVREV_GetControlParameters(pContext->hInstance, &ActiveParams);
1199 CombinedLevel = (pContext->SavedRoomLevel + pContext->SavedReverbLevel-LVREV_MAX_REVERB_LEVEL);
1202 //ALOGV("\tReverbGetRoomLevel, Level = %d, pContext->SavedRoomLevel = %d, "
1203 // "pContext->SavedReverbLevel = %d, CombinedLevel = %d, level = %d",
1204 // ActiveParams.Level, pContext->SavedRoomLevel,
1205 // pContext->SavedReverbLevel, CombinedLevel, level);
1213 return pContext->SavedRoomLevel;
1223 // pContext: effect engine context
1228 void ReverbSetDecayTime(ReverbContext *pContext, uint32_t time){
1235 LvmStatus = LVREV_GetControlParameters(pContext->hInstance, &ActiveParams);
1248 LvmStatus = LVREV_SetControlParameters(pContext->hInstance, &ActiveParams);
1252 pContext->SamplesToExitCount = (ActiveParams.T60 * pContext->config.inputCfg.samplingRate)/1000;
1253 //ALOGV("\tReverbSetDecayTime() just Set SamplesToExitCount-> %d\n",pContext->SamplesToExitCount);
1254 pContext->SavedDecayTime = (int16_t)time;
1266 // pContext: effect engine context
1270 uint32_t ReverbGetDecayTime(ReverbContext *pContext){
1277 LvmStatus = LVREV_GetControlParameters(pContext->hInstance, &ActiveParams);
1282 if(ActiveParams.T60 != pContext->SavedDecayTime){
1285 ActiveParams.T60, pContext->SavedDecayTime);
1299 // pContext: effect engine context
1304 void ReverbSetDecayHfRatio(ReverbContext *pContext, int16_t ratio){
1311 LvmStatus = LVREV_GetControlParameters(pContext->hInstance, &ActiveParams);
1319 LvmStatus = LVREV_SetControlParameters(pContext->hInstance, &ActiveParams);
1323 pContext->SavedDecayHfRatio = ratio;
1335 // pContext: effect engine context
1339 int32_t ReverbGetDecayHfRatio(ReverbContext *pContext){
1346 LvmStatus = LVREV_GetControlParameters(pContext->hInstance, &ActiveParams);
1351 if(ActiveParams.Damping != (LVM_INT16)(pContext->SavedDecayHfRatio / 20)){
1353 ActiveParams.Damping, pContext->SavedDecayHfRatio);
1357 return pContext->SavedDecayHfRatio;
1367 // pContext: effect engine context
1372 void ReverbSetDiffusion(ReverbContext *pContext, int16_t level){
1379 LvmStatus = LVREV_GetControlParameters(pContext->hInstance, &ActiveParams);
1387 LvmStatus = LVREV_SetControlParameters(pContext->hInstance, &ActiveParams);
1391 pContext->SavedDiffusion = level;
1403 // pContext: effect engine context
1407 int32_t ReverbGetDiffusion(ReverbContext *pContext){
1415 LvmStatus = LVREV_GetControlParameters(pContext->hInstance, &ActiveParams);
1420 Temp = (LVM_INT16)(pContext->SavedDiffusion/10);
1427 return pContext->SavedDiffusion;
1437 // pContext: effect engine context
1442 void ReverbSetDensity(ReverbContext *pContext, int16_t level){
1449 LvmStatus = LVREV_GetControlParameters(pContext->hInstance, &ActiveParams);
1457 LvmStatus = LVREV_SetControlParameters(pContext->hInstance, &ActiveParams);
1461 pContext->SavedDensity = level;
1473 // pContext: effect engine context
1477 int32_t ReverbGetDensity(ReverbContext *pContext){
1484 LvmStatus = LVREV_GetControlParameters(pContext->hInstance, &ActiveParams);
1490 Temp = (LVM_INT16)(((pContext->SavedDensity * 99) / 1000) + 1);
1497 return pContext->SavedDensity;
1507 // pContext - handle to instance data
1514 int Reverb_LoadPreset(ReverbContext *pContext)
1518 pContext->curPreset = pContext->nextPreset;
1520 if (pContext->curPreset != REVERB_PRESET_NONE) {
1521 const t_reverb_settings *preset = &sReverbPresets[pContext->curPreset];
1522 ReverbSetRoomLevel(pContext, preset->roomLevel);
1523 ReverbSetRoomHfLevel(pContext, preset->roomHFLevel);
1524 ReverbSetDecayTime(pContext, preset->decayTime);
1525 ReverbSetDecayHfRatio(pContext, preset->decayHFRatio);
1528 ReverbSetReverbLevel(pContext, preset->reverbLevel);
1530 ReverbSetDiffusion(pContext, preset->diffusion);
1531 ReverbSetDensity(pContext, preset->density);
1545 // pContext - handle to instance data
1559 int Reverb_getParameter(ReverbContext *pContext,
1570 if (pContext->preset) {
1575 *(uint16_t *)pValue = pContext->nextPreset;
1576 ALOGV("get REVERB_PARAM_PRESET, preset %d", pContext->nextPreset);
1668 pProperties->roomLevel = ReverbGetRoomLevel(pContext);
1669 pProperties->roomHFLevel = ReverbGetRoomHfLevel(pContext);
1670 pProperties->decayTime = ReverbGetDecayTime(pContext);
1671 pProperties->decayHFRatio = ReverbGetDecayHfRatio(pContext);
1675 pProperties->reverbLevel = ReverbGetReverbLevel(pContext);
1676 pProperties->diffusion = ReverbGetDiffusion(pContext);
1677 pProperties->density = ReverbGetDensity(pContext);
1702 *(int16_t *)pValue = ReverbGetRoomLevel(pContext);
1708 *(int16_t *)pValue = ReverbGetRoomHfLevel(pContext);
1714 *(uint32_t *)pValue = ReverbGetDecayTime(pContext);
1720 *(int16_t *)pValue = ReverbGetDecayHfRatio(pContext);
1726 *(int16_t *)pValue = ReverbGetReverbLevel(pContext);
1732 *(int16_t *)pValue = ReverbGetDiffusion(pContext);
1739 *(int16_t *)pValue = ReverbGetDensity(pContext);
1768 // pContext - handle to instance data
1776 int Reverb_setParameter (ReverbContext *pContext, void *pParam, void *pValue){
1786 if (pContext->preset) {
1796 pContext->nextPreset = preset;
1804 ReverbSetRoomLevel(pContext, pProperties->roomLevel);
1805 ReverbSetRoomHfLevel(pContext, pProperties->roomHFLevel);
1806 ReverbSetDecayTime(pContext, pProperties->decayTime);
1807 ReverbSetDecayHfRatio(pContext, pProperties->decayHFRatio);
1808 ReverbSetReverbLevel(pContext, pProperties->reverbLevel);
1809 ReverbSetDiffusion(pContext, pProperties->diffusion);
1810 ReverbSetDensity(pContext, pProperties->density);
1816 ReverbSetRoomLevel(pContext, level);
1823 ReverbSetRoomHfLevel(pContext, level);
1830 ReverbSetDecayTime(pContext, time);
1837 ReverbSetDecayHfRatio(pContext, ratio);
1844 ReverbSetReverbLevel(pContext, level);
1851 ReverbSetDiffusion(pContext, ratio);
1858 ReverbSetDensity(pContext, ratio);
1883 android::ReverbContext * pContext = (android::ReverbContext *) self;
1886 if (pContext == NULL){
1887 ALOGV("\tLVM_ERROR : Reverb_process() ERROR pContext == NULL");
1901 pContext);
1903 if (pContext->bEnabled == LVM_FALSE) {
1904 if (pContext->SamplesToExitCount > 0) {
1905 pContext->SamplesToExitCount -= outBuffer->frameCount;
1921 android::ReverbContext * pContext = (android::ReverbContext *) self;
1927 if (pContext == NULL){
1928 ALOGV("\tLVM_ERROR : Reverb_command ERROR pContext == NULL");
1958 *(int *) pReplyData = android::Reverb_setConfig(pContext,
1970 android::Reverb_getConfig(pContext, (effect_config_t *)pReplyData);
1976 Reverb_setConfig(pContext, &pContext->config);
1998 p->status = android::Reverb_getParameter(pContext,
2043 *(int *)pReplyData = android::Reverb_setParameter(pContext,
2057 if(pContext->bEnabled == LVM_TRUE){
2063 pContext->bEnabled = LVM_TRUE;
2065 LvmStatus = LVREV_GetControlParameters(pContext->hInstance, &ActiveParams);
2067 pContext->SamplesToExitCount =
2068 (ActiveParams.T60 * pContext->config.inputCfg.samplingRate)/1000;
2070 pContext->volumeMode = android::REVERB_VOLUME_FLAT;
2071 //ALOGV("\tEFFECT_CMD_ENABLE SamplesToExitCount = %d", pContext->SamplesToExitCount);
2082 if(pContext->bEnabled == LVM_FALSE){
2088 pContext->bEnabled = LVM_FALSE;
2101 pContext->leftVolume = (LVM_INT16)((*(uint32_t *)pCmdData + (1 << 11)) >> 12);
2102 pContext->rightVolume = (LVM_INT16)((*((uint32_t *)pCmdData + 1) + (1 << 11)) >> 12);
2105 if (pContext->volumeMode == android::REVERB_VOLUME_OFF) {
2107 pContext->volumeMode = android::REVERB_VOLUME_FLAT;
2110 pContext->leftVolume = REVERB_UNIT_VOLUME;
2111 pContext->rightVolume = REVERB_UNIT_VOLUME;
2112 pContext->volumeMode = android::REVERB_VOLUME_OFF;
2115 pContext->leftVolume, pContext->rightVolume, pContext->volumeMode);
2138 android::ReverbContext * pContext = (android::ReverbContext *)self;
2141 if (pContext == NULL || pDescriptor == NULL) {
2146 if (pContext->auxiliary) {
2147 if (pContext->preset) {
2153 if (pContext->preset) {