update ex3d algos

This commit is contained in:
Steven Dan
2026-04-15 22:38:28 +08:00
parent 3b82dea73c
commit 3300e061b0

View File

@@ -66,7 +66,6 @@ unsigned g_3d_on_off_t1 = A3D_OFF; // Default 3D off
#endif
#define DNR_ON 1
#define DNR_OFF 0
unsigned g_dnr_on_off_t1 = DNR_OFF; // Default DNR off
#define MUTE_ON 1
#define MUTE_OFF 0
unsigned g_mute_on_off_t1 = MUTE_ON;
@@ -896,68 +895,33 @@ void hid_button_task(chanend_t cc_mic_level, chanend_t c_hidRcvData, chanend_t c
if (current_mode_local > 3) current_mode_local = 0;
debug_printf("hid_button_task received audio_mode: %d\n", current_mode_local);
#if USE_EX3D == 1
if (current_mode_local == 0) {
if ((current_mode_local == 0) || (current_mode_local == 1)) {
// 无音效模式关闭EX3D和EQ算法
audio_ex3d_set_onoff(0);
g_eq_enable = 0;
#if IR_SWITCHING_MODE
is_3d_on = IR_OFF;
#else
is_3d_on = A3D_OFF;
#endif
debug_printf("Mode 0: EX3D+EQ OFF\n");
} else if (current_mode_local == 1) {
// 音乐模式EX3D关闭EQ开启
audio_ex3d_set_onoff(0);
//g_eq_enable = 1;
#if IR_SWITCHING_MODE
is_3d_on = IR_OFF;
#else
is_3d_on = A3D_OFF;
#endif
debug_printf("Mode 1: MUSIC, EQ ON, EX3D OFF\n");
} else if (current_mode_local == 2) {
#if (F6_F7_FPS_UAC1 == 1)
// UAC1 Game模式: EX3D关闭, EQ开启, IR_OFF
//g_eq_enable = 1;
// 音乐模式EX3D关闭EQ开启
#if (MODE_F3_F4_FPS_UAC2 == 1)
audio_ex3d_set_onoff(1);
is_3d_on = IR_GAME;
#endif
#if (MODE_F6_F7_FPS_UAC1 == 1)
audio_ex3d_set_onoff(0);
is_3d_on = IR_OFF;
debug_printf("Mode 2: UAC1 GAME, EQ ON, EX3D OFF (IR_OFF)\n");
#else
// 游戏模式 (IR_GAME, stereo): SF index 0EQ开启
//g_eq_enable = 1;
#if IR_SWITCHING_MODE
audio_ex3d_set_sf(0); // SF 0 = STEREO GAME
is_3d_on = IR_GAME;
#else
is_3d_on = A3D_ON;
#endif
audio_ex3d_set_onoff(1);
debug_printf("Mode 2: GAME (IR_GAME) ON, sf=0, EQ ON\n");
#endif
} else if (current_mode_local == 3) {
#if (F6_F7_FPS_UAC1 == 1)
// UAC1 AI71模式: EX3D开启, SF index 0 (stereo game), EQ开启, IR_GAME
//g_eq_enable = 1;
audio_ex3d_set_sf(0); // SF 0 = STEREO GAME
is_3d_on = IR_GAME;
#if (MODE_F3_F4_FPS_UAC2 == 1)
audio_ex3d_set_onoff(1);
debug_printf("Mode 3: UAC1 AI71 (IR_GAME) ON, sf=0, EQ ON\n");
#else
// AI7.1模式 (IR_7_1_GAME, 7.1): SF index 1EQ开启
g_eq_enable = 1;
#if IR_SWITCHING_MODE
audio_ex3d_set_sf(1); // SF 1 = SPATIAL GAME (7.1)
is_3d_on = IR_7_1_GAME;
#else
is_3d_on = A3D_ON;
#endif
#if (MODE_F6_F7_FPS_UAC1 == 1)
audio_ex3d_set_onoff(1);
debug_printf("Mode 3: AI7.1 (IR_7_1_GAME) ON, sf=1, EQ ON\n");
is_3d_on = IR_GAME;
#endif
}
SET_SHARED_GLOBAL(g_3d_on_off_t1, is_3d_on);
#endif
} else if (tmp == 0xFD) {
// 脚步增强按键发来的 expand gain 命令
// 必须先读取payload无论是否启用EX3D
@@ -974,24 +938,7 @@ void hid_button_task(chanend_t cc_mic_level, chanend_t c_hidRcvData, chanend_t c
unsigned mon_sw = chan_in_word(cc_mic_level);
SET_SHARED_GLOBAL(g_monitor_switch_t1, mon_sw);
debug_printf("Monitor sync: sw=%d\n", mon_sw);
} else {
// Mic 静音状态命令(所有模式都需要处理)
switch (tmp) {
case MUTED_MIC:
SET_SHARED_GLOBAL(g_mute_on_off_t1, MUTE_ON);
debug_printf("MUTED_MIC\n");
break;
case UNMUTED_MIC:
SET_SHARED_GLOBAL(g_mute_on_off_t1, MUTE_OFF);
debug_printf("UNMUTED_MIC\n");
break;
default:
debug_printf("Unknown mic level command: 0x%02X\n", tmp);
break;
}
}
}
}
continue;
@@ -1081,22 +1028,22 @@ void hid_button_task(chanend_t cc_mic_level, chanend_t c_hidRcvData, chanend_t c
if (is_3d_on == IR_OFF) {
audio_ex3d_set_onoff(0);
current_mode_local = 0;
printf("3d off\n");
debug_printf("3d off\n");
} else if (is_3d_on == IR_GAME) {
audio_ex3d_set_sf(0);
audio_ex3d_set_onoff(1);
current_mode_local = 1;
printf("Stereo Game on (sf=0)\n");
debug_printf("Stereo Game on (sf=0)\n");
} else if (is_3d_on == IR_7_1_GAME) {
audio_ex3d_set_sf(1);
audio_ex3d_set_onoff(1);
current_mode_local = 2;
printf("3d Game on (sf=1)\n");
debug_printf("3d Game on (sf=1)\n");
} else if (is_3d_on == IR_7_1_MOVIE) {
audio_ex3d_set_sf(2);
audio_ex3d_set_onoff(1);
current_mode_local = 3;
printf("3d Movie on (sf=2)\n");
debug_printf("3d Movie on (sf=2)\n");
} else {
audio_ex3d_set_onoff(is_3d_on != IR_OFF);
}
@@ -1128,7 +1075,6 @@ void ex3d_task(){
if(ret != 0) {
debug_printf("audio_ex3d_init() error:%d\n\r", ret);
}
audio_ex3d_onoff(0);
#if !UAC1_MODE
Ex3dOffGain = -5;