From d5dbe70a2c3fcdef4d35cbaba5f3ec81fcda3601 Mon Sep 17 00:00:00 2001 From: Andrea Zoppi Date: Sat, 6 Apr 2024 01:54:33 +0200 Subject: [PATCH] Added missing TDA8425 tests Signed-off-by: Andrea Zoppi --- src/aymo_tda8425_x86_avx2.c | 2 +- tests/meson.build | 85 ++++++++++++++++--------------- tests/test_tda8425_sweep_inline.h | 1 + 3 files changed, 47 insertions(+), 41 deletions(-) diff --git a/src/aymo_tda8425_x86_avx2.c b/src/aymo_tda8425_x86_avx2.c index d921116..6a726fe 100644 --- a/src/aymo_tda8425_x86_avx2.c +++ b/src/aymo_tda8425_x86_avx2.c @@ -339,7 +339,7 @@ static void aymo_(apply_tfilter)(struct aymo_(chip)* chip) double b2 = (((m_k2w2 - abs2_sqrt_log10_g) - (h_sqrt_5_kw_abs_sqrt_log10_g * cosp))); double ra0 = (1. / a0); - chip->kb0 = _mm256_blend_ps(chip->kb0, _mm256_set1_ps((float)(b0 * ra0)), 0x08); + chip->kb0 = _mm256_blend_ps(chip->kb0, _mm256_set1_ps((float)(b0 * ra0)), 0x88); chip->kb1 = _mm256_blend_ps(chip->kb1, _mm256_set1_ps((float)(b1 * ra0)), 0x88); chip->kb2 = _mm256_blend_ps(chip->kb2, _mm256_set1_ps((float)(b2 * ra0)), 0x88); ra0 = -ra0; diff --git a/tests/meson.build b/tests/meson.build index 25160c1..73fc680 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -177,46 +177,51 @@ endforeach seconds = '8' samplerate = '48000' aymo_tda8425_sweep_suite = { - 'stereo_ab_1_384000': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xCE', '384000', seconds], - 'stereo_ab_1_96000': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xCE', '96000', seconds], - 'stereo_ab_1_48000': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xCE', '48000', seconds], - 'stereo_ab_1_44100': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xCE', '44100', seconds], - - 'volume_lr_max_min': ['0xFF', '0xF0', '0xF6', '0xF6', '0xFF', '0xCE', samplerate, seconds], - 'volume_lr_min_max': ['0xF0', '0xFF', '0xF6', '0xF6', '0xFF', '0xCE', samplerate, seconds], - - 'bass_min': ['0xFC', '0xFC', '0xF0', '0xF6', '0xFF', '0xCE', samplerate, seconds], - 'bass_max': ['0xFC', '0xFC', '0xFF', '0xF6', '0xFF', '0xCE', samplerate, seconds], - - 'treble_min': ['0xFC', '0xFC', '0xF6', '0xF0', '0xFF', '0xCE', samplerate, seconds], - 'treble_max': ['0xFC', '0xFC', '0xF6', '0xFF', '0xFF', '0xCE', samplerate, seconds], - - 'stereo_none_1': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xC8', samplerate, seconds], - 'stereo_none_2': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xC9', samplerate, seconds], - 'stereo_1_a': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xCA', samplerate, seconds], - 'stereo_1_b': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xCC', samplerate, seconds], - 'stereo_1_ab': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xCE', samplerate, seconds], - 'stereo_2_a': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xCB', samplerate, seconds], - 'stereo_2_b': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xCD', samplerate, seconds], - 'stereo_2_ab': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xCF', samplerate, seconds], - - 'mono_1_a': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xC2', samplerate, seconds], - 'mono_1_b': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xC4', samplerate, seconds], - 'mono_1_ab': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xC6', samplerate, seconds], - - 'pseudo_1_a': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xD2', samplerate, seconds], - 'pseudo_1_b': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xD4', samplerate, seconds], - # TODO: Preset 1 - # TODO: Preset 2 - # TODO: Preset 3 - - 'spatial_1_a': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xDE', samplerate, seconds], - 'spatial_1_b': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xDE', samplerate, seconds], - 'spatial_1_ab': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xDE', samplerate, seconds], - - 'mute': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xEE', samplerate, seconds], - - # TODO: T-filter extremes + 'stereo_1_ab_384000': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xCE', '384000', seconds], + 'stereo_1_ab_96000': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xCE', '96000', seconds], + 'stereo_1_ab_48000': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xCE', '48000', seconds], + 'stereo_1_ab_44100': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xCE', '44100', seconds], + + 'volume_lr_max_min': ['0xFF', '0xF0', '0xF6', '0xF6', '0xFF', '0xCE', samplerate, seconds], + 'volume_lr_min_max': ['0xF0', '0xFF', '0xF6', '0xF6', '0xFF', '0xCE', samplerate, seconds], + + 'bass_min': ['0xFC', '0xFC', '0xF0', '0xF6', '0xFF', '0xCE', samplerate, seconds], + 'bass_max': ['0xFC', '0xFC', '0xFF', '0xF6', '0xFF', '0xCE', samplerate, seconds], + + 'treble_min': ['0xFC', '0xFC', '0xF6', '0xF0', '0xFF', '0xCE', samplerate, seconds], + 'treble_max': ['0xFC', '0xFC', '0xF6', '0xFF', '0xFF', '0xCE', samplerate, seconds], + + 'stereo_none_1': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xC8', samplerate, seconds], + 'stereo_none_2': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xC9', samplerate, seconds], + 'stereo_1_a': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xCA', samplerate, seconds], + 'stereo_1_b': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xCC', samplerate, seconds], + 'stereo_1_ab': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xCE', samplerate, seconds], + 'stereo_2_a': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xCB', samplerate, seconds], + 'stereo_2_b': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xCD', samplerate, seconds], + 'stereo_2_ab': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xCF', samplerate, seconds], + + 'mono_1_a': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xC2', samplerate, seconds], + 'mono_1_b': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xC4', samplerate, seconds], + 'mono_1_ab': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xC6', samplerate, seconds], + + 'pseudo_1_a': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFC', '0xD2', samplerate, seconds], + 'pseudo_1_b': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFC', '0xD4', samplerate, seconds], + 'pseudo_2_a': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFD', '0xD2', samplerate, seconds], + 'pseudo_2_b': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFD', '0xD4', samplerate, seconds], + 'pseudo_3_a': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFE', '0xD2', samplerate, seconds], + 'pseudo_3_b': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFE', '0xD4', samplerate, seconds], + + 'spatial_1_a': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xDE', samplerate, seconds], + 'spatial_1_b': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xDE', samplerate, seconds], + 'spatial_1_ab': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xDE', samplerate, seconds], + + 'mute': ['0xFC', '0xFC', '0xF6', '0xF6', '0xFF', '0xEE', samplerate, seconds], + + 'tfilter_min': ['0xFC', '0xFC', '0xF0', '0xF6', '0xFF', '0x4E', samplerate, seconds], + 'tfilter_max': ['0xFC', '0xFC', '0xFF', '0xF6', '0xFF', '0x4E', samplerate, seconds], + + 'dcremoval_lr_max_min': ['0xFF', '0xF0', '0xF6', '0xF6', '0xFF', '0x8E', samplerate, seconds], + 'dcremoval_lr_min_max': ['0xF0', '0xFF', '0xF6', '0xF6', '0xFF', '0x8E', samplerate, seconds], } foreach intr_name : ['x86_sse41', 'x86_avx2', 'arm_neon'] diff --git a/tests/test_tda8425_sweep_inline.h b/tests/test_tda8425_sweep_inline.h index 717e9fc..b68d087 100644 --- a/tests/test_tda8425_sweep_inline.h +++ b/tests/test_tda8425_sweep_inline.h @@ -140,6 +140,7 @@ static void app_setup(void) TDA8425_Chip_Write(&emu, (TDA8425_Address)TDA8425_Reg_VR, app_args.reg_vr); TDA8425_Chip_Write(&emu, (TDA8425_Address)TDA8425_Reg_BA, app_args.reg_ba); TDA8425_Chip_Write(&emu, (TDA8425_Address)TDA8425_Reg_TR, app_args.reg_tr); + TDA8425_Chip_Write(&emu, (TDA8425_Address)TDA8425_Reg_PP, app_args.reg_pp); TDA8425_Chip_Write(&emu, (TDA8425_Address)TDA8425_Reg_SF, app_args.reg_sf); TDA8425_Chip_Start(&emu);