diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-11-18 02:08:00 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-11-18 02:08:00 +0000 |
commit | e6fc6686b645f9fccaefb3cee563571344ec7b2e (patch) | |
tree | 73c3905e1fb2cc11b30be7d583bb500e2cef452d /decoder/ixheaacd_sbrdec_lpfuncs.c | |
parent | 68809fee6a051e4729360a217320da6fec700578 (diff) | |
parent | 49819412af46be1657ff041ca632d281acf9efac (diff) | |
download | libxaac-e6fc6686b645f9fccaefb3cee563571344ec7b2e.tar.gz |
Snap for 11117647 from 49819412af46be1657ff041ca632d281acf9efac to 24Q1-releaseandroid-14.0.0_r37android-14.0.0_r36android-14.0.0_r35android-14.0.0_r34android-14.0.0_r33android-14.0.0_r32android-14.0.0_r31android-14.0.0_r30android-14.0.0_r29android14-qpr2-s5-releaseandroid14-qpr2-s4-releaseandroid14-qpr2-s3-releaseandroid14-qpr2-s2-releaseandroid14-qpr2-s1-releaseandroid14-qpr2-release
Change-Id: Ie58f8858306c59dae920e0c0b10f11021553a504
Diffstat (limited to 'decoder/ixheaacd_sbrdec_lpfuncs.c')
-rw-r--r-- | decoder/ixheaacd_sbrdec_lpfuncs.c | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/decoder/ixheaacd_sbrdec_lpfuncs.c b/decoder/ixheaacd_sbrdec_lpfuncs.c index d828d2f..a14a869 100644 --- a/decoder/ixheaacd_sbrdec_lpfuncs.c +++ b/decoder/ixheaacd_sbrdec_lpfuncs.c @@ -933,23 +933,25 @@ VOID ixheaacd_pre_processing(FLOAT32 ptr_src_buf_real[][64], FLOAT32 poly_coeff[4]; FLOAT32 mean_enrg = 0; FLOAT32 low_env_slope[64]; - FLOAT32 low_env[64]; + FLOAT32 low_env[64] = {0}; FLOAT32 a0; FLOAT32 a1; FLOAT32 a2; FLOAT32 a3; - for (k = 0; k < num_bands; k++) { - FLOAT32 temp = 0; - for (i = start_sample; i < end_sample; i++) { - temp += ptr_src_buf_real[i][k] * ptr_src_buf_real[i][k] + - ptr_src_buf_imag[i][k] * ptr_src_buf_imag[i][k]; + if (num_bands != 0 && end_sample != start_sample) { + for (k = 0; k < num_bands; k++) { + FLOAT32 temp = 0; + for (i = start_sample; i < end_sample; i++) { + temp += ptr_src_buf_real[i][k] * ptr_src_buf_real[i][k] + + ptr_src_buf_imag[i][k] * ptr_src_buf_imag[i][k]; + } + temp /= (end_sample - start_sample); + low_env[k] = (FLOAT32)(10 * log10(temp + 1)); + mean_enrg = mean_enrg + low_env[k]; } - temp /= (end_sample - start_sample); - low_env[k] = (FLOAT32)(10 * log10(temp + 1)); - mean_enrg = mean_enrg + low_env[k]; + mean_enrg /= num_bands; } - mean_enrg /= num_bands; ixheaacd_polyfit(num_bands, low_env, poly_coeff); |