| /****************************************************************************** |
| * * |
| * Copyright (C) 2018 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at: |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| * |
| ***************************************************************************** |
| * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore |
| */ |
| #ifndef IXHEAACD_ACELP_COM_H |
| #define IXHEAACD_ACELP_COM_H |
| |
| #define LEN_ABS_LEADER 37 |
| #define LEN_SIGN_LEADER 226 |
| #define LEN_I3 9 |
| #define LEN_I4 28 |
| |
| extern const FLOAT32 ixheaacd_int_leave_gain_table[256]; |
| |
| VOID ixheaacd_rotated_gosset_mtx_dec(WORD32 qn, WORD32 code_book_idx, |
| WORD32 kv[], WORD32 y[]); |
| |
| VOID ixheaacd_residual_tool(WORD32 *a, WORD32 *x, WORD32 *y, WORD32 l, |
| WORD32 n); |
| |
| VOID ixheaacd_synthesis_tool_float(FLOAT32 a[], FLOAT32 x[], FLOAT32 y[], |
| WORD32 l, FLOAT32 mem[]); |
| |
| VOID ixheaacd_synthesis_tool_float1(FLOAT32 a[], FLOAT32 x[], WORD32 l); |
| |
| VOID ixheaacd_lpc_wt_synthesis_tool(FLOAT32 a[], FLOAT32 x[], WORD32 l); |
| |
| WORD16 ixheaacd_rand_gen(WORD16 *seed); |
| |
| VOID ixheaacd_preemphsis_tool(WORD32 *signal, WORD32 mu, WORD32 len, |
| WORD32 mem); |
| |
| VOID ixheaacd_deemphsis_tool(FLOAT32 *signal, WORD32 len, FLOAT32 mem); |
| |
| VOID ixheaacd_residual_tool_float(FLOAT32 *a, FLOAT32 *x, FLOAT32 *y, WORD32 l, |
| WORD32 loop_count); |
| |
| VOID ixheaacd_residual_tool_float1(FLOAT32 *a, FLOAT32 *x, FLOAT32 *y, WORD32 l, |
| WORD32 loop_count); |
| |
| VOID ixheaacd_preemphsis_tool_float(FLOAT32 *signal, FLOAT32 mu, WORD32 len, |
| FLOAT32 mem); |
| |
| VOID ixheaacd_lsp_to_lp_conversion(FLOAT32 *lsp, FLOAT32 *a); |
| |
| VOID ixheaacd_lpc_coeff_wt_apply(FLOAT32 *a, FLOAT32 *ap); |
| |
| VOID ixheaacd_acelp_pitch_sharpening(FLOAT32 *x, WORD32 pit_lag); |
| |
| VOID ixheaacd_acelp_decode_pulses_per_track(WORD32 index[], WORD16 nbbits, |
| FLOAT32 code[]); |
| |
| #endif |