diff options
author | Harish Mahendrakar <harish.mahendrakar@ittiam.com> | 2018-05-09 14:23:00 -0700 |
---|---|---|
committer | Ray Essick <essick@google.com> | 2018-06-05 13:04:22 -0700 |
commit | 8eb646f89b94cf6d0aa26e5bca39ba083a554965 (patch) | |
tree | 11bfb08fb1722b0b435c453aed777ab94687c31f /decoder/ixheaacd_qmf_dec.h | |
parent | 36ef96da451b4257b77e841b36d4dcbcb250500d (diff) | |
download | libxaac-8eb646f89b94cf6d0aa26e5bca39ba083a554965.tar.gz |
Collected Cleanups from Ittiam
Test: CTS android.media.cts.DecoderTest{AacDrc,XheAac}
Added __ARM_NEON__ check to generic function selector
Bug: 80432407
Change-Id: I66c7879fda1369da88ccaea5f8792ea54657cdaf
Added support to build for mips
Bug: 80432286
Change-Id: I908029bbaddd3c1fbc39be1192926b56d981576e
Add optimized versions for qmf_dec for armv7 and armv8
Separating common functions and platform specific functions
in ixheaacd_qmf_dec.c. Platform specific functions are moved
to qmf_dec in armv7, armv8 and generic folder.
Bug: 80431870
Change-Id: I860cb79a1870e228d2108b7915418e1c003cefc5
Fixes for crashes reported by Fuzzer tool
Bug: 109697676
Change-Id: I862fc054b99ee9d427d20596bc8d2e85522a7188
Diffstat (limited to 'decoder/ixheaacd_qmf_dec.h')
-rw-r--r-- | decoder/ixheaacd_qmf_dec.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/decoder/ixheaacd_qmf_dec.h b/decoder/ixheaacd_qmf_dec.h index 0b9c0a4..96356ee 100644 --- a/decoder/ixheaacd_qmf_dec.h +++ b/decoder/ixheaacd_qmf_dec.h @@ -178,4 +178,43 @@ VOID ixheaacd_cos_sin_mod_loop1(WORD32 *subband, WORD32 M, VOID ixheaacd_cos_sin_mod_loop2(WORD32 *subband, const WORD16 *p_sin, WORD32 M); +VOID ixheaacd_sbr_qmfsyn64_winadd(WORD16 *tmp1, WORD16 *tmp2, WORD16 *inp1, + WORD16 *sample_buffer, FLAG shift, + WORD32 ch_fac); + +VOID ixheaacd_esbr_cos_sin_mod(WORD32 *subband, + ia_sbr_qmf_filter_bank_struct *qmf_bank, + WORD32 *p_twiddle, WORD32 *p_dig_rev_tbl); + +VOID ixheaacd_inv_modulation_lp(WORD32 *qmf_real, WORD16 *filter_states, + ia_sbr_qmf_filter_bank_struct *syn_qmf, + ia_qmf_dec_tables_struct *qmf_dec_tables_ptr); + +VOID ixheaacd_sbr_pre_twiddle(WORD32 *p_xre, WORD32 *p_xim, + WORD16 *p_twiddles); + +VOID ixheaacd_inv_emodulation( + WORD32 *qmf_real, ia_sbr_qmf_filter_bank_struct *syn_qmf, + ia_qmf_dec_tables_struct *qmf_dec_tables_ptr); + +VOID ixheaacd_pretwdct2(WORD32 *inp, WORD32 *out_fwd); + +VOID ixheaacd_sbr_qmfanal32_winadd_eld(WORD16 *inp1, WORD16 *inp2, + WORD16 *p_qmf1, WORD16 *p_qmf2, + WORD32 *p_out); + +VOID ixheaacd_dct2_32(WORD32 *inp, WORD32 *out, + ia_qmf_dec_tables_struct *qmf_dec_tables_ptr, + WORD16 *filter_states); + +VOID ixheaacd_inv_modulation_lp(WORD32 *qmf_real, WORD16 *filter_states, + ia_sbr_qmf_filter_bank_struct *syn_qmf, + ia_qmf_dec_tables_struct *qmf_dec_tables_ptr); + +VOID ixheaacd_fftposttw(WORD32 *out, + ia_qmf_dec_tables_struct *qmf_dec_tables_ptr); + +VOID ixheaacd_posttwdct2(WORD32 *inp, WORD16 *out_fwd, + ia_qmf_dec_tables_struct *qmf_dec_tables_ptr); + #endif |