summaryrefslogtreecommitdiff
authorwenbiao zhang <wenbiao.zhang@amlogic.com>2019-04-18 13:16:58 (GMT)
committer wenbiao zhang <wenbiao.zhang@amlogic.com>2019-04-19 08:38:36 (GMT)
commit67fd321b1fcc4fa0b9e11d413d5398800bda503e (patch)
tree0ba9fbc838a068a6ab053863250f4ed52099eb2e
parent76b305c524cd2d1541a321578aca9334692e9f4d (diff)
downloadav-67fd321b1fcc4fa0b9e11d413d5398800bda503e.zip
av-67fd321b1fcc4fa0b9e11d413d5398800bda503e.tar.gz
av-67fd321b1fcc4fa0b9e11d413d5398800bda503e.tar.bz2
AudioEffect: initialize virtualizer surround [1/1]
PD#SWPL-7396 Problem: virtualizer surround initialize value is error Solution: virtualizer surround enable is not open to UI, set default value first Verify: X301 Change-Id: I243858a144668d8a2e3bb3ed22882174301d3bf0 Signed-off-by: wenbiao zhang <wenbiao.zhang@amlogic.com>
Diffstat
-rw-r--r--libaudioeffect/Ms12Dap/ms12_dap_wapper.cpp71
1 files changed, 43 insertions, 28 deletions
diff --git a/libaudioeffect/Ms12Dap/ms12_dap_wapper.cpp b/libaudioeffect/Ms12Dap/ms12_dap_wapper.cpp
index 9740e93..032a048 100644
--- a/libaudioeffect/Ms12Dap/ms12_dap_wapper.cpp
+++ b/libaudioeffect/Ms12Dap/ms12_dap_wapper.cpp
@@ -2585,7 +2585,7 @@ extern "C" {
return ret;
}
- int dap_get_mode_param(DAPContext *pContext, uint32_t param, void* pValue) {
+ int dap_get_mode_param(DAPContext *pContext, uint32_t param, void* pValue, bool first) {
DAPdata *pDapData = &pContext->gDAPdata;
int i=0;
@@ -2594,7 +2594,10 @@ extern "C" {
case DAP_PARAM_VOL_LEVELER_AMOUNT:
{
dolby_vol_leveler_t* dapVolLeveler = (dolby_vol_leveler_t*)pValue;
- if (pContext->modeValue == DAP_MODE_CUSTOM) {
+ if (first) {
+ dapVolLeveler->vl_enable = default_vl_param[DAP_MODE_CUSTOM][0];
+ dapVolLeveler->vl_amount = default_vl_param[DAP_MODE_CUSTOM][1];
+ } else if (pContext->modeValue == DAP_MODE_CUSTOM) {
dapVolLeveler->vl_enable = pDapData->dapVolLeveler.vl_enable;
dapVolLeveler->vl_amount = pDapData->dapVolLeveler.vl_amount;
} else {
@@ -2607,7 +2610,10 @@ extern "C" {
case DAP_PARAM_DE_AMOUNT:
{
dolby_dialog_enhance_t* dapDialogEnhance = (dolby_dialog_enhance_t*)pValue;
- if (pContext->modeValue == DAP_MODE_CUSTOM) {
+ if (first) {
+ dapDialogEnhance->de_enable = default_de_param[DAP_MODE_CUSTOM][0];
+ dapDialogEnhance->de_amount = default_de_param[DAP_MODE_CUSTOM][1];
+ } else if (pContext->modeValue == DAP_MODE_CUSTOM) {
dapDialogEnhance->de_enable = pDapData->dapDialogEnhance.de_enable;
dapDialogEnhance->de_amount = pDapData->dapDialogEnhance.de_amount;
} else {
@@ -2621,7 +2627,11 @@ extern "C" {
case DAP_PARAM_VIRTUALIZER_ENABLE:
{
dolby_virtual_surround_t* dapVirtualSrnd = (dolby_virtual_surround_t*)pValue;
- if (pContext->modeValue == DAP_MODE_CUSTOM) {
+ if (first) {
+ dapVirtualSrnd->enable.surround_decoder_enable = default_surr_param[DAP_MODE_CUSTOM][0];
+ dapVirtualSrnd->enable.virtualizer_enable = default_surr_param[DAP_MODE_CUSTOM][1];
+ dapVirtualSrnd->surround_boost = default_surr_param[DAP_MODE_CUSTOM][2];
+ } else if (pContext->modeValue == DAP_MODE_CUSTOM) {
dapVirtualSrnd->enable.surround_decoder_enable = pDapData->dapVirtualSrnd.enable.surround_decoder_enable;
dapVirtualSrnd->enable.virtualizer_enable = pDapData->dapVirtualSrnd.enable.virtualizer_enable;
dapVirtualSrnd->surround_boost = pDapData->dapVirtualSrnd.surround_boost;
@@ -2639,12 +2649,17 @@ extern "C" {
dapGeq->eq_params.geq_nb_bands = DAP_GEQ_NB_BANDS_DEFAULT;
for (i=0; i<dapGeq->eq_params.geq_nb_bands; i++)
dapGeq->eq_params.a_geq_band_center[i] = default_geq_center[i];
- if (pContext->modeValue == DAP_MODE_CUSTOM) {
+ if (first) {
+ dapGeq->eq_enable.geq_enable = default_geq_enable[DAP_MODE_CUSTOM];
+ } else if (pContext->modeValue == DAP_MODE_CUSTOM) {
dapGeq->eq_enable.geq_enable = pDapData->dapEQ.eq_enable.geq_enable;
} else {
dapGeq->eq_enable.geq_enable = default_geq_enable[pContext->modeValue];
}
- if (dapGeq->eq_enable.geq_enable == GEQ_MODE_USER) {
+ if (first) {
+ for (i=0; i<dapGeq->eq_params.geq_nb_bands; i++)
+ dapGeq->eq_params.a_geq_band_target[i] = default_geq_gains[GEQ_MODE_USER][i];
+ } else if (dapGeq->eq_enable.geq_enable == GEQ_MODE_USER) {
for (i=0; i<dapGeq->eq_params.geq_nb_bands; i++)
dapGeq->eq_params.a_geq_band_target[i] = pDapData->dapEQ.eq_params.a_geq_band_target[i];
} else {
@@ -2676,10 +2691,10 @@ extern "C" {
DAPdata *pDapData = &pContext->gDAPdata;
pDapData->eDapEffectMode = eMode;
- dap_get_mode_param(pContext, DAP_PARAM_VOL_LEVELER_ENABLE, (void *)&dapVolLeveler);
- dap_get_mode_param(pContext, DAP_PARAM_DE_ENABLE, (void *)&dapDialogEnhance);
- dap_get_mode_param(pContext, DAP_PARAM_SUROUND_ENABLE, (void *)&dapVirtualSrnd);
- dap_get_mode_param(pContext, DAP_PARAM_GEQ_ENABLE, (void *)&dapEQ);
+ dap_get_mode_param(pContext, DAP_PARAM_VOL_LEVELER_ENABLE, (void *)&dapVolLeveler, false);
+ dap_get_mode_param(pContext, DAP_PARAM_DE_ENABLE, (void *)&dapDialogEnhance, false);
+ dap_get_mode_param(pContext, DAP_PARAM_SUROUND_ENABLE, (void *)&dapVirtualSrnd, false);
+ dap_get_mode_param(pContext, DAP_PARAM_GEQ_ENABLE, (void *)&dapEQ, false);
dap_set_virtual_surround(pContext, (dolby_virtual_surround_t *) & (dapVirtualSrnd));
dap_set_dialog_enhance(pContext, (dolby_dialog_enhance_t *) & (dapDialogEnhance));
@@ -4329,10 +4344,10 @@ Error:
pContext->gDAPdata.dapPostGain = DEFAULT_POSTGAIN;
pContext->gDAPdata.eDapEffectMode = (DAPmode)pContext->modeValue;
memcpy((void *) & (pContext->gDAPdata.dapBaseSetting), (void *)&dap_dolby_base_music, sizeof(dolby_base));
- dap_get_mode_param(pContext, DAP_PARAM_VOL_LEVELER_ENABLE, (void *)&pContext->gDAPdata.dapVolLeveler);
- dap_get_mode_param(pContext, DAP_PARAM_DE_ENABLE, (void *)&pContext->gDAPdata.dapDialogEnhance);
- dap_get_mode_param(pContext, DAP_PARAM_SUROUND_ENABLE, (void *)&pContext->gDAPdata.dapVirtualSrnd);
- dap_get_mode_param(pContext, DAP_PARAM_GEQ_ENABLE, (void *)&pContext->gDAPdata.dapEQ);
+ dap_get_mode_param(pContext, DAP_PARAM_VOL_LEVELER_ENABLE, (void *)&pContext->gDAPdata.dapVolLeveler, true);
+ dap_get_mode_param(pContext, DAP_PARAM_DE_ENABLE, (void *)&pContext->gDAPdata.dapDialogEnhance, true);
+ dap_get_mode_param(pContext, DAP_PARAM_SUROUND_ENABLE, (void *)&pContext->gDAPdata.dapVirtualSrnd, true);
+ dap_get_mode_param(pContext, DAP_PARAM_GEQ_ENABLE, (void *)&pContext->gDAPdata.dapEQ, true);
void *dap_cpdp = NULL;
DAPdata *pDapData = &pContext->gDAPdata;
@@ -4461,7 +4476,7 @@ Error:
if (!pContext->gDAPLibHandler) {
return 0;
}
- dap_get_mode_param(pContext, param, (void *)&dapVolLeveler);
+ dap_get_mode_param(pContext, param, (void *)&dapVolLeveler, false);
value = (uint32_t)dapVolLeveler.vl_enable;
*(uint32_t *) pValue = value;
ALOGD("%s: get Volume Leveler enable -> %s", __FUNCTION__, DapEnableStr[value]);
@@ -4477,7 +4492,7 @@ Error:
if (!pContext->gDAPLibHandler) {
return 0;
}
- dap_get_mode_param(pContext, param, (void *)&dapVolLeveler);
+ dap_get_mode_param(pContext, param, (void *)&dapVolLeveler, false);
value = (uint32_t)dapVolLeveler.vl_amount;
*(uint32_t *) pValue = value;
ALOGD("%s: get Volume Leveler amount -> %d", __FUNCTION__, value);
@@ -4493,7 +4508,7 @@ Error:
if (!pContext->gDAPLibHandler) {
return 0;
}
- dap_get_mode_param(pContext, param, (void *)&dapDialogEnhance);
+ dap_get_mode_param(pContext, param, (void *)&dapDialogEnhance, false);
value = (uint32_t)dapDialogEnhance.de_enable;
*(uint32_t *) pValue = value;
ALOGD("%s: get Dialog Enhance Enable -> %s", __FUNCTION__, DapEnableStr[value]);
@@ -4509,7 +4524,7 @@ Error:
if (!pContext->gDAPLibHandler) {
return 0;
}
- dap_get_mode_param(pContext, param, (void *)&dapDialogEnhance);
+ dap_get_mode_param(pContext, param, (void *)&dapDialogEnhance, false);
value = (uint32_t)dapDialogEnhance.de_amount;
*(uint32_t *) pValue = value;
ALOGD("%s: get Dialog Enhance amount -> %d", __FUNCTION__, value);
@@ -4525,7 +4540,7 @@ Error:
if (!pContext->gDAPLibHandler) {
return 0;
}
- dap_get_mode_param(pContext, param, (void *)&dapEQ);
+ dap_get_mode_param(pContext, param, (void *)&dapEQ, false);
value = (uint32_t)dapEQ.eq_enable.geq_enable;
*(uint32_t *) pValue = value;
ALOGD("%s: get EQ enable -> %s", __FUNCTION__, DapEnableStr[value]);
@@ -4539,7 +4554,7 @@ Error:
return -EINVAL;
}
- dap_get_mode_param(pContext, param, (void *)&dapEQ);
+ dap_get_mode_param(pContext, param, (void *)&dapEQ, false);
custom_value.band1 = (signed char)(dapEQ.eq_params.a_geq_band_target[0]);
custom_value.band2 = (signed char)(dapEQ.eq_params.a_geq_band_target[1]);
custom_value.band3 = (signed char)(dapEQ.eq_params.a_geq_band_target[2]);
@@ -4560,7 +4575,7 @@ Error:
if (!pContext->gDAPLibHandler) {
return 0;
}
- dap_get_mode_param(pContext, param, (void *)&dapVirtualSrnd);
+ dap_get_mode_param(pContext, param, (void *)&dapVirtualSrnd, false);
value = (uint32_t)dapVirtualSrnd.enable.virtualizer_enable;
*(uint32_t *) pValue = value;
ALOGD("%s: get Virtual Surround enable -> %d", __FUNCTION__, value);
@@ -4576,7 +4591,7 @@ Error:
if (!pContext->gDAPLibHandler) {
return 0;
}
- dap_get_mode_param(pContext, param, (void *)&dapVirtualSrnd);
+ dap_get_mode_param(pContext, param, (void *)&dapVirtualSrnd, false);
value = (uint32_t)dapVirtualSrnd.enable.surround_decoder_enable;
*(uint32_t *) pValue = value;
ALOGD("%s: get Surround decoder enable -> %s", __FUNCTION__, DapEnableStr[value]);
@@ -4592,7 +4607,7 @@ Error:
if (!pContext->gDAPLibHandler) {
return 0;
}
- dap_get_mode_param(pContext, param, (void *)&dapVirtualSrnd);
+ dap_get_mode_param(pContext, param, (void *)&dapVirtualSrnd, false);
value = (uint32_t)dapVirtualSrnd.surround_boost;
*(uint32_t *) pValue = value;
ALOGD("%s: get Surround Boost -> %d", __FUNCTION__, value);
@@ -4718,7 +4733,7 @@ Error:
value = *(uint32_t *)pValue;
//value = (value == 0) ? 0 : 1;
pDapData->dapEQ.eq_enable.geq_enable = value;
- dap_get_mode_param(pContext, param, (void *)&dapEQ);
+ dap_get_mode_param(pContext, param, (void *)&dapEQ, false);
dap_set_eq_params(pContext, (dolby_eq_t *) &dapEQ);
ALOGD("%s: Set EQ enable -> %d", __FUNCTION__, value);
break;
@@ -5302,10 +5317,10 @@ Error:
memcpy((void *) & (pContext->gDAPdata.dapBaseSetting), (void *)&dap_dolby_base_music, sizeof(dolby_base));
- dap_get_mode_param(pContext, DAP_PARAM_VOL_LEVELER_ENABLE, (void *)&pContext->gDAPdata.dapVolLeveler);
- dap_get_mode_param(pContext, DAP_PARAM_DE_ENABLE, (void *)&pContext->gDAPdata.dapDialogEnhance);
- dap_get_mode_param(pContext, DAP_PARAM_SUROUND_ENABLE, (void *)&pContext->gDAPdata.dapVirtualSrnd);
- dap_get_mode_param(pContext, DAP_PARAM_GEQ_ENABLE, (void *)&pContext->gDAPdata.dapEQ);
+ dap_get_mode_param(pContext, DAP_PARAM_VOL_LEVELER_ENABLE, (void *)&pContext->gDAPdata.dapVolLeveler, true);
+ dap_get_mode_param(pContext, DAP_PARAM_DE_ENABLE, (void *)&pContext->gDAPdata.dapDialogEnhance, true);
+ dap_get_mode_param(pContext, DAP_PARAM_SUROUND_ENABLE, (void *)&pContext->gDAPdata.dapVirtualSrnd, true);
+ dap_get_mode_param(pContext, DAP_PARAM_GEQ_ENABLE, (void *)&pContext->gDAPdata.dapEQ, true);
// DAP configuration sets are too big, here only part of settings are put in ini file.
if (DAP_load_ini_file(pContext) < 0) {