summaryrefslogtreecommitdiff
authorjiejing.wang <jiejing.wang@amlogic.com>2019-09-04 03:22:07 (GMT)
committer Zhe Wang <Zhe.Wang@amlogic.com>2019-09-14 06:08:39 (GMT)
commitb982f0cbdd8a077be63b1f37c47a735584822fad (patch)
treee0b6b70c5962fbd58870dded81a42ee0b691d4d8
parentfdb6517d6309fe7bbe1edf25d7804278b6c8b409 (diff)
downloadav-b982f0cbdd8a077be63b1f37c47a735584822fad.zip
av-b982f0cbdd8a077be63b1f37c47a735584822fad.tar.gz
av-b982f0cbdd8a077be63b1f37c47a735584822fad.tar.bz2
audio: effect: virtualx support 5.1 ch input [2/2]
PD#SWPL-13364 Problem: virtualx didn't support 5.1ch input Solution: 1)add virtualx support 5.1ch input function 2)update the audio effect tuning tool Verify: verify by x301 Change-Id: I8ebbac14f014b5310ec68896909326cd10046fbe Signed-off-by: jiejing.wang <jiejing.wang@amlogic.com> Signed-off-by: Zhe Wang <Zhe.Wang@amlogic.com>
Diffstat
-rw-r--r--libaudioeffect/VirtualX/Android.mk4
-rw-r--r--libaudioeffect/VirtualX/Virtualx.cpp652
-rw-r--r--libaudioeffect/VirtualX/Virtualx.h101
-rw-r--r--libaudioeffect/effects_tool/Android.mk23
-rw-r--r--libaudioeffect/effects_tool/main.cpp1298
-rw-r--r--libaudioeffect/effects_tool/main2.cpp2012
6 files changed, 3429 insertions, 661 deletions
diff --git a/libaudioeffect/VirtualX/Android.mk b/libaudioeffect/VirtualX/Android.mk
index 22f1699..c5930c2 100644
--- a/libaudioeffect/VirtualX/Android.mk
+++ b/libaudioeffect/VirtualX/Android.mk
@@ -12,14 +12,14 @@ LOCAL_SHARED_LIBRARIES := \
libcutils \
libdl \
libutils \
- libamaudioutils
+ libamaudioutils \
LOCAL_C_INCLUDES := \
$(LOCAL_PATH) \
hardware/amlogic/audio/utils/ini/include \
hardware/libhardware/include/hardware \
hardware/libhardware/include \
- system/media/audio/include
+ system/media/audio/include \
LOCAL_SRC_FILES := Virtualx.cpp
diff --git a/libaudioeffect/VirtualX/Virtualx.cpp b/libaudioeffect/VirtualX/Virtualx.cpp
index ea1a421..3487bbb 100644
--- a/libaudioeffect/VirtualX/Virtualx.cpp
+++ b/libaudioeffect/VirtualX/Virtualx.cpp
@@ -40,13 +40,12 @@
#include <pthread.h>
#include <cutils/properties.h>
-
extern "C" {
#define MODEL_SUM_DEFAULT_PATH "/vendor/etc/tvconfig/model/model_sum.ini"
#define AUDIO_EFFECT_DEFAULT_PATH "/vendor/etc/tvconfig/audio/AMLOGIC_AUDIO_EFFECT_DEFAULT.ini"
-#define DTS_VIRTUALX_FRAME_SIZE 256
-#define DTS_FXP32( val, x ) ( int32_t )( val * ( ( int64_t )1L << ( 32 - x ) ) )
+#define DTS_VIRTUALX_FRAME_SIZE 256
+#define DTS_FXP32(val, x) (int32_t)(val * ((int64_t)1L << (32 - x)))
#if defined(__LP64__)
#define LIBVX_PATH_A "/vendor/lib64/soundfx/libvx.so"
@@ -70,103 +69,17 @@ const effect_descriptor_t VirtualxDescriptor = {
"VirtualX",
"DTS Labs",
};
+
enum Virtualx_state_e {
VIRTUALX_STATE_UNINITIALIZED,
VIRTUALX_STATE_INITIALIZED,
VIRTUALX_STATE_ACTIVE,
};
-typedef enum {
- VIRTUALX_MODE_STANDARD = 0,
- VIRTUALX_MODE_MUSIC,
- VIRTUALX_MODE_MOVIE,
- VIRTUALX_MODE_CLEAR_VOICE,
- VIRTUALX_MODE_ENHANCED_BASS,
- VIRTUALX_MODE_CUSTOM,
- VIRTUALX_MODE_NUM,
-} VXmode;
-
-typedef enum {
- VIRTUALX_PARAM_ENABLE = 0,
- VIRTUALX_PARAM_DIALOGCLARTY_MODE = 1,
- VIRTUALX_PARAM_SURROUND_MODE = 2,
- DTS_PARAM_MBHL_ENABLE_I32 = 3,
- DTS_PARAM_MBHL_BYPASS_GAIN_I32 = 4,
- DTS_PARAM_MBHL_REFERENCE_LEVEL_I32 = 5,
- DTS_PARAM_MBHL_VOLUME_I32 = 6,
- DTS_PARAM_MBHL_VOLUME_STEP_I32 = 7,
- DTS_PARAM_MBHL_BALANCE_STEP_I32 = 8,
- DTS_PARAM_MBHL_OUTPUT_GAIN_I32 = 9,
- DTS_PARAM_MBHL_MODE_I32 = 10,
- DTS_PARAM_MBHL_PROCESS_DISCARD_I32 = 11,
- DTS_PARAM_MBHL_CROSS_LOW_I32 = 12,
- DTS_PARAM_MBHL_CROSS_MID_I32 = 13,
- DTS_PARAM_MBHL_COMP_ATTACK_I32 = 14,
- DTS_PARAM_MBHL_COMP_LOW_RELEASE_I32 = 15,
- DTS_PARAM_MBHL_COMP_LOW_RATIO_I32 = 16,
- DTS_PARAM_MBHL_COMP_LOW_THRESH_I32 = 17,
- DTS_PARAM_MBHL_COMP_LOW_MAKEUP_I32 = 18,
- DTS_PARAM_MBHL_COMP_MID_RELEASE_I32 = 19,
- DTS_PARAM_MBHL_COMP_MID_RATIO_I32 = 20,
- DTS_PARAM_MBHL_COMP_MID_THRESH_I32 = 21,
- DTS_PARAM_MBHL_COMP_MID_MAKEUP_I32 = 22,
- DTS_PARAM_MBHL_COMP_HIGH_RELEASE_I32 = 23,
- DTS_PARAM_MBHL_COMP_HIGH_RATIO_I32 = 24,
- DTS_PARAM_MBHL_COMP_HIGH_THRESH_I32 = 25,
- DTS_PARAM_MBHL_COMP_HIGH_MAKEUP_I32 = 26,
- DTS_PARAM_MBHL_BOOST_I32 = 27,
- DTS_PARAM_MBHL_THRESHOLD_I32 = 28,
- DTS_PARAM_MBHL_SLOW_OFFSET_I32 = 29,
- DTS_PARAM_MBHL_FAST_ATTACK_I32 = 30,
- DTS_PARAM_MBHL_FAST_RELEASE_I32 = 31,
- DTS_PARAM_MBHL_SLOW_ATTACK_I32 = 32,
- DTS_PARAM_MBHL_SLOW_RELEASE_I32 = 33,
- DTS_PARAM_MBHL_DELAY_I32 = 34,
- DTS_PARAM_MBHL_ENVELOPE_FREQUENCY_I32 = 35,
- DTS_PARAM_TBHDX_ENABLE_I32 = 36,
- DTS_PARAM_TBHDX_MONO_MODE_I32 = 37,
- DTS_PARAM_TBHDX_MAXGAIN_I32 = 38,
- DTS_PARAM_TBHDX_SPKSIZE_I32 = 39,
- DTS_PARAM_TBHDX_HP_ENABLE_I32 = 40,
- DTS_PARAM_TBHDX_TEMP_GAIN_I32 = 41,
- DTS_PARAM_TBHDX_PROCESS_DISCARD_I32 = 42,
- DTS_PARAM_TBHDX_HPORDER_I32 = 43,
- DTS_PARAM_VX_ENABLE_I32 = 44,
- DTS_PARAM_VX_INPUT_MODE_I32 = 45,
- DTS_PARAM_VX_OUTPUT_MODE_I32 = 46,
- DTS_PARAM_VX_HEADROOM_GAIN_I32 = 47,
- DTS_PARAM_VX_PROC_OUTPUT_GAIN_I32 = 48,
- DTS_PARAM_VX_REFERENCE_LEVEL_I32 = 49,
- DTS_PARAM_TSX_ENABLE_I32 = 50,
- DTS_PARAM_TSX_PASSIVEMATRIXUPMIX_ENABLE_I32 = 51,
- DTS_PARAM_TSX_HEIGHT_UPMIX_ENABLE_I32 = 52,
- DTS_PARAM_TSX_LPR_GAIN_I32 = 53,
- DTS_PARAM_TSX_CENTER_GAIN_I32 = 54,
- DTS_PARAM_TSX_HORIZ_VIR_EFF_CTRL_I32 = 55,
- DTS_PARAM_TSX_HEIGHTMIX_COEFF_I32 = 56,
- DTS_PARAM_TSX_PROCESS_DISCARD_I32 = 57,
- DTS_PARAM_TSX_HEIGHT_DISCARD_I32 = 58,
- DTS_PARAM_TSX_FRNT_CTRL_I32 = 59,
- DTS_PARAM_TSX_SRND_CTRL_I32 = 60,
- DTS_PARAM_VX_DC_ENABLE_I32 = 61,
- DTS_PARAM_VX_DC_CONTROL_I32 = 62,
- DTS_PARAM_VX_DEF_ENABLE_I32 = 63,
- DTS_PARAM_VX_DEF_CONTROL_I32 = 64,
- DTS_PARAM_LOUDNESS_CONTROL_ENABLE_I32 = 65,
- DTS_PARAM_LOUDNESS_CONTROL_TARGET_LOUDNESS_I32 = 66,
- DTS_PARAM_LOUDNESS_CONTROL_PRESET_I32 = 67,
- DTS_PARAM_LOUDNESS_CONTROL_IO_MODE_I32 = 68,
- DTS_PARAM_TBHDX_APP_SPKSIZE_I32 = 69,
- DTS_PARAM_TBHDX_APP_HPRATIO_F32 = 70,
- DTS_PARAM_TBHDX_APP_EXTBASS_F32 = 71,
- DTS_PARAM_MBHL_APP_FRT_LOWCROSS_F32 = 72,
- DTS_PARAM_MBHL_APP_FRT_MIDCROSS_F32 = 73,
-
-}Virtualxparams;
typedef struct Virtualxapi_s {
int (*VX_init)(void *);
int (*VX_release)(void);
- int (*VX_process)(int32_t **in,int32_t **out);
+ int (*VX_process)(int32_t **in,int32_t **out,int ch);
int (*MBHL_process)(int32_t **in,int32_t **out);
int (*setvxlib1_enable)(int32_t value);
int (*getvxlib1_enable)(int32_t *value);
@@ -296,6 +209,7 @@ typedef struct Virtualxapi_s {
int (*gettruvolume_ctrtarget)(int32_t *value);
int (*settruvolume_ctrpreset)(int32_t value);
int (*gettruvolume_ctrpreset)(int32_t *value);
+ int (*setlc_inmode)(int32_t value);
int (*settbhd_FilterDesign)(int32_t spksize,float basslvl, float hpratio,float extbass);
int (*setmbhl_FilterDesign)(float lowCrossFreq,float midCrossFreq);
} Virtualxapi;
@@ -375,13 +289,13 @@ typedef struct mbhl_param_s {
float mbhl_highratio;//Compressor high ratio
float mbhl_highthreshold;//Compressor high threshold
float mbhl_highmakegian;//Compressor high makeupgain
-}mbhl_param;
+} mbhl_param;
typedef struct Truvolume_param_s {
int32_t enable;
int32_t targetlevel;
int32_t preset;
-}Truvolume_param;
+} Truvolume_param;
typedef struct TS_cfg_s {
vxtrusurround_param vxtrusurround;
@@ -389,9 +303,16 @@ typedef struct TS_cfg_s {
tbhdx_param tbhdx;
} TS_cfg;
+static TS_cfg default_TS_cfg {
+ {1,1,0,1.0,1.0,1.0,1.0,1.0,0,0,1},{0,0.4},{0,0,2,0.3339,0.3,4,1},
+};
typedef struct DC_cfg_s {
vxdialogclarity_param vxdialogclarity;
- } DC_cfg;
+} DC_cfg;
+
+static DC_cfg default_DC_cfg {
+ 0,0.4,
+};
#define TS_MODE_MUM 2
#define DC_MODE_MUM 3
@@ -402,6 +323,11 @@ typedef struct Virtualxcfg_s {
Truvolume_param Truvolume;
} Virtualxcfg;
+static Virtualxcfg default_Virtualxcfg {
+ {1,0,0,1.0,1.0},{1,1.0,1.0,1.0,100,0,1.0,1.0,1.0,1.0,5,50,500,500,8,20,0,7,15,5,250,4.0,0.501,1.0,250,4.0,0.501,1.0,250,4.0,0.501,1.0,},
+ {1,-24,1},
+};
+
typedef struct vxdata_s {
struct {
int32_t vxlib_enable;
@@ -467,13 +393,13 @@ typedef struct vxdata_s {
int32_t targetlevel;
int32_t preset;
};
- int enable;
- Virtualxcfg vxcfg;
- int counter;
- TS_cfg TS_usr_cfg[TS_MODE_MUM];
- DC_cfg DC_usr_cfg[DC_MODE_MUM];
- int dialogclarity_mode;
- int surround_mode;
+ int enable;
+ Virtualxcfg vxcfg;
+ int counter;
+ TS_cfg TS_usr_cfg[TS_MODE_MUM];
+ DC_cfg DC_usr_cfg[DC_MODE_MUM];
+ int dialogclarity_mode;
+ int surround_mode;
} vxdata;
typedef struct vxContext_s {
@@ -484,24 +410,17 @@ typedef struct vxContext_s {
vxdata gvxdata;
Virtualxapi gVirtualxapi;
int32_t sTempBuffer[12][256];
+ int32_t TempBuffer[12][256];
int32_t *ppMappedInCh[12];
- int32_t *ppMappedOutCh[2];
+ int32_t *ppMappedOutCh[12];
+ int32_t *ppDataIn[12];
float lowcrossfreq;
float midcrossfreq;
int32_t spksize;
float hpratio;
float extbass;
-}vxContext;
-
-static TS_cfg TS_default_usr_cfg[TS_MODE_MUM]__unused = {
- {{1, 0, 0, 1.0, 1.0, 1.0, 1.0, 1.0, 0, 0, 1},{1, 0.4},{1, 0, 2, 0.3339, 0.3, 4, 1}},//on
- {{1, 1, 0, 1.0, 1.0, 1.0, 1.0, 1.0, 0, 0, 1},{0, 0.4},{0, 0, 2, 0.3339, 0.3, 4, 1}},//off
-};
-static DC_cfg DC_default_usr_cfg[DC_MODE_MUM]__unused = {
- {{1, 0.0}}, //OFF
- {{1, 0.15}}, //LOW
- {{1, 0.3}}, //HIGH
-};
+ int32_t ch_num;
+} vxContext;
const char *VXStatusstr[] = {"Disable", "Enable"};
const char *VXLibStatusstr[] = {"Disable", "Enable"};
@@ -532,6 +451,7 @@ int Virtualx_get_model_name(char *model_name, int size)
ALOGD("%s: Model Name -> %s", __FUNCTION__, model_name);
return ret;
}
+
/*
static int getprop_bool(const char *path)
{
@@ -547,6 +467,7 @@ static int getprop_bool(const char *path)
return 0;
}
*/
+
int Virtualx_get_ini_file(char *ini_name, int size)
{
int result = -1;
@@ -723,7 +644,6 @@ error:
return -1;
}
-
int Virtualx_load_ini_file(vxContext *pContext)
{
int result = -1;
@@ -744,6 +664,9 @@ int Virtualx_load_ini_file(vxContext *pContext)
goto error;
//ALOGD("%s: enable -> %s", __FUNCTION__, ini_value);
data->enable = atoi(ini_value);
+ if (data->enable == 0) {
+ property_set("media.libplayer.dtsMulChPcm","false");
+ }
//virtuallibx parse
ini_value = pIniParser->GetString("Virtualx", "virtuallibx", "NULL");
if (ini_value == NULL)
@@ -1038,7 +961,7 @@ int Virtualx_load_lib(vxContext *pContext)
ALOGE("%s: find func VX_release() failed\n", __FUNCTION__);
goto Error;
}
- pContext->gVirtualxapi.VX_process = (int (*)(int32_t **,int32_t**))dlsym(pContext->gVXLibHandler, "VX_process_api");
+ pContext->gVirtualxapi.VX_process = (int (*)(int32_t **,int32_t**,int))dlsym(pContext->gVXLibHandler, "VX_process_api");
if (!pContext->gVirtualxapi.VX_process) {
ALOGE("%s: find func VX_process() failed\n", __FUNCTION__);
goto Error;
@@ -1690,6 +1613,11 @@ int Virtualx_load_lib(vxContext *pContext)
ALOGE("%s: find func gettruvolume_ctrpreset() failed\n", __FUNCTION__);
goto Error;
}
+ pContext->gVirtualxapi.setlc_inmode = (int (*)(int32_t))dlsym(pContext->gVXLibHandler, "setlc_inmode");
+ if (!pContext->gVirtualxapi.setlc_inmode) {
+ ALOGE("%s: find func setlc_inmode() failed\n", __FUNCTION__);
+ goto Error;
+ }
pContext->gVirtualxapi.settbhd_FilterDesign = (int (*)(int32_t,float,float,float))dlsym(pContext->gVXLibHandler, "settbhd_FilterDesign");
if (!pContext->gVirtualxapi.settbhd_FilterDesign) {
ALOGE("%s: find func settbhd_FilterDesign() failed\n", __FUNCTION__);
@@ -1700,8 +1628,8 @@ int Virtualx_load_lib(vxContext *pContext)
ALOGE("%s: find func setmbhl_FilterDesign() failed\n", __FUNCTION__);
return -1;
}
+ property_set("media.libplayer.dtsMulChPcm","true");
ALOGD("%s: sucessful", __FUNCTION__);
-
return 0;
Error:
memset(&pContext->gVirtualxapi, 0, sizeof(pContext->gVirtualxapi));
@@ -1742,6 +1670,7 @@ int Virtualx_init(vxContext *pContext)
//init counter and value
pContext->gvxdata.counter = 0;
+ pContext->ch_num = 0;
pContext->lowcrossfreq = 300;
pContext->midcrossfreq = 5000;
pContext->spksize = 80;
@@ -1810,20 +1739,10 @@ int Virtualx_init(vxContext *pContext)
data->targetlevel = data->vxcfg.Truvolume.targetlevel;
data->preset = data->vxcfg.Truvolume.preset;
//malloc memory for ppMappedInCh[3]~ppMappedInCh[11] to fix crash (null pointer dereference)
- pContext->ppMappedInCh[0] = pContext->sTempBuffer[0];
- pContext->ppMappedInCh[1] = pContext->sTempBuffer[1];
- pContext->ppMappedInCh[2] = pContext->sTempBuffer[2];
- pContext->ppMappedInCh[3] = pContext->sTempBuffer[3];
- pContext->ppMappedInCh[4] = pContext->sTempBuffer[4];
- pContext->ppMappedInCh[5] = pContext->sTempBuffer[5];
- pContext->ppMappedInCh[6] = pContext->sTempBuffer[6];
- pContext->ppMappedInCh[7] = pContext->sTempBuffer[7];
- pContext->ppMappedInCh[8] = pContext->sTempBuffer[8];
- pContext->ppMappedInCh[9] = pContext->sTempBuffer[9];
- pContext->ppMappedInCh[10] = pContext->sTempBuffer[10];
- pContext->ppMappedInCh[11] = pContext->sTempBuffer[11];
- pContext->ppMappedOutCh[0] = pContext->sTempBuffer[0];
- pContext->ppMappedOutCh[1] = pContext->sTempBuffer[1];
+ for (int i = 0; i < 12; i++) {
+ pContext->ppDataIn[i] = pContext->sTempBuffer[i];
+ pContext->ppMappedOutCh[i] = pContext->TempBuffer[i];
+ }
if (pContext->gVXLibHandler) {
(*pContext->gVirtualxapi.VX_init)((void*) data);
@@ -1837,14 +1756,14 @@ int Virtualx_configure(vxContext *pContext, effect_config_t *pConfig)
{
if (pConfig->inputCfg.samplingRate != pConfig->outputCfg.samplingRate)
return -EINVAL;
- if (pConfig->inputCfg.channels != pConfig->outputCfg.channels)
- return -EINVAL;
if (pConfig->inputCfg.format != pConfig->outputCfg.format)
return -EINVAL;
+ /*
if (pConfig->inputCfg.channels != AUDIO_CHANNEL_OUT_STEREO) {
ALOGW("%s: channels in = 0x%x channels out = 0x%x", __FUNCTION__, pConfig->inputCfg.channels, pConfig->outputCfg.channels);
pConfig->inputCfg.channels = pConfig->outputCfg.channels = AUDIO_CHANNEL_OUT_STEREO;
}
+ */
if (pConfig->outputCfg.accessMode != EFFECT_BUFFER_ACCESS_WRITE &&
pConfig->outputCfg.accessMode != EFFECT_BUFFER_ACCESS_ACCUMULATE)
return -EINVAL;
@@ -1862,6 +1781,7 @@ int Virtualx_setParameter(vxContext *pContext, void *pParam, void *pValue)
int32_t value;
float scale;
int32_t basslvl;
+ float * p;
vxdata *data = &pContext->gvxdata;
switch (param) {
case VIRTUALX_PARAM_ENABLE:
@@ -1870,6 +1790,11 @@ int Virtualx_setParameter(vxContext *pContext, void *pParam, void *pValue)
}
value = *(int32_t *)pValue;
data->enable = value;
+ if (data->enable) {
+ property_set("media.libplayer.dtsMulChPcm","true");
+ } else {
+ property_set("media.libplayer.dtsMulChPcm","false");
+ }
ALOGD("%s: Set status -> %s", __FUNCTION__, VXStatusstr[value]);
break;
case VIRTUALX_PARAM_DIALOGCLARTY_MODE:
@@ -2306,6 +2231,9 @@ int Virtualx_setParameter(vxContext *pContext, void *pParam, void *pValue)
return 0;
}
value = *(int32_t *)pValue;
+ if (value > 1)
+ value = 1;
+ pContext->ch_num = value; // here to set input ch num
(*pContext->gVirtualxapi.setvxlib1_inmode)(value);
ALOGD("%s set vxlib1 inmode %d",__FUNCTION__, value);
break;
@@ -2486,6 +2414,14 @@ int Virtualx_setParameter(vxContext *pContext, void *pParam, void *pValue)
(*pContext->gVirtualxapi.settruvolume_ctrpreset)(value);
ALOGD("%s set truvolume ctrpreset %d",__FUNCTION__, value);
break;
+ case DTS_PARAM_LOUDNESS_CONTROL_IO_MODE_I32:
+ if (!pContext->gVXLibHandler) {
+ return 0;
+ }
+ value = *(int32_t *)pValue;
+ (*pContext->gVirtualxapi.setlc_inmode)(value);
+ ALOGD("%s set lc inmode %d",__FUNCTION__, value);
+ break;
case DTS_PARAM_MBHL_APP_FRT_LOWCROSS_F32:
if (!pContext->gVXLibHandler) {
return 0;
@@ -2529,6 +2465,374 @@ int Virtualx_setParameter(vxContext *pContext, void *pParam, void *pValue)
(*pContext->gVirtualxapi.settbhd_FilterDesign)(pContext->spksize,((float)basslvl)/1073741824.0f,pContext->hpratio,pContext->extbass);
ALOGD("%s set tbhd filter design spksize %d hpratio %f extbass %f",__FUNCTION__,pContext->spksize,pContext->hpratio,pContext->extbass);
break;
+ case VIRTUALX_PARAM_COUNTER:
+ if (!pContext->gVXLibHandler) {
+ return 0;
+ }
+ value = *(int32_t *)pValue;
+ pContext->gvxdata.counter = value;
+ /*do nothing*/
+ break;
+ case AUDIO_DTS_PARAM_TYPE_NONE:
+ if (!pContext->gVXLibHandler) {
+ return 0;
+ }
+ p = (float *)pValue;
+ (*pContext->gVirtualxapi.setvxlib1_enable)((int32_t)*p++);
+ (*pContext->gVirtualxapi.settsx_dcenable)((int32_t)*p);
+ break;
+ case AUDIO_DTS_PARAM_TYPE_TRU_SURROUND:
+ if (!pContext->gVXLibHandler) {
+ return 0;
+ }
+ p = (float *)pValue;
+ value = (int32_t)*p++;
+ ALOGV("value1 is %d",value);
+ if (value > 1)
+ value = 1;
+ else if (value < 0)
+ value = 0;
+ (*pContext->gVirtualxapi.setvxlib1_enable)(value);
+ scale = *p++;
+ if (scale < 0.125)
+ scale = 0.125;
+ else if (scale > 1.0)
+ scale = 1.0;
+ ALOGV("scale2 is %f",scale);
+ value = DTS_FXP32(scale,2);
+ (pContext->gVirtualxapi.setvxlib1_heardroomgain)(value);
+ scale = *p++;
+ if (scale < 0.5)
+ scale = 0.5;
+ else if (scale > 4.0)
+ scale = 4.0;
+ ALOGV("scale3 is %f",scale);
+ value = DTS_FXP32(scale,4);
+ (*pContext->gVirtualxapi.setvxlib1_procoutgain)(value);
+ value = (int32_t)*p++;
+ if (value < 0)
+ value = 0;
+ else if (value > 1)
+ value = 1;
+ ALOGV("value4 is %d",value);
+ (*pContext->gVirtualxapi.settsx_enable)(value);
+ value = (int32_t)*p++;
+ if (value < 0)
+ value = 0;
+ else if (value > 1)
+ value = 1;
+ ALOGV("value5 is %d",value);
+ (*pContext->gVirtualxapi.settsx_pssvmtrxenable)(value);
+ value = (int32_t)*p++;
+ if (value < 0)
+ value = 0;
+ else if (value > 1)
+ value = 1;
+ ALOGV("value6 is %d",value);
+ (*pContext->gVirtualxapi.settsx_horizontctl)(value);
+ scale = *p++;
+ if (scale < 0.5)
+ scale = 0.5;
+ else if (scale > 2.0)
+ scale = 2.0;
+ ALOGV("scale7 is %f",scale);
+ value = DTS_FXP32(scale,3);
+ (*pContext->gVirtualxapi.settsx_frntctrl)(value);
+ scale = *p;
+ if (scale < 0.5)
+ scale = 0.5;
+ else if (scale > 2.0)
+ scale = 2.0;
+ ALOGV("scale8 is %f",scale);
+ value = DTS_FXP32(scale,3);
+ (*pContext->gVirtualxapi.settsx_surroundctrl)(value);
+ break;
+ case AUDIO_DTS_PARAM_TYPE_CC3D:
+ if (!pContext->gVXLibHandler) {
+ return 0;
+ }
+ p = (float *)pValue;
+ value = (int32_t)*p++;
+ if (value < 0)
+ value = 0;
+ else if (value > 1)
+ value = 1;
+ ALOGV("value1 is %d",value);
+ (*pContext->gVirtualxapi.setvxlib1_enable)(value);
+ scale = *p++;
+ if (scale < 0.125)
+ scale = 0.125;
+ else if (scale > 1.0)
+ scale = 1.0;
+ ALOGV("scale2 is %f",scale);
+ value = DTS_FXP32(scale,2);
+ (pContext->gVirtualxapi.setvxlib1_heardroomgain)(value);
+ scale = *p++;
+ if (scale < 0.5)
+ scale = 0.5;
+ else if (scale > 4.0)
+ scale = 4.0;
+ ALOGV("scale3 is %f",scale);
+ value = DTS_FXP32(scale,4);
+ (*pContext->gVirtualxapi.setvxlib1_procoutgain)(value);
+ value = (int32_t)*p++;
+ if (value < 0)
+ value = 0;
+ else if (value > 1)
+ value = 1;
+ ALOGV("value4 is %d",value);
+ (*pContext->gVirtualxapi.settsx_enable)(value);
+ value = (int32_t)*p++;
+ if (value < 0)
+ value = 0;
+ else if (value > 1)
+ value = 1;
+ ALOGV("value5 is %d",value);
+ (*pContext->gVirtualxapi.settsx_pssvmtrxenable)(value);
+ value = (int32_t)*p++;
+ if (value < 0)
+ value = 0;
+ else if (value > 1)
+ value = 1;
+ ALOGV("value6 is %d",value);
+ (*pContext->gVirtualxapi.settsx_hghtupmixenable)(value);
+ value = (int32_t)*p++;
+ if (value < 0)
+ value = 0;
+ else if (value > 1)
+ value = 1;
+ ALOGV("value7 is %d",value);
+ (*pContext->gVirtualxapi.settsx_heightdiscards)(value);
+ scale = *p;
+ if (scale < 0.5)
+ scale = 0.5;
+ else if (scale > 2.0)
+ scale = 2.0;
+ ALOGV("scale8 is %f",scale);
+ value = DTS_FXP32(scale,3);
+ (*pContext->gVirtualxapi.settsx_heightmixcoeff)(value);
+ break;
+ case AUDIO_DTS_PARAM_TYPE_TRU_BASS:
+ if (!pContext->gVXLibHandler) {
+ return 0;
+ }
+ p = (float *)pValue;
+ value = (int32_t)*p++;
+ if (value < 0)
+ value = 0;
+ else if (value > 1)
+ value = 1;
+ ALOGV("value1 is %d",value);
+ (*pContext->gVirtualxapi.setvxlib1_enable)(value);
+ scale = *p++;
+ if (scale < 0.125)
+ scale = 0.125;
+ else if (scale > 1.0)
+ scale = 1.0;
+ ALOGV("scale2 is %f",scale);
+ value = DTS_FXP32(scale,2);
+ (pContext->gVirtualxapi.setvxlib1_heardroomgain)(value);
+ scale = *p++;
+ if (scale < 0.5)
+ scale = 0.5;
+ else if (scale > 4.0)
+ scale = 4.0;
+ ALOGV("scale3 is %f",scale);
+ value = DTS_FXP32(scale,4);
+ (*pContext->gVirtualxapi.setvxlib1_procoutgain)(value);
+ value = (int32_t)*p++;
+ if (value < 0)
+ value = 0;
+ else if (value > 1)
+ value = 1;
+ ALOGV("value4 is %d",value);
+ (*pContext->gVirtualxapi.settbhdx_enable)(value);
+ value = (int32_t)*p++;
+ if (value < 0)
+ value = 0;
+ else if (value > 1)
+ value = 1;
+ ALOGV("value5 is %d",value);
+ (*pContext->gVirtualxapi.settbhdx_monomode)(value);
+ value = (int32_t)*p++;
+ if (value < 0)
+ value = 0;
+ else if (value > 12)
+ value = 12;
+ ALOGV("value6 is %d",value);
+ (*pContext->gVirtualxapi.settbhdx_spksize)(value);
+ scale = *p++;
+ if (scale < 0.0)
+ scale = 0.0;
+ else if (scale > 1.0)
+ scale = 1.0;
+ ALOGV("scale7 is %f",scale);
+ value = DTS_FXP32(scale,2);
+ (*pContext->gVirtualxapi.settbhdx_tempgain)(value);
+ scale = *p++;
+ if (scale < 0.0)
+ scale = 0.0;
+ else if (scale > 1.0)
+ scale = 1.0;
+ ALOGV("scale8 is %f",scale);
+ value = DTS_FXP32(scale,2);
+ (*pContext->gVirtualxapi.settbhdx_maxgain)(value);
+ value = (int32_t)*p++;
+ if (value < 1)
+ value = 1;
+ else if (value > 8)
+ value = 8;
+ ALOGV("value9 is %d",value);
+ (*pContext->gVirtualxapi.settbhdx_hporder)(value);
+ value = (int32_t)*p;
+ if (value < 0)
+ value = 0;
+ else if (value > 1)
+ value = 1;
+ ALOGV("value10 is %d",value);
+ (*pContext->gVirtualxapi.settbhdx_hpenable)(value);
+ break;
+ case AUDIO_DTS_PARAM_TYPE_TRU_DIALOG:
+ if (!pContext->gVXLibHandler) {
+ return 0;
+ }
+ p = (float *)pValue;
+ value = (int32_t)*p++;
+ ALOGV("value1 is %d",value);
+ (*pContext->gVirtualxapi.setvxlib1_enable)(value);
+ scale = *p++;
+ if (scale < 0.125)
+ scale = 0.125;
+ else if (scale > 1.0)
+ scale = 1.0;
+ ALOGV("scale2 is %f",scale);
+ value = DTS_FXP32(scale,2);
+ (pContext->gVirtualxapi.setvxlib1_heardroomgain)(value);
+ scale = *p++;
+ if (scale < 0.5)
+ scale = 0.5;
+ else if (scale > 4.0)
+ scale = 4.0;
+ ALOGV("scale3 is %f",scale);
+ value = DTS_FXP32(scale,4);
+ (*pContext->gVirtualxapi.setvxlib1_procoutgain)(value);
+ value = (int32_t)*p++;
+ if (value < 0)
+ value = 0;
+ else if (value > 1)
+ value = 1;
+ ALOGV("value4 is %d",value);
+ (*pContext->gVirtualxapi.settsx_enable)(value);
+ scale = *p++;
+ if (scale < 0.0)
+ scale = 0.0;
+ else if (scale > 2.0)
+ scale = 2.0;
+ ALOGV("scale5 is %f",scale);
+ value = DTS_FXP32(scale,3);
+ (*pContext->gVirtualxapi.settsx_lprgain)(value);
+ scale = *p++;
+ if (scale < 1.0)
+ scale = 1.0;
+ else if (scale > 2.0)
+ scale = 2.0;
+ ALOGV("scale6 is %f",scale);
+ value = DTS_FXP32(scale,3);
+ (pContext->gVirtualxapi.settsx_centergain)(value);
+ value = (int32_t)*p++;
+ if (value < 0)
+ value = 0;
+ else if (value > 1)
+ value = 1;
+ ALOGV("value7 is %d",value);
+ (*pContext->gVirtualxapi.settsx_dcenable)(value);
+ scale = *p;
+ if (scale < 0.0)
+ scale = 0.0;
+ else if (scale > 1.0)
+ scale = 1.0;
+ ALOGV("scale8 is %f",scale);
+ value = DTS_FXP32(scale,2);
+ (*pContext->gVirtualxapi.settsx_dccontrol)(value);
+ break;
+ case AUDIO_DTS_PARAM_TYPE_DEFINATION:
+ if (!pContext->gVXLibHandler) {
+ return 0;
+ }
+ p = (float *)pValue;
+ value = (int32_t)*p++;
+ if (value < 0)
+ value = 0;
+ else if (value > 1)
+ value = 1;
+ ALOGV("value1 is %d",value);
+ (*pContext->gVirtualxapi.setvxlib1_enable)(value);
+ scale = *p++;
+ if (scale < 0.125)
+ scale = 0.125;
+ else if (scale > 1.0)
+ scale = 1.0;
+ ALOGV("scale2 is %f",scale);
+ value = DTS_FXP32(scale,2);
+ (pContext->gVirtualxapi.setvxlib1_heardroomgain)(value);
+ scale = *p++;
+ if (scale < 0.5)
+ scale = 0.5;
+ else if (scale > 4.0)
+ scale = 4.0;
+ ALOGV("scale3 is %f",scale);
+ value = DTS_FXP32(scale,4);
+ (*pContext->gVirtualxapi.setvxlib1_procoutgain)(value);
+ value = (int32_t)*p++;
+ if (value < 0)
+ value = 0;
+ else if (value > 1)
+ value = 1;
+ ALOGV("value4 is %d",value);
+ (*pContext->gVirtualxapi.settsx_enable)(value);
+ value = (int32_t)*p++;
+ if (value < 0)
+ value = 0;
+ else if (value > 1)
+ value = 1;
+ ALOGV("value5 is %d",value);
+ (*pContext->gVirtualxapi.settsx_defenable)(value);
+ scale = *p;
+ if (scale < 0.0)
+ scale = 0.0;
+ else if (scale > 1.0)
+ scale = 1.0;
+ ALOGV("scale6 is %f",scale);
+ value = DTS_FXP32(scale,2);
+ (*pContext->gVirtualxapi.settsx_defcontrol)(value);
+ break;
+ case AUDIO_DTS_PARAM_TYPE_TRU_VOLUME:
+ if (!pContext->gVXLibHandler) {
+ return 0;
+ }
+ p = (float *)pValue;
+ value = (int32_t)*p++;
+ if (value < 0)
+ value = 0;
+ else if (value > 1)
+ value = 1;
+ ALOGV("value1 is %d",value);
+ (*pContext->gVirtualxapi.settruvolume_ctren)(value);
+ value = (int32_t)*p++;
+ if (value < -40)
+ value = -40;
+ else if (value > 0)
+ value = 0;
+ ALOGV("value2 is %d",value);
+ (*pContext->gVirtualxapi.settruvolume_ctrtarget)(value);
+ value = (int32_t)*p;
+ if (value < 0)
+ value = 0;
+ else if (value > 2)
+ value = 2;
+ ALOGV("value3 is %d",value);
+ (*pContext->gVirtualxapi.settruvolume_ctrpreset)(value);
+ break;
default:
ALOGE("%s: unknown param %08x", __FUNCTION__, param);
return -EINVAL;
@@ -3393,13 +3697,56 @@ int Virtualx_process(effect_handle_t self, audio_buffer_t *inBuffer, audio_buffe
} else {
int32_t blockSize = DTS_VIRTUALX_FRAME_SIZE;
int32_t blockCount = inBuffer->frameCount / blockSize;
+ int actual_ch = 0;
for (int i = 0; i < blockCount; i++) {
for (int sampleCount = 0; sampleCount < 256; sampleCount++) {
- pContext->ppMappedInCh[0][sampleCount] = (int32_t(*in++)) << 16; // L & R
- pContext->ppMappedInCh[1][sampleCount] = (int32_t(*in++)) << 16;
+ if (pContext->ch_num == 0 /*for 2ch process*/) {
+ pContext->ppDataIn[0][sampleCount] = (int32_t(*in++)) << 16; // L & R
+ pContext->ppDataIn[1][sampleCount] = (int32_t(*in++)) << 16;
+ for (int i = 2; i < 12; i++) {
+ pContext->ppDataIn[i][sampleCount] = 0;
+ }
+ for (int i = 0; i < 12; i++) {
+ pContext->ppMappedInCh[i] = pContext->ppDataIn[i];
+ }
+ actual_ch = 2;
+ } else if (pContext->ch_num == 1 /*for 5.1 ch process*/) {
+ if (pContext->gvxdata.counter == 0) {
+ for (int i = 0; i < 6; i++) {
+ pContext->ppDataIn[i][sampleCount] = (int32_t(*in++)) << 16;
+ }
+ for (int i = 6; i < 12; i++) {
+ pContext->ppDataIn[i][sampleCount] = 0;
+ }
+ //channel order C/L/R/Ls/Rs/LFE
+ pContext->ppMappedInCh[0] = pContext->ppDataIn[2];
+ pContext->ppMappedInCh[1] = pContext->ppDataIn[0];
+ pContext->ppMappedInCh[2] = pContext->ppDataIn[1];
+ pContext->ppMappedInCh[3] = pContext->ppDataIn[4];
+ pContext->ppMappedInCh[4] = pContext->ppDataIn[5];
+ pContext->ppMappedInCh[5] = pContext->ppDataIn[3];
+ pContext->ppMappedInCh[6] = pContext->ppDataIn[6];
+ pContext->ppMappedInCh[7] = pContext->ppDataIn[7];
+ pContext->ppMappedInCh[8] = pContext->ppDataIn[8];
+ pContext->ppMappedInCh[9] = pContext->ppDataIn[9];
+ pContext->ppMappedInCh[10] = pContext->ppDataIn[10];
+ pContext->ppMappedInCh[11] = pContext->ppDataIn[11];
+ actual_ch = 6;
+ } else {
+ pContext->ppDataIn[0][sampleCount] = (int32_t(*in++)) << 16; // L & R
+ pContext->ppDataIn[1][sampleCount] = (int32_t(*in++)) << 16;
+ for (int i = 2; i < 12; i++) {
+ pContext->ppDataIn[i][sampleCount] = 0;
+ }
+ for (int i = 0; i < 12; i++) {
+ pContext->ppMappedInCh[i] = pContext->ppDataIn[i];
+ }
+ actual_ch = 2;
+ }
+ }
}
if (pContext->gvxdata.counter == 0)
- (*pContext->gVirtualxapi.VX_process)(pContext->ppMappedInCh,pContext->ppMappedOutCh);
+ (*pContext->gVirtualxapi.VX_process)(pContext->ppMappedInCh,pContext->ppMappedOutCh,actual_ch);
else
(*pContext->gVirtualxapi.MBHL_process)(pContext->ppMappedInCh,pContext->ppMappedOutCh);
for (int sampleCount = 0;sampleCount < 256; sampleCount++) {
@@ -3407,9 +3754,6 @@ int Virtualx_process(effect_handle_t self, audio_buffer_t *inBuffer, audio_buffe
*out++ = pContext->ppMappedOutCh[1][sampleCount] >> 16;
}
}
- pContext->gvxdata.counter += 1;
- if (pContext->gvxdata.counter >= 2)
- pContext->gvxdata.counter = 0;
}
return 0;
}
@@ -3420,7 +3764,6 @@ int Virtualx_command(effect_handle_t self, uint32_t cmdCode, uint32_t cmdSize,
vxContext * pContext = (vxContext *)self;
effect_param_t *p;
int voffset;
-
if (pContext == NULL || pContext->state == VIRTUALX_STATE_UNINITIALIZED)
return -EINVAL;
switch (cmdCode) {
@@ -3451,13 +3794,18 @@ int Virtualx_command(effect_handle_t self, uint32_t cmdCode, uint32_t cmdSize,
if (pContext->state != VIRTUALX_STATE_ACTIVE)
return -ENOSYS;
pContext->state = VIRTUALX_STATE_INITIALIZED;
+ property_set("media.libplayer.dtsMulChPcm","false");
*(int *)pReplyData = 0;
break;
case EFFECT_CMD_GET_PARAM:
if (pCmdData == NULL ||
cmdSize != (int)(sizeof(effect_param_t) + sizeof(uint32_t)) ||
pReplyData == NULL || replySize == NULL ||
- *replySize < (int)(sizeof(effect_param_t) + sizeof(uint32_t) + sizeof(uint32_t)))
+ (*replySize < (int)(sizeof(effect_param_t) + sizeof(uint32_t) + sizeof(uint32_t)) &&
+ *replySize < (int)(sizeof(effect_param_t) + sizeof(uint32_t) + 8 * sizeof(float)) &&
+ *replySize < (int)(sizeof(effect_param_t) + sizeof(uint32_t) + 10 * sizeof(float)) &&
+ *replySize < (int)(sizeof(effect_param_t) + sizeof(uint32_t) + 6 * sizeof(float)) &&
+ *replySize < (int)(sizeof(effect_param_t) + sizeof(uint32_t) + 3 * sizeof(float))))
return -EINVAL;
p = (effect_param_t *)pCmdData;
memcpy(pReplyData, pCmdData, sizeof(effect_param_t) + p->psize);
@@ -3470,11 +3818,19 @@ int Virtualx_command(effect_handle_t self, uint32_t cmdCode, uint32_t cmdSize,
break;
case EFFECT_CMD_SET_PARAM:
if (pCmdData == NULL ||
- cmdSize != (int)(sizeof(effect_param_t) + sizeof(uint32_t) + sizeof(uint32_t)) ||
- pReplyData == NULL || replySize == NULL || *replySize != sizeof(int32_t))
- return -EINVAL;
+ (cmdSize != (int)(sizeof(effect_param_t) + sizeof(uint32_t) + sizeof(uint32_t)) &&
+ cmdSize != (int)(sizeof(effect_param_t) + sizeof(uint32_t) + 8 * sizeof(float)) &&
+ cmdSize != (int)(sizeof(effect_param_t) + sizeof(uint32_t) + 10 * sizeof(float)) &&
+ cmdSize != (int)(sizeof(effect_param_t) + sizeof(uint32_t) + 6 * sizeof(float)) &&
+ cmdSize != (int)(sizeof(effect_param_t) + sizeof(uint32_t) + 3 * sizeof(float))) ||
+ pReplyData == NULL || replySize == NULL || *replySize != sizeof(int32_t)) {
+ ALOGE("%s: EFFECT_CMD_SET_PARAM cmd size error!", __FUNCTION__);
+ return -EINVAL;
+ }
p = (effect_param_t *)pCmdData;
- if (p->psize != sizeof(uint32_t) || p->vsize != sizeof(uint32_t)) {
+ if (p->psize != sizeof(uint32_t) || (p->vsize != sizeof(uint32_t) && p->vsize != 8 * sizeof(float) &&
+ p->vsize != 10 * sizeof(float) && p->vsize != 6 * sizeof(float) && p->vsize != 3 * sizeof(float))) {
+ ALOGE("%s: EFFECT_CMD_SET_PARAM value size error!", __FUNCTION__);
*(int32_t *)pReplyData = -EINVAL;
break;
}
@@ -3527,13 +3883,16 @@ int VirtualxLib_Create(const effect_uuid_t *uuid, int32_t sessionId __unused, in
return -EINVAL;
}
memset(pContext, 0, sizeof(vxContext));
-
+ memcpy((void *) & pContext->gvxdata.DC_usr_cfg[0], (void *) & default_DC_cfg, sizeof(pContext->gvxdata.DC_usr_cfg[0]));
+ memcpy((void *) & pContext->gvxdata.TS_usr_cfg[0], (void *) & default_TS_cfg, sizeof(pContext->gvxdata.TS_usr_cfg[0]));
+ memcpy((void *) & pContext->gvxdata.vxcfg,(void *) & default_Virtualxcfg,sizeof(pContext->gvxdata.vxcfg));
if (Virtualx_load_ini_file(pContext) < 0) {
ALOGE("%s: Load INI File faied, use default param", __FUNCTION__);
pContext->gvxdata.enable = 1;
}
if (Virtualx_load_lib(pContext) < 0) {
+ property_set("media.libplayer.dtsMulChPcm","false");
ALOGE("%s: Load Library File faied", __FUNCTION__);
}
@@ -3552,7 +3911,6 @@ int VirtualxLib_Create(const effect_uuid_t *uuid, int32_t sessionId __unused, in
int VirtualxLib_Release(effect_handle_t handle)
{
vxContext * pContext = (vxContext *)handle;
- int ret = -1;
if (pContext == NULL)
return -EINVAL;
@@ -3560,9 +3918,9 @@ int VirtualxLib_Release(effect_handle_t handle)
ALOGE("miss mbhl process");
//return ret; //how to process here
}
-
Virtualx_release(pContext);
unload_Virtualx_lib(pContext);
+ property_set("media.libplayer.dtsMulChPcm","false");
pContext->state = VIRTUALX_STATE_UNINITIALIZED;
delete pContext;
diff --git a/libaudioeffect/VirtualX/Virtualx.h b/libaudioeffect/VirtualX/Virtualx.h
index 30c08f4..f7ac267 100644
--- a/libaudioeffect/VirtualX/Virtualx.h
+++ b/libaudioeffect/VirtualX/Virtualx.h
@@ -18,12 +18,109 @@
*
*/
-
#ifndef VIRTUALX_H
#define VIRTUALX_H
-#define VX_CUP_LOAD_ARM9E 100 //Expressed in 0.1 MIPS
+#define VX_CUP_LOAD_ARM9E 100 // Expressed in 0.1 MIPS
#define VX_MEM_USAGE 50 // Expressed in kB
+#define VX_MAX_PARAM_SIZE 32
+
+typedef struct Virtualx_param_s {
+ effect_param_t param;
+ uint32_t command;
+ union {
+ int32_t v;
+ float f;
+ float params[VX_MAX_PARAM_SIZE];
+ };
+} Virtualx_param_t;
+
+typedef enum {
+ /*Tuning interface*/
+ DTS_PARAM_MBHL_ENABLE_I32 = 0,
+ DTS_PARAM_MBHL_BYPASS_GAIN_I32,
+ DTS_PARAM_MBHL_REFERENCE_LEVEL_I32,
+ DTS_PARAM_MBHL_VOLUME_I32,
+ DTS_PARAM_MBHL_VOLUME_STEP_I32,
+ DTS_PARAM_MBHL_BALANCE_STEP_I32,
+ DTS_PARAM_MBHL_OUTPUT_GAIN_I32,
+ DTS_PARAM_MBHL_MODE_I32,
+ DTS_PARAM_MBHL_PROCESS_DISCARD_I32,
+ DTS_PARAM_MBHL_CROSS_LOW_I32,
+ DTS_PARAM_MBHL_CROSS_MID_I32,
+ DTS_PARAM_MBHL_COMP_ATTACK_I32,
+ DTS_PARAM_MBHL_COMP_LOW_RELEASE_I32,
+ DTS_PARAM_MBHL_COMP_LOW_RATIO_I32,
+ DTS_PARAM_MBHL_COMP_LOW_THRESH_I32,
+ DTS_PARAM_MBHL_COMP_LOW_MAKEUP_I32,
+ DTS_PARAM_MBHL_COMP_MID_RELEASE_I32,
+ DTS_PARAM_MBHL_COMP_MID_RATIO_I32,
+ DTS_PARAM_MBHL_COMP_MID_THRESH_I32,
+ DTS_PARAM_MBHL_COMP_MID_MAKEUP_I32,
+ DTS_PARAM_MBHL_COMP_HIGH_RELEASE_I32,
+ DTS_PARAM_MBHL_COMP_HIGH_RATIO_I32,
+ DTS_PARAM_MBHL_COMP_HIGH_THRESH_I32,
+ DTS_PARAM_MBHL_COMP_HIGH_MAKEUP_I32,
+ DTS_PARAM_MBHL_BOOST_I32,
+ DTS_PARAM_MBHL_THRESHOLD_I32,
+ DTS_PARAM_MBHL_SLOW_OFFSET_I32,
+ DTS_PARAM_MBHL_FAST_ATTACK_I32,
+ DTS_PARAM_MBHL_FAST_RELEASE_I32,
+ DTS_PARAM_MBHL_SLOW_ATTACK_I32,
+ DTS_PARAM_MBHL_SLOW_RELEASE_I32,
+ DTS_PARAM_MBHL_DELAY_I32,
+ DTS_PARAM_MBHL_ENVELOPE_FREQUENCY_I32,
+ DTS_PARAM_MBHL_APP_FRT_LOWCROSS_F32,
+ DTS_PARAM_MBHL_APP_FRT_MIDCROSS_F32,
+ DTS_PARAM_TBHDX_ENABLE_I32,
+ DTS_PARAM_TBHDX_MONO_MODE_I32,
+ DTS_PARAM_TBHDX_MAXGAIN_I32,
+ DTS_PARAM_TBHDX_SPKSIZE_I32,
+ DTS_PARAM_TBHDX_HP_ENABLE_I32,
+ DTS_PARAM_TBHDX_TEMP_GAIN_I32,
+ DTS_PARAM_TBHDX_PROCESS_DISCARD_I32,
+ DTS_PARAM_TBHDX_HPORDER_I32,
+ DTS_PARAM_TBHDX_APP_SPKSIZE_I32,
+ DTS_PARAM_TBHDX_APP_HPRATIO_F32,
+ DTS_PARAM_TBHDX_APP_EXTBASS_F32,
+ DTS_PARAM_VX_ENABLE_I32,
+ DTS_PARAM_VX_INPUT_MODE_I32,
+ DTS_PARAM_VX_OUTPUT_MODE_I32,
+ DTS_PARAM_VX_HEADROOM_GAIN_I32,
+ DTS_PARAM_VX_PROC_OUTPUT_GAIN_I32,
+ DTS_PARAM_VX_REFERENCE_LEVEL_I32,
+ DTS_PARAM_TSX_ENABLE_I32,
+ DTS_PARAM_TSX_PASSIVEMATRIXUPMIX_ENABLE_I32,
+ DTS_PARAM_TSX_HEIGHT_UPMIX_ENABLE_I32,
+ DTS_PARAM_TSX_LPR_GAIN_I32,
+ DTS_PARAM_TSX_CENTER_GAIN_I32,
+ DTS_PARAM_TSX_HORIZ_VIR_EFF_CTRL_I32,
+ DTS_PARAM_TSX_HEIGHTMIX_COEFF_I32,
+ DTS_PARAM_TSX_PROCESS_DISCARD_I32,
+ DTS_PARAM_TSX_HEIGHT_DISCARD_I32,
+ DTS_PARAM_TSX_FRNT_CTRL_I32,
+ DTS_PARAM_TSX_SRND_CTRL_I32,
+ DTS_PARAM_VX_DC_ENABLE_I32,
+ DTS_PARAM_VX_DC_CONTROL_I32,
+ DTS_PARAM_VX_DEF_ENABLE_I32,
+ DTS_PARAM_VX_DEF_CONTROL_I32,
+ DTS_PARAM_LOUDNESS_CONTROL_ENABLE_I32,
+ DTS_PARAM_LOUDNESS_CONTROL_TARGET_LOUDNESS_I32,
+ DTS_PARAM_LOUDNESS_CONTROL_PRESET_I32,
+ DTS_PARAM_LOUDNESS_CONTROL_IO_MODE_I32,
+ /*UI interface*/
+ VIRTUALX_PARAM_ENABLE,
+ VIRTUALX_PARAM_DIALOGCLARTY_MODE,
+ VIRTUALX_PARAM_SURROUND_MODE,
+ VIRTUALX_PARAM_COUNTER,
+ AUDIO_DTS_PARAM_TYPE_NONE,
+ AUDIO_DTS_PARAM_TYPE_TRU_SURROUND,
+ AUDIO_DTS_PARAM_TYPE_CC3D,
+ AUDIO_DTS_PARAM_TYPE_TRU_BASS,
+ AUDIO_DTS_PARAM_TYPE_TRU_DIALOG,
+ AUDIO_DTS_PARAM_TYPE_DEFINATION,
+ AUDIO_DTS_PARAM_TYPE_TRU_VOLUME,
+} Virtualx_params;
#endif
diff --git a/libaudioeffect/effects_tool/Android.mk b/libaudioeffect/effects_tool/Android.mk
index 0938a5c..9c1be68 100644
--- a/libaudioeffect/effects_tool/Android.mk
+++ b/libaudioeffect/effects_tool/Android.mk
@@ -5,7 +5,7 @@ include $(CLEAR_VARS)
LOCAL_ARM_MODE := arm
LOCAL_MODULE_TAGS := optional
-LOCAL_MODULE := audioEffectTest
+LOCAL_MODULE := AudioEffectTool
LOCAL_SRC_FILES := main.cpp
@@ -17,6 +17,27 @@ LOCAL_SHARED_LIBRARIES := \
libmedia_helper \
libmediaplayerservice \
+LOCAL_C_INCLUDES := \
+ $(LOCAL_PATH)/../VirtualX \
+
include $(BUILD_EXECUTABLE)
+#for tuning tool
+include $(CLEAR_VARS)
+
+LOCAL_ARM_MODE := arm
+LOCAL_MODULE_TAGS := optional
+
+LOCAL_MODULE := TuningTool
+
+LOCAL_SRC_FILES := main2.cpp
+
+LOCAL_SHARED_LIBRARIES := \
+ libcutils \
+ libutils \
+ libaudioclient \
+ libmedia \
+ libmedia_helper \
+ libmediaplayerservice \
+include $(BUILD_EXECUTABLE) \ No newline at end of file
diff --git a/libaudioeffect/effects_tool/main.cpp b/libaudioeffect/effects_tool/main.cpp
index cfa1e31..3bcb27a 100644
--- a/libaudioeffect/effects_tool/main.cpp
+++ b/libaudioeffect/effects_tool/main.cpp
@@ -33,6 +33,8 @@
#include <media/AudioSystem.h>
#include <media/AudioParameter.h>
+#include "Virtualx.h"
+
#ifdef LOG
#undef LOG
#endif
@@ -41,12 +43,17 @@
using namespace android;
+//-----------Balance parameters-------------------------------
//Warning:balance is used for 51 bands
#define BALANCE_MAX_BANDS 51
#define BALANCE_MAX_LEVEL 25
-//-----------Balance parameters-------------------------------
+#define BITS 16
+#define MAXbit (1 << (BITS - 1))
+#define INT2FLOAT(a) ((float)a / MAXbit)
+#define FLOAT2INT(a) (int)((float)a * MAXbit)
+
typedef struct Balance_param_s {
effect_param_t param;
uint32_t command;
@@ -80,11 +87,11 @@ struct balance_gain {
float left_gain;
};
-
int balance_level_num = 0;
float index1[BALANCE_MAX_BANDS] = {0};
const char *BalanceStatusstr[] = {"Disable", "Enable"};
+
//-----------TruSurround parameters---------------------------
typedef struct SRS_param_s {
effect_param_t param;
@@ -147,96 +154,7 @@ const char *SRSDialogClarityModestr[] = {"OFF", "LOW", "HIGH"};
const char *SRSSurroundModestr[] = {"ON", "OFF"};
//-------------Virtualx parameter--------------------------
-typedef struct Virtualx_param_s {
- effect_param_t param;
- uint32_t command;
- union {
- int32_t v;
- float f;
- };
-} Virtualx_param_t;
-typedef enum {
- VIRTUALX_PARAM_ENABLE,
- VIRTUALX_PARAM_DIALOGCLARTY_MODE,
- VIRTUALX_PARAM_SURROUND_MODE,
- DTS_PARAM_MBHL_ENABLE_I32,
- DTS_PARAM_MBHL_BYPASS_GAIN_I32,
- DTS_PARAM_MBHL_REFERENCE_LEVEL_I32,
- DTS_PARAM_MBHL_VOLUME_I32,
- DTS_PARAM_MBHL_VOLUME_STEP_I32,
- DTS_PARAM_MBHL_BALANCE_STEP_I32,
- DTS_PARAM_MBHL_OUTPUT_GAIN_I32,
- DTS_PARAM_MBHL_MODE_I32,
- DTS_PARAM_MBHL_PROCESS_DISCARD_I32,
- DTS_PARAM_MBHL_CROSS_LOW_I32,
- DTS_PARAM_MBHL_CROSS_MID_I32,
- DTS_PARAM_MBHL_COMP_ATTACK_I32,
- DTS_PARAM_MBHL_COMP_LOW_RELEASE_I32,
- DTS_PARAM_MBHL_COMP_LOW_RATIO_I32,
- DTS_PARAM_MBHL_COMP_LOW_THRESH_I32,
- DTS_PARAM_MBHL_COMP_LOW_MAKEUP_I32,
- DTS_PARAM_MBHL_COMP_MID_RELEASE_I32,
- DTS_PARAM_MBHL_COMP_MID_RATIO_I32,
- DTS_PARAM_MBHL_COMP_MID_THRESH_I32,
- DTS_PARAM_MBHL_COMP_MID_MAKEUP_I32,
- DTS_PARAM_MBHL_COMP_HIGH_RELEASE_I32,
- DTS_PARAM_MBHL_COMP_HIGH_RATIO_I32,
- DTS_PARAM_MBHL_COMP_HIGH_THRESH_I32,
- DTS_PARAM_MBHL_COMP_HIGH_MAKEUP_I32,
- DTS_PARAM_MBHL_BOOST_I32,
- DTS_PARAM_MBHL_THRESHOLD_I32,
- DTS_PARAM_MBHL_SLOW_OFFSET_I32,
- DTS_PARAM_MBHL_FAST_ATTACK_I32,
- DTS_PARAM_MBHL_FAST_RELEASE_I32,
- DTS_PARAM_MBHL_SLOW_ATTACK_I32,
- DTS_PARAM_MBHL_SLOW_RELEASE_I32,
- DTS_PARAM_MBHL_DELAY_I32,
- DTS_PARAM_MBHL_ENVELOPE_FREQUENCY_I32,
- DTS_PARAM_TBHDX_ENABLE_I32,
- DTS_PARAM_TBHDX_MONO_MODE_I32,
- DTS_PARAM_TBHDX_MAXGAIN_I32,
- DTS_PARAM_TBHDX_SPKSIZE_I32,
- DTS_PARAM_TBHDX_HP_ENABLE_I32,
- DTS_PARAM_TBHDX_TEMP_GAIN_I32,
- DTS_PARAM_TBHDX_PROCESS_DISCARD_I32,
- DTS_PARAM_TBHDX_HPORDER_I32,
- DTS_PARAM_VX_ENABLE_I32,
- DTS_PARAM_VX_INPUT_MODE_I32,
- DTS_PARAM_VX_OUTPUT_MODE_I32,
- DTS_PARAM_VX_HEADROOM_GAIN_I32,
- DTS_PARAM_VX_PROC_OUTPUT_GAIN_I32,
- DTS_PARAM_VX_REFERENCE_LEVEL_I32,
- DTS_PARAM_TSX_ENABLE_I32,
- DTS_PARAM_TSX_PASSIVEMATRIXUPMIX_ENABLE_I32,
- DTS_PARAM_TSX_HEIGHT_UPMIX_ENABLE_I32,
- DTS_PARAM_TSX_LPR_GAIN_I32,
- DTS_PARAM_TSX_CENTER_GAIN_I32,
- DTS_PARAM_TSX_HORIZ_VIR_EFF_CTRL_I32,
- DTS_PARAM_TSX_HEIGHTMIX_COEFF_I32,
- DTS_PARAM_TSX_PROCESS_DISCARD_I32,
- DTS_PARAM_TSX_HEIGHT_DISCARD_I32,
- DTS_PARAM_TSX_FRNT_CTRL_I32,
- DTS_PARAM_TSX_SRND_CTRL_I32,
- DTS_PARAM_VX_DC_ENABLE_I32,
- DTS_PARAM_VX_DC_CONTROL_I32,
- DTS_PARAM_VX_DEF_ENABLE_I32,
- DTS_PARAM_VX_DEF_CONTROL_I32,
- DTS_PARAM_LOUDNESS_CONTROL_ENABLE_I32,
- DTS_PARAM_LOUDNESS_CONTROL_TARGET_LOUDNESS_I32,
- DTS_PARAM_LOUDNESS_CONTROL_PRESET_I32,
- DTS_PARAM_LOUDNESS_CONTROL_IO_MODE_I32,
- DTS_PARAM_TBHDX_APP_SPKSIZE_I32,
- DTS_PARAM_TBHDX_APP_HPRATIO_F32,
- DTS_PARAM_TBHDX_APP_EXTBASS_F32,
- DTS_PARAM_MBHL_APP_FRT_LOWCROSS_F32,
- DTS_PARAM_MBHL_APP_FRT_MIDCROSS_F32,
-
-}Virtualx_params;
-
Virtualx_param_t gVirtualxParam[] = {
- {{0, 4, 4}, VIRTUALX_PARAM_ENABLE, {1}},
- {{0, 4, 4}, VIRTUALX_PARAM_DIALOGCLARTY_MODE, {1}},
- {{0, 4, 4}, VIRTUALX_PARAM_SURROUND_MODE, {1}},
{{0, 4, 4}, DTS_PARAM_MBHL_ENABLE_I32, {1}},
{{0, 4, 4}, DTS_PARAM_MBHL_BYPASS_GAIN_I32, {1}},
{{0, 4, 4}, DTS_PARAM_MBHL_REFERENCE_LEVEL_I32, {1}},
@@ -270,6 +188,8 @@ Virtualx_param_t gVirtualxParam[] = {
{{0, 4, 4}, DTS_PARAM_MBHL_SLOW_RELEASE_I32, {500}},
{{0, 4, 4}, DTS_PARAM_MBHL_DELAY_I32, {8}},
{{0, 4, 4}, DTS_PARAM_MBHL_ENVELOPE_FREQUENCY_I32, {20}},
+ {{0, 4, 4}, DTS_PARAM_MBHL_APP_FRT_LOWCROSS_F32,{0}},
+ {{0, 4, 4}, DTS_PARAM_MBHL_APP_FRT_MIDCROSS_F32,{0}},
{{0, 4, 4}, DTS_PARAM_TBHDX_ENABLE_I32, {0}},
{{0, 4, 4}, DTS_PARAM_TBHDX_MONO_MODE_I32, {0}},
{{0, 4, 4}, DTS_PARAM_TBHDX_MAXGAIN_I32, {0}},
@@ -278,6 +198,9 @@ Virtualx_param_t gVirtualxParam[] = {
{{0, 4, 4}, DTS_PARAM_TBHDX_TEMP_GAIN_I32, {0}},
{{0, 4, 4}, DTS_PARAM_TBHDX_PROCESS_DISCARD_I32, {1}},
{{0, 4, 4}, DTS_PARAM_TBHDX_HPORDER_I32, {4}},
+ {{0, 4, 4}, DTS_PARAM_TBHDX_APP_SPKSIZE_I32,{0}},
+ {{0, 4, 4}, DTS_PARAM_TBHDX_APP_HPRATIO_F32,{0}},
+ {{0, 4, 4}, DTS_PARAM_TBHDX_APP_EXTBASS_F32,{0}},
{{0, 4, 4}, DTS_PARAM_VX_ENABLE_I32, {1}},
{{0, 4, 4}, DTS_PARAM_VX_INPUT_MODE_I32, {4}},
{{0, 4, 4}, DTS_PARAM_VX_OUTPUT_MODE_I32, {0}},
@@ -303,12 +226,17 @@ Virtualx_param_t gVirtualxParam[] = {
{{0, 4, 4}, DTS_PARAM_LOUDNESS_CONTROL_TARGET_LOUDNESS_I32, {-24}},
{{0, 4, 4}, DTS_PARAM_LOUDNESS_CONTROL_PRESET_I32, {0}},
{{0, 4, 4}, DTS_PARAM_LOUDNESS_CONTROL_IO_MODE_I32,{0}},
- {{0, 4, 4}, DTS_PARAM_TBHDX_APP_SPKSIZE_I32,{0}},
- {{0, 4, 4}, DTS_PARAM_TBHDX_APP_HPRATIO_F32,{0}},
- {{0, 4, 4}, DTS_PARAM_TBHDX_APP_EXTBASS_F32,{0}},
- {{0, 4, 4}, DTS_PARAM_MBHL_APP_FRT_LOWCROSS_F32,{0}},
- {{0, 4, 4}, DTS_PARAM_MBHL_APP_FRT_MIDCROSS_F32,{0}},
-
+ {{0, 4, 4}, VIRTUALX_PARAM_ENABLE, {1}},
+ {{0, 4, 4}, VIRTUALX_PARAM_DIALOGCLARTY_MODE, {1}},
+ {{0, 4, 4}, VIRTUALX_PARAM_SURROUND_MODE, {1}},
+ {{0, 4, 4}, VIRTUALX_PARAM_COUNTER,{1}},
+ {{0, 4, 4}, AUDIO_DTS_PARAM_TYPE_NONE,{1}},
+ {{0, 4, 32}, AUDIO_DTS_PARAM_TYPE_TRU_SURROUND,{1}},
+ {{0, 4, 32}, AUDIO_DTS_PARAM_TYPE_CC3D,{1}},
+ {{0, 4, 40},AUDIO_DTS_PARAM_TYPE_TRU_BASS,{1}},
+ {{0, 4, 32},AUDIO_DTS_PARAM_TYPE_TRU_DIALOG,{1}},
+ {{0, 4, 24},AUDIO_DTS_PARAM_TYPE_DEFINATION,{1}},
+ {{0, 4, 12},AUDIO_DTS_PARAM_TYPE_TRU_VOLUME,{1}},
};
const char *VXStatusstr[] = {"Disable", "Enable"};
@@ -464,6 +392,7 @@ effect_uuid_t gEffectStr[] = {
{0x07210842, 0x7432, 0x4624, 0x8b97, {0x35, 0xac, 0x87, 0x82, 0xef, 0xa3}}, // 7:DBX
};
+#if 0
static inline float DbToAmpl(float decibels)
{
if (decibels <= -758) {
@@ -471,6 +400,7 @@ static inline float DbToAmpl(float decibels)
}
return exp( decibels * 0.115129f); // exp( dB * ln(10) / 20 )
}
+#endif
static int Balance_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int gParamValue)
{
@@ -481,7 +411,6 @@ static int Balance_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int g
AudioParameter param = AudioParameter();
audio_io_handle_t handle = AUDIO_IO_HANDLE_NONE;
int32_t value = 0;
- int32_t total_gain = 0;
if (balance_level_num == 0) {
gAudioEffect->getParameter(&gBalanceParam[BALANCE_PARAM_LEVEL_NUM].param);
balance_level_num = gBalanceParam[BALANCE_PARAM_LEVEL_NUM].v;
@@ -832,7 +761,7 @@ static int TrebleBass_effect_func(AudioEffect* gAudioEffect, int gParamIndex, in
}
}
-static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int gParamValue,float gParamScale)
+static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int gParamValue,float gParamScale,float gParaRange[VX_MAX_PARAM_SIZE])
{
int rc = 0;
switch (gParamIndex) {
@@ -843,11 +772,12 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
}
gVirtualxParam[gParamIndex].v = gParamValue;
if (!gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param))
- LOG("=================successful\n");
+ LOG("Virtualx: Successful\n");
else
- LOG("=====================failed\n");
+ LOG("Virtualx: Failed\n");
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("Virtualx: Status is %d -> %s\n", gParamValue, VXStatusstr[gVirtualxParam[gParamIndex].v]);
+ LOG("Virtualx: Status is %d -> %s, 16bit normalized data ----> 0x%08X\n",
+ gParamValue, VXStatusstr[gVirtualxParam[gParamIndex].v], FLOAT2INT(gParamValue));
return 0;
case DTS_PARAM_MBHL_ENABLE_I32:
if (gParamValue < 0 || gParamValue > 1) {
@@ -857,7 +787,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].v = gParamValue;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("mbhl enable is %d \n",gVirtualxParam[gParamIndex].v);
+ LOG("mbhl enable is %d, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].v, FLOAT2INT(gVirtualxParam[gParamIndex].v));
return 0;
case DTS_PARAM_MBHL_BYPASS_GAIN_I32:
if (gParamScale < 0 || gParamScale > 1.0) {
@@ -867,7 +798,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].f = gParamScale;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("mbhl bypassgain is %f \n",gVirtualxParam[gParamIndex].f);
+ LOG("mbhl bypassgain is %f, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].f, FLOAT2INT(gVirtualxParam[gParamIndex].f));
return 0;
case DTS_PARAM_MBHL_REFERENCE_LEVEL_I32:
if (gParamScale < 0.0009 || gParamScale > 1.0) {
@@ -877,7 +809,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].f = gParamScale;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("mbhl reference level is %f \n",gVirtualxParam[gParamIndex].f);
+ LOG("mbhl reference level is %f, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].f, FLOAT2INT(gVirtualxParam[gParamIndex].f));
return 0;
case DTS_PARAM_MBHL_VOLUME_I32:
if (gParamScale < 0 || gParamScale > 1.0) {
@@ -887,7 +820,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].f = gParamScale;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("mbhl volume is %f \n",gVirtualxParam[gParamIndex].f);
+ LOG("mbhl volume is %f, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].f, FLOAT2INT(gVirtualxParam[gParamIndex].f));
return 0;
case DTS_PARAM_MBHL_VOLUME_STEP_I32:
if (gParamValue < 0 || gParamValue > 100) {
@@ -897,7 +831,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].v = gParamValue;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("mbhl volume step is %d \n",gVirtualxParam[gParamIndex].v);
+ LOG("mbhl volume step is %d, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].v, FLOAT2INT(gVirtualxParam[gParamIndex].v));
return 0;
case DTS_PARAM_MBHL_BALANCE_STEP_I32:
if (gParamValue < -10 || gParamValue > 10) {
@@ -907,7 +842,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].v = gParamValue;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("mbhl balance step is %d \n",gVirtualxParam[gParamIndex].v);
+ LOG("mbhl balance step is %d, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].v, FLOAT2INT(gVirtualxParam[gParamIndex].v));
return 0;
case DTS_PARAM_MBHL_OUTPUT_GAIN_I32:
if (gParamScale < 0 || gParamScale > 1.0) {
@@ -916,8 +852,9 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
}
gVirtualxParam[gParamIndex].f = gParamScale;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
- // gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("mbhl output gain is %f \n",gVirtualxParam[gParamIndex].f);
+ // gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("mbhl output gain is %f, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].f, FLOAT2INT(gVirtualxParam[gParamIndex].f));
return 0;
case DTS_PARAM_MBHL_BOOST_I32:
if (gParamScale < 0.001 || gParamScale > 1000) {
@@ -927,7 +864,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].f = gParamScale;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("mbhl boost is %f \n",gVirtualxParam[gParamIndex].f);
+ LOG("mbhl boost is %f, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].f, FLOAT2INT(gVirtualxParam[gParamIndex].f));
return 0;
case DTS_PARAM_MBHL_THRESHOLD_I32:
if (gParamScale < 0.064 || gParamScale > 1.0) {
@@ -937,7 +875,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].f = gParamScale;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("mbhl threshold is %f \n",gVirtualxParam[gParamIndex].f);
+ LOG("mbhl threshold is %f, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].f, FLOAT2INT(gVirtualxParam[gParamIndex].f));
return 0;
case DTS_PARAM_MBHL_SLOW_OFFSET_I32:
if (gParamScale < 0.3170 || gParamScale > 3.1619) {
@@ -947,7 +886,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].f = gParamScale;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("mbhl slow offset is %f \n",gVirtualxParam[gParamIndex].f);
+ LOG("mbhl slow offset is %f, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].f, FLOAT2INT(gVirtualxParam[gParamIndex].f));
return 0;
case DTS_PARAM_MBHL_FAST_ATTACK_I32:
if (gParamScale < 0 || gParamScale > 10) {
@@ -957,7 +897,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].f = gParamScale;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("mbhl fast attack is %f \n",gVirtualxParam[gParamIndex].f);
+ LOG("mbhl fast attack is %f, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].f, FLOAT2INT(gVirtualxParam[gParamIndex].f));
return 0;
case DTS_PARAM_MBHL_FAST_RELEASE_I32:
if (gParamValue < 10 || gParamValue > 500) {
@@ -967,7 +908,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].v = gParamValue;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("mbhl fast release is %d \n",gVirtualxParam[gParamIndex].v);
+ LOG("mbhl fast release is %d, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].v, FLOAT2INT(gVirtualxParam[gParamIndex].v));
return 0;
case DTS_PARAM_MBHL_SLOW_ATTACK_I32:
if (gParamValue < 100 || gParamValue > 1000) {
@@ -977,7 +919,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].v = gParamValue;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("mbhl slow attack is %d \n",gVirtualxParam[gParamIndex].v);
+ LOG("mbhl slow attack is %d, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].v, FLOAT2INT(gVirtualxParam[gParamIndex].v));
return 0;
case DTS_PARAM_MBHL_SLOW_RELEASE_I32:
if (gParamValue < 100 || gParamValue > 2000) {
@@ -987,7 +930,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].v = gParamValue;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("mbhl slow release is %d \n",gVirtualxParam[gParamIndex].v);
+ LOG("mbhl slow release is %d, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].v, FLOAT2INT(gVirtualxParam[gParamIndex].v));
return 0;
case DTS_PARAM_MBHL_DELAY_I32:
if (gParamValue < 1 || gParamValue > 16) {
@@ -997,7 +941,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].v = gParamValue;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("mbhl delay is %d \n",gVirtualxParam[gParamIndex].v);
+ LOG("mbhl delay is %d, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].v, FLOAT2INT(gVirtualxParam[gParamIndex].v));
return 0;
case DTS_PARAM_MBHL_ENVELOPE_FREQUENCY_I32:
if (gParamValue < 5 || gParamValue > 500) {
@@ -1007,7 +952,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].v = gParamValue;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("mbhl envelope freq is %d \n",gVirtualxParam[gParamIndex].v);
+ LOG("mbhl envelope freq is %d, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].v, FLOAT2INT(gVirtualxParam[gParamIndex].v));
return 0;
case DTS_PARAM_MBHL_MODE_I32:
if (gParamValue < 0 || gParamValue > 4) {
@@ -1017,7 +963,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].v = gParamValue;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("mbhl mode is %d \n",gVirtualxParam[gParamIndex].v);
+ LOG("mbhl mode is %d, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].v, FLOAT2INT(gVirtualxParam[gParamIndex].v));
return 0;
case DTS_PARAM_MBHL_PROCESS_DISCARD_I32:
if (gParamValue < 0 || gParamValue > 1) {
@@ -1027,7 +974,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].v = gParamValue;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("mbhl process discard is %d \n",gVirtualxParam[gParamIndex].v);
+ LOG("mbhl process discard is %d, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].v, FLOAT2INT(gVirtualxParam[gParamIndex].v));
return 0;
case DTS_PARAM_MBHL_CROSS_LOW_I32:
if (gParamValue < 0 || gParamValue > 20) {
@@ -1037,7 +985,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].v = gParamValue;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("mbhl cross low is %d \n",gVirtualxParam[gParamIndex].v);
+ LOG("mbhl cross low is %d, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].v, FLOAT2INT(gVirtualxParam[gParamIndex].v));
return 0;
case DTS_PARAM_MBHL_CROSS_MID_I32:
if (gParamValue < 0 || gParamValue > 20) {
@@ -1047,7 +996,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].v = gParamValue;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("mbhl cross mid is %d \n",gVirtualxParam[gParamIndex].v);
+ LOG("mbhl cross mid is %d, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].v, FLOAT2INT(gVirtualxParam[gParamIndex].v));
return 0;
case DTS_PARAM_MBHL_COMP_ATTACK_I32:
if (gParamValue < 0 || gParamValue > 100) {
@@ -1057,7 +1007,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].v = gParamValue;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("mbhl compressor attack time is %d \n",gVirtualxParam[gParamIndex].v);
+ LOG("mbhl compressor attack time is %d, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].v, FLOAT2INT(gVirtualxParam[gParamIndex].v));
return 0;
case DTS_PARAM_MBHL_COMP_LOW_RELEASE_I32:
if (gParamValue < 50 || gParamValue > 2000) {
@@ -1067,7 +1018,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].v = gParamValue;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("mbhl compressor low release time is %d \n",gVirtualxParam[gParamIndex].v);
+ LOG("mbhl compressor low release time is %d, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].v, FLOAT2INT(gVirtualxParam[gParamIndex].v));
return 0;
case DTS_PARAM_MBHL_COMP_LOW_RATIO_I32:
if (gParamScale < 1.0 || gParamScale > 20.0) {
@@ -1077,7 +1029,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].f = gParamScale;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("mbhl compressor low ratio is %f \n",gVirtualxParam[gParamIndex].f);
+ LOG("mbhl compressor low ratio is %f, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].f, FLOAT2INT(gVirtualxParam[gParamIndex].f));
return 0;
case DTS_PARAM_MBHL_COMP_LOW_THRESH_I32:
if (gParamScale < 0.0640 || gParamScale > 15.8479) {
@@ -1087,7 +1040,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].f = gParamScale;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("mbhl compressor low threshold is %f \n",gVirtualxParam[gParamIndex].f);
+ LOG("mbhl compressor low threshold is %f, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].f, FLOAT2INT(gVirtualxParam[gParamIndex].f));
return 0;
case DTS_PARAM_MBHL_COMP_LOW_MAKEUP_I32:
if (gParamScale < 0.0640 || gParamScale > 15.8479) {
@@ -1097,7 +1051,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].f = gParamScale;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("mbhl compressor low makeup is %f \n",gVirtualxParam[gParamIndex].f);
+ LOG("mbhl compressor low makeup is %f, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].f, FLOAT2INT(gVirtualxParam[gParamIndex].f));
return 0;
case DTS_PARAM_MBHL_COMP_MID_RELEASE_I32:
if (gParamValue < 50 || gParamValue > 2000) {
@@ -1107,7 +1062,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].v = gParamValue;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("mbhl compressor mid release time is %d \n",gVirtualxParam[gParamIndex].v);
+ LOG("mbhl compressor mid release time is %d, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].v, FLOAT2INT(gVirtualxParam[gParamIndex].v));
return 0;
case DTS_PARAM_MBHL_COMP_MID_RATIO_I32:
if (gParamScale < 1.0 || gParamScale > 20.0) {
@@ -1117,7 +1073,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].f = gParamScale;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("mbhl compressor mid ratio is %f \n",gVirtualxParam[gParamIndex].f);
+ LOG("mbhl compressor mid ratio is %f, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].f, FLOAT2INT(gVirtualxParam[gParamIndex].f));
return 0;
case DTS_PARAM_MBHL_COMP_MID_THRESH_I32:
if (gParamScale < 0.0640 || gParamScale > 15.8479) {
@@ -1127,7 +1084,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].f = gParamScale;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("mbhl compressor mid threshold is %f \n",gVirtualxParam[gParamIndex].f);
+ LOG("mbhl compressor mid threshold is %f, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].f, FLOAT2INT(gVirtualxParam[gParamIndex].f));
return 0;
case DTS_PARAM_MBHL_COMP_MID_MAKEUP_I32:
if (gParamScale < 0.0640 || gParamScale > 15.8479) {
@@ -1137,7 +1095,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].f = gParamScale;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("mbhl compressor mid makeup is %f \n",gVirtualxParam[gParamIndex].f);
+ LOG("mbhl compressor mid makeup is %f, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].f, FLOAT2INT(gVirtualxParam[gParamIndex].f));
return 0;
case DTS_PARAM_MBHL_COMP_HIGH_RELEASE_I32:
if (gParamValue < 50 || gParamValue > 2000) {
@@ -1147,7 +1106,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].v = gParamValue;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("mbhl compressor high release time is %d \n",gVirtualxParam[gParamIndex].v);
+ LOG("mbhl compressor high release time is %d, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].v, FLOAT2INT(gVirtualxParam[gParamIndex].v));
return 0;
case DTS_PARAM_MBHL_COMP_HIGH_RATIO_I32:
if (gParamScale < 1.0 || gParamScale > 20.0) {
@@ -1157,7 +1117,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].f = gParamScale;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("mbhl compressor high ratio is %f \n",gVirtualxParam[gParamIndex].f);
+ LOG("mbhl compressor high ratio is %f, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].f, FLOAT2INT(gVirtualxParam[gParamIndex].f));
return 0;
case DTS_PARAM_MBHL_COMP_HIGH_THRESH_I32:
if (gParamScale < 0.0640 || gParamScale > 15.8479) {
@@ -1167,7 +1128,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].f = gParamScale;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("mbhl compressor high threshold is %f \n",gVirtualxParam[gParamIndex].f);
+ LOG("mbhl compressor high threshold is %f, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].f, FLOAT2INT(gVirtualxParam[gParamIndex].f));
return 0;
case DTS_PARAM_MBHL_COMP_HIGH_MAKEUP_I32:
if (gParamScale < 0.0640 || gParamScale > 15.8479) {
@@ -1177,7 +1139,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].f = gParamScale;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("mbhl compressor high makeup is %f \n",gVirtualxParam[gParamIndex].f);
+ LOG("mbhl compressor high makeup is %f, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].f, FLOAT2INT(gVirtualxParam[gParamIndex].f));
return 0;
case DTS_PARAM_TBHDX_ENABLE_I32:
if (gParamValue < 0 || gParamValue > 1) {
@@ -1187,7 +1150,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].v = gParamValue;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("tbhdx enable is %d \n",gVirtualxParam[gParamIndex].v);
+ LOG("tbhdx enable is %d, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].v, FLOAT2INT(gVirtualxParam[gParamIndex].v));
return 0;
case DTS_PARAM_TBHDX_MONO_MODE_I32:
if (gParamValue < 0 || gParamValue > 1) {
@@ -1197,7 +1161,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].v = gParamValue;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("tbhdx mono mode is %d \n",gVirtualxParam[gParamIndex].v);
+ LOG("tbhdx mono mode is %d, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].v, FLOAT2INT(gVirtualxParam[gParamIndex].v));
return 0;
case DTS_PARAM_TBHDX_SPKSIZE_I32:
if (gParamValue < 0 || gParamValue > 12) {
@@ -1207,7 +1172,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].v = gParamValue;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("tbhdx spksize is %d \n",gVirtualxParam[gParamIndex].v);
+ LOG("tbhdx spksize is %d, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].v, FLOAT2INT(gVirtualxParam[gParamIndex].v));
return 0;
case DTS_PARAM_TBHDX_TEMP_GAIN_I32:
if (gParamScale < 0.0 || gParamScale > 1.0) {
@@ -1217,7 +1183,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].f = gParamScale;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("tbhdx temp gain is %f \n",gVirtualxParam[gParamIndex].f);
+ LOG("tbhdx temp gain is %f, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].f, FLOAT2INT(gVirtualxParam[gParamIndex].f));
return 0;
case DTS_PARAM_TBHDX_MAXGAIN_I32:
if (gParamScale < 0.0 || gParamScale > 1.0) {
@@ -1227,7 +1194,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].f = gParamScale;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("tbhdx max gain is %f \n",gVirtualxParam[gParamIndex].f);
+ LOG("tbhdx max gain is %f, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].f, FLOAT2INT(gVirtualxParam[gParamIndex].f));
return 0;
case DTS_PARAM_TBHDX_PROCESS_DISCARD_I32:
if (gParamValue < 0 || gParamValue > 1) {
@@ -1237,7 +1205,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].v = gParamValue;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("tbhdx process discard is %d \n",gVirtualxParam[gParamIndex].v);
+ LOG("tbhdx process discard is %d, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].v, FLOAT2INT(gVirtualxParam[gParamIndex].v));
return 0;
case DTS_PARAM_TBHDX_HPORDER_I32:
if (gParamValue < 0 || gParamValue > 8) {
@@ -1247,7 +1216,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].v = gParamValue;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("tbhdx high pass filter order is %d \n",gVirtualxParam[gParamIndex].v);
+ LOG("tbhdx high pass filter order is %d, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].v, FLOAT2INT(gVirtualxParam[gParamIndex].v));
return 0;
case DTS_PARAM_TBHDX_HP_ENABLE_I32:
if (gParamValue < 0 || gParamValue > 1) {
@@ -1257,7 +1227,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].v = gParamValue;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("tbhdx high pass enable is %d \n",gVirtualxParam[gParamIndex].v);
+ LOG("tbhdx high pass enable is %d, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].v, FLOAT2INT(gVirtualxParam[gParamIndex].v));
return 0;
case DTS_PARAM_VX_ENABLE_I32:
if (gParamValue < 0 || gParamValue > 1) {
@@ -1267,7 +1238,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].v = gParamValue;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("vxlib1 enable is %d \n",gVirtualxParam[gParamIndex].v);
+ LOG("vxlib1 enable is %d, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].v, FLOAT2INT(gVirtualxParam[gParamIndex].v));
return 0;
case DTS_PARAM_VX_INPUT_MODE_I32:
if (gParamValue < 0 || gParamValue > 4) {
@@ -1277,7 +1249,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].v = gParamValue;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("vxlib1 input mode is %d \n",gVirtualxParam[gParamIndex].v);
+ LOG("vxlib1 input mode is %d, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].v, FLOAT2INT(gVirtualxParam[gParamIndex].v));
return 0;
case DTS_PARAM_VX_HEADROOM_GAIN_I32:
if (gParamScale < 0.1250 || gParamScale > 1.0) {
@@ -1287,7 +1260,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].f = gParamScale;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("vxlib1 headroom gain is %f \n",gVirtualxParam[gParamIndex].f);
+ LOG("vxlib1 headroom gain is %f, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].f, FLOAT2INT(gVirtualxParam[gParamIndex].f));
return 0;
case DTS_PARAM_VX_PROC_OUTPUT_GAIN_I32:
if (gParamScale < 0.5 || gParamScale > 4.0) {
@@ -1297,7 +1271,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].f = gParamScale;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("vxlib1 output gain is %f \n",gVirtualxParam[gParamIndex].f);
+ LOG("vxlib1 output gain is %f, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].f, FLOAT2INT(gVirtualxParam[gParamIndex].f));
return 0;
case DTS_PARAM_TSX_ENABLE_I32:
if (gParamValue < 0 || gParamValue > 1) {
@@ -1307,7 +1282,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].v = gParamValue;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("vxlib1 tsx enable is %d \n",gVirtualxParam[gParamIndex].v);
+ LOG("vxlib1 tsx enable is %d, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].v, FLOAT2INT(gVirtualxParam[gParamIndex].v));
return 0;
case DTS_PARAM_TSX_PASSIVEMATRIXUPMIX_ENABLE_I32:
if (gParamValue < 0 || gParamValue > 1) {
@@ -1317,7 +1293,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].v = gParamValue;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("vxlib1 tsx passive matrix upmixer enable is %d \n",gVirtualxParam[gParamIndex].v);
+ LOG("vxlib1 tsx passive matrix upmixer enable is %d, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].v, FLOAT2INT(gVirtualxParam[gParamIndex].v));
return 0;
case DTS_PARAM_TSX_HORIZ_VIR_EFF_CTRL_I32:
if (gParamValue < 0 || gParamValue > 1) {
@@ -1327,7 +1304,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].v = gParamValue;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("vxlib1 tsx horizontal Effect is %d \n",gVirtualxParam[gParamIndex].v);
+ LOG("vxlib1 tsx horizontal Effect is %d, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].v, FLOAT2INT(gVirtualxParam[gParamIndex].v));
return 0;
case DTS_PARAM_TSX_FRNT_CTRL_I32:
if (gParamScale < 0.5 || gParamScale > 2.0) {
@@ -1337,7 +1315,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].f = gParamScale;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("tsx frnt ctrl is %f \n",gVirtualxParam[gParamIndex].f);
+ LOG("tsx frnt ctrl is %f, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].f, FLOAT2INT(gVirtualxParam[gParamIndex].f));
return 0;
case DTS_PARAM_TSX_SRND_CTRL_I32:
if (gParamScale < 0.5 || gParamScale > 2.0) {
@@ -1347,7 +1326,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].f = gParamScale;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("tsx srnd ctrl is %f \n",gVirtualxParam[gParamIndex].f);
+ LOG("tsx srnd ctrl is %f, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].f, FLOAT2INT(gVirtualxParam[gParamIndex].f));
return 0;
case DTS_PARAM_TSX_LPR_GAIN_I32:
if (gParamScale < 0.0 || gParamScale > 2.0) {
@@ -1357,7 +1337,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].f = gParamScale;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("tsx lprtoctr mix gain is %f \n",gVirtualxParam[gParamIndex].f);
+ LOG("tsx lprtoctr mix gain is %f, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].f, FLOAT2INT(gVirtualxParam[gParamIndex].f));
return 0;
case DTS_PARAM_TSX_HEIGHTMIX_COEFF_I32:
if (gParamScale < 0.5 || gParamScale > 2.0) {
@@ -1367,7 +1348,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].f = gParamScale;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("tsx heightmix coeff is %f \n",gVirtualxParam[gParamIndex].f);
+ LOG("tsx heightmix coeff is %f, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].f, FLOAT2INT(gVirtualxParam[gParamIndex].f));
return 0;
case DTS_PARAM_TSX_CENTER_GAIN_I32:
if (gParamScale < 1.0 || gParamScale > 2.0) {
@@ -1377,7 +1359,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].f = gParamScale;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("tsx center gain is %f \n",gVirtualxParam[gParamIndex].f);
+ LOG("tsx center gain is %f, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].f, FLOAT2INT(gVirtualxParam[gParamIndex].f));
return 0;
case DTS_PARAM_TSX_HEIGHT_DISCARD_I32:
if (gParamValue < 0 || gParamValue > 1) {
@@ -1387,7 +1370,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].v = gParamValue;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("tsx height discard is %d \n",gVirtualxParam[gParamIndex].v);
+ LOG("tsx height discard is %d, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].v, FLOAT2INT(gVirtualxParam[gParamIndex].v));
return 0;
case DTS_PARAM_TSX_PROCESS_DISCARD_I32:
if (gParamValue < 0 || gParamValue > 1) {
@@ -1397,7 +1381,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].v = gParamValue;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("tsx process discard is %d \n",gVirtualxParam[gParamIndex].v);
+ LOG("tsx process discard is %d, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].v, FLOAT2INT(gVirtualxParam[gParamIndex].v));
return 0;
case DTS_PARAM_TSX_HEIGHT_UPMIX_ENABLE_I32:
if (gParamValue < 0 || gParamValue > 1) {
@@ -1407,7 +1392,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].v = gParamValue;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("tsx height upmix enable is %d \n",gVirtualxParam[gParamIndex].v);
+ LOG("tsx height upmix enable is %d, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].v, FLOAT2INT(gVirtualxParam[gParamIndex].v));
return 0;
case DTS_PARAM_VX_DC_ENABLE_I32:
if (gParamValue < 0 || gParamValue > 1) {
@@ -1417,7 +1403,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].v = gParamValue;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("tsx dc enable is %d \n",gVirtualxParam[gParamIndex].v);
+ LOG("tsx dc enable is %d, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].v, FLOAT2INT(gVirtualxParam[gParamIndex].v));
return 0;
case DTS_PARAM_VX_DC_CONTROL_I32:
if (gParamScale < 0.0 || gParamScale > 1.0) {
@@ -1427,7 +1414,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].f = gParamScale;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("tsx dc level is %f \n",gVirtualxParam[gParamIndex].f);
+ LOG("tsx dc level is %f, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].f, FLOAT2INT(gVirtualxParam[gParamIndex].f));
return 0;
case DTS_PARAM_VX_DEF_ENABLE_I32:
if (gParamValue < 0 || gParamValue > 1) {
@@ -1437,7 +1425,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].v = gParamValue;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("tsx def enable is %d \n",gVirtualxParam[gParamIndex].v);
+ LOG("tsx def enable is %d, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].v, FLOAT2INT(gVirtualxParam[gParamIndex].v));
return 0;
case DTS_PARAM_VX_DEF_CONTROL_I32:
if (gParamScale < 0.0 || gParamScale > 1.0) {
@@ -1447,7 +1436,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].f = gParamScale;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("tsx def level is %f \n",gVirtualxParam[gParamIndex].f);
+ LOG("tsx def level is %f, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].f, FLOAT2INT(gVirtualxParam[gParamIndex].f));
return 0;
case DTS_PARAM_LOUDNESS_CONTROL_ENABLE_I32:
if (gParamValue < 0 || gParamValue > 1) {
@@ -1457,7 +1447,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].v = gParamValue;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("loudness control is %d \n",gVirtualxParam[gParamIndex].v);
+ LOG("loudness control is %d, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].v, FLOAT2INT(gVirtualxParam[gParamIndex].v));
return 0;
case DTS_PARAM_LOUDNESS_CONTROL_TARGET_LOUDNESS_I32:
if (gParamValue < -40 || gParamValue > 0) {
@@ -1467,7 +1458,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].v = gParamValue;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("loudness control target is %d \n",gVirtualxParam[gParamIndex].v);
+ LOG("loudness control target is %d, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].v, FLOAT2INT(gVirtualxParam[gParamIndex].v));
return 0;
case DTS_PARAM_LOUDNESS_CONTROL_PRESET_I32:
if (gParamValue < 0 || gParamValue > 2) {
@@ -1477,7 +1469,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].v = gParamValue;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
//gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
- LOG("loudness control preset is %d \n",gVirtualxParam[gParamIndex].v);
+ LOG("loudness control preset is %d, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].v, FLOAT2INT(gVirtualxParam[gParamIndex].v));
return 0;
case DTS_PARAM_TBHDX_APP_SPKSIZE_I32:
if (gParamValue < 40 || gParamValue > 600) {
@@ -1486,7 +1479,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
}
gVirtualxParam[gParamIndex].v = gParamValue;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
- LOG("app spksize %d\n",gVirtualxParam[gParamIndex].v);
+ LOG("app spksize %d, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].v, FLOAT2INT(gVirtualxParam[gParamIndex].v));
return 0;
case DTS_PARAM_TBHDX_APP_HPRATIO_F32:
if (gParamScale < 0.0 || gParamScale > 1.0) {
@@ -1495,7 +1489,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
}
gVirtualxParam[gParamIndex].f = gParamScale;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
- LOG("app hpratio is %f\n",gVirtualxParam[gParamIndex].f);
+ LOG("app hpratio is %f, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].f, FLOAT2INT(gVirtualxParam[gParamIndex].f));
return 0;
case DTS_PARAM_TBHDX_APP_EXTBASS_F32:
if (gParamScale < 0.0 || gParamScale > 1.0) {
@@ -1504,7 +1499,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
}
gVirtualxParam[gParamIndex].f = gParamScale;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
- LOG("app ettbass is %f\n",gVirtualxParam[gParamIndex].f);
+ LOG("app ettbass is %f, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].f, FLOAT2INT(gVirtualxParam[gParamIndex].f));
return 0;
case DTS_PARAM_MBHL_APP_FRT_LOWCROSS_F32:
if (gParamScale < 40 || gParamScale > 8000.0) {
@@ -1514,7 +1510,8 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
gVirtualxParam[gParamIndex].f = gParamScale;
rc =gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
LOG("rc is %d\n",rc);
- LOG("app low freq is %f\n",gVirtualxParam[gParamIndex].f);
+ LOG("app low freq is %f, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].f, FLOAT2INT(gVirtualxParam[gParamIndex].f));
return 0;
case DTS_PARAM_MBHL_APP_FRT_MIDCROSS_F32:
if (gParamScale < 40.0 || gParamScale > 8000.0) {
@@ -1523,7 +1520,62 @@ static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int
}
gVirtualxParam[gParamIndex].f = gParamScale;
gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
- LOG("app mid freq is %f\n",gVirtualxParam[gParamIndex].f);
+ LOG("app mid freq is %f, 16bit normalized data ----> 0x%08X\n",
+ gVirtualxParam[gParamIndex].f, FLOAT2INT(gVirtualxParam[gParamIndex].f));
+ return 0;
+ case AUDIO_DTS_PARAM_TYPE_TRU_SURROUND:
+ for (int i = 0; i < 8; i++) {
+ gVirtualxParam[gParamIndex].params[i] = gParaRange[i];
+ LOG("gVirtualxParam[gParamIndex].params[%d] is %f, 16bit normalized data ----> 0x%08X\n",
+ i, gParaRange[i], FLOAT2INT(gParaRange[i]));
+ }
+ rc = gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("rc is %d\n",rc);
+ return 0;
+ case AUDIO_DTS_PARAM_TYPE_CC3D:
+ for (int i = 0; i < 8; i++) {
+ gVirtualxParam[gParamIndex].params[i] = gParaRange[i];
+ LOG("gVirtualxParam[gParamIndex].params[%d] is %f, 16bit normalized data ----> 0x%08X\n",
+ i, gParaRange[i], FLOAT2INT(gParaRange[i]));
+ }
+ rc = gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("rc is %d\n",rc);
+ return 0;
+ case AUDIO_DTS_PARAM_TYPE_TRU_BASS:
+ for (int i = 0; i < 10; i++) {
+ gVirtualxParam[gParamIndex].params[i] = gParaRange[i];
+ LOG("gVirtualxParam[gParamIndex].params[%d] is %f, 16bit normalized data ----> 0x%08X\n",
+ i, gParaRange[i], FLOAT2INT(gParaRange[i]));
+ }
+ rc = gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("rc is %d\n",rc);
+ return 0;
+ case AUDIO_DTS_PARAM_TYPE_TRU_DIALOG:
+ for (int i = 0; i < 8; i++) {
+ gVirtualxParam[gParamIndex].params[i] = gParaRange[i];
+ LOG("gVirtualxParam[gParamIndex].params[%d] is %f, 16bit normalized data ----> 0x%08X\n",
+ i, gParaRange[i], FLOAT2INT(gParaRange[i]));
+ }
+ rc = gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("rc is %d\n",rc);
+ return 0;
+ case AUDIO_DTS_PARAM_TYPE_DEFINATION:
+ for (int i = 0; i < 6; i++) {
+ gVirtualxParam[gParamIndex].params[i] = gParaRange[i];
+ LOG("gVirtualxParam[gParamIndex].params[%d] is %f, 16bit normalized data ----> 0x%08X\n",
+ i, gParaRange[i], FLOAT2INT(gParaRange[i]));
+ }
+ rc = gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("rc is %d\n",rc);
+ return 0;
+ case AUDIO_DTS_PARAM_TYPE_TRU_VOLUME:
+ for (int i = 0; i < 3; i++) {
+ gVirtualxParam[gParamIndex].params[i] = gParaRange[i];
+ LOG("gVirtualxParam[gParamIndex].params[%d] is %f, 16bit normalized data ----> 0x%08X\n",
+ i, gParaRange[i], FLOAT2INT(gParaRange[i]));
+ }
+ rc = gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("rc is %d\n",rc);
return 0;
default:
LOG("Virtualx: ParamIndex = %d invalid\n", gParamIndex);
@@ -1730,7 +1782,7 @@ static int Avl_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int gPara
}
}
-static void effectCallback(int32_t event, void* user, void *info)
+static void effectCallback(int32_t event __unused, void* user __unused, void *info __unused)
{
LOG("%s : %s():line:%d\n", __FILE__, __FUNCTION__, __LINE__);
}
@@ -1775,327 +1827,464 @@ static int create_audio_effect(AudioEffect **gAudioEffect, String16 name16, int
return 0;
}
+int GetIntData (int *data)
+{
+ int status = scanf("%d", data);
+ if (status == 0) {
+ scanf("%*s");
+ LOG("Erorr input! Pls Retry!\n");
+ return -1;
+ }
+ return 0;
+}
+
+int GetFloatData (float *data)
+{
+ int status = scanf("%f", data);
+ if (status == 0) {
+ scanf("%*s");
+ LOG("Erorr input! Pls Retry!\n");
+ return -1;
+ }
+ return 0;
+}
+
+void PrintHelp(int gEffectIndex, char *name)
+{
+ if (gEffectIndex == EFFECT_BALANCE) {
+ LOG("**********************************Balance***********************************\n");
+ LOG("Amlogic Balance EffectIndex: %d\n", (int)EFFECT_BALANCE);
+ LOG("Usage: %s %d <ParamIndex> <ParamValue/ParamScale/gParamBand>\n", name, (int)EFFECT_BALANCE);
+ LOG("ParamIndex: 0 -> Level\n");
+ LOG("ParamValue: 0 ~ 100\n");
+ LOG("ParamIndex: 1 -> Enable\n");
+ LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
+ LOG("ParamIndex: 4 -> Usb_Balance\n");
+ LOG("ParamValue: 0 ~ 100\n");
+ LOG("ParamIndex: 5 -> Bt_Balance\n");
+ LOG("ParamValue: 0 ~ 100\n");
+ LOG("****************************************************************************\n\n");
+ } else if (gEffectIndex == EFFECT_SRS) {
+ LOG("********************************TruSurround*********************************\n");
+ LOG("DTS TruSurround EffectIndex: %d\n", (int)EFFECT_SRS);
+ LOG("Usage: %s %d <ParamIndex> <ParamValue/ParamScale/gParamBand>\n", name, (int)EFFECT_SRS);
+ LOG("ParamIndex: 0 -> Mode\n");
+ LOG("ParamValue: 0 -> Standard 1 -> Music 2 -> Movie 3 -> ClearVoice 4 -> EnhancedBass 5->Custom\n");
+ LOG("ParamIndex: 1 -> DiglogClarity Mode\n");
+ LOG("ParamValue: 0 -> OFF 1 -> LOW 2 -> HIGH\n");
+ LOG("ParamIndex: 2 -> Surround Mode\n");
+ LOG("ParamValue: 0 -> ON 1 -> OFF\n");
+ LOG("ParamIndex: 4 -> Enable\n");
+ LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
+ LOG("ParamIndex: 5 -> TrueBass\n");
+ LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
+ LOG("ParamIndex: 6 -> TrueBassSpeakSize\n");
+ LOG("ParamValue: 0 ~ 7\n");
+ LOG("ParamIndex: 7 -> TrueBassGain\n");
+ LOG("ParamScale: 0.0 ~ 1.0\n");
+ LOG("ParamIndex: 8 -> DiglogClarity\n");
+ LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
+ LOG("ParamIndex: 9 -> DiglogClarityGain\n");
+ LOG("ParamScale: 0.0 ~ 1.0\n");
+ LOG("ParamIndex: 10 -> Definition\n");
+ LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
+ LOG("ParamIndex: 11 -> DefinitionGain\n");
+ LOG("ParamScale: 0.0 ~ 1.0\n");
+ LOG("ParamIndex: 12 -> Surround\n");
+ LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
+ LOG("ParamIndex: 13 -> SurroundGain\n");
+ LOG("ParamScale: 0.0 ~ 1.0\n");
+ LOG("ParamIndex: 14 -> InputGain\n");
+ LOG("ParamScale: 0.0 ~ 1.0\n");
+ LOG("ParamIndex: 15 -> OuputGain\n");
+ LOG("ParamScale: 0.0 ~ 1.0\n");
+ LOG("ParamIndex: 16 -> OuputGainCompensation\n");
+ LOG("ParamScale: -20.0dB ~ 20.0dB\n");
+ LOG("****************************************************************************\n\n");
+ } else if (gEffectIndex == EFFECT_TREBLEBASS) {
+ LOG("*********************************TrebleBass*********************************\n");
+ LOG("Amlogic Treble/Bass EffectIndex: %d\n", (int)EFFECT_TREBLEBASS);
+ LOG("Usage: %s %d <ParamIndex> <ParamValue/ParamScale/gParamBand>\n", name, (int)EFFECT_TREBLEBASS);
+ LOG("ParamIndex: 0 -> Bass\n");
+ LOG("ParamValue: 0 ~ 100\n");
+ LOG("ParamIndex: 1 -> Treble\n");
+ LOG("ParamValue: 0 ~ 100\n");
+ LOG("ParamIndex: 2 -> Enable\n");
+ LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
+ LOG("****************************************************************************\n\n");
+ } else if (gEffectIndex == EFFECT_HPEQ) {
+ LOG("*********************************HPEQ***************************************\n");
+ LOG("Amlogic HPEQ EffectIndex: %d\n", (int)EFFECT_HPEQ);
+ LOG("Usage: %s %d <ParamIndex> <ParamValue/ParamScale/gParamBand>\n", name, (int)EFFECT_HPEQ);
+ LOG("ParamIndex: 0 -> Enable\n");
+ LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
+ LOG("ParamIndex: 1 -> Mode\n");
+ LOG("ParamValue: 0 -> Standard 1 -> Music 2 -> news 3 -> movie 4 -> game 5->user\n");
+ LOG("ParamIndex: 2 -> custom\n");
+ LOG("ParamValue: -10 ~10 \n");
+ LOG("****************************************************************************\n\n");
+ } else if (gEffectIndex == EFFECT_AVL) {
+ LOG("*********************************Avl****************************************\n");
+ LOG("Amlogic AVL EffectIndex: %d\n", (int)EFFECT_AVL);
+ LOG("Usage: %s %d <ParamIndex> <ParamValue/ParamScale/gParamBand>\n", name, (int)EFFECT_AVL);
+ LOG("ParamIndex: 0 -> Enable\n");
+ LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
+ LOG("ParamIndex: 1 -> Max Level in dB\n");
+ LOG("ParamScale: -40.0 ~ 0.0\n");
+ LOG("ParamIndex: 2 -> Dynamic Threshold in dB\n");
+ LOG("ParamScale: 0 ~ -80\n");
+ LOG("ParamIndex: 3 -> Noise Threshold in dB\n");
+ LOG("ParamScale: -NAN ~ -10\n");
+ LOG("ParamIndex: 4 -> Attack Time in ms\n");
+ LOG("ParamValue: 20 ~ 2000 ms\n");
+ LOG("ParamIndex: 5 -> Release Time in ms\n");
+ LOG("ParamValue: 2000~8000 ms\n");
+ LOG("****************************************************************************\n\n");
+ } else if (gEffectIndex == EFFECT_GEQ) {
+ LOG("*********************************GEQ****************************************\n");
+ LOG("Amlgoic GEQ EffectIndex: %d\n", (int)EFFECT_GEQ);
+ LOG("Usage: %s %d <ParamIndex> <ParamValue/ParamScale/gParamBand>\n", name, (int)EFFECT_GEQ);
+ LOG("ParamIndex: 0 -> Enable\n");
+ LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
+ LOG("ParamIndex: 1 -> Mode\n");
+ LOG("ParamValue: 0 -> Standard 1 -> Music 2 -> news 3 -> movie 4 -> game 5->user\n");
+ LOG("ParamIndex: 2 -> custom\n");
+ LOG("ParamValue: -10 ~10 \n");
+ LOG("****************************************************************************\n\n");
+ } else if (gEffectIndex == EFFECT_VIRTUALX) {
+ LOG("*********************************Virtualx***********************************\n");
+ LOG("VirtualX EffectIndex: %d\n", (int)EFFECT_VIRTUALX);
+ LOG("Usage: %s %d <ParamIndex> <ParamValue/ParamScale/gParamBand>\n", name, (int)EFFECT_VIRTUALX);
+ LOG("------------Multi band hard limiter----ParamIndex(from %d to %d)-----\n",
+ (int)DTS_PARAM_MBHL_ENABLE_I32, (int)DTS_PARAM_MBHL_APP_FRT_MIDCROSS_F32);
+ LOG("ParamIndex: %d -> Mbhl Enable\n", (int)DTS_PARAM_MBHL_ENABLE_I32);
+ LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
+ LOG("ParamIndex: %d -> Mbhl Bypass Gain\n", (int)DTS_PARAM_MBHL_BYPASS_GAIN_I32);
+ LOG("ParamScale: 0.0 ~ 1.0\n");
+ LOG("ParamIndex: %d -> Mbhl Reference Level\n", (int)DTS_PARAM_MBHL_REFERENCE_LEVEL_I32);
+ LOG("ParamScale: 0.0009 ~ 1.0\n");
+ LOG("ParamIndex: %d -> Mbhl Volume\n", (int)DTS_PARAM_MBHL_VOLUME_I32);
+ LOG("ParamScale: 0.0 ~ 1.0\n");
+ LOG("ParamIndex: %d -> Mbhl Volume Step\n", (int)DTS_PARAM_MBHL_VOLUME_STEP_I32);
+ LOG("ParamValue: 0 ~ 100\n");
+ LOG("ParamIndex: %d -> Mbhl Balance Step\n", (int)DTS_PARAM_MBHL_BALANCE_STEP_I32);
+ LOG("ParamValue: -10 ~ 10\n");
+ LOG("ParamIndex: %d -> Mbhl Output Gain\n", (int)DTS_PARAM_MBHL_OUTPUT_GAIN_I32);
+ LOG("ParamScale: 0.0 ~ 1.0\n");
+ LOG("ParamIndex: %d -> Mbhl Mode\n", (int)DTS_PARAM_MBHL_MODE_I32);
+ LOG("ParamValue: 0 ~ 4\n");
+ LOG("ParamIndex: %d -> Mbhl process Discard\n", (int)DTS_PARAM_MBHL_PROCESS_DISCARD_I32);
+ LOG("ParamValue: 0 ~ 1\n");
+ LOG("ParamIndex: %d -> Mbhl Cross Low\n", (int)DTS_PARAM_MBHL_CROSS_LOW_I32);
+ LOG("ParamValue: 0 ~ 20\n");
+ LOG("ParamIndex: %d -> Mbhl Cross Mid\n", (int)DTS_PARAM_MBHL_CROSS_MID_I32);
+ LOG("ParamValue: 0 ~ 20\n");
+ LOG("ParamIndex: %d -> Mbhl Comp Attack\n", (int)DTS_PARAM_MBHL_COMP_ATTACK_I32);
+ LOG("ParamValue: 0 ~ 100\n");
+ LOG("ParamIndex: %d -> Mbhl Comp Low Release\n", (int)DTS_PARAM_MBHL_COMP_LOW_RELEASE_I32);
+ LOG("ParamValue: 50 ~ 2000\n");
+ LOG("ParamIndex: %d -> Mbhl Comp Low Ratio\n", (int)DTS_PARAM_MBHL_COMP_LOW_RATIO_I32);
+ LOG("ParamScale: 1.0 ~ 20.0\n");
+ LOG("ParamIndex: %d -> Mbhl Comp Low Thresh\n", (int)DTS_PARAM_MBHL_COMP_LOW_THRESH_I32);
+ LOG("ParamScale: 0.0640 ~ 15.8479\n");
+ LOG("ParamIndex: %d -> Mbhl Comp Low Makeup\n", (int)DTS_PARAM_MBHL_COMP_LOW_MAKEUP_I32);
+ LOG("ParamScale: 0.0640 ~ 15.8479\n");
+ LOG("ParamIndex: %d -> Mbhl Comp Mid Release\n", (int)DTS_PARAM_MBHL_COMP_MID_RELEASE_I32);
+ LOG("ParamValue: 50 ~ 2000\n");
+ LOG("ParamIndex: %d -> Mbhl Comp Mid Ratio\n", (int)DTS_PARAM_MBHL_COMP_MID_RATIO_I32);
+ LOG("ParamScale: 1.0 ~ 20.0\n");
+ LOG("ParamIndex: %d -> Mbhl Comp Mid Thresh\n", (int)DTS_PARAM_MBHL_COMP_MID_THRESH_I32);
+ LOG("ParamScale: 0.0640 ~ 15.8479\n");
+ LOG("ParamIndex: %d -> Mbhl Comp Mid Makeup\n", (int)DTS_PARAM_MBHL_COMP_MID_MAKEUP_I32);
+ LOG("ParamScale: 0.0640 ~ 15.8479\n");
+ LOG("ParamIndex: %d -> Mbhl Comp High Release\n", (int)DTS_PARAM_MBHL_COMP_HIGH_RELEASE_I32);
+ LOG("ParamValue: 50 ~ 2000\n");
+ LOG("ParamIndex: %d -> Mbhl Comp High Ratio\n", (int)DTS_PARAM_MBHL_COMP_HIGH_RATIO_I32);
+ LOG("ParamScale: 1.0 ~ 20.0\n");
+ LOG("ParamIndex: %d -> Mbhl Comp High Thresh\n", (int)DTS_PARAM_MBHL_COMP_HIGH_THRESH_I32);
+ LOG("ParamScale: 0.0640 ~ 15.8479\n");
+ LOG("ParamIndex: %d -> Mbhl Comp High Makeup\n", (int)DTS_PARAM_MBHL_COMP_HIGH_MAKEUP_I32);
+ LOG("ParamScale: 0.0640 ~ 15.8479\n");
+ LOG("ParamIndex: %d -> Mbhl Boost\n", (int)DTS_PARAM_MBHL_BOOST_I32);
+ LOG("ParamScale: 0.001 ~ 1000\n");
+ LOG("ParamIndex: %d -> Mbhl Threshold\n", (int)DTS_PARAM_MBHL_THRESHOLD_I32);
+ LOG("ParamScale: 0.0640 ~ 1.0\n");
+ LOG("ParamIndex: %d -> Mbhl Slow Offset\n", (int)DTS_PARAM_MBHL_SLOW_OFFSET_I32);
+ LOG("ParamScale: 0.317 ~ 3.1619\n");
+ LOG("ParamIndex: %d -> Mbhl Fast Attack\n", (int)DTS_PARAM_MBHL_FAST_ATTACK_I32);
+ LOG("ParamScale: 0 ~ 10\n");
+ LOG("ParamIndex: %d -> Mbhl Fast Release\n", (int)DTS_PARAM_MBHL_FAST_RELEASE_I32);
+ LOG("ParamValue: 10 ~ 500\n");
+ LOG("ParamIndex: %d -> Mbhl Slow Attack\n", (int)DTS_PARAM_MBHL_SLOW_ATTACK_I32);
+ LOG("ParamValue: 100 ~ 1000\n");
+ LOG("ParamIndex: %d -> Mbhl Slow Release\n", (int)DTS_PARAM_MBHL_SLOW_RELEASE_I32);
+ LOG("ParamValue: 100 ~ 2000\n");
+ LOG("ParamIndex: %d -> Mbhl Delay\n", (int)DTS_PARAM_MBHL_DELAY_I32);
+ LOG("ParamValue: 0 ~ 16\n");
+ LOG("ParamIndex: %d -> Mbhl Envelope Freq\n", (int)DTS_PARAM_MBHL_ENVELOPE_FREQUENCY_I32);
+ LOG("ParamValue: 5 ~ 500\n");
+ LOG("ParamIndex: %d -> Mbhl frt lowcross\n", (int)DTS_PARAM_MBHL_APP_FRT_LOWCROSS_F32);
+ LOG("ParamScale 40 ~ 8000\n");
+ LOG("ParamIndex: %d -> Mbhl frt midcross\n", (int)DTS_PARAM_MBHL_APP_FRT_MIDCROSS_F32);
+ LOG("ParamScale 40 ~ 8000\n");
+ LOG("------------TruBassHDX-------ParamIndex(from %d to %d)--\n",
+ (int)DTS_PARAM_TBHDX_ENABLE_I32, (int)DTS_PARAM_TBHDX_APP_EXTBASS_F32);
+ LOG("ParamIndex: %d -> TBHDX Enable\n", (int)DTS_PARAM_TBHDX_ENABLE_I32);
+ LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
+ LOG("ParamIndex: %d -> TBHDX Mono Mode\n", (int)DTS_PARAM_TBHDX_MONO_MODE_I32);
+ LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
+ LOG("ParamIndex: %d -> TBHDX Max Gain\n", (int)DTS_PARAM_TBHDX_MAXGAIN_I32);
+ LOG("ParamScale: 0.0 ~ 1.0\n");
+ LOG("ParamIndex: %d -> TBHDX Spk Size\n", (int)DTS_PARAM_TBHDX_SPKSIZE_I32);
+ LOG("ParamValue: 0 ~ 12\n");
+ LOG("ParamIndex: %d -> TBHDX HP Enable\n", (int)DTS_PARAM_TBHDX_HP_ENABLE_I32);
+ LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
+ LOG("ParamIndex: %d -> TBHDX Temp Gain\n", (int)DTS_PARAM_TBHDX_TEMP_GAIN_I32);
+ LOG("ParamScale: 0.0 ~ 1.0\n");
+ LOG("ParamIndex: %d -> TBHDX Process Discard\n", (int)DTS_PARAM_TBHDX_PROCESS_DISCARD_I32);
+ LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
+ LOG("ParamIndex: %d -> TBHDX HP Order\n", (int)DTS_PARAM_TBHDX_HPORDER_I32);
+ LOG("ParamValue: 1 ~ 8\n");
+ LOG("ParamIndex: %d -> TBHDX app spksize\n", (int)DTS_PARAM_TBHDX_APP_SPKSIZE_I32);
+ LOG("ParamValue 40 ~ 600 \n");
+ LOG("ParamIndex: %d -> TBHDX app hpratio\n", (int)DTS_PARAM_TBHDX_APP_HPRATIO_F32);
+ LOG("ParamScale 0 ~ 1.0\n");
+ LOG("ParamIndex: %d -> TBHDX app extbass\n", (int)DTS_PARAM_TBHDX_APP_EXTBASS_F32);
+ LOG("ParamScale 0 ~ 1.0\n");
+ LOG("------------General Setting-------ParamIndex(from %d to %d)--\n",
+ (int)DTS_PARAM_VX_ENABLE_I32, (int)DTS_PARAM_VX_REFERENCE_LEVEL_I32);
+ LOG("ParamIndex: %d -> VX Enable\n", (int)DTS_PARAM_VX_ENABLE_I32);
+ LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
+ LOG("ParamIndex: %d -> VX Input Mode\n", (int)DTS_PARAM_VX_INPUT_MODE_I32);
+ LOG("ParamValue: 0 ~ 4\n");
+ LOG("ParamIndex: %d -> VX Output Mode\n", (int)DTS_PARAM_VX_OUTPUT_MODE_I32);
+ LOG("ParamValue: Can't be set!\n");
+ LOG("ParamIndex: %d -> VX Head Room Gain\n", (int)DTS_PARAM_VX_HEADROOM_GAIN_I32);
+ LOG("ParamScale: 0.125 ~ 1.0\n");
+ LOG("ParamIndex: %d -> VX Proc Output Gain\n", (int)DTS_PARAM_VX_PROC_OUTPUT_GAIN_I32);
+ LOG("ParamScale: 0.5 ~ 4.0\n");
+ LOG("ParamIndex: %d -> VX Reference level\n", (int)DTS_PARAM_VX_REFERENCE_LEVEL_I32);
+ LOG("ParamValue: Can't be set!\n");
+ LOG("------------TrusurroundX-------ParamIndex(from %d to %d)--\n",
+ (int)DTS_PARAM_TSX_ENABLE_I32, (int)DTS_PARAM_TSX_SRND_CTRL_I32);
+ LOG("ParamIndex: %d -> TSX Enable\n", (int)DTS_PARAM_TSX_ENABLE_I32);
+ LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
+ LOG("ParamIndex: %d -> TSX Passive Matrix Upmixer Enable\n", (int)DTS_PARAM_TSX_PASSIVEMATRIXUPMIX_ENABLE_I32);
+ LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
+ LOG("ParamIndex: %d -> TSX Height Upmixer Enable\n", (int)DTS_PARAM_TSX_HEIGHT_UPMIX_ENABLE_I32);
+ LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
+ LOG("ParamIndex: %d -> TSX Lpr Gain\n", (int)DTS_PARAM_TSX_LPR_GAIN_I32);
+ LOG("ParamScale: 0.000 ~ 2.0\n");
+ LOG("ParamIndex: %d -> TSX Center Gain\n", (int)DTS_PARAM_TSX_CENTER_GAIN_I32);
+ LOG("ParamScale: 1.0 ~ 2.0\n");
+ LOG("ParamIndex: %d -> TSX Horiz Vir Effect Ctrl\n", (int)DTS_PARAM_TSX_HORIZ_VIR_EFF_CTRL_I32);
+ LOG("ParamValue: 0 -> default 1 -> mild\n");
+ LOG("ParamIndex: %d -> TSX Height Mix Coeff\n", (int)DTS_PARAM_TSX_HEIGHTMIX_COEFF_I32);
+ LOG("ParamScale: 0.5 ~ 2.0\n");
+ LOG("ParamIndex: %d -> TSX Process Discard\n", (int)DTS_PARAM_TSX_PROCESS_DISCARD_I32);
+ LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
+ LOG("ParamIndex: %d -> TSX Height Discard\n", (int)DTS_PARAM_TSX_HEIGHT_DISCARD_I32);
+ LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
+ LOG("ParamIndex: %d -> TSX Frnt Ctrl\n", (int)DTS_PARAM_TSX_FRNT_CTRL_I32);
+ LOG("ParamScale: 0.5 ~ 2.0\n");
+ LOG("ParamIndex: %d -> TSX Srnd Ctrl\n", (int)DTS_PARAM_TSX_SRND_CTRL_I32);
+ LOG("ParamScale: 0.5 ~ 2.0\n");
+ LOG("------------Dialog Clarty-------ParamIndex(from %d to %d)--\n",
+ (int)DTS_PARAM_VX_DC_ENABLE_I32, (int)DTS_PARAM_VX_DC_CONTROL_I32);
+ LOG("ParamIndex: %d -> VX DC Enable\n", (int)DTS_PARAM_VX_DC_ENABLE_I32);
+ LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
+ LOG("ParamIndex: %d -> VX DC Control\n", (int)DTS_PARAM_VX_DC_CONTROL_I32);
+ LOG("ParamScale: 0.0 ~ 1.0\n");
+ LOG("------------Definition-------ParamIndex(from %d to %d)--\n",
+ (int)DTS_PARAM_VX_DEF_ENABLE_I32, (int)DTS_PARAM_VX_DEF_CONTROL_I32);
+ LOG("ParamIndex: %d -> VX DEF Enable\n", (int)DTS_PARAM_VX_DEF_ENABLE_I32);
+ LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
+ LOG("ParamIndex: %d -> VX DEF Control\n", (int)DTS_PARAM_VX_DEF_CONTROL_I32);
+ LOG("ParamScale: 0.0 ~ 1.0\n");
+ LOG("------------TruVolume-------ParamIndex(from %d to %d)--\n",
+ (int)DTS_PARAM_LOUDNESS_CONTROL_ENABLE_I32, (int)DTS_PARAM_LOUDNESS_CONTROL_IO_MODE_I32);
+ LOG("ParamIndex: %d -> Loudness Control Enable\n", (int)DTS_PARAM_LOUDNESS_CONTROL_ENABLE_I32);
+ LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
+ LOG("ParamIndex: %d -> Loudness Control Target Loudness\n", (int)DTS_PARAM_LOUDNESS_CONTROL_TARGET_LOUDNESS_I32);
+ LOG("ParamValue: -40 ~ 0\n");
+ LOG("ParamIndex: %d -> Loudness Control Preset\n", (int)DTS_PARAM_LOUDNESS_CONTROL_PRESET_I32);
+ LOG("ParamValue: 0 -> light 1 -> mid 2 -> Aggresive \n");
+ LOG("ParamIndex: %d -> Loudness Control Mode\n", (int)DTS_PARAM_LOUDNESS_CONTROL_IO_MODE_I32);
+ LOG("ParamValue: 0 ~ 4 \n");
+ LOG("****************************************************************************\n\n");
+ } else if (gEffectIndex == EFFECT_DBX) {
+ LOG("**********************************DBX***************************************\n");
+ LOG("DBX EffectIndex: %d\n", (int)EFFECT_DBX);
+ LOG("Usage: %s %d <ParamIndex> <ParamValue/ParamScale/gParamBand>\n", name, (int)EFFECT_DBX);
+ LOG("ParamIndex: 0 -> Enable\n");
+ LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
+ LOG("ParamIndex: 1 -> Choose mode(son_mode--vol_mode--sur_mode)\n");
+ LOG("ParamValue: son_mode 0-4 vol_mode 0-2 sur_mode 0-2\n");
+ LOG("****************************************************************************\n\n");
+ }
+}
+
int main(int argc,char **argv)
{
int i;
int ret = -1;
- int gEffectIndex = 0;
+ int gEffectIndex = -1;
int gParamIndex = 0;
int gParamValue = 0;
float gParamScale = 0.0f;
signed char gmode[3] = {0};
signed char gParamBand[5] = {0};
signed char gParamBands[9] = {0};
- status_t status = NO_ERROR;
+ float grange[VX_MAX_PARAM_SIZE] = {0};
String16 name16[EFFECT_MAX] = {String16("AudioEffectEQTest"), String16("AudioEffectSRSTest"), String16("AudioEffectHPEQTest"),
String16("AudioEffectAVLTest"), String16("AudioEffectGEQTest"),String16("AudioEffectVirtualxTest"),String16("AudioEffectDBXTest")};
AudioEffect* gAudioEffect[EFFECT_MAX] = {0};
- audio_session_t gSessionId = AUDIO_SESSION_OUTPUT_MIX;
- LOG("**********************************Balance***********************************\n");
- LOG("EffectIndex: 0\n");
- LOG("ParamIndex: 0 -> Level\n");
- LOG("ParamValue: 0 ~ 100\n");
- LOG("ParamIndex: 1 -> Enable\n");
- LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
- LOG("ParamIndex: 4 -> Usb_Balance\n");
- LOG("ParamValue: 0 ~ 100\n");
- LOG("ParamIndex: 5 -> Bt_Banlance\n");
- LOG("ParamValue: 0 ~ 100\n");
- LOG("****************************************************************************\n\n");
-
- LOG("********************************TruSurround*********************************\n");
- LOG("EffectIndex: 1\n");
- LOG("ParamIndex: 0 -> Mode\n");
- LOG("ParamValue: 0 -> Standard 1 -> Music 2 -> Movie 3 -> ClearVoice 4 -> EnhancedBass 5->Custom\n");
- LOG("ParamIndex: 1 -> DiglogClarity Mode\n");
- LOG("ParamValue: 0 -> OFF 1 -> LOW 2 -> HIGH\n");
- LOG("ParamIndex: 2 -> Surround Mode\n");
- LOG("ParamValue: 0 -> ON 1 -> OFF\n");
- LOG("ParamIndex: 4 -> Enable\n");
- LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
- LOG("ParamIndex: 5 -> TrueBass\n");
- LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
- LOG("ParamIndex: 6 -> TrueBassSpeakSize\n");
- LOG("ParamValue: 0 ~ 7\n");
- LOG("ParamIndex: 7 -> TrueBassGain\n");
- LOG("ParamScale: 0.0 ~ 1.0\n");
- LOG("ParamIndex: 8 -> DiglogClarity\n");
- LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
- LOG("ParamIndex: 9 -> DiglogClarityGain\n");
- LOG("ParamScale: 0.0 ~ 1.0\n");
- LOG("ParamIndex: 10 -> Definition\n");
- LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
- LOG("ParamIndex: 11 -> DefinitionGain\n");
- LOG("ParamScale: 0.0 ~ 1.0\n");
- LOG("ParamIndex: 12 -> Surround\n");
- LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
- LOG("ParamIndex: 13 -> SurroundGain\n");
- LOG("ParamScale: 0.0 ~ 1.0\n");
- LOG("ParamIndex: 14 -> InputGain\n");
- LOG("ParamScale: 0.0 ~ 1.0\n");
- LOG("ParamIndex: 15 -> OuputGain\n");
- LOG("ParamScale: 0.0 ~ 1.0\n");
- LOG("ParamIndex: 16 -> OuputGainCompensation\n");
- LOG("ParamScale: -20.0dB ~ 20.0dB\n");
- LOG("****************************************************************************\n\n");
-
- LOG("*********************************TrebleBass*********************************\n");
- LOG("EffectIndex: 2\n");
- LOG("ParamIndex: 0 -> Bass\n");
- LOG("ParamValue: 0 ~ 100\n");
- LOG("ParamIndex: 1 -> Treble\n");
- LOG("ParamValue: 0 ~ 100\n");
- LOG("ParamIndex: 2 -> Enable\n");
- LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
- LOG("****************************************************************************\n\n");
-
- LOG("*********************************HPEQ*********************************\n");
- LOG("EffectIndex: 3\n");
- LOG("ParamIndex: 0 -> Enable\n");
- LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
- LOG("ParamIndex: 1 -> Mode\n");
- LOG("ParamValue: 0 -> Standard 1 -> Music 2 -> news 3 -> movie 4 -> game 5->user\n");
- LOG("ParamIndex: 2 -> custom\n");
- LOG("ParamValue: -10 ~10 \n");
-
- LOG("*********************************Avl*********************************\n");
- LOG("EffectIndex: 4\n");
- LOG("ParamIndex: 0 -> Enable\n");
- LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
- LOG("ParamIndex: 1 -> Peak Level\n");
- LOG("ParamScale: -40.0 ~ 0.0\n");
- LOG("ParamIndex: 2 -> Dynamic Threshold\n");
- LOG("ParamScale: 0 ~ -80\n");
- LOG("ParamIndex: 3 -> Noise Threshold\n");
- LOG("ParamScale: -NAN ~ -10\n");
- LOG("ParamIndex: 4 -> Response Time\n");
- LOG("ParamValue: 20 ~ 2000\n");
- LOG("ParamIndex: 5 -> Release Time\n");
- LOG("ParamValue: 20 ~ 2000\n");
- LOG("ParamIndex: 6 -> Source In\n");
- LOG("ParamValue: 0 -> DTV 1 -> ATV 2 -> AV 3 -> HDMI 4 -> SPDIF 5->REMOTE_SUBMIX 6->WIRED_HEADSET\n");
- LOG("****************************************************************************\n\n");
-
- LOG("*********************************GEQ*********************************\n");
- LOG("EffectIndex: 5\n");
- LOG("ParamIndex: 0 -> Enable\n");
- LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
- LOG("ParamIndex: 1 -> Mode\n");
- LOG("ParamValue: 0 -> Standard 1 -> Music 2 -> news 3 -> movie 4 -> game 5->user\n");
- LOG("ParamIndex: 2 -> custom\n");
- LOG("ParamValue: -10 ~10 \n");
- LOG("****************************************************************************\n\n");
-
- LOG("*********************************Virtualx*********************************\n");
- LOG("EffectIndex: 6\n");
- LOG("ParamIndex: 0 -> Enable\n");
- LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
- LOG("ParamIndex: 3 -> Mbhl Enable\n");
- LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
- LOG("ParamIndex: 4 -> Mbhl Bypass Gain\n");
- LOG("ParamScale: 0.0 ~ 1.0\n");
- LOG("ParamIndex: 5 -> Mbhl Reference Level\n");
- LOG("ParamScale: 0.0009 ~ 1.0\n");
- LOG("ParamIndex: 6 -> Mbhl Volume\n");
- LOG("ParamScale: 0.0 ~ 1.0\n");
- LOG("ParamIndex: 7 -> Mbhl Volume Step\n");
- LOG("ParamValue: 0 ~ 100\n");
- LOG("ParamIndex: 8 -> Mbhl Balance Step\n");
- LOG("ParamValue: -10 ~ 10\n");
- LOG("ParamIndex: 9 -> Mbhl Output Gain\n");
- LOG("ParamScale: 0.0 ~ 1.0\n");
- LOG("ParamIndex: 10 -> Mbhl Mode\n");
- LOG("ParamValue: 0 ~ 4\n");
- LOG("ParamIndex: 11 -> Mbhl process Discard\n");
- LOG("ParamValue: 0 ~ 1\n");
- LOG("ParamIndex: 12 -> Mbhl Cross Low\n");
- LOG("ParamValue: 0 ~ 20\n");
- LOG("ParamIndex: 13 -> Mbhl Cross Mid\n");
- LOG("ParamValue: 0 ~ 20\n");
- LOG("ParamIndex: 14 -> Mbhl Comp Attack\n");
- LOG("ParamValue: 0 ~ 100\n");
- LOG("ParamIndex: 15 -> Mbhl Comp Low Release\n");
- LOG("ParamValue: 50 ~ 2000\n");
- LOG("ParamIndex: 16 -> Mbhl Comp Low Ratio\n");
- LOG("ParamScale: 1.0 ~ 20.0\n");
- LOG("ParamIndex: 17 -> Mbhl Comp Low Thresh\n");
- LOG("ParamScale: 0.0640 ~ 15.8479\n");
- LOG("ParamIndex: 18 -> Mbhl Comp Low Makeup\n");
- LOG("ParamScale: 0.0640 ~ 15.8479\n");
- LOG("ParamIndex: 19 -> Mbhl Comp Mid Release\n");
- LOG("ParamValue: 50 ~ 2000\n");
- LOG("ParamIndex: 20 -> Mbhl Comp Mid Ratio\n");
- LOG("ParamScale: 1.0 ~ 20.0\n");
- LOG("ParamIndex: 21 -> Mbhl Comp Mid Thresh\n");
- LOG("ParamScale: 0.0640 ~ 15.8479\n");
- LOG("ParamIndex: 22 -> Mbhl Comp Mid Makeup\n");
- LOG("ParamScale: 0.0640 ~ 15.8479\n");
- LOG("ParamIndex: 23 -> Mbhl Comp High Release\n");
- LOG("ParamValue: 50 ~ 2000\n");
- LOG("ParamIndex: 24 -> Mbhl Comp High Ratio\n");
- LOG("ParamScale: 1.0 ~ 20.0\n");
- LOG("ParamIndex: 25 -> Mbhl Comp High Thresh\n");
- LOG("ParamScale: 0.0640 ~ 15.8479\n");
- LOG("ParamIndex: 26 -> Mbhl Comp High Makeup\n");
- LOG("ParamScale: 0.0640 ~ 15.8479\n");
- LOG("ParamIndex: 27 -> Mbhl Boost\n");
- LOG("ParamScale: 0.001 ~ 1000\n");
- LOG("ParamIndex: 28 -> Mbhl Threshold\n");
- LOG("ParamScale: 0.0640 ~ 1.0\n");
- LOG("ParamIndex: 29 -> Mbhl Slow Offset\n");
- LOG("ParamScale: 0.317 ~ 3.1619\n");
- LOG("ParamIndex: 30 -> Mbhl Fast Attack\n");
- LOG("ParamScale: 0 ~ 10\n");
- LOG("ParamIndex: 31 -> Mbhl Fast Release\n");
- LOG("ParamValue: 10 ~ 500\n");
- LOG("ParamIndex: 32 -> Mbhl Slow Attack\n");
- LOG("ParamValue: 100 ~ 1000\n");
- LOG("ParamIndex: 33 -> Mbhl Slow Release\n");
- LOG("ParamValue: 100 ~ 2000\n");
- LOG("ParamIndex: 34 -> Mbhl Delay\n");
- LOG("ParamValue: 0 ~ 16\n");
- LOG("ParamIndex: 35 -> Mbhl Envelope Freq\n");
- LOG("ParamValue: 5 ~ 500\n");
- LOG("ParamIndex: 36 -> TBHDX Enable\n");
- LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
- LOG("ParamIndex: 37 -> TBHDX Mono Mode\n");
- LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
- LOG("ParamIndex: 38 -> TBHDX Max Gain\n");
- LOG("ParamScale: 0.0 ~ 1.0\n");
- LOG("ParamIndex: 39 -> TBHDX Spk Size\n");
- LOG("ParamValue: 0 ~ 12\n");
- LOG("ParamIndex: 40 -> TBHDX HP Enable\n");
- LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
- LOG("ParamIndex: 41 -> TBHDX Temp Gain\n");
- LOG("ParamScale: 0.0 ~ 1.0\n");
- LOG("ParamIndex: 42 -> TBHDX Process Discard\n");
- LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
- LOG("ParamIndex: 43 -> TBHDX HP Order\n");
- LOG("ParamValue: 1 ~ 8\n");
- LOG("ParamIndex: 44 -> VX Enable\n");
- LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
- LOG("ParamIndex: 45 -> VX Input Mode\n");
- LOG("ParamValue: 0 ~ 4\n");
- LOG("ParamIndex: 47 -> VX Head Room Gain\n");
- LOG("ParamScale: 0.125 ~ 1.0\n");
- LOG("ParamIndex: 48 -> VX Proc Output Gain\n");
- LOG("ParamScale: 0.5 ~ 4.0\n");
- LOG("ParamIndex: 50 -> TSX Enable\n");
- LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
- LOG("ParamIndex: 51 -> TSX Passive Matrix Upmixer Enable\n");
- LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
- LOG("ParamIndex: 52 -> TSX Height Upmixer Enable\n");
- LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
- LOG("ParamIndex: 53 -> TSX Lpr Gain\n");
- LOG("ParamScale: 0.000 ~ 2.0\n");
- LOG("ParamIndex: 54 -> TSX Center Gain\n");
- LOG("ParamScale: 1.0 ~ 2.0\n");
- LOG("ParamIndex: 55 -> TSX Horiz Vir Effect Ctrl\n");
- LOG("ParamValue: 0 -> default 1 -> mild\n");
- LOG("ParamIndex: 56 -> TSX Height Mix Coeff\n");
- LOG("ParamScale: 0.5 ~ 2.0\n");
- LOG("ParamIndex: 57 -> TSX Process Discard\n");
- LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
- LOG("ParamIndex: 58 -> TSX Height Discard\n");
- LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
- LOG("ParamIndex: 59 -> TSX Frnt Ctrl\n");
- LOG("ParamScale: 0.5 ~ 2.0\n");
- LOG("ParamIndex: 60 -> TSX Srnd Ctrl\n");
- LOG("ParamScale: 0.5 ~ 2.0\n");
- LOG("ParamIndex: 61 -> VX DC Enable\n");
- LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
- LOG("ParamIndex: 62 -> VX DC Control\n");
- LOG("ParamScale: 0.5 ~ 2.0\n");
- LOG("ParamIndex: 63 -> VX DEF Enable\n");
- LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
- LOG("ParamIndex: 64 -> VX DEF Control\n");
- LOG("ParamScale: 0.5 ~ 2.0\n");
- LOG("ParamIndex: 65 -> Loudness Control Enable\n");
- LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
- LOG("ParamIndex: 66 -> Loudness Control Target Loudness\n");
- LOG("ParamValue: -40 ~ 0\n");
- LOG("ParamIndex: 67 -> Loudness Control Preset\n");
- LOG("ParamValue: 0 -> light 1 -> mid 2 -> Aggresive \n");
- LOG("ParamIndex: 69 -> tbhd app spksize\n");
- LOG("ParamValue 40 ~ 600 \n");
- LOG("ParamIndex: 70 -> tbhd app hpratio\n");
- LOG("ParamScale 0 ~ 1.0\n");
- LOG("ParamIndex: 71 -> tbhd app extbass\n");
- LOG("ParamScale 0 ~ 1.0\n");
- LOG("ParamIndex: 72 -> mbhl frt lowcross\n");
- LOG("ParamScale 40 ~ 8000\n");
- LOG("ParamIndex: 73 -> mbhl frt midcross\n");
- LOG("ParamScale 40 ~ 8000\n");
- LOG("****************************************************************************\n\n");
-
- LOG("**********************************DBX***********************************\n");
- LOG("EffectIndex: 7\n");
- LOG("ParamIndex: 0 -> Enable\n");
- LOG("ParamValue: 0 -> Disable 1 -> Enable\n");
- LOG("ParamIndex: 1 -> Choose mode(son_mode--vol_mode--sur_mode)\n");
- LOG("ParamValue: son_mode 0-4 vol_mode 0-2 sur_mode 0-2\n");
- LOG("****************************************************************************\n\n");
-
- if (argc != 4 && argc != 12 && argc != 8 && argc != 6) {
- LOG("Usage: %s <EffectIndex> <ParamIndex> <ParamValue/ParamScale/gParamBand>\n", argv[0]);
- return -1;
- } else {
- LOG("start...\n");
+
+ if (argc < 4) {
+ if (argc == 1) {
+ LOG("********************Audio Effect Tuning Tool help*****************************\n");
+ LOG("Choice an audio effect to get detail help!\n");
+ LOG("EffectIndex: 0: Amlogic BALANCE\n");
+ LOG(" 1: DTS SRS\n");
+ LOG(" 2: Amlogic TREBLEBASS\n");
+ LOG(" 3: Amlogic HPEQ\n");
+ LOG(" 4: Amlogic AVL\n");
+ LOG(" 5: Amlogic GEQ\n");
+ LOG(" 6: DTS VIRTUALX\n");
+ LOG(" 7: DBX-TV DBX\n");
+ LOG("Usage: %s <EffectIndex>\n", argv[0]);
+ LOG("******************************************************************************\n");
+ return 0;
+ }
sscanf(argv[1], "%d", &gEffectIndex);
- sscanf(argv[2], "%d", &gParamIndex);
- if (gEffectIndex == 1 && (gParamIndex == 7 || gParamIndex == 9 || gParamIndex == 11 || (gParamIndex >= 13 && gParamIndex <= 16)))
+ PrintHelp(gEffectIndex, argv[0]);
+ return 0;
+ }
+
+ LOG("start...\n");
+ sscanf(argv[1], "%d", &gEffectIndex);
+ sscanf(argv[2], "%d", &gParamIndex);
+
+ switch (gEffectIndex) {
+ case EFFECT_BALANCE:
+ //------------get Balance parameters---------------------------------------
+ sscanf(argv[3], "%d", &gParamValue);
+ LOG("EffectIndex:%d, ParamIndex:%d, Paramvalue:%d\n", gEffectIndex, gParamIndex, gParamValue);
+ break;
+ case EFFECT_SRS:
+ //------------get TruSurround parameters-----------------------------------
+ if (gParamIndex == SRS_PARAM_TRUEBASS_GAIN
+ || gParamIndex == SRS_PARAM_DIALOGCLARTY_GAIN
+ || gParamIndex == SRS_PARAM_DEFINITION_GAIN
+ || (gParamIndex >= SRS_PARAM_SURROUND_GAIN
+ && gParamIndex <= SRS_PARAM_OUTPUT_GAIN_COMP)) {
sscanf(argv[3], "%f", &gParamScale);
- else if (gEffectIndex == 3 && gParamIndex == 2) {
- sscanf(argv[3], "%d", &gParamBand[0]);
- sscanf(argv[4], "%d", &gParamBand[1]);
- sscanf(argv[5], "%d", &gParamBand[2]);
- sscanf(argv[6], "%d", &gParamBand[3]);
- sscanf(argv[7], "%d", &gParamBand[4]);
- } else if (gEffectIndex == 5 && gParamIndex == 2) {
- sscanf(argv[3], "%d", &gParamBands[0]);
- sscanf(argv[4], "%d", &gParamBands[1]);
- sscanf(argv[5], "%d", &gParamBands[2]);
- sscanf(argv[6], "%d", &gParamBands[3]);
- sscanf(argv[7], "%d", &gParamBands[4]);
- sscanf(argv[8], "%d", &gParamBands[5]);
- sscanf(argv[9], "%d", &gParamBands[6]);
- sscanf(argv[10], "%d", &gParamBands[7]);
- sscanf(argv[11], "%d", &gParamBands[8]);
- } else if ((gEffectIndex == 6) && ((gParamIndex >= 4 && gParamIndex <= 6) || gParamIndex == 9 || (gParamIndex >= 16 && gParamIndex <= 18)
- ||(gParamIndex >= 20 && gParamIndex <= 22) || (gParamIndex >= 24 && gParamIndex <= 30) || gParamIndex == 38 || gParamIndex == 41
- || gParamIndex == 47 || gParamIndex == 48 || gParamIndex == 53 || gParamIndex == 54 || gParamIndex == 56 || gParamIndex == 59 ||
- gParamIndex == 60 || gParamIndex == 62 || gParamIndex == 64) || (gParamIndex >= 70 && gParamIndex <= 73)) {
+ LOG("EffectIndex:%d, ParamIndex:%d, ParamScale:%f\n", gEffectIndex, gParamIndex, gParamScale);
+ } else {
+ sscanf(argv[3], "%d", &gParamValue);
+ LOG("EffectIndex:%d, ParamIndex:%d, Paramvalue:%d\n", gEffectIndex, gParamIndex, gParamValue);
+ }
+ break;
+ case EFFECT_TREBLEBASS:
+ //------------get TrebleBass parameters------------------------------------
+ sscanf(argv[3], "%d", &gParamValue);
+ LOG("EffectIndex:%d, ParamIndex:%d, Paramvalue:%d\n", gEffectIndex, gParamIndex, gParamValue);
+ break;
+ case EFFECT_HPEQ:
+ //------------get HPEQ parameters------------------------------------------
+ if (gParamIndex == HPEQ_PARAM_EFFECT_CUSTOM) {
+ for (int i = 0; i < 5; i++) {
+ int ParamBand = 0;
+ sscanf(argv[i + 3], "%d", &ParamBand);
+ gParamBand[i] = (char)ParamBand;
+ LOG("EffectIndex:%d, ParamIndex:%d, ParamBand:%d\n", gEffectIndex, gParamIndex, gParamBand[i]);
+ }
+ } else {
+ sscanf(argv[3], "%d", &gParamValue);
+ LOG("EffectIndex:%d, ParamIndex:%d, Paramvalue:%d\n", gEffectIndex, gParamIndex, gParamValue);
+ }
+ break;
+ case EFFECT_GEQ:
+ //------------get GEQ parameters------------------------------------------
+ if (gParamIndex == GEQ_PARAM_EFFECT_CUSTOM) {
+ for (int i = 0; i < 9; i++) {
+ int ParamBand = 0;
+ sscanf(argv[i + 3], "%d", &ParamBand);
+ gParamBand[i] = (char)ParamBand;
+ LOG("EffectIndex:%d, ParamIndex:%d, ParamBand:%d\n", gEffectIndex, gParamIndex, (int)gParamBands[i]);
+ }
+ } else {
+ sscanf(argv[3], "%d", &gParamValue);
+ LOG("EffectIndex:%d, ParamIndex:%d, Paramvalue:%d\n", gEffectIndex, gParamIndex, gParamValue);
+ }
+ break;
+ case EFFECT_AVL:
+ //------------get Avl parameters-------------------------------------------
+ sscanf(argv[3], "%d", &gParamValue);
+ LOG("EffectIndex:%d, ParamIndex:%d, Paramvalue:%d\n", gEffectIndex, gParamIndex, gParamValue);
+ break;
+ case EFFECT_VIRTUALX:
+ //------------get Virtualx parameters--------------------------------------
+ if ((gParamIndex >= DTS_PARAM_MBHL_BYPASS_GAIN_I32 && gParamIndex <= DTS_PARAM_MBHL_VOLUME_I32)
+ || gParamIndex == DTS_PARAM_MBHL_OUTPUT_GAIN_I32
+ || (gParamIndex >= DTS_PARAM_MBHL_COMP_LOW_RATIO_I32 && gParamIndex <= DTS_PARAM_MBHL_COMP_LOW_MAKEUP_I32)
+ || (gParamIndex >= DTS_PARAM_MBHL_COMP_MID_RATIO_I32 && gParamIndex <= DTS_PARAM_MBHL_COMP_MID_MAKEUP_I32)
+ || (gParamIndex >= DTS_PARAM_MBHL_COMP_HIGH_RATIO_I32 && gParamIndex <= DTS_PARAM_MBHL_FAST_ATTACK_I32)
+ || gParamIndex == DTS_PARAM_MBHL_APP_FRT_LOWCROSS_F32 || gParamIndex == DTS_PARAM_MBHL_APP_FRT_MIDCROSS_F32
+ || gParamIndex == DTS_PARAM_TBHDX_MAXGAIN_I32
+ || gParamIndex == DTS_PARAM_TBHDX_TEMP_GAIN_I32 || gParamIndex == DTS_PARAM_VX_HEADROOM_GAIN_I32
+ || gParamIndex == DTS_PARAM_TBHDX_APP_HPRATIO_F32 || gParamIndex == DTS_PARAM_TBHDX_APP_EXTBASS_F32
+ || gParamIndex == DTS_PARAM_VX_PROC_OUTPUT_GAIN_I32 || gParamIndex == DTS_PARAM_TSX_LPR_GAIN_I32
+ || gParamIndex == DTS_PARAM_TSX_CENTER_GAIN_I32 || gParamIndex == DTS_PARAM_TSX_HEIGHTMIX_COEFF_I32
+ || gParamIndex == DTS_PARAM_TSX_FRNT_CTRL_I32 || gParamIndex == DTS_PARAM_TSX_SRND_CTRL_I32
+ || gParamIndex == DTS_PARAM_VX_DC_CONTROL_I32 || gParamIndex == DTS_PARAM_VX_DEF_CONTROL_I32) {
sscanf(argv[3], "%f", &gParamScale);
- } else if (gEffectIndex == 7 && gParamIndex == 1) {
- sscanf(argv[3], "%d", &gmode[0]);
- sscanf(argv[4], "%d", &gmode[1]);
- sscanf(argv[5], "%d", &gmode[2]);
- } else
+ LOG("EffectIndex:%d, ParamIndex:%d, ParamScale:%f\n", gEffectIndex, gParamIndex, gParamScale);
+ } else if (gParamIndex == AUDIO_DTS_PARAM_TYPE_TRU_SURROUND || gParamIndex == AUDIO_DTS_PARAM_TYPE_CC3D ||
+ gParamIndex == AUDIO_DTS_PARAM_TYPE_TRU_DIALOG) {
+ for (int i = 0; i < 8; i++) {
+ sscanf(argv[i + 3], "%f", &grange[i]);
+ LOG("EffectIndex:%d, ParamIndex:%d, grange:%f\n", gEffectIndex, gParamIndex, grange[i]);
+ }
+ } else if (gParamIndex == AUDIO_DTS_PARAM_TYPE_TRU_BASS) {
+ for (int i = 0; i < 10; i++) {
+ sscanf(argv[i + 3], "%f", &grange[i]);
+ LOG("EffectIndex:%d, ParamIndex:%d, grange:%f\n", gEffectIndex, gParamIndex, grange[i]);
+ }
+ } else if (gParamIndex == AUDIO_DTS_PARAM_TYPE_DEFINATION) {
+ for (int i = 0; i < 6; i++) {
+ sscanf(argv[i + 3], "%f", &grange[i]);
+ LOG("EffectIndex:%d, ParamIndex:%d, grange:%f\n", gEffectIndex, gParamIndex, grange[i]);
+ }
+ } else if (gParamIndex == AUDIO_DTS_PARAM_TYPE_TRU_VOLUME) {
+ for (int i = 0; i < 3; i++) {
+ sscanf(argv[i + 3], "%f", &grange[i]);
+ LOG("EffectIndex:%d, ParamIndex:%d, grange:%f\n", gEffectIndex, gParamIndex, grange[i]);
+ }
+ } else {
sscanf(argv[3], "%d", &gParamValue);
- }
- if (gEffectIndex >= (int)(sizeof(gEffectStr)/sizeof(gEffectStr[0]))) {
- LOG("Effect is not exist\n");
+ LOG("EffectIndex:%d, ParamIndex:%d, Paramvalue:%d\n", gEffectIndex, gParamIndex, gParamValue);
+ }
+ break;
+ case EFFECT_DBX:
+ //------------get DBX parameters-------------------------------------------
+ if (gParamIndex == DBX_SET_MODE) {
+ for (int i = 0; i < 3; i++) {
+ int mode = 0;
+ sscanf(argv[i + 3], "%d", &mode);
+ gmode[i] = (char)mode;
+ LOG("EffectIndex:%d, ParamIndex:%d, ParamMode:%d\n", gEffectIndex, gParamIndex, (int)gmode[i]);
+ }
+ } else {
+ sscanf(argv[3], "%d", &gParamValue);
+ LOG("EffectIndex:%d, ParamIndex:%d, Paramvalue:%d\n", gEffectIndex, gParamIndex, gParamValue);
+ }
+ break;
+ default:
+ LOG("EffectIndex = %d is invalid\n", gEffectIndex);
return -1;
}
- if (gEffectIndex == 1 && (gParamIndex == 7 || gParamIndex == 9 || gParamIndex == 11 || (gParamIndex >= 13 && gParamIndex <= 16)))
- LOG("EffectIndex:%d, ParamIndex:%d, ParamScale:%f\n", gEffectIndex, gParamIndex, gParamScale);
- else if (gEffectIndex == 3 && gParamIndex == 2) {
- for (int i = 0; i < 5; i++)
- LOG("EffectIndex:%d, ParamIndex:%d, ParamBand:%d\n", gEffectIndex, gParamIndex, gParamBand[i]);
- } else if (gEffectIndex == 5 && gParamIndex == 2) {
- for (int i = 0; i < 9; i++)
- LOG("EffectIndex:%d, ParamIndex:%d, ParamBand:%d\n", gEffectIndex, gParamIndex, gParamBands[i]);
- } else if (gEffectIndex == 6 && ((gParamIndex >= 4 && gParamIndex <= 6) || gParamIndex == 9 || (gParamIndex >= 16 && gParamIndex <= 18)
- ||(gParamIndex >= 20 && gParamIndex <= 22) || (gParamIndex >= 24 && gParamIndex <= 30) || gParamIndex == 38 || gParamIndex == 41
- || gParamIndex == 47 || gParamIndex == 48 || gParamIndex == 53 || gParamIndex == 54 || gParamIndex == 56 || gParamIndex == 59 ||
- gParamIndex == 60 || gParamIndex == 62 || gParamIndex == 64) || (gParamIndex >= 70 && gParamIndex <= 73) )
- LOG("EffectIndex:%d, ParamIndex:%d, ParamScale:%f\n", gEffectIndex, gParamIndex, gParamScale);
- else if (gEffectIndex == 7 && gParamIndex == 1) {
- for (int i = 0; i < 3; i++)
- LOG("EffectIndex:%d, ParamIndex:%d, ParamMode:%d\n", gEffectIndex, gParamIndex, gmode[i]);
- } else
- LOG("EffectIndex:%d, ParamIndex:%d, Paramvalue:%d\n", gEffectIndex, gParamIndex, gParamValue);
while (1) {
switch (gEffectIndex) {
case EFFECT_BALANCE:
@@ -2135,7 +2324,7 @@ int main(int argc,char **argv)
goto Error;
}
//------------set HPEQ parameters------------------------------------------
- if (HPEQ_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamBand) < 0)
+ if (HPEQ_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue, gParamBand) < 0)
LOG("HPEQ Test failed\n");
break;
case EFFECT_GEQ:
@@ -2165,7 +2354,7 @@ int main(int argc,char **argv)
goto Error;
}
//------------set Virtualx parameters-------------------------------------------
- if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale,grange) < 0)
LOG("Virtualx Test failed\n");
break;
case EFFECT_DBX:
@@ -2175,59 +2364,150 @@ int main(int argc,char **argv)
goto Error;
}
//------------set DBX parameters------------------------------------------------
- if (DBX_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gmode) < 0)
+ if (DBX_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue, gmode) < 0)
LOG("DBX Test failed\n");
break;
default:
- LOG("EffectIndex = %d invalid\n", gEffectIndex);
break;
}
+Retry_input:
LOG("Please enter param: <27> to Exit\n");
LOG("Please enter param: <EffectIndex> <ParamIndex> <ParamValue/ParamScale>\n");
- scanf("%d", &gEffectIndex);
+
+ /*sleep 500ms to wait new input*/
+ usleep(500*1000);
+
+ if (GetIntData(&gEffectIndex) < 0)
+ goto Retry_input;
+
if (gEffectIndex == 27) {
LOG("Exit...\n");
break;
}
- scanf("%d", &gParamIndex);
- if (gEffectIndex == 1 && (gParamIndex == 7 || gParamIndex == 9 || gParamIndex == 11 || (gParamIndex >= 13 && gParamIndex <= 16)))
- scanf("%f", &gParamScale);
- else if (gEffectIndex == 3 && gParamIndex == 2) {
- scanf("%d %d %d %d %d",&gParamBand[0],&gParamBand[1],&gParamBand[2],&gParamBand[3],&gParamBand[4]);
- } else if (gEffectIndex == 5 && gParamIndex == 2) {
- scanf("%d %d %d %d %d %d %d %d %d",&gParamBands[0],&gParamBands[1],&gParamBands[2],&gParamBands[3],&gParamBands[4],
- &gParamBands[5],&gParamBands[6],&gParamBands[7],&gParamBands[8]);
- } else if (gEffectIndex == 6 && ((gParamIndex >= 4 && gParamIndex <= 6) || gParamIndex == 9 || (gParamIndex >= 16 && gParamIndex <= 18)
- ||(gParamIndex >= 20 && gParamIndex <= 22) || (gParamIndex >= 24 && gParamIndex <= 30) || gParamIndex == 38 || gParamIndex == 41
- || gParamIndex == 47 || gParamIndex == 48 || gParamIndex == 53 || gParamIndex == 54 || gParamIndex == 56 || gParamIndex == 59 ||
- gParamIndex == 60 || gParamIndex == 62 || gParamIndex == 64) || (gParamIndex >= 70 && gParamIndex <= 73)) {
- scanf("%f", &gParamScale);
- } else if (gEffectIndex == 7 && gParamIndex == 1) {
- scanf("%d %d %d",&gmode[0],&gmode[1],&gmode[2]);
- } else
- scanf("%d", &gParamValue);
- if (gEffectIndex >= (int)(sizeof(gEffectStr)/sizeof(gEffectStr[0]))) {
- LOG("Effect is not exist\n");
- goto Error;
- }
- if (gEffectIndex == 1 && (gParamIndex == 7 || gParamIndex == 9 || gParamIndex == 11 || (gParamIndex >= 13 && gParamIndex <= 16)))
- LOG("EffectIndex:%d, ParamIndex:%d, ParamScale:%f\n", gEffectIndex, gParamIndex, gParamScale);
- else if (gEffectIndex == 6 && ((gParamIndex >= 4 && gParamIndex <= 6) || gParamIndex == 9 || (gParamIndex >= 16 && gParamIndex <= 18)
- ||(gParamIndex >= 20 && gParamIndex <= 22) || (gParamIndex >= 24 && gParamIndex <= 30) || gParamIndex == 38 || gParamIndex == 41
- || gParamIndex == 47 || gParamIndex == 48 || gParamIndex == 53 || gParamIndex == 54 || gParamIndex == 56 || gParamIndex == 59 ||
- gParamIndex == 60 || gParamIndex == 62 || gParamIndex == 64) || (gParamIndex >= 70 && gParamIndex <= 73)) {
- LOG("EffectIndex:%d, ParamIndex:%d, ParamScale:%f\n", gEffectIndex, gParamIndex, gParamScale);
+
+ if (GetIntData(&gParamIndex) < 0)
+ goto Retry_input;
+
+ switch (gEffectIndex) {
+ case EFFECT_BALANCE:
+ //------------get Balance parameters---------------------------------------
+ if (GetIntData(&gParamValue) < 0)
+ goto Retry_input;
+ LOG("EffectIndex:%d, ParamIndex:%d, Paramvalue:%d\n", gEffectIndex, gParamIndex, gParamValue);
+ break;
+ case EFFECT_SRS:
+ //------------get TruSurround parameters-----------------------------------
+ if (gParamIndex == SRS_PARAM_TRUEBASS_GAIN
+ || gParamIndex == SRS_PARAM_DIALOGCLARTY_GAIN
+ || gParamIndex == SRS_PARAM_DEFINITION_GAIN
+ || (gParamIndex >= SRS_PARAM_SURROUND_GAIN
+ && gParamIndex <= SRS_PARAM_OUTPUT_GAIN_COMP)) {
+ if (GetFloatData(&gParamScale) < 0)
+ goto Retry_input;
+ LOG("EffectIndex:%d, ParamIndex:%d, ParamScale:%f\n", gEffectIndex, gParamIndex, gParamScale);
+ } else {
+ if (GetIntData(&gParamValue) < 0)
+ goto Retry_input;
+ LOG("EffectIndex:%d, ParamIndex:%d, Paramvalue:%d\n", gEffectIndex, gParamIndex, gParamValue);
}
- else
- LOG("EffectIndex:%d, ParamIndex:%d, ParamValue:%d\n", gEffectIndex, gParamIndex, gParamValue);
+ break;
+ case EFFECT_TREBLEBASS:
+ //------------get TrebleBass parameters------------------------------------
+ if (GetIntData(&gParamValue) < 0)
+ goto Retry_input;
+ LOG("EffectIndex:%d, ParamIndex:%d, Paramvalue:%d\n", gEffectIndex, gParamIndex, gParamValue);
+ break;
+ case EFFECT_HPEQ:
+ //------------get HPEQ parameters------------------------------------------
+ if (gParamIndex == HPEQ_PARAM_EFFECT_CUSTOM) {
+ for (int i = 0; i < 5; i++) {
+ int ParamBand = 0;
+ if (GetIntData(&ParamBand) < 0)
+ goto Retry_input;
+ gParamBand[i] = (char)ParamBand;
+ LOG("EffectIndex:%d, ParamIndex:%d, ParamBand:%d\n", gEffectIndex, gParamIndex, (int)gParamBand[i]);
+ }
+ } else {
+ if (GetIntData(&gParamValue) < 0)
+ goto Retry_input;
+ LOG("EffectIndex:%d, ParamIndex:%d, Paramvalue:%d\n", gEffectIndex, gParamIndex, gParamValue);
+ }
+ break;
+ case EFFECT_GEQ:
+ //------------get GEQ parameters------------------------------------------
+ if (gParamIndex == GEQ_PARAM_EFFECT_CUSTOM) {
+ for (int i = 0; i < 9; i++) {
+ int ParamBand = 0;
+ if (GetIntData(&ParamBand) < 0)
+ goto Retry_input;
+ gParamBand[i] = (char)ParamBand;
+ LOG("EffectIndex:%d, ParamIndex:%d, ParamBand:%d\n", gEffectIndex, gParamIndex, (int)gParamBands[i]);
+ }
+ } else {
+ if (GetIntData(&gParamValue) < 0)
+ goto Retry_input;
+ LOG("EffectIndex:%d, ParamIndex:%d, Paramvalue:%d\n", gEffectIndex, gParamIndex, gParamValue);
+ }
+ break;
+ case EFFECT_AVL:
+ //------------get Avl parameters-------------------------------------------
+ if (GetIntData(&gParamValue) < 0)
+ goto Retry_input;
+ LOG("EffectIndex:%d, ParamIndex:%d, Paramvalue:%d\n", gEffectIndex, gParamIndex, gParamValue);
+ break;
+ case EFFECT_VIRTUALX:
+ //------------get Virtualx parameters--------------------------------------
+ if ((gParamIndex >= DTS_PARAM_MBHL_BYPASS_GAIN_I32 && gParamIndex <= DTS_PARAM_MBHL_VOLUME_I32)
+ || gParamIndex == DTS_PARAM_MBHL_OUTPUT_GAIN_I32
+ || (gParamIndex >= DTS_PARAM_MBHL_COMP_LOW_RATIO_I32 && gParamIndex <= DTS_PARAM_MBHL_COMP_LOW_MAKEUP_I32)
+ || (gParamIndex >= DTS_PARAM_MBHL_COMP_MID_RATIO_I32 && gParamIndex <= DTS_PARAM_MBHL_COMP_MID_MAKEUP_I32)
+ || (gParamIndex >= DTS_PARAM_MBHL_COMP_HIGH_RATIO_I32 && gParamIndex <= DTS_PARAM_MBHL_FAST_ATTACK_I32)
+ || gParamIndex == DTS_PARAM_MBHL_APP_FRT_LOWCROSS_F32 || gParamIndex == DTS_PARAM_MBHL_APP_FRT_MIDCROSS_F32
+ || gParamIndex == DTS_PARAM_TBHDX_MAXGAIN_I32
+ || gParamIndex == DTS_PARAM_TBHDX_TEMP_GAIN_I32 || gParamIndex == DTS_PARAM_VX_HEADROOM_GAIN_I32
+ || gParamIndex == DTS_PARAM_TBHDX_APP_HPRATIO_F32 || gParamIndex == DTS_PARAM_TBHDX_APP_EXTBASS_F32
+ || gParamIndex == DTS_PARAM_VX_PROC_OUTPUT_GAIN_I32 || gParamIndex == DTS_PARAM_TSX_LPR_GAIN_I32
+ || gParamIndex == DTS_PARAM_TSX_CENTER_GAIN_I32 || gParamIndex == DTS_PARAM_TSX_HEIGHTMIX_COEFF_I32
+ || gParamIndex == DTS_PARAM_TSX_FRNT_CTRL_I32 || gParamIndex == DTS_PARAM_TSX_SRND_CTRL_I32
+ || gParamIndex == DTS_PARAM_VX_DC_CONTROL_I32 || gParamIndex == DTS_PARAM_VX_DEF_CONTROL_I32) {
+ if (GetFloatData(&gParamScale) < 0)
+ goto Retry_input;
+ LOG("EffectIndex:%d, ParamIndex:%d, ParamScale:%f\n", gEffectIndex, gParamIndex, gParamScale);
+ } else {
+ if (GetIntData(&gParamValue) < 0)
+ goto Retry_input;
+ LOG("EffectIndex:%d, ParamIndex:%d, Paramvalue:%d\n", gEffectIndex, gParamIndex, gParamValue);
+ }
+ break;
+ case EFFECT_DBX:
+ //------------get DBX parameters-------------------------------------------
+ if (gParamIndex == DBX_SET_MODE) {
+ for (int i = 0; i < 3; i++) {
+ int mode = 0;
+ if (GetIntData(&mode) < 0)
+ goto Retry_input;
+ gmode[i] = (signed char)mode;
+ LOG("EffectIndex:%d, ParamIndex:%d, ParamMode:%d\n", gEffectIndex, gParamIndex, (int)gmode[i]);
+ }
+ } else {
+ if (GetIntData(&gParamValue) < 0)
+ goto Retry_input;
+ LOG("EffectIndex:%d, ParamIndex:%d, Paramvalue:%d\n", gEffectIndex, gParamIndex, gParamValue);
+ }
+ break;
+ default:
+ LOG("EffectIndex = %d is invalid\n", gEffectIndex);
+ break;
+ }
}
ret = 0;
Error:
for (i = 0; i < EFFECT_MAX; i++) {
if (gAudioEffect[i] != NULL) {
- delete gAudioEffect[i];
+ //delete gAudioEffect[i];
+ gAudioEffect[i]->setEnabled(false);
gAudioEffect[i] = NULL;
}
}
diff --git a/libaudioeffect/effects_tool/main2.cpp b/libaudioeffect/effects_tool/main2.cpp
new file mode 100644
index 0000000..afaafa1
--- a/dev/null
+++ b/libaudioeffect/effects_tool/main2.cpp
@@ -0,0 +1,2012 @@
+/*
+ * Copyright (C) 2018 Amlogic Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * DESCRIPTION:
+ * This file implements a special EQ from Amlogic.
+ *
+ */
+
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/poll.h>
+#include <sys/ioctl.h>
+#include <fcntl.h>
+#include <stdlib.h>
+#include <string.h>
+//#include <syslog.h>
+#include <utils/Log.h>
+#include <errno.h>
+#include <media/AudioEffect.h>
+#include <media/AudioSystem.h>
+#include <media/AudioParameter.h>
+#include <string.h>
+
+
+#ifdef LOG
+#undef LOG
+#endif
+#define LOG(x...) printf("[AudioEffect] " x)
+#define LSR (1)
+
+using namespace android;
+
+//-------UUID------------------------------------------
+typedef enum {
+ EFFECT_BALANCE = 0,
+ EFFECT_SRS,
+ EFFECT_TREBLEBASS,
+ EFFECT_HPEQ,
+ EFFECT_AVL,
+ EFFECT_GEQ,
+ EFFECT_VIRTUALX,
+ EFFECT_MAX,
+} EFFECT_params;
+
+effect_uuid_t gEffectStr[] = {
+ {0x6f33b3a0, 0x578e, 0x11e5, 0x892f, {0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b}}, // 0:Balance
+ {0x8a857720, 0x0209, 0x11e2, 0xa9d8, {0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b}}, // 1:TruSurround
+ {0x76733af0, 0x2889, 0x11e2, 0x81c1, {0x08, 0x00, 0x20, 0x0c, 0x9a, 0x66}}, // 2:TrebleBass
+ {0x049754aa, 0xc4cf, 0x439f, 0x897e, {0x37, 0xdd, 0x0c, 0x38, 0x11, 0x20}}, // 3:Hpeq
+ {0x08246a2a, 0xb2d3, 0x4621, 0xb804, {0x42, 0xc9, 0xb4, 0x78, 0xeb, 0x9d}}, // 4:Avl
+ {0x2e2a5fa6, 0xcae8, 0x45f5, 0xbb70, {0xa2, 0x9c, 0x1f, 0x30, 0x74, 0xb2}}, // 5:Geq
+ {0x61821587, 0xce3c, 0x4aac, 0x9122, {0x86, 0xd8, 0x74, 0xea, 0x1f, 0xb1}}, // 6:Virtualx
+};
+
+//-------------Virtualx parameter--------------------------
+typedef struct Virtualx_param_s {
+ effect_param_t param;
+ uint32_t command;
+ union {
+ int32_t v;
+ float f;
+ };
+} Virtualx_param_t;
+typedef enum {
+ /*Tuning interface*/
+ DTS_PARAM_MBHL_ENABLE_I32 = 0,
+ DTS_PARAM_MBHL_BYPASS_GAIN_I32,
+ DTS_PARAM_MBHL_REFERENCE_LEVEL_I32,
+ DTS_PARAM_MBHL_VOLUME_I32,
+ DTS_PARAM_MBHL_VOLUME_STEP_I32,
+ DTS_PARAM_MBHL_BALANCE_STEP_I32,
+ DTS_PARAM_MBHL_OUTPUT_GAIN_I32,
+ DTS_PARAM_MBHL_MODE_I32,
+ DTS_PARAM_MBHL_PROCESS_DISCARD_I32,
+ DTS_PARAM_MBHL_CROSS_LOW_I32,
+ DTS_PARAM_MBHL_CROSS_MID_I32,
+ DTS_PARAM_MBHL_COMP_ATTACK_I32,
+ DTS_PARAM_MBHL_COMP_LOW_RELEASE_I32,
+ DTS_PARAM_MBHL_COMP_LOW_RATIO_I32,
+ DTS_PARAM_MBHL_COMP_LOW_THRESH_I32,
+ DTS_PARAM_MBHL_COMP_LOW_MAKEUP_I32,
+ DTS_PARAM_MBHL_COMP_MID_RELEASE_I32,
+ DTS_PARAM_MBHL_COMP_MID_RATIO_I32,
+ DTS_PARAM_MBHL_COMP_MID_THRESH_I32,
+ DTS_PARAM_MBHL_COMP_MID_MAKEUP_I32,
+ DTS_PARAM_MBHL_COMP_HIGH_RELEASE_I32,
+ DTS_PARAM_MBHL_COMP_HIGH_RATIO_I32,
+ DTS_PARAM_MBHL_COMP_HIGH_THRESH_I32,
+ DTS_PARAM_MBHL_COMP_HIGH_MAKEUP_I32,
+ DTS_PARAM_MBHL_BOOST_I32,
+ DTS_PARAM_MBHL_THRESHOLD_I32,
+ DTS_PARAM_MBHL_SLOW_OFFSET_I32,
+ DTS_PARAM_MBHL_FAST_ATTACK_I32,
+ DTS_PARAM_MBHL_FAST_RELEASE_I32,
+ DTS_PARAM_MBHL_SLOW_ATTACK_I32,
+ DTS_PARAM_MBHL_SLOW_RELEASE_I32,
+ DTS_PARAM_MBHL_DELAY_I32,
+ DTS_PARAM_MBHL_ENVELOPE_FREQUENCY_I32,
+ DTS_PARAM_MBHL_APP_FRT_LOWCROSS_F32,
+ DTS_PARAM_MBHL_APP_FRT_MIDCROSS_F32,
+ DTS_PARAM_TBHDX_ENABLE_I32,
+ DTS_PARAM_TBHDX_MONO_MODE_I32,
+ DTS_PARAM_TBHDX_MAXGAIN_I32,
+ DTS_PARAM_TBHDX_SPKSIZE_I32,
+ DTS_PARAM_TBHDX_HP_ENABLE_I32,
+ DTS_PARAM_TBHDX_TEMP_GAIN_I32,
+ DTS_PARAM_TBHDX_PROCESS_DISCARD_I32,
+ DTS_PARAM_TBHDX_HPORDER_I32,
+ DTS_PARAM_TBHDX_APP_SPKSIZE_I32,
+ DTS_PARAM_TBHDX_APP_HPRATIO_F32,
+ DTS_PARAM_TBHDX_APP_EXTBASS_F32,
+ DTS_PARAM_VX_ENABLE_I32,
+ DTS_PARAM_VX_INPUT_MODE_I32,
+ DTS_PARAM_VX_OUTPUT_MODE_I32,
+ DTS_PARAM_VX_HEADROOM_GAIN_I32,
+ DTS_PARAM_VX_PROC_OUTPUT_GAIN_I32,
+ DTS_PARAM_VX_REFERENCE_LEVEL_I32,
+ DTS_PARAM_TSX_ENABLE_I32,
+ DTS_PARAM_TSX_PASSIVEMATRIXUPMIX_ENABLE_I32,
+ DTS_PARAM_TSX_HEIGHT_UPMIX_ENABLE_I32,
+ DTS_PARAM_TSX_LPR_GAIN_I32,
+ DTS_PARAM_TSX_CENTER_GAIN_I32,
+ DTS_PARAM_TSX_HORIZ_VIR_EFF_CTRL_I32,
+ DTS_PARAM_TSX_HEIGHTMIX_COEFF_I32,
+ DTS_PARAM_TSX_PROCESS_DISCARD_I32,
+ DTS_PARAM_TSX_HEIGHT_DISCARD_I32,
+ DTS_PARAM_TSX_FRNT_CTRL_I32,
+ DTS_PARAM_TSX_SRND_CTRL_I32,
+ DTS_PARAM_VX_DC_ENABLE_I32,
+ DTS_PARAM_VX_DC_CONTROL_I32,
+ DTS_PARAM_VX_DEF_ENABLE_I32,
+ DTS_PARAM_VX_DEF_CONTROL_I32,
+ DTS_PARAM_LOUDNESS_CONTROL_ENABLE_I32,
+ DTS_PARAM_LOUDNESS_CONTROL_TARGET_LOUDNESS_I32,
+ DTS_PARAM_LOUDNESS_CONTROL_PRESET_I32,
+ DTS_PARAM_LOUDNESS_CONTROL_IO_MODE_I32,
+ /*UI interface*/
+ VIRTUALX_PARAM_ENABLE,
+ VIRTUALX_PARAM_DIALOGCLARTY_MODE,
+ VIRTUALX_PARAM_SURROUND_MODE,
+}Virtualx_params;
+
+Virtualx_param_t gVirtualxParam[] = {
+ {{0, 4, 4}, DTS_PARAM_MBHL_ENABLE_I32, {1}},
+ {{0, 4, 4}, DTS_PARAM_MBHL_BYPASS_GAIN_I32, {1}},
+ {{0, 4, 4}, DTS_PARAM_MBHL_REFERENCE_LEVEL_I32, {1}},
+ {{0, 4, 4}, DTS_PARAM_MBHL_VOLUME_I32, {1}},
+ {{0, 4, 4}, DTS_PARAM_MBHL_VOLUME_STEP_I32, {100}},
+ {{0, 4, 4}, DTS_PARAM_MBHL_BALANCE_STEP_I32, {0}},
+ {{0, 4, 4}, DTS_PARAM_MBHL_OUTPUT_GAIN_I32, {1}},
+ {{0, 4, 4}, DTS_PARAM_MBHL_MODE_I32, {0}},
+ {{0, 4, 4}, DTS_PARAM_MBHL_PROCESS_DISCARD_I32, {0}},
+ {{0, 4, 4}, DTS_PARAM_MBHL_CROSS_LOW_I32, {7}},
+ {{0, 4, 4}, DTS_PARAM_MBHL_CROSS_MID_I32, {15}},
+ {{0, 4, 4}, DTS_PARAM_MBHL_COMP_ATTACK_I32, {5}},
+ {{0, 4, 4}, DTS_PARAM_MBHL_COMP_LOW_RELEASE_I32, {250}},
+ {{0, 4, 4}, DTS_PARAM_MBHL_COMP_LOW_RATIO_I32, {4}},
+ {{0, 4, 4}, DTS_PARAM_MBHL_COMP_LOW_THRESH_I32, {0}},
+ {{0, 4, 4}, DTS_PARAM_MBHL_COMP_LOW_MAKEUP_I32, {1}},
+ {{0, 4, 4}, DTS_PARAM_MBHL_COMP_MID_RELEASE_I32, {250}},
+ {{0, 4, 4}, DTS_PARAM_MBHL_COMP_MID_RATIO_I32, {4}},
+ {{0, 4, 4}, DTS_PARAM_MBHL_COMP_MID_THRESH_I32, {0}},
+ {{0, 4, 4}, DTS_PARAM_MBHL_COMP_MID_MAKEUP_I32, {1}},
+ {{0, 4, 4}, DTS_PARAM_MBHL_COMP_HIGH_RELEASE_I32, {250}},
+ {{0, 4, 4}, DTS_PARAM_MBHL_COMP_HIGH_RATIO_I32, {4}},
+ {{0, 4, 4}, DTS_PARAM_MBHL_COMP_HIGH_THRESH_I32, {0}},
+ {{0, 4, 4}, DTS_PARAM_MBHL_COMP_HIGH_MAKEUP_I32, {1}},
+ {{0, 4, 4}, DTS_PARAM_MBHL_BOOST_I32, {1}},
+ {{0, 4, 4}, DTS_PARAM_MBHL_THRESHOLD_I32, {1}},
+ {{0, 4, 4}, DTS_PARAM_MBHL_SLOW_OFFSET_I32, {1}},
+ {{0, 4, 4}, DTS_PARAM_MBHL_FAST_ATTACK_I32, {5}},
+ {{0, 4, 4}, DTS_PARAM_MBHL_FAST_RELEASE_I32, {50}},
+ {{0, 4, 4}, DTS_PARAM_MBHL_SLOW_ATTACK_I32, {500}},
+ {{0, 4, 4}, DTS_PARAM_MBHL_SLOW_RELEASE_I32, {500}},
+ {{0, 4, 4}, DTS_PARAM_MBHL_DELAY_I32, {8}},
+ {{0, 4, 4}, DTS_PARAM_MBHL_ENVELOPE_FREQUENCY_I32, {20}},
+ {{0, 4, 4}, DTS_PARAM_MBHL_APP_FRT_LOWCROSS_F32,{0}},
+ {{0, 4, 4}, DTS_PARAM_MBHL_APP_FRT_MIDCROSS_F32,{0}},
+ {{0, 4, 4}, DTS_PARAM_TBHDX_ENABLE_I32, {0}},
+ {{0, 4, 4}, DTS_PARAM_TBHDX_MONO_MODE_I32, {0}},
+ {{0, 4, 4}, DTS_PARAM_TBHDX_MAXGAIN_I32, {0}},
+ {{0, 4, 4}, DTS_PARAM_TBHDX_SPKSIZE_I32, {2}},
+ {{0, 4, 4}, DTS_PARAM_TBHDX_HP_ENABLE_I32, {1}},
+ {{0, 4, 4}, DTS_PARAM_TBHDX_TEMP_GAIN_I32, {0}},
+ {{0, 4, 4}, DTS_PARAM_TBHDX_PROCESS_DISCARD_I32, {1}},
+ {{0, 4, 4}, DTS_PARAM_TBHDX_HPORDER_I32, {4}},
+ {{0, 4, 4}, DTS_PARAM_TBHDX_APP_SPKSIZE_I32,{0}},
+ {{0, 4, 4}, DTS_PARAM_TBHDX_APP_HPRATIO_F32,{0}},
+ {{0, 4, 4}, DTS_PARAM_TBHDX_APP_EXTBASS_F32,{0}},
+ {{0, 4, 4}, DTS_PARAM_VX_ENABLE_I32, {1}},
+ {{0, 4, 4}, DTS_PARAM_VX_INPUT_MODE_I32, {4}},
+ {{0, 4, 4}, DTS_PARAM_VX_OUTPUT_MODE_I32, {0}},
+ {{0, 4, 4}, DTS_PARAM_VX_HEADROOM_GAIN_I32, {1}},
+ {{0, 4, 4}, DTS_PARAM_VX_PROC_OUTPUT_GAIN_I32, {1}},
+ {{0, 4, 4}, DTS_PARAM_VX_REFERENCE_LEVEL_I32, {0}},
+ {{0, 4, 4}, DTS_PARAM_TSX_ENABLE_I32, {1}},
+ {{0, 4, 4}, DTS_PARAM_TSX_PASSIVEMATRIXUPMIX_ENABLE_I32, {1}},
+ {{0, 4, 4}, DTS_PARAM_TSX_HEIGHT_UPMIX_ENABLE_I32, {1}},
+ {{0, 4, 4}, DTS_PARAM_TSX_LPR_GAIN_I32, {1}},
+ {{0, 4, 4}, DTS_PARAM_TSX_CENTER_GAIN_I32, {1}},
+ {{0, 4, 4}, DTS_PARAM_TSX_HORIZ_VIR_EFF_CTRL_I32, {0}},
+ {{0, 4, 4}, DTS_PARAM_TSX_HEIGHTMIX_COEFF_I32, {1}},
+ {{0, 4, 4}, DTS_PARAM_TSX_PROCESS_DISCARD_I32, {0}},
+ {{0, 4, 4}, DTS_PARAM_TSX_HEIGHT_DISCARD_I32, {0}},
+ {{0, 4, 4}, DTS_PARAM_TSX_FRNT_CTRL_I32, {1}},
+ {{0, 4, 4}, DTS_PARAM_TSX_SRND_CTRL_I32, {1}},
+ {{0, 4, 4}, DTS_PARAM_VX_DC_ENABLE_I32, {0}},
+ {{0, 4, 4}, DTS_PARAM_VX_DC_CONTROL_I32, {0}},
+ {{0, 4, 4}, DTS_PARAM_VX_DEF_ENABLE_I32, {0}},
+ {{0, 4, 4}, DTS_PARAM_VX_DEF_CONTROL_I32, {0}},
+ {{0, 4, 4}, DTS_PARAM_LOUDNESS_CONTROL_ENABLE_I32, {1}},
+ {{0, 4, 4}, DTS_PARAM_LOUDNESS_CONTROL_TARGET_LOUDNESS_I32, {-24}},
+ {{0, 4, 4}, DTS_PARAM_LOUDNESS_CONTROL_PRESET_I32, {0}},
+ {{0, 4, 4}, DTS_PARAM_LOUDNESS_CONTROL_IO_MODE_I32,{0}},
+ {{0, 4, 4}, VIRTUALX_PARAM_ENABLE, {1}},
+ {{0, 4, 4}, VIRTUALX_PARAM_DIALOGCLARTY_MODE, {1}},
+ {{0, 4, 4}, VIRTUALX_PARAM_SURROUND_MODE, {1}},
+
+};
+const char *VXStatusstr[] = {"Disable", "Enable"};
+
+static int Virtualx_effect_func(AudioEffect* gAudioEffect, int gParamIndex, int gParamValue,float gParamScale)
+{
+ int rc = 0;
+ switch (gParamIndex) {
+ case VIRTUALX_PARAM_ENABLE:
+ if (gParamValue < 0 || gParamValue > 1) {
+ LOG("Vritualx: Status gParamValue = %d invalid\n", gParamValue);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].v = gParamValue;
+ if (!gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param))
+ LOG("=================successful\n");
+ else
+ LOG("=====================failed\n");
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("Virtualx: Status is %d -> %s\n", gParamValue, VXStatusstr[gVirtualxParam[gParamIndex].v]);
+ return 0;
+ case DTS_PARAM_MBHL_ENABLE_I32:
+ if (gParamValue < 0 || gParamValue > 1) {
+ LOG("Vritualx: MBHL ENABLE gParamValue = %d invalid\n", gParamValue);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].v = gParamValue;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("mbhl enable is %d \n",gVirtualxParam[gParamIndex].v);
+ return 0;
+ case DTS_PARAM_MBHL_BYPASS_GAIN_I32:
+ if (gParamScale < 0 || gParamScale > 1.0) {
+ LOG("Vritualx: mbhl bypass gain gParamValue = %f invalid\n", gParamScale);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].f = gParamScale;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("mbhl bypassgain is %f \n",gVirtualxParam[gParamIndex].f);
+ return 0;
+ case DTS_PARAM_MBHL_REFERENCE_LEVEL_I32:
+ if (gParamScale < 0.0009 || gParamScale > 1.0) {
+ LOG("Vritualx: mbhl reference level gParamValue = %f invalid\n", gParamScale);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].f = gParamScale;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("mbhl reference level is %f \n",gVirtualxParam[gParamIndex].f);
+ return 0;
+ case DTS_PARAM_MBHL_VOLUME_I32:
+ if (gParamScale < 0 || gParamScale > 1.0) {
+ LOG("Vritualx: mbhl volume gParamValue = %f invalid\n", gParamScale);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].f = gParamScale;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("mbhl volume is %f \n",gVirtualxParam[gParamIndex].f);
+ return 0;
+ case DTS_PARAM_MBHL_VOLUME_STEP_I32:
+ if (gParamValue < 0 || gParamValue > 100) {
+ LOG("Vritualx: mbhl volumestep gParamValue = %d invalid\n", gParamValue);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].v = gParamValue;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("mbhl volume step is %d \n",gVirtualxParam[gParamIndex].v);
+ return 0;
+ case DTS_PARAM_MBHL_BALANCE_STEP_I32:
+ if (gParamValue < -10 || gParamValue > 10) {
+ LOG("Vritualx: mbhl banlance step gParamValue = %d invalid\n", gParamValue);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].v = gParamValue;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("mbhl balance step is %d \n",gVirtualxParam[gParamIndex].v);
+ return 0;
+ case DTS_PARAM_MBHL_OUTPUT_GAIN_I32:
+ if (gParamScale < 0 || gParamScale > 1.0) {
+ LOG("Vritualx: mbhl output gain gParamValue = %f invalid\n", gParamScale);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].f = gParamScale;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ // gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("mbhl output gain is %f \n",gVirtualxParam[gParamIndex].f);
+ return 0;
+ case DTS_PARAM_MBHL_BOOST_I32:
+ if (gParamScale < 0.001 || gParamScale > 1000) {
+ LOG("Vritualx: mbhl boost gParamValue = %f invalid\n", gParamScale);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].f = gParamScale;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("mbhl boost is %f \n",gVirtualxParam[gParamIndex].f);
+ return 0;
+ case DTS_PARAM_MBHL_THRESHOLD_I32:
+ if (gParamScale < 0.064 || gParamScale > 1.0) {
+ LOG("Vritualx: mbhl threshold gParamValue = %f invalid\n", gParamScale);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].f = gParamScale;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("mbhl threshold is %f \n",gVirtualxParam[gParamIndex].f);
+ return 0;
+ case DTS_PARAM_MBHL_SLOW_OFFSET_I32:
+ if (gParamScale < 0.3170 || gParamScale > 3.1619) {
+ LOG("Vritualx: mbhl slow offset gParamValue = %f invalid\n", gParamScale);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].f = gParamScale;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("mbhl slow offset is %f \n",gVirtualxParam[gParamIndex].f);
+ return 0;
+ case DTS_PARAM_MBHL_FAST_ATTACK_I32:
+ if (gParamScale < 0 || gParamScale > 10) {
+ LOG("Vritualx: mbhl fast attack gParamValue = %f invalid\n", gParamScale);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].f = gParamScale;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("mbhl fast attack is %f \n",gVirtualxParam[gParamIndex].f);
+ return 0;
+ case DTS_PARAM_MBHL_FAST_RELEASE_I32:
+ if (gParamValue < 10 || gParamValue > 500) {
+ LOG("Vritualx: mbhl fast release gParamValue = %d invalid\n", gParamValue);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].v = gParamValue;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("mbhl fast release is %d \n",gVirtualxParam[gParamIndex].v);
+ return 0;
+ case DTS_PARAM_MBHL_SLOW_ATTACK_I32:
+ if (gParamValue < 100 || gParamValue > 1000) {
+ LOG("Vritualx: mbhl slow attack gParamValue = %d invalid\n", gParamValue);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].v = gParamValue;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("mbhl slow attack is %d \n",gVirtualxParam[gParamIndex].v);
+ return 0;
+ case DTS_PARAM_MBHL_SLOW_RELEASE_I32:
+ if (gParamValue < 100 || gParamValue > 2000) {
+ LOG("Vritualx: mbhl slow release gParamValue = %d invalid\n", gParamValue);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].v = gParamValue;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("mbhl slow release is %d \n",gVirtualxParam[gParamIndex].v);
+ return 0;
+ case DTS_PARAM_MBHL_DELAY_I32:
+ if (gParamValue < 1 || gParamValue > 16) {
+ LOG("Vritualx: mbhl delay gParamValue = %d invalid\n", gParamValue);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].v = gParamValue;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("mbhl delay is %d \n",gVirtualxParam[gParamIndex].v);
+ return 0;
+ case DTS_PARAM_MBHL_ENVELOPE_FREQUENCY_I32:
+ if (gParamValue < 5 || gParamValue > 500) {
+ LOG("Vritualx: mbhl envelope freq gParamValue = %d invalid\n", gParamValue);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].v = gParamValue;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("mbhl envelope freq is %d \n",gVirtualxParam[gParamIndex].v);
+ return 0;
+ case DTS_PARAM_MBHL_MODE_I32:
+ if (gParamValue < 0 || gParamValue > 4) {
+ LOG("Vritualx: mbhl mode gParamValue = %d invalid\n", gParamValue);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].v = gParamValue;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("mbhl mode is %d \n",gVirtualxParam[gParamIndex].v);
+ return 0;
+ case DTS_PARAM_MBHL_PROCESS_DISCARD_I32:
+ if (gParamValue < 0 || gParamValue > 1) {
+ LOG("Vritualx: mbhl process discard gParamValue = %d invalid\n", gParamValue);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].v = gParamValue;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("mbhl process discard is %d \n",gVirtualxParam[gParamIndex].v);
+ return 0;
+ case DTS_PARAM_MBHL_CROSS_LOW_I32:
+ if (gParamValue < 0 || gParamValue > 20) {
+ LOG("Vritualx: mbhl cross low gParamValue = %d invalid\n", gParamValue);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].v = gParamValue;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("mbhl cross low is %d \n",gVirtualxParam[gParamIndex].v);
+ return 0;
+ case DTS_PARAM_MBHL_CROSS_MID_I32:
+ if (gParamValue < 0 || gParamValue > 20) {
+ LOG("Vritualx: mbhl cross mid gParamValue = %d invalid\n", gParamValue);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].v = gParamValue;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("mbhl cross mid is %d \n",gVirtualxParam[gParamIndex].v);
+ return 0;
+ case DTS_PARAM_MBHL_COMP_ATTACK_I32:
+ if (gParamValue < 0 || gParamValue > 100) {
+ LOG("Vritualx: mbhl compressor attack time gParamValue = %d invalid\n", gParamValue);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].v = gParamValue;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("mbhl compressor attack time is %d \n",gVirtualxParam[gParamIndex].v);
+ return 0;
+ case DTS_PARAM_MBHL_COMP_LOW_RELEASE_I32:
+ if (gParamValue < 50 || gParamValue > 2000) {
+ LOG("Vritualx: mbhl compressor low release time gParamValue = %d invalid\n", gParamValue);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].v = gParamValue;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("mbhl compressor low release time is %d \n",gVirtualxParam[gParamIndex].v);
+ return 0;
+ case DTS_PARAM_MBHL_COMP_LOW_RATIO_I32:
+ if (gParamScale < 1.0 || gParamScale > 20.0) {
+ LOG("Vritualx: mbhl compressor low ratio gParamValue = %f invalid\n", gParamScale);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].f = gParamScale;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("mbhl compressor low ratio is %f \n",gVirtualxParam[gParamIndex].f);
+ return 0;
+ case DTS_PARAM_MBHL_COMP_LOW_THRESH_I32:
+ if (gParamScale < 0.0640 || gParamScale > 15.8479) {
+ LOG("Vritualx: mbhl compressor low threshold gParamValue = %f invalid\n", gParamScale);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].f = gParamScale;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("mbhl compressor low threshold is %f \n",gVirtualxParam[gParamIndex].f);
+ return 0;
+ case DTS_PARAM_MBHL_COMP_LOW_MAKEUP_I32:
+ if (gParamScale < 0.0640 || gParamScale > 15.8479) {
+ LOG("Vritualx: mbhl compressor low makeup gParamValue = %f invalid\n", gParamScale);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].f = gParamScale;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("mbhl compressor low makeup is %f \n",gVirtualxParam[gParamIndex].f);
+ return 0;
+ case DTS_PARAM_MBHL_COMP_MID_RELEASE_I32:
+ if (gParamValue < 50 || gParamValue > 2000) {
+ LOG("Vritualx: mbhl compressor mid release time gParamValue = %d invalid\n", gParamValue);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].v = gParamValue;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("mbhl compressor mid release time is %d \n",gVirtualxParam[gParamIndex].v);
+ return 0;
+ case DTS_PARAM_MBHL_COMP_MID_RATIO_I32:
+ if (gParamScale < 1.0 || gParamScale > 20.0) {
+ LOG("Vritualx: mbhl compressor mid ratio gParamValue = %f invalid\n", gParamScale);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].f = gParamScale;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("mbhl compressor mid ratio is %f \n",gVirtualxParam[gParamIndex].f);
+ return 0;
+ case DTS_PARAM_MBHL_COMP_MID_THRESH_I32:
+ if (gParamScale < 0.0640 || gParamScale > 15.8479) {
+ LOG("Vritualx: mbhl compressor mid threshold gParamValue = %f invalid\n", gParamScale);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].f = gParamScale;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("mbhl compressor mid threshold is %f \n",gVirtualxParam[gParamIndex].f);
+ return 0;
+ case DTS_PARAM_MBHL_COMP_MID_MAKEUP_I32:
+ if (gParamScale < 0.0640 || gParamScale > 15.8479) {
+ LOG("Vritualx: mbhl compressor mid makeup gParamValue = %f invalid\n", gParamScale);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].f = gParamScale;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("mbhl compressor mid makeup is %f \n",gVirtualxParam[gParamIndex].f);
+ return 0;
+ case DTS_PARAM_MBHL_COMP_HIGH_RELEASE_I32:
+ if (gParamValue < 50 || gParamValue > 2000) {
+ LOG("Vritualx: mbhl compressor high release time gParamValue = %d invalid\n", gParamValue);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].v = gParamValue;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("mbhl compressor high release time is %d \n",gVirtualxParam[gParamIndex].v);
+ return 0;
+ case DTS_PARAM_MBHL_COMP_HIGH_RATIO_I32:
+ if (gParamScale < 1.0 || gParamScale > 20.0) {
+ LOG("Vritualx: mbhl compressor high ratio gParamValue = %f invalid\n", gParamScale);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].f = gParamScale;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("mbhl compressor high ratio is %f \n",gVirtualxParam[gParamIndex].f);
+ return 0;
+ case DTS_PARAM_MBHL_COMP_HIGH_THRESH_I32:
+ if (gParamScale < 0.0640 || gParamScale > 15.8479) {
+ LOG("Vritualx: mbhl compressor high threshold gParamValue = %f invalid\n", gParamScale);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].f = gParamScale;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("mbhl compressor high threshold is %f \n",gVirtualxParam[gParamIndex].f);
+ return 0;
+ case DTS_PARAM_MBHL_COMP_HIGH_MAKEUP_I32:
+ if (gParamScale < 0.0640 || gParamScale > 15.8479) {
+ LOG("Vritualx: mbhl compressor high makeup gParamValue = %f invalid\n", gParamScale);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].f = gParamScale;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("mbhl compressor high makeup is %f \n",gVirtualxParam[gParamIndex].f);
+ return 0;
+ case DTS_PARAM_TBHDX_ENABLE_I32:
+ if (gParamValue < 0 || gParamValue > 1) {
+ LOG("Vritualx: tbhdx enable gParamValue = %d invalid\n", gParamValue);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].v = gParamValue;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("tbhdx enable is %d \n",gVirtualxParam[gParamIndex].v);
+ return 0;
+ case DTS_PARAM_TBHDX_MONO_MODE_I32:
+ if (gParamValue < 0 || gParamValue > 1) {
+ LOG("Vritualx: tbhdx mono mode gParamValue = %d invalid\n", gParamValue);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].v = gParamValue;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("tbhdx mono mode is %d \n",gVirtualxParam[gParamIndex].v);
+ return 0;
+ case DTS_PARAM_TBHDX_SPKSIZE_I32:
+ if (gParamValue < 0 || gParamValue > 12) {
+ LOG("Vritualx: tbhdx spksize gParamValue = %d invalid\n", gParamValue);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].v = gParamValue;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("tbhdx spksize is %d \n",gVirtualxParam[gParamIndex].v);
+ return 0;
+ case DTS_PARAM_TBHDX_TEMP_GAIN_I32:
+ if (gParamScale < 0.0 || gParamScale > 1.0) {
+ LOG("Vritualx: tbhdx temp gain gParamValue = %f invalid\n", gParamScale);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].f = gParamScale;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("tbhdx temp gain is %f \n",gVirtualxParam[gParamIndex].f);
+ return 0;
+ case DTS_PARAM_TBHDX_MAXGAIN_I32:
+ if (gParamScale < 0.0 || gParamScale > 1.0) {
+ LOG("Vritualx: tbhdx max gain gParamValue = %f invalid\n", gParamScale);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].f = gParamScale;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("tbhdx max gain is %f \n",gVirtualxParam[gParamIndex].f);
+ return 0;
+ case DTS_PARAM_TBHDX_PROCESS_DISCARD_I32:
+ if (gParamValue < 0 || gParamValue > 1) {
+ LOG("Vritualx: tbhdx process discard gParamValue = %d invalid\n", gParamValue);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].v = gParamValue;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("tbhdx process discard is %d \n",gVirtualxParam[gParamIndex].v);
+ return 0;
+ case DTS_PARAM_TBHDX_HPORDER_I32:
+ if (gParamValue < 0 || gParamValue > 8) {
+ LOG("Vritualx: tbhdx high pass filter order gParamValue = %d invalid\n", gParamValue);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].v = gParamValue;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("tbhdx high pass filter order is %d \n",gVirtualxParam[gParamIndex].v);
+ return 0;
+ case DTS_PARAM_TBHDX_HP_ENABLE_I32:
+ if (gParamValue < 0 || gParamValue > 1) {
+ LOG("Vritualx: tbhdx high pass enable gParamValue = %d invalid\n", gParamValue);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].v = gParamValue;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("tbhdx high pass enable is %d \n",gVirtualxParam[gParamIndex].v);
+ return 0;
+ case DTS_PARAM_VX_ENABLE_I32:
+ if (gParamValue < 0 || gParamValue > 1) {
+ LOG("Vritualx: vxlib1 enable gParamValue = %d invalid\n", gParamValue);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].v = gParamValue;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("vxlib1 enable is %d \n",gVirtualxParam[gParamIndex].v);
+ return 0;
+ case DTS_PARAM_VX_INPUT_MODE_I32:
+ if (gParamValue < 0 || gParamValue > 4) {
+ LOG("Vritualx: vxlib1 input mode gParamValue = %d invalid\n", gParamValue);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].v = gParamValue;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("vxlib1 input mode is %d \n",gVirtualxParam[gParamIndex].v);
+ return 0;
+ case DTS_PARAM_VX_HEADROOM_GAIN_I32:
+ if (gParamScale < 0.1250 || gParamScale > 1.0) {
+ LOG("Vritualx: vxlib1 headroom gain gParamValue = %f invalid\n", gParamScale);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].f = gParamScale;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("vxlib1 headroom gain is %f \n",gVirtualxParam[gParamIndex].f);
+ return 0;
+ case DTS_PARAM_VX_PROC_OUTPUT_GAIN_I32:
+ if (gParamScale < 0.5 || gParamScale > 4.0) {
+ LOG("Vritualx: vxlib1 output gain gParamValue = %f invalid\n", gParamScale);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].f = gParamScale;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("vxlib1 output gain is %f \n",gVirtualxParam[gParamIndex].f);
+ return 0;
+ case DTS_PARAM_TSX_ENABLE_I32:
+ if (gParamValue < 0 || gParamValue > 1) {
+ LOG("Vritualx: tsx enable gParamValue = %d invalid\n", gParamValue);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].v = gParamValue;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("vxlib1 tsx enable is %d \n",gVirtualxParam[gParamIndex].v);
+ return 0;
+ case DTS_PARAM_TSX_PASSIVEMATRIXUPMIX_ENABLE_I32:
+ if (gParamValue < 0 || gParamValue > 1) {
+ LOG("Vritualx: tsx passive matrix upmixer enable gParamValue = %d invalid\n", gParamValue);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].v = gParamValue;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("vxlib1 tsx passive matrix upmixer enable is %d \n",gVirtualxParam[gParamIndex].v);
+ return 0;
+ case DTS_PARAM_TSX_HORIZ_VIR_EFF_CTRL_I32:
+ if (gParamValue < 0 || gParamValue > 1) {
+ LOG("Vritualx: tsx horizontal Effect gParamValue = %d invalid\n", gParamValue);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].v = gParamValue;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("vxlib1 tsx horizontal Effect is %d \n",gVirtualxParam[gParamIndex].v);
+ return 0;
+ case DTS_PARAM_TSX_FRNT_CTRL_I32:
+ if (gParamScale < 0.5 || gParamScale > 2.0) {
+ LOG("Vritualx: tsx frnt ctrl gParamValue = %f invalid\n", gParamScale);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].f = gParamScale;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("tsx frnt ctrl is %f \n",gVirtualxParam[gParamIndex].f);
+ return 0;
+ case DTS_PARAM_TSX_SRND_CTRL_I32:
+ if (gParamScale < 0.5 || gParamScale > 2.0) {
+ LOG("Vritualx: tsx srnd ctrl gParamValue = %f invalid\n", gParamScale);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].f = gParamScale;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("tsx srnd ctrl is %f \n",gVirtualxParam[gParamIndex].f);
+ return 0;
+ case DTS_PARAM_TSX_LPR_GAIN_I32:
+ if (gParamScale < 0.0 || gParamScale > 2.0) {
+ LOG("Vritualx: tsx lprtoctr mix gain gParamValue = %f invalid\n", gParamScale);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].f = gParamScale;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("tsx lprtoctr mix gain is %f \n",gVirtualxParam[gParamIndex].f);
+ return 0;
+ case DTS_PARAM_TSX_HEIGHTMIX_COEFF_I32:
+ if (gParamScale < 0.5 || gParamScale > 2.0) {
+ LOG("Vritualx: tsx heightmix coeff gParamValue = %f invalid\n", gParamScale);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].f = gParamScale;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("tsx heightmix coeff is %f \n",gVirtualxParam[gParamIndex].f);
+ return 0;
+ case DTS_PARAM_TSX_CENTER_GAIN_I32:
+ if (gParamScale < 1.0 || gParamScale > 2.0) {
+ LOG("Vritualx: tsx center gain gParamValue = %f invalid\n", gParamScale);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].f = gParamScale;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("tsx center gain is %f \n",gVirtualxParam[gParamIndex].f);
+ return 0;
+ case DTS_PARAM_TSX_HEIGHT_DISCARD_I32:
+ if (gParamValue < 0 || gParamValue > 1) {
+ LOG("Vritualx: tsx height discard gParamValue = %d invalid\n", gParamValue);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].v = gParamValue;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("tsx height discard is %d \n",gVirtualxParam[gParamIndex].v);
+ return 0;
+ case DTS_PARAM_TSX_PROCESS_DISCARD_I32:
+ if (gParamValue < 0 || gParamValue > 1) {
+ LOG("Vritualx: tsx process discard gParamValue = %d invalid\n", gParamValue);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].v = gParamValue;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("tsx process discard is %d \n",gVirtualxParam[gParamIndex].v);
+ return 0;
+ case DTS_PARAM_TSX_HEIGHT_UPMIX_ENABLE_I32:
+ if (gParamValue < 0 || gParamValue > 1) {
+ LOG("Vritualx: tsx height upmix enable gParamValue = %d invalid\n", gParamValue);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].v = gParamValue;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("tsx height upmix enable is %d \n",gVirtualxParam[gParamIndex].v);
+ return 0;
+ case DTS_PARAM_VX_DC_ENABLE_I32:
+ if (gParamValue < 0 || gParamValue > 1) {
+ LOG("Vritualx: tsx dc enable gParamValue = %d invalid\n", gParamValue);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].v = gParamValue;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("tsx dc enable is %d \n",gVirtualxParam[gParamIndex].v);
+ return 0;
+ case DTS_PARAM_VX_DC_CONTROL_I32:
+ if (gParamScale < 0.0 || gParamScale > 1.0) {
+ LOG("Vritualx: tsx dc level gParamValue = %f invalid\n", gParamScale);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].f = gParamScale;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("tsx dc level is %f \n",gVirtualxParam[gParamIndex].f);
+ return 0;
+ case DTS_PARAM_VX_DEF_ENABLE_I32:
+ if (gParamValue < 0 || gParamValue > 1) {
+ LOG("Vritualx: tsx def enable gParamValue = %d invalid\n", gParamValue);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].v = gParamValue;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("tsx def enable is %d \n",gVirtualxParam[gParamIndex].v);
+ return 0;
+ case DTS_PARAM_VX_DEF_CONTROL_I32:
+ if (gParamScale < 0.0 || gParamScale > 1.0) {
+ LOG("Vritualx: tsx def level gParamValue = %f invalid\n", gParamScale);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].f = gParamScale;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("tsx def level is %f \n",gVirtualxParam[gParamIndex].f);
+ return 0;
+ case DTS_PARAM_LOUDNESS_CONTROL_ENABLE_I32:
+ if (gParamValue < 0 || gParamValue > 1) {
+ LOG("loudness control = %d invalid\n", gParamValue);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].v = gParamValue;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("loudness control is %d \n",gVirtualxParam[gParamIndex].v);
+ return 0;
+ case DTS_PARAM_LOUDNESS_CONTROL_TARGET_LOUDNESS_I32:
+ if (gParamValue < -40 || gParamValue > 0) {
+ LOG("loudness control target = %d invalid\n", gParamValue);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].v = gParamValue;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("loudness control target is %d \n",gVirtualxParam[gParamIndex].v);
+ return 0;
+ case DTS_PARAM_LOUDNESS_CONTROL_PRESET_I32:
+ if (gParamValue < 0 || gParamValue > 2) {
+ LOG("loudness control preset = %d invalid\n", gParamValue);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].v = gParamValue;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ //gAudioEffect->getParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("loudness control preset is %d \n",gVirtualxParam[gParamIndex].v);
+ return 0;
+ case DTS_PARAM_TBHDX_APP_SPKSIZE_I32:
+ if (gParamValue < 40 || gParamValue > 600) {
+ LOG("app spksize = %d invaild\n",gParamValue);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].v = gParamValue;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("app spksize %d\n",gVirtualxParam[gParamIndex].v);
+ return 0;
+ case DTS_PARAM_TBHDX_APP_HPRATIO_F32:
+ if (gParamScale < 0.0 || gParamScale > 1.0) {
+ LOG("app hpratio = %f invaild\n",gParamScale);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].f = gParamScale;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("app hpratio is %f\n",gVirtualxParam[gParamIndex].f);
+ return 0;
+ case DTS_PARAM_TBHDX_APP_EXTBASS_F32:
+ if (gParamScale < 0.0 || gParamScale > 1.0) {
+ LOG("app ettbass = %f invaild\n",gParamScale);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].f = gParamScale;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("app ettbass is %f\n",gVirtualxParam[gParamIndex].f);
+ return 0;
+ case DTS_PARAM_MBHL_APP_FRT_LOWCROSS_F32:
+ if (gParamScale < 40 || gParamScale > 8000.0) {
+ LOG("app low freq = %f invaild\n",gParamScale);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].f = gParamScale;
+ rc =gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("rc is %d\n",rc);
+ LOG("app low freq is %f\n",gVirtualxParam[gParamIndex].f);
+ return 0;
+ case DTS_PARAM_MBHL_APP_FRT_MIDCROSS_F32:
+ if (gParamScale < 40.0 || gParamScale > 8000.0) {
+ LOG("app mid freq = %f invaild\n",gParamScale);
+ return -1;
+ }
+ gVirtualxParam[gParamIndex].f = gParamScale;
+ gAudioEffect->setParameter(&gVirtualxParam[gParamIndex].param);
+ LOG("app mid freq is %f\n",gVirtualxParam[gParamIndex].f);
+ return 0;
+ default:
+ LOG("Virtualx: ParamIndex = %d invalid\n", gParamIndex);
+ return -1;
+ }
+}
+
+static void effectCallback(int32_t event, void* user, void *info)
+{
+ LOG("%s : %s():line:%d\n", __FILE__, __FUNCTION__, __LINE__);
+}
+
+static int create_audio_effect(AudioEffect **gAudioEffect, String16 name16, int index)
+{
+ status_t status = NO_ERROR;
+ AudioEffect *pAudioEffect = NULL;
+ audio_session_t gSessionId = AUDIO_SESSION_OUTPUT_MIX;
+
+ if (*gAudioEffect != NULL)
+ return 0;
+
+ pAudioEffect = new AudioEffect(name16);
+ if (!pAudioEffect) {
+ LOG("create audio effect object failed\n");
+ return -1;
+ }
+
+ status = pAudioEffect->set(NULL,
+ &(gEffectStr[index]), // specific uuid
+ 0, // priority,
+ effectCallback,
+ NULL, // callback user data
+ gSessionId,
+ 0); // default output device
+ if (status != NO_ERROR) {
+ LOG("set effect parameters failed\n");
+ return -1;
+ }
+
+ status = pAudioEffect->initCheck();
+ if (status != NO_ERROR) {
+ LOG("init audio effect failed\n");
+ return -1;
+ }
+
+ pAudioEffect->setEnabled(true);
+ LOG("effect %d is %s\n", index, pAudioEffect->getEnabled()?"enabled":"disabled");
+
+ *gAudioEffect = pAudioEffect;
+ return 0;
+}
+
+int main(int argc,char **argv)
+{
+ int i;
+ int ret = -1;
+ FILE *fp;
+ char *line = NULL;
+ size_t len = 0;
+ char *Stringptr;
+ ssize_t read;
+ int gEffectIndex = 6;
+ int gParamIndex = 0;
+ int gParamValue = 0;
+ float gParamScale = 0.0f;
+ status_t status = NO_ERROR;
+ String16 name16[EFFECT_MAX] = {String16("AudioEffectEQTest"), String16("AudioEffectSRSTest"), String16("AudioEffectHPEQTest"),
+ String16("AudioEffectAVLTest"), String16("AudioEffectGEQTest"),String16("AudioEffectVirtualxTest")};
+ AudioEffect* gAudioEffect[EFFECT_MAX] = {0};
+ audio_session_t gSessionId = AUDIO_SESSION_OUTPUT_MIX;
+ fp = fopen("vxp2_newConfig.txt", "r");
+ if (fp == NULL)
+ exit(EXIT_FAILURE);
+ while (1) {
+ while ((read = getline(&line, &len, fp)) != -1) {
+ if ( (strncmp(line, "virtualx.vxlib1.enable", 22)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 22;
+ gParamValue = strtol(Stringptr, NULL, 0 );
+ gParamIndex = (int)DTS_PARAM_VX_ENABLE_I32;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+
+ }
+ else if ((strncmp(line, "virtualx.mbhl.enable", 20)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 20;
+ gParamValue = strtol(Stringptr, NULL, 0);
+ //printf("mbhl_enable is %d\n",data.mbhl_enable);
+ gParamIndex = (int)DTS_PARAM_MBHL_ENABLE_I32;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+
+ }
+ else if ((strncmp(line, "virtualx.tbhdx.enable", 21)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 21;
+ gParamValue = strtol(Stringptr, NULL, 0);
+ gParamIndex = (int)DTS_PARAM_TBHDX_ENABLE_I32;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "virtualx.vxlib1.out_mode", 24)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 24;
+ gParamValue = strtol(Stringptr, NULL, 0);
+ //do nothing
+ }
+ else if ((strncmp(line, "virtualx.vxlib1.headroom_gain", 29)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 29;
+ gParamScale = strtof(Stringptr, NULL);
+ //printf("headroom_gain is %f\n",data.headroom_gain);
+ gParamIndex = (int)DTS_PARAM_VX_HEADROOM_GAIN_I32;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "virtualx.vxlib1.processing_output_gain", 38)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 38;
+ gParamScale = strtof(Stringptr, NULL);
+ gParamIndex = (int)DTS_PARAM_VX_PROC_OUTPUT_GAIN_I32;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+
+ }
+ else if ((strncmp(line, "virtualx.vxlib1.tsx.enable", 26)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 26;
+ gParamValue = strtol(Stringptr, NULL, 0);
+ gParamIndex = 52;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+
+ }
+ else if ((strncmp(line, "virtualx.vxlib1.tsx.pssv_mtrx_enable", 36)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 36;
+ gParamValue = strtol(Stringptr, NULL, 0);
+ gParamIndex = 53;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+
+ }
+ else if ((strncmp(line, "virtualx.vxlib1.tsx.hght_upmix_enable", 37)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 37;
+ gParamValue = strtol(Stringptr, NULL, 0);
+ gParamIndex = 54;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+
+ }
+ else if ((strncmp(line, "virtualx.vxlib1.tsx.horiznt_effect_ctrl", 39)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 39;
+ gParamValue = strtol(Stringptr, NULL, 0);
+ gParamIndex = 57;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+
+ }
+ else if ((strncmp(line, "virtualx.vxlib1.tsx.LpRtoCtr_mix_gain", 37)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 37;
+ gParamScale = strtof(Stringptr, NULL);
+ gParamIndex = 55;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+
+ }
+ else if ((strncmp(line, "virtualx.vxlib1.tsx.surround_control", 36)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 36;
+ gParamScale = strtof(Stringptr, NULL);
+ gParamIndex = 62;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+
+ }
+ else if ((strncmp(line, "virtualx.vxlib1.tsx.front_control", 33)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 33;
+ gParamScale = strtof(Stringptr, NULL);
+ gParamIndex = 61;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+
+ }
+ else if ((strncmp(line, "virtualx.vxlib1.tsx.heightmix_coeff", 35)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 35;
+ gParamScale = strtof(Stringptr, NULL);
+ gParamIndex = 58;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "virtualx.vxlib1.tsx.ctrgain", 27)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 27;
+ gParamScale = strtof(Stringptr, NULL);
+ gParamIndex = 56;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+
+ }
+ else if ((strncmp(line, "virtualx.vxlib1.dialogClarity.enable", 36)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 36;
+ gParamValue = strtol(Stringptr, NULL, 0);
+ gParamIndex = 63;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+
+ }
+ else if ((strncmp(line, "virtualx.vxlib1.dialogClarity.level", 35)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 35;
+ gParamScale = strtof(Stringptr, NULL);
+ gParamIndex = 64;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+
+ }
+ else if ((strncmp(line, "virtualx.vxlib1.definition.enable", 33)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 33;
+ gParamValue = strtol(Stringptr, NULL, 0);
+ gParamIndex = 65;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+
+ }
+ else if ((strncmp(line, "virtualx.vxlib1.definition.level", 32)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 32;
+ gParamScale = strtof(Stringptr, NULL);
+ gParamIndex = 66;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+
+ }
+ else if ((strncmp(line, "virtualx.tbhdx.mono", 19)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 19;
+ gParamValue = strtol(Stringptr, NULL, 0);
+ gParamIndex = 36;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "virtualx.tbhdx.speaker_size", 27)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 27;
+ gParamValue = strtol(Stringptr, NULL, 0);
+ gParamIndex = 38;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+
+ }
+ else if ((strncmp(line, "virtualx.tbhdx.max_gain", 23)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 23;
+ gParamScale = strtof(Stringptr, NULL);
+ gParamIndex = 37;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "virtualx.tbhdx.hp_enable", 24)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 24;
+ gParamValue = strtol(Stringptr, NULL, 0);
+ gParamIndex = 39;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "virtualx.tbhdx.hp_order", 23)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 23;
+ gParamValue = strtol(Stringptr, NULL, 0);
+ gParamIndex = 42;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "virtualx.tbhdx.temporal_gain", 28)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 28;
+ gParamScale = strtof(Stringptr, NULL);
+ gParamIndex = 40;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "virtualx.mbhl.bypass_gain", 25)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 25;
+ gParamScale = strtof(Stringptr, NULL);
+ //printf("set bysspass gain is %f\n",data.mbhl_bypassgain);
+ gParamIndex = 1;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "virtualx.mbhl.reference_level", 29)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 29;
+ gParamScale = strtof(Stringptr, NULL);
+ //printf("mbhl_reflevel is %f\n",data.mbhl_reflevel);
+ gParamIndex = 2;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "virtualx.mbhl.volume_step", 25)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 25;
+ gParamValue = strtol(Stringptr, NULL, 0);
+ //printf("volume step is %d\n",data.mbhl_volumesttep);
+ gParamIndex = 4;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "virtualx.mbhl.volume", 20)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 20;
+ gParamScale = strtof(Stringptr, NULL);
+ //printf("volume is %f\n",data.mbhl_volume);
+ gParamIndex = 3;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "virtualx.mbhl.balance_step", 26)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 26;
+ gParamValue = strtol(Stringptr, NULL, 0);
+ gParamIndex = 5;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+
+ else if ((strncmp(line, "virtualx.mbhl.output_gain", 25)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 25;
+ gParamScale = strtof(Stringptr, NULL);
+ gParamIndex = 6;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "virtualx.mbhl.boost", 19)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 19;
+ gParamScale = strtof(Stringptr, NULL);
+ gParamIndex = 24;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "virtualx.mbhl.threshold", 23)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 23;
+ gParamScale = strtof(Stringptr, NULL);
+ gParamIndex = 25;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "virtualx.mbhl.slow_offset", 25)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 25;
+ gParamScale = strtof(Stringptr, NULL);
+ gParamIndex = 26;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "virtualx.mbhl.fast_attack", 25)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 25;
+ gParamScale = strtof(Stringptr, NULL);
+ gParamIndex = 27;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "virtualx.mbhl.fast_release", 26)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 26;
+ gParamValue = strtol(Stringptr, NULL, 0);
+ gParamIndex = 28;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "virtualx.mbhl.slow_attack", 25)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 25;
+ gParamValue = strtol(Stringptr, NULL, 0);
+ gParamIndex = 29;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "virtualx.mbhl.slow_release", 26)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 26;
+ gParamValue = strtol(Stringptr, NULL, 0);
+ gParamIndex = 30;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "virtualx.mbhl.delay", 19)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 19;
+ gParamValue = strtol(Stringptr, NULL, 0);
+ gParamIndex = 31;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "virtualx.mbhl.envelope_frequency", 32)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 32;
+ gParamValue = strtol(Stringptr, NULL, 0);
+ gParamIndex = 32;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "virtualx.mbhl.mode", 18)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 18;
+ gParamValue = strtol(Stringptr, NULL, 0);
+ gParamIndex = 7;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "virtualx.mbhl.cross_low", 23)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 23;
+ gParamValue = strtol(Stringptr, NULL, 0);
+ gParamIndex = 9;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "virtualx.mbhl.cross_mid", 23)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 23;
+ gParamValue = strtol(Stringptr, NULL, 0);
+ gParamIndex = 10;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "virtualx.mbhl.comp_attack", 25)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 25;
+ gParamValue = strtol(Stringptr, NULL, 0);
+ gParamIndex = 11;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "virtualx.mbhl.comp_low_release", 30)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 30;
+ gParamValue = strtol(Stringptr, NULL, 0);
+ gParamIndex = 12;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "virtualx.mbhl.comp_low_ratio", 28)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 28;
+ gParamScale = strtof(Stringptr, NULL);
+ gParamIndex = 13;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "virtualx.mbhl.comp_low_thresh", 29)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 29;
+ gParamScale = strtof(Stringptr, NULL);
+ //printf("mbhl_compressolt is %f",data.mbhl_compressolt);
+ gParamIndex = 14;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "virtualx.mbhl.comp_low_makeup", 29)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 29;
+ gParamScale = strtof(Stringptr, NULL);
+ gParamIndex = 15;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "virtualx.mbhl.comp_mid_release", 30)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 30;
+ gParamValue = strtol(Stringptr, NULL, 0);
+ gParamIndex = (int)DTS_PARAM_MBHL_COMP_MID_RELEASE_I32;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "virtualx.mbhl.comp_mid_ratio", 28)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 28;
+ gParamScale = strtof(Stringptr, NULL);
+ gParamIndex = (int)DTS_PARAM_MBHL_COMP_MID_RATIO_I32;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "virtualx.mbhl.comp_mid_thresh", 29)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 29;
+ gParamScale = strtof(Stringptr, NULL);
+ gParamIndex = (int)DTS_PARAM_MBHL_COMP_MID_THRESH_I32;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "virtualx.mbhl.comp_mid_makeup", 29)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 29;
+ gParamScale = strtof(Stringptr, NULL);
+ gParamIndex = (int)DTS_PARAM_MBHL_COMP_MID_MAKEUP_I32;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "virtualx.mbhl.comp_high_release", 31)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 31;
+ gParamValue = strtol(Stringptr, NULL, 0);
+ gParamIndex = (int)DTS_PARAM_MBHL_COMP_HIGH_RELEASE_I32;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "virtualx.mbhl.comp_high_ratio", 29)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 29;
+ gParamScale = strtof(Stringptr, NULL);
+ gParamIndex = (int)DTS_PARAM_MBHL_COMP_HIGH_RATIO_I32;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "virtualx.mbhl.comp_high_thresh", 30)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 30;
+ gParamScale = strtof(Stringptr, NULL);
+ gParamIndex = (int)DTS_PARAM_MBHL_COMP_HIGH_THRESH_I32;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "virtualx.mbhl.comp_high_makeup", 30)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 30;
+ gParamScale = strtof(Stringptr, NULL);
+ gParamIndex = (int)DTS_PARAM_MBHL_COMP_HIGH_MAKEUP_I32;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "virtualx.tbhdx.app_custom_speaker_size", 38)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 38;
+ gParamValue = strtol(Stringptr, NULL, 0);
+ gParamIndex = (int)DTS_PARAM_TBHDX_APP_SPKSIZE_I32;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+
+ }
+ else if ((strncmp(line, "virtualx.tbhdx.app_hp_ratio", 27)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 27;
+ gParamScale = strtof(Stringptr, NULL);
+ gParamIndex = (int)DTS_PARAM_TBHDX_APP_HPRATIO_F32;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "virtualx.tbhdx.app_extbass_level", 32)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 32;
+ gParamScale = strtof(Stringptr, NULL);
+ gParamIndex = (int)DTS_PARAM_TBHDX_APP_EXTBASS_F32;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if((strncmp(line, "virtualx.mbhl.frt_lowcross", 26)) == 0)
+ {
+
+ Stringptr = line;
+ Stringptr += 26;
+ gParamScale = strtof(Stringptr, NULL);
+ gParamIndex = (int)DTS_PARAM_MBHL_APP_FRT_LOWCROSS_F32;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+
+ }
+ else if((strncmp(line, "virtualx.mbhl.frt_midcross", 26)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 26;
+ gParamScale = strtof(Stringptr, NULL);
+ gParamIndex = (int)DTS_PARAM_MBHL_APP_FRT_MIDCROSS_F32;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ( (strncmp(line, "loudness-control-en", 19)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 19;
+ gParamValue = strtol(Stringptr, NULL, 0 );
+ //printf("Truvolume_enable is %d\n",data.Truvolume_enable);
+ gParamIndex = (int)DTS_PARAM_LOUDNESS_CONTROL_ENABLE_I32;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "loudness-control-target-loudness", 32)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 32;
+ gParamValue = strtol(Stringptr, NULL, 0);
+ // printf("targetlevel is %d\n",data.targetlevel);
+ gParamIndex = (int)DTS_PARAM_LOUDNESS_CONTROL_TARGET_LOUDNESS_I32;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line, "loudness-control-preset", 23)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 23;
+ gParamValue = strtol(Stringptr, NULL, 0);
+ gParamIndex = (int)DTS_PARAM_LOUDNESS_CONTROL_PRESET_I32;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp(line,"virtualx.tbhdx.discard",22)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 22;
+ gParamValue = strtol(Stringptr, NULL, 0);
+ gParamIndex = (int)DTS_PARAM_TBHDX_PROCESS_DISCARD_I32;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if((strncmp(line,"virtualx.mbhl.discard",21)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 21;
+ gParamValue = strtol(Stringptr, NULL, 0);
+ gParamIndex = (int)DTS_PARAM_MBHL_PROCESS_DISCARD_I32;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if((strncmp(line,"virtualx.vxlib1.tsx.discard",27)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 27;
+ gParamValue = strtol(Stringptr, NULL, 0);
+ gParamIndex = (int)DTS_PARAM_TSX_PROCESS_DISCARD_I32;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if((strncmp(line,"virtualx.vxlib1.height.discard",30)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 30;
+ gParamValue = strtol(Stringptr, NULL, 0);
+ gParamIndex = (int)DTS_PARAM_TSX_HEIGHT_DISCARD_I32;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ else if ((strncmp (line,"enable",6)) == 0)
+ {
+ Stringptr = line;
+ Stringptr += 6;
+ gParamValue = strtol(Stringptr, NULL, 0);
+ gParamIndex = (int)VIRTUALX_PARAM_ENABLE;
+ ret = create_audio_effect(&gAudioEffect[EFFECT_VIRTUALX], name16[EFFECT_VIRTUALX], EFFECT_VIRTUALX);
+ if (ret < 0) {
+ printf("create Virtualx effect failed\n");
+ goto Error;
+ }
+ if (Virtualx_effect_func(gAudioEffect[gEffectIndex], gParamIndex, gParamValue,gParamScale) < 0)
+ printf("Virtualx Test failed\n");
+ }
+ }
+ printf("Please enter param: <27> to Exit\n");
+ scanf("%d", &gEffectIndex);
+ if (gEffectIndex == 27) {
+ printf("Exit...\n");
+ break;
+ }
+
+ }
+ ret = 0;
+Error:
+ for (i = 0; i < EFFECT_MAX; i++) {
+ if (gAudioEffect[i] != NULL) {
+ gAudioEffect[i] = NULL;
+ delete gAudioEffect[i];
+ }
+ }
+ free(line);
+ return ret;
+}
+
+
+