#ifndef _EQ_TAB_H_ #define _EQ_TAB_H_ static const struct eq_seg_info eq_tab_normal[EQ_SECTION_MAX] = { {0, EQ_IIR_TYPE_BAND_PASS, 31, 0 << 20, (int)(0.7f * (1 << 24))}, {1, EQ_IIR_TYPE_BAND_PASS, 62, 0 << 20, (int)(0.7f * (1 << 24))}, {2, EQ_IIR_TYPE_BAND_PASS, 125, 0 << 20, (int)(0.7f * (1 << 24))}, {3, EQ_IIR_TYPE_BAND_PASS, 250, 0 << 20, (int)(0.7f * (1 << 24))}, {4, EQ_IIR_TYPE_BAND_PASS, 500, 0 << 20, (int)(0.7f * (1 << 24))}, {5, EQ_IIR_TYPE_BAND_PASS, 1000, 0 << 20, (int)(0.7f * (1 << 24))}, {6, EQ_IIR_TYPE_BAND_PASS, 2000, 0 << 20, (int)(0.7f * (1 << 24))}, {7, EQ_IIR_TYPE_BAND_PASS, 4000, 0 << 20, (int)(0.7f * (1 << 24))}, {8, EQ_IIR_TYPE_BAND_PASS, 8000, 0 << 20, (int)(0.7f * (1 << 24))}, {9, EQ_IIR_TYPE_BAND_PASS, 16000, 0 << 20, (int)(0.7f * (1 << 24))}, }; static const struct eq_seg_info eq_tab_rock[EQ_SECTION_MAX] = { {0, EQ_IIR_TYPE_BAND_PASS, 31, -2 << 20, (int)(0.7f * (1 << 24))}, {1, EQ_IIR_TYPE_BAND_PASS, 62, 0 << 20, (int)(0.7f * (1 << 24))}, {2, EQ_IIR_TYPE_BAND_PASS, 125, 2 << 20, (int)(0.7f * (1 << 24))}, {3, EQ_IIR_TYPE_BAND_PASS, 250, 4 << 20, (int)(0.7f * (1 << 24))}, {4, EQ_IIR_TYPE_BAND_PASS, 500, -2 << 20, (int)(0.7f * (1 << 24))}, {5, EQ_IIR_TYPE_BAND_PASS, 1000, -2 << 20, (int)(0.7f * (1 << 24))}, {6, EQ_IIR_TYPE_BAND_PASS, 2000, 0 << 20, (int)(0.7f * (1 << 24))}, {7, EQ_IIR_TYPE_BAND_PASS, 4000, 0 << 20, (int)(0.7f * (1 << 24))}, {8, EQ_IIR_TYPE_BAND_PASS, 8000, 4 << 20, (int)(0.7f * (1 << 24))}, {9, EQ_IIR_TYPE_BAND_PASS, 16000, 4 << 20, (int)(0.7f * (1 << 24))}, }; static const struct eq_seg_info eq_tab_pop[EQ_SECTION_MAX] = { {0, EQ_IIR_TYPE_BAND_PASS, 31, 3 << 20, (int)(0.7f * (1 << 24))}, {1, EQ_IIR_TYPE_BAND_PASS, 62, 1 << 20, (int)(0.7f * (1 << 24))}, {2, EQ_IIR_TYPE_BAND_PASS, 125, 0 << 20, (int)(0.7f * (1 << 24))}, {3, EQ_IIR_TYPE_BAND_PASS, 250, -2 << 20, (int)(0.7f * (1 << 24))}, {4, EQ_IIR_TYPE_BAND_PASS, 500, -4 << 20, (int)(0.7f * (1 << 24))}, {5, EQ_IIR_TYPE_BAND_PASS, 1000, -4 << 20, (int)(0.7f * (1 << 24))}, {6, EQ_IIR_TYPE_BAND_PASS, 2000, -2 << 20, (int)(0.7f * (1 << 24))}, {7, EQ_IIR_TYPE_BAND_PASS, 4000, 0 << 20, (int)(0.7f * (1 << 24))}, {8, EQ_IIR_TYPE_BAND_PASS, 8000, 1 << 20, (int)(0.7f * (1 << 24))}, {9, EQ_IIR_TYPE_BAND_PASS, 16000, 2 << 20, (int)(0.7f * (1 << 24))}, }; static const struct eq_seg_info eq_tab_classic[EQ_SECTION_MAX] = { {0, EQ_IIR_TYPE_BAND_PASS, 31, 0 << 20, (int)(0.7f * (1 << 24))}, {1, EQ_IIR_TYPE_BAND_PASS, 62, 8 << 20, (int)(0.7f * (1 << 24))}, {2, EQ_IIR_TYPE_BAND_PASS, 125, 8 << 20, (int)(0.7f * (1 << 24))}, {3, EQ_IIR_TYPE_BAND_PASS, 250, 4 << 20, (int)(0.7f * (1 << 24))}, {4, EQ_IIR_TYPE_BAND_PASS, 500, 0 << 20, (int)(0.7f * (1 << 24))}, {5, EQ_IIR_TYPE_BAND_PASS, 1000, 0 << 20, (int)(0.7f * (1 << 24))}, {6, EQ_IIR_TYPE_BAND_PASS, 2000, 0 << 20, (int)(0.7f * (1 << 24))}, {7, EQ_IIR_TYPE_BAND_PASS, 4000, 0 << 20, (int)(0.7f * (1 << 24))}, {8, EQ_IIR_TYPE_BAND_PASS, 8000, 2 << 20, (int)(0.7f * (1 << 24))}, {9, EQ_IIR_TYPE_BAND_PASS, 16000, 2 << 20, (int)(0.7f * (1 << 24))}, }; static const struct eq_seg_info eq_tab_country[EQ_SECTION_MAX] = { {0, EQ_IIR_TYPE_BAND_PASS, 31, -2 << 20, (int)(0.7f * (1 << 24))}, {1, EQ_IIR_TYPE_BAND_PASS, 62, 0 << 20, (int)(0.7f * (1 << 24))}, {2, EQ_IIR_TYPE_BAND_PASS, 125, 0 << 20, (int)(0.7f * (1 << 24))}, {3, EQ_IIR_TYPE_BAND_PASS, 250, 2 << 20, (int)(0.7f * (1 << 24))}, {4, EQ_IIR_TYPE_BAND_PASS, 500, 2 << 20, (int)(0.7f * (1 << 24))}, {5, EQ_IIR_TYPE_BAND_PASS, 1000, 0 << 20, (int)(0.7f * (1 << 24))}, {6, EQ_IIR_TYPE_BAND_PASS, 2000, 0 << 20, (int)(0.7f * (1 << 24))}, {7, EQ_IIR_TYPE_BAND_PASS, 4000, 0 << 20, (int)(0.7f * (1 << 24))}, {8, EQ_IIR_TYPE_BAND_PASS, 8000, 4 << 20, (int)(0.7f * (1 << 24))}, {9, EQ_IIR_TYPE_BAND_PASS, 16000, 4 << 20, (int)(0.7f * (1 << 24))}, }; static const struct eq_seg_info eq_tab_jazz[EQ_SECTION_MAX] = { {0, EQ_IIR_TYPE_BAND_PASS, 31, 0 << 20, (int)(0.7f * (1 << 24))}, {1, EQ_IIR_TYPE_BAND_PASS, 62, 0 << 20, (int)(0.7f * (1 << 24))}, {2, EQ_IIR_TYPE_BAND_PASS, 125, 0 << 20, (int)(0.7f * (1 << 24))}, {3, EQ_IIR_TYPE_BAND_PASS, 250, 4 << 20, (int)(0.7f * (1 << 24))}, {4, EQ_IIR_TYPE_BAND_PASS, 500, 4 << 20, (int)(0.7f * (1 << 24))}, {5, EQ_IIR_TYPE_BAND_PASS, 1000, 4 << 20, (int)(0.7f * (1 << 24))}, {6, EQ_IIR_TYPE_BAND_PASS, 2000, 0 << 20, (int)(0.7f * (1 << 24))}, {7, EQ_IIR_TYPE_BAND_PASS, 4000, 2 << 20, (int)(0.7f * (1 << 24))}, {8, EQ_IIR_TYPE_BAND_PASS, 8000, 3 << 20, (int)(0.7f * (1 << 24))}, {9, EQ_IIR_TYPE_BAND_PASS, 16000, 4 << 20, (int)(0.7f * (1 << 24))}, }; /*upstream high-pass(200) for 8k*/ static const int phone_eq_filt_08000[] = { 1863147, -837795, 937379, -2097152, 1048576, // seg 0 1956339, -916484, 1048576, -1956339, 916484, // seg 1 1831863, -812791, 1048576, -1831863, 812791, // seg 2 }; /*upstream high-pass(200) for 16k*/ static const int phone_eq_filt_16000[] = { 1979738, -937284, 991400, -2097152, 1048576, // seg 0 2026633, -980309, 1048576, -2026633, 980309, // seg 1 1963940, -923193, 1048576, -1963940, 923193, // seg 2 }; /*upstream high-pass(200) for 8k*/ static const int aec_coeff_8k_highpass_ul[] = { 1863147, -837795, 937379, -2097152, 1048576, // seg 0 1956339, -916484, 1048576, -1956339, 916484, // seg 1 1831863, -812791, 1048576, -1831863, 812791, // seg 2 }; /*upstream high-pass(200) for 16k*/ static const int aec_coeff_16k_highpass_ul[] = { 1979738, -937284, 991400, -2097152, 1048576, // seg 0 2026633, -980309, 1048576, -2026633, 980309, // seg 1 1963940, -923193, 1048576, -1963940, 923193, // seg 2 }; /*upstream high-pass(200) and high-shelf(4000,-8db) for 16k*/ static const int aec_coeff_16k_hp_and_hs_ul[] = { 1979738, -937284, 991400, -2097152, 1048576, // seg 0 258395, -93381, 661607, 258395, 93381, // seg 1 1963940, -923193, 1048576, -1963940, 923193, // seg 2 }; #endif