Lines Matching refs:pContext

180 int  Reverb_init            (ReverbContext *pContext);
181 void Reverb_free (ReverbContext *pContext);
182 int Reverb_setConfig (ReverbContext *pContext, effect_config_t *pConfig);
183 void Reverb_getConfig (ReverbContext *pContext, effect_config_t *pConfig);
184 int Reverb_setParameter (ReverbContext *pContext, void *pParam, void *pValue);
185 int Reverb_getParameter (ReverbContext *pContext,
189 int Reverb_LoadPreset (ReverbContext *pContext);
222 ReverbContext *pContext = new ReverbContext;
224 pContext->itfe = &gReverbInterface;
225 pContext->hInstance = NULL;
227 pContext->auxiliary = false;
229 pContext->auxiliary = true;
235 pContext->preset = false;
237 pContext->preset = true;
239 pContext->curPreset = REVERB_PRESET_LAST + 1;
240 pContext->nextPreset = REVERB_DEFAULT_PRESET;
247 ret = Reverb_init(pContext);
251 delete pContext;
255 *pHandle = (effect_handle_t)pContext;
258 pContext->PcmInPtr = NULL;
259 pContext->PcmOutPtr = NULL;
261 pContext->PcmInPtr = fopen("/data/tmp/reverb_pcm_in.pcm", "w");
262 pContext->PcmOutPtr = fopen("/data/tmp/reverb_pcm_out.pcm", "w");
264 if((pContext->PcmInPtr == NULL)||
265 (pContext->PcmOutPtr == NULL)){
272 pContext->InFrames32 = (LVM_INT32 *)malloc(LVREV_MAX_FRAME_SIZE * sizeof(LVM_INT32) * 2);
273 pContext->OutFrames32 = (LVM_INT32 *)malloc(LVREV_MAX_FRAME_SIZE * sizeof(LVM_INT32) * 2);
275 ALOGV("\tEffectCreate %p, size %zu", pContext, sizeof(ReverbContext));
281 ReverbContext * pContext = (ReverbContext *)handle;
284 if (pContext == NULL){
290 fclose(pContext->PcmInPtr);
291 fclose(pContext->PcmOutPtr);
293 free(pContext->InFrames32);
294 free(pContext->OutFrames32);
295 Reverb_free(pContext);
296 delete pContext;
408 // pContext: effect engine context
419 ReverbContext *pContext){
427 if (pContext->config.inputCfg.channels == AUDIO_CHANNEL_OUT_STEREO) {
429 } else if (pContext->config.inputCfg.channels != AUDIO_CHANNEL_OUT_MONO) {
434 OutFrames16 = (LVM_INT16 *)pContext->OutFrames32;
437 if((pContext->InFrames32 == NULL)||(pContext->OutFrames32 == NULL)){
443 fwrite(pIn, frameCount*sizeof(LVM_INT16)*samplesPerFrame, 1, pContext->PcmInPtr);
444 fflush(pContext->PcmInPtr);
447 if (pContext->preset && pContext->nextPreset != pContext->curPreset) {
448 Reverb_LoadPreset(pContext);
454 if (pContext->auxiliary) {
456 pContext->InFrames32[i] = (LVM_INT32)pIn[i]<<8;
461 pContext->InFrames32[2*i] = (pIn[2*i] * REVERB_SEND_LEVEL) >> 4; // <<8 + >>12
462 pContext->InFrames32[2*i+1] = (pIn[2*i+1] * REVERB_SEND_LEVEL) >> 4; // <<8 + >>12
466 if (pContext->preset && pContext->curPreset == REVERB_PRESET_NONE) {
467 memset(pContext->OutFrames32, 0, frameCount * sizeof(LVM_INT32) * 2); //always stereo here
469 if(pContext->bEnabled == LVM_FALSE && pContext->SamplesToExitCount > 0) {
470 memset(pContext->InFrames32,0,frameCount * sizeof(LVM_INT32) * samplesPerFrame);
475 LvmStatus = LVREV_Process(pContext->hInstance, /* Instance handle */
476 pContext->InFrames32, /* Input buffer */
477 pContext->OutFrames32, /* Output buffer */
485 if (pContext->auxiliary) {
487 OutFrames16[i] = clamp16(pContext->OutFrames32[i]>>8);
491 OutFrames16[i] = clamp16((pContext->OutFrames32[i]>>8) + (LVM_INT32)pIn[i]);
495 if ((pContext->leftVolume != pContext->prevLeftVolume ||
496 pContext->rightVolume != pContext->prevRightVolume) &&
497 pContext->volumeMode == REVERB_VOLUME_RAMP) {
498 LVM_INT32 vl = (LVM_INT32)pContext->prevLeftVolume << 16;
499 LVM_INT32 incl = (((LVM_INT32)pContext->leftVolume << 16) - vl) / frameCount;
500 LVM_INT32 vr = (LVM_INT32)pContext->prevRightVolume << 16;
501 LVM_INT32 incr = (((LVM_INT32)pContext->rightVolume << 16) - vr) / frameCount;
513 pContext->prevLeftVolume = pContext->leftVolume;
514 pContext->prevRightVolume = pContext->rightVolume;
515 } else if (pContext->volumeMode != REVERB_VOLUME_OFF) {
516 if (pContext->leftVolume != REVERB_UNIT_VOLUME ||
517 pContext->rightVolume != REVERB_UNIT_VOLUME) {
520 clamp16((LVM_INT32)(pContext->leftVolume * OutFrames16[2*i]) >> 12);
522 clamp16((LVM_INT32)(pContext->rightVolume * OutFrames16[2*i+1]) >> 12);
525 pContext->prevLeftVolume = pContext->leftVolume;
526 pContext->prevRightVolume = pContext->rightVolume;
527 pContext->volumeMode = REVERB_VOLUME_RAMP;
532 fwrite(OutFrames16, frameCount*sizeof(LVM_INT16)*2, 1, pContext->PcmOutPtr);
533 fflush(pContext->PcmOutPtr);
537 if (pContext->config.outputCfg.accessMode == EFFECT_BUFFER_ACCESS_ACCUMULATE){
556 // pContext: effect engine context
562 void Reverb_free(ReverbContext *pContext){
568 LvmStatus = LVREV_GetMemoryTable(pContext->hInstance,
599 // pContext: effect engine context
607 int Reverb_setConfig(ReverbContext *pContext, effect_config_t *pConfig){
611 CHECK_ARG(pContext != NULL);
616 CHECK_ARG((pContext->auxiliary && pConfig->inputCfg.channels == AUDIO_CHANNEL_OUT_MONO) ||
617 ((!pContext->auxiliary) && pConfig->inputCfg.channels == AUDIO_CHANNEL_OUT_STEREO));
624 pContext->config = *pConfig;
651 if (pContext->SampleRate != SampleRate) {
659 LvmStatus = LVREV_GetControlParameters(pContext->hInstance,
667 LvmStatus = LVREV_SetControlParameters(pContext->hInstance, &ActiveParams);
672 pContext->SampleRate = SampleRate;
687 // pContext: effect engine context
695 void Reverb_getConfig(ReverbContext *pContext, effect_config_t *pConfig)
697 *pConfig = pContext->config;
706 // pContext: effect engine context
712 int Reverb_init(ReverbContext *pContext){
715 CHECK_ARG(pContext != NULL);
717 if (pContext->hInstance != NULL){
718 Reverb_free(pContext);
721 pContext->config.inputCfg.accessMode = EFFECT_BUFFER_ACCESS_READ;
722 if (pContext->auxiliary) {
723 pContext->config.inputCfg.channels = AUDIO_CHANNEL_OUT_MONO;
725 pContext->config.inputCfg.channels = AUDIO_CHANNEL_OUT_STEREO;
728 pContext->config.inputCfg.format = AUDIO_FORMAT_PCM_16_BIT;
729 pContext->config.inputCfg.samplingRate = 44100;
730 pContext->config.inputCfg.bufferProvider.getBuffer = NULL;
731 pContext->config.inputCfg.bufferProvider.releaseBuffer = NULL;
732 pContext->config.inputCfg.bufferProvider.cookie = NULL;
733 pContext->config.inputCfg.mask = EFFECT_CONFIG_ALL;
734 pContext->config.outputCfg.accessMode = EFFECT_BUFFER_ACCESS_ACCUMULATE;
735 pContext->config.outputCfg.channels = AUDIO_CHANNEL_OUT_STEREO;
736 pContext->config.outputCfg.format = AUDIO_FORMAT_PCM_16_BIT;
737 pContext->config.outputCfg.samplingRate = 44100;
738 pContext->config.outputCfg.bufferProvider.getBuffer = NULL;
739 pContext->config.outputCfg.bufferProvider.releaseBuffer = NULL;
740 pContext->config.outputCfg.bufferProvider.cookie = NULL;
741 pContext->config.outputCfg.mask = EFFECT_CONFIG_ALL;
743 pContext->leftVolume = REVERB_UNIT_VOLUME;
744 pContext->rightVolume = REVERB_UNIT_VOLUME;
745 pContext->prevLeftVolume = REVERB_UNIT_VOLUME;
746 pContext->prevRightVolume = REVERB_UNIT_VOLUME;
747 pContext->volumeMode = REVERB_VOLUME_FLAT;
807 pContext->hInstance = LVM_NULL;
810 LvmStatus = LVREV_GetInstanceHandle(&pContext->hInstance,
823 pContext->SampleRate = LVM_FS_44100;
825 if(pContext->config.inputCfg.channels == AUDIO_CHANNEL_OUT_MONO){
840 pContext->SamplesToExitCount = (params.T60 * pContext->config.inputCfg.samplingRate)/1000;
846 pContext->SavedRoomLevel = -6000;
847 pContext->SavedHfLevel = 0;
848 pContext->bEnabled = LVM_FALSE;
849 pContext->SavedDecayTime = params.T60;
850 pContext->SavedDecayHfRatio = params.Damping*20;
851 pContext->SavedDensity = params.RoomSize*10;
852 pContext->SavedDiffusion = params.Density*10;
853 pContext->SavedReverbLevel = -6000;
856 LvmStatus = LVREV_SetControlParameters(pContext->hInstance,
956 // pContext: effect engine context
961 void ReverbSetRoomHfLevel(ReverbContext *pContext, int16_t level){
968 LvmStatus = LVREV_GetControlParameters(pContext->hInstance, &ActiveParams);
976 LvmStatus = LVREV_SetControlParameters(pContext->hInstance, &ActiveParams);
979 pContext->SavedHfLevel = level;
980 //ALOGV("\tReverbSetHfRoomLevel end.. saving %d", pContext->SavedHfLevel);
991 // pContext: effect engine context
995 int16_t ReverbGetRoomHfLevel(ReverbContext *pContext){
997 //ALOGV("\tReverbGetRoomHfLevel start, saved level is %d", pContext->SavedHfLevel);
1003 LvmStatus = LVREV_GetControlParameters(pContext->hInstance, &ActiveParams);
1008 level = ReverbConvertHfLevel(pContext->SavedHfLevel);
1010 //ALOGV("\tReverbGetRoomHfLevel() ActiveParams.LPFL %d, pContext->SavedHfLevel: %d, "
1011 // "converted level: %d\n", ActiveParams.LPF, pContext->SavedHfLevel, level);
1019 return pContext->SavedHfLevel;
1029 // pContext: effect engine context
1034 void ReverbSetReverbLevel(ReverbContext *pContext, int16_t level){
1042 LvmStatus = LVREV_GetControlParameters(pContext->hInstance, &ActiveParams);
1048 CombinedLevel = (level + pContext->SavedRoomLevel)-LVREV_MAX_REVERB_LEVEL;
1050 // CombinedLevel, level, pContext->SavedRoomLevel);
1057 LvmStatus = LVREV_SetControlParameters(pContext->hInstance, &ActiveParams);
1061 pContext->SavedReverbLevel = level;
1062 //ALOGV("\tReverbSetReverbLevel end pContext->SavedReverbLevel is %d\n\n",
1063 // pContext->SavedReverbLevel);
1074 // pContext: effect engine context
1078 int16_t ReverbGetReverbLevel(ReverbContext *pContext){
1087 LvmStatus = LVREV_GetControlParameters(pContext->hInstance, &ActiveParams);
1093 CombinedLevel = (pContext->SavedReverbLevel + pContext->SavedRoomLevel)-LVREV_MAX_REVERB_LEVEL;
1096 //CombinedLevel, pContext->SavedReverbLevel, pContext->SavedRoomLevel);
1099 //ALOGV("\tReverbGetReverbLevel(): ActiveParams.Level: %d, pContext->SavedReverbLevel: %d, "
1100 //"pContext->SavedRoomLevel: %d, CombinedLevel: %d, converted level: %d\n",
1101 //ActiveParams.Level, pContext->SavedReverbLevel,pContext->SavedRoomLevel, CombinedLevel,level);
1110 return pContext->SavedReverbLevel;
1120 // pContext: effect engine context
1125 void ReverbSetRoomLevel(ReverbContext *pContext, int16_t level){
1133 LvmStatus = LVREV_GetControlParameters(pContext->hInstance, &ActiveParams);
1139 CombinedLevel = (level + pContext->SavedReverbLevel)-LVREV_MAX_REVERB_LEVEL;
1143 LvmStatus = LVREV_SetControlParameters(pContext->hInstance, &ActiveParams);
1147 pContext->SavedRoomLevel = level;
1159 // pContext: effect engine context
1163 int16_t ReverbGetRoomLevel(ReverbContext *pContext){
1172 LvmStatus = LVREV_GetControlParameters(pContext->hInstance, &ActiveParams);
1178 CombinedLevel = (pContext->SavedRoomLevel + pContext->SavedReverbLevel-LVREV_MAX_REVERB_LEVEL);
1181 //ALOGV("\tReverbGetRoomLevel, Level = %d, pContext->SavedRoomLevel = %d, "
1182 // "pContext->SavedReverbLevel = %d, CombinedLevel = %d, level = %d",
1183 // ActiveParams.Level, pContext->SavedRoomLevel,
1184 // pContext->SavedReverbLevel, CombinedLevel, level);
1192 return pContext->SavedRoomLevel;
1202 // pContext: effect engine context
1207 void ReverbSetDecayTime(ReverbContext *pContext, uint32_t time){
1214 LvmStatus = LVREV_GetControlParameters(pContext->hInstance, &ActiveParams);
1227 LvmStatus = LVREV_SetControlParameters(pContext->hInstance, &ActiveParams);
1231 pContext->SamplesToExitCount = (ActiveParams.T60 * pContext->config.inputCfg.samplingRate)/1000;
1232 //ALOGV("\tReverbSetDecayTime() just Set SamplesToExitCount-> %d\n",pContext->SamplesToExitCount);
1233 pContext->SavedDecayTime = (int16_t)time;
1245 // pContext: effect engine context
1249 uint32_t ReverbGetDecayTime(ReverbContext *pContext){
1256 LvmStatus = LVREV_GetControlParameters(pContext->hInstance, &ActiveParams);
1261 if(ActiveParams.T60 != pContext->SavedDecayTime){
1264 ActiveParams.T60, pContext->SavedDecayTime);
1278 // pContext: effect engine context
1283 void ReverbSetDecayHfRatio(ReverbContext *pContext, int16_t ratio){
1290 LvmStatus = LVREV_GetControlParameters(pContext->hInstance, &ActiveParams);
1298 LvmStatus = LVREV_SetControlParameters(pContext->hInstance, &ActiveParams);
1302 pContext->SavedDecayHfRatio = ratio;
1314 // pContext: effect engine context
1318 int32_t ReverbGetDecayHfRatio(ReverbContext *pContext){
1325 LvmStatus = LVREV_GetControlParameters(pContext->hInstance, &ActiveParams);
1330 if(ActiveParams.Damping != (LVM_INT16)(pContext->SavedDecayHfRatio / 20)){
1332 ActiveParams.Damping, pContext->SavedDecayHfRatio);
1336 return pContext->SavedDecayHfRatio;
1346 // pContext: effect engine context
1351 void ReverbSetDiffusion(ReverbContext *pContext, int16_t level){
1358 LvmStatus = LVREV_GetControlParameters(pContext->hInstance, &ActiveParams);
1366 LvmStatus = LVREV_SetControlParameters(pContext->hInstance, &ActiveParams);
1370 pContext->SavedDiffusion = level;
1382 // pContext: effect engine context
1386 int32_t ReverbGetDiffusion(ReverbContext *pContext){
1394 LvmStatus = LVREV_GetControlParameters(pContext->hInstance, &ActiveParams);
1399 Temp = (LVM_INT16)(pContext->SavedDiffusion/10);
1406 return pContext->SavedDiffusion;
1416 // pContext: effect engine context
1421 void ReverbSetDensity(ReverbContext *pContext, int16_t level){
1428 LvmStatus = LVREV_GetControlParameters(pContext->hInstance, &ActiveParams);
1436 LvmStatus = LVREV_SetControlParameters(pContext->hInstance, &ActiveParams);
1440 pContext->SavedDensity = level;
1452 // pContext: effect engine context
1456 int32_t ReverbGetDensity(ReverbContext *pContext){
1463 LvmStatus = LVREV_GetControlParameters(pContext->hInstance, &ActiveParams);
1469 Temp = (LVM_INT16)(((pContext->SavedDensity * 99) / 1000) + 1);
1476 return pContext->SavedDensity;
1486 // pContext - handle to instance data
1493 int Reverb_LoadPreset(ReverbContext *pContext)
1497 pContext->curPreset = pContext->nextPreset;
1499 if (pContext->curPreset != REVERB_PRESET_NONE) {
1500 const t_reverb_settings *preset = &sReverbPresets[pContext->curPreset];
1501 ReverbSetRoomLevel(pContext, preset->roomLevel);
1502 ReverbSetRoomHfLevel(pContext, preset->roomHFLevel);
1503 ReverbSetDecayTime(pContext, preset->decayTime);
1504 ReverbSetDecayHfRatio(pContext, preset->decayHFRatio);
1507 ReverbSetReverbLevel(pContext, preset->reverbLevel);
1509 ReverbSetDiffusion(pContext, preset->diffusion);
1510 ReverbSetDensity(pContext, preset->density);
1524 // pContext - handle to instance data
1538 int Reverb_getParameter(ReverbContext *pContext,
1548 if (pContext->preset) {
1553 *(uint16_t *)pValue = pContext->nextPreset;
1554 ALOGV("get REVERB_PARAM_PRESET, preset %d", pContext->nextPreset);
1646 pProperties->roomLevel = ReverbGetRoomLevel(pContext);
1647 pProperties->roomHFLevel = ReverbGetRoomHfLevel(pContext);
1648 pProperties->decayTime = ReverbGetDecayTime(pContext);
1649 pProperties->decayHFRatio = ReverbGetDecayHfRatio(pContext);
1653 pProperties->reverbLevel = ReverbGetReverbLevel(pContext);
1654 pProperties->diffusion = ReverbGetDiffusion(pContext);
1655 pProperties->density = ReverbGetDensity(pContext);
1680 *(int16_t *)pValue = ReverbGetRoomLevel(pContext);
1686 *(int16_t *)pValue = ReverbGetRoomHfLevel(pContext);
1692 *(uint32_t *)pValue = ReverbGetDecayTime(pContext);
1698 *(int16_t *)pValue = ReverbGetDecayHfRatio(pContext);
1704 *(int16_t *)pValue = ReverbGetReverbLevel(pContext);
1710 *(int16_t *)pValue = ReverbGetDiffusion(pContext);
1717 *(int16_t *)pValue = ReverbGetDensity(pContext);
1746 // pContext - handle to instance data
1754 int Reverb_setParameter (ReverbContext *pContext, void *pParam, void *pValue){
1764 if (pContext->preset) {
1774 pContext->nextPreset = preset;
1782 ReverbSetRoomLevel(pContext, pProperties->roomLevel);
1783 ReverbSetRoomHfLevel(pContext, pProperties->roomHFLevel);
1784 ReverbSetDecayTime(pContext, pProperties->decayTime);
1785 ReverbSetDecayHfRatio(pContext, pProperties->decayHFRatio);
1786 ReverbSetReverbLevel(pContext, pProperties->reverbLevel);
1787 ReverbSetDiffusion(pContext, pProperties->diffusion);
1788 ReverbSetDensity(pContext, pProperties->density);
1794 ReverbSetRoomLevel(pContext, level);
1801 ReverbSetRoomHfLevel(pContext, level);
1808 ReverbSetDecayTime(pContext, time);
1815 ReverbSetDecayHfRatio(pContext, ratio);
1822 ReverbSetReverbLevel(pContext, level);
1829 ReverbSetDiffusion(pContext, ratio);
1836 ReverbSetDensity(pContext, ratio);
1861 android::ReverbContext * pContext = (android::ReverbContext *) self;
1864 if (pContext == NULL){
1865 ALOGV("\tLVM_ERROR : Reverb_process() ERROR pContext == NULL");
1879 pContext);
1881 if (pContext->bEnabled == LVM_FALSE) {
1882 if (pContext->SamplesToExitCount > 0) {
1883 pContext->SamplesToExitCount -= outBuffer->frameCount;
1899 android::ReverbContext * pContext = (android::ReverbContext *) self;
1904 if (pContext == NULL){
1905 ALOGV("\tLVM_ERROR : Reverb_command ERROR pContext == NULL");
1933 *(int *) pReplyData = android::Reverb_setConfig(pContext,
1944 android::Reverb_getConfig(pContext, (effect_config_t *)pReplyData);
1950 Reverb_setConfig(pContext, &pContext->config);
1976 p->status = android::Reverb_getParameter(pContext,
2021 *(int *)pReplyData = android::Reverb_setParameter(pContext,
2035 if(pContext->bEnabled == LVM_TRUE){
2041 pContext->bEnabled = LVM_TRUE;
2043 LvmStatus = LVREV_GetControlParameters(pContext->hInstance, &ActiveParams);
2045 pContext->SamplesToExitCount =
2046 (ActiveParams.T60 * pContext->config.inputCfg.samplingRate)/1000;
2048 pContext->volumeMode = android::REVERB_VOLUME_FLAT;
2049 //ALOGV("\tEFFECT_CMD_ENABLE SamplesToExitCount = %d", pContext->SamplesToExitCount);
2060 if(pContext->bEnabled == LVM_FALSE){
2066 pContext->bEnabled = LVM_FALSE;
2079 pContext->leftVolume = (LVM_INT16)((*(uint32_t *)pCmdData + (1 << 11)) >> 12);
2080 pContext->rightVolume = (LVM_INT16)((*((uint32_t *)pCmdData + 1) + (1 << 11)) >> 12);
2083 if (pContext->volumeMode == android::REVERB_VOLUME_OFF) {
2085 pContext->volumeMode = android::REVERB_VOLUME_FLAT;
2088 pContext->leftVolume = REVERB_UNIT_VOLUME;
2089 pContext->rightVolume = REVERB_UNIT_VOLUME;
2090 pContext->volumeMode = android::REVERB_VOLUME_OFF;
2093 pContext->leftVolume, pContext->rightVolume, pContext->volumeMode);
2116 android::ReverbContext * pContext = (android::ReverbContext *)self;
2119 if (pContext == NULL || pDescriptor == NULL) {
2124 if (pContext->auxiliary) {
2125 if (pContext->preset) {
2131 if (pContext->preset) {