unplugged-system/external/libxaac/decoder/ixheaacd_mps_mdct_2_qmf.c

1849 lines
86 KiB
C
Raw Normal View History

/******************************************************************************
*
* Copyright (C) 2023 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
*/
#include <string.h>
#include "ixheaacd_type_def.h"
#include "ixheaacd_mps_struct_def.h"
#include "ixheaacd_error_codes.h"
#include "ixheaacd_mps_res_rom.h"
#include "ixheaacd_mps_aac_struct.h"
#include "ixheaacd_constants.h"
#include "ixheaacd_basic_ops32.h"
#include "ixheaacd_basic_ops40.h"
#include "ixheaacd_bitbuffer.h"
#include "ixheaacd_cnst.h"
#include "ixheaacd_common_rom.h"
#include "ixheaacd_sbrdecsettings.h"
#include "ixheaacd_sbr_scale.h"
#include "ixheaacd_env_extr_part.h"
#include "ixheaacd_sbr_rom.h"
#include "ixheaacd_hybrid.h"
#include "ixheaacd_ps_dec.h"
#include "ixheaacd_error_standards.h"
#include "ixheaacd_mps_polyphase.h"
#include "ixheaacd_config.h"
#include "ixheaacd_qmf_dec.h"
#include "ixheaacd_mps_dec.h"
#include "ixheaacd_mps_mdct_2_qmf.h"
#include "ixheaacd_mps_macro_def.h"
#include "ixheaacd_mps_basic_op.h"
IA_ERRORCODE ixheaacd_mdct2qmf_tables_init(ia_heaac_mps_state_struct *pstr_mps_state) {
WORD32 time_slots;
time_slots = pstr_mps_state->upd_qmf;
if (32 == time_slots) {
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[0] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_00;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[1] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_01;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[2] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_02;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[3] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_03;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[4] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_04;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[5] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_05;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[6] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_06;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[7] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_07;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[8] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_08;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[9] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_09;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[10] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_10;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[11] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_11;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[12] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_12;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[13] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_13;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[14] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_14;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[15] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_15;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[16] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_15;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[17] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_14;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[18] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_13;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[19] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_12;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[20] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_11;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[21] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_10;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[22] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_09;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[23] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_08;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[24] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_07;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[25] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_06;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[26] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_05;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[27] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_04;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[28] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_03;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[29] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_02;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[30] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_01;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[31] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_00;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[32] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_16;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[33] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_17;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[34] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_18;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[35] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_19;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[36] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_20;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[37] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_21;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[38] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_22;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[39] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_23;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[40] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_24;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[41] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_25;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[42] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_26;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[43] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_27;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[44] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_28;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[45] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_29;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[46] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_30;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[47] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_31;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[48] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_31;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[49] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_30;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[50] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_29;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[51] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_28;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[52] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_27;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[53] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_26;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[54] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_25;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[55] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_24;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[56] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_23;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[57] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_22;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[58] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_21;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[59] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_20;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[60] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_19;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[61] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_18;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[62] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_17;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[63] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_32_16;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_short[0] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_short_4_00;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_short[1] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_short_4_01;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_short[2] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_short_4_01;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_short[3] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_short_4_00;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_short[4] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_short_4_02;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_short[5] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_short_4_03;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_short[6] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_short_4_03;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_short[7] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_short_4_02;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_short[8] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_short[9] = NULL;
} else {
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_short[0] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_short_2_00;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_short[1] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_short_2_00;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_short[2] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_short_2_01;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_short[3] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_short_2_01;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_short[4] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_short[5] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_short[6] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_short[7] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_short[8] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_short[9] = NULL;
if (30 == time_slots) {
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[0] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_00;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[1] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_01;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[2] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_02;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[3] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_03;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[4] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_04;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[5] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_05;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[6] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_06;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[7] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_07;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[8] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_08;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[9] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_09;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[10] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_10;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[11] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_11;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[12] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_12;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[13] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_13;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[14] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_14;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[15] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_14;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[16] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_13;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[17] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_12;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[18] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_11;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[19] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_10;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[20] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_09;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[21] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_08;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[22] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_07;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[23] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_06;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[24] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_05;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[25] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_04;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[26] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_03;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[27] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_02;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[28] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_01;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[29] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_00;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[30] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_15;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[31] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_16;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[32] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_17;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[33] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_18;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[34] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_19;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[35] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_20;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[36] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_21;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[37] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_22;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[38] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_23;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[39] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_24;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[40] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_25;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[41] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_26;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[42] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_27;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[43] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_28;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[44] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_29;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[45] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_29;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[46] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_28;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[47] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_27;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[48] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_26;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[49] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_25;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[50] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_24;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[51] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_23;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[52] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_22;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[53] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_21;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[54] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_20;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[55] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_19;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[56] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_18;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[57] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_17;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[58] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_16;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[59] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_30_15;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[60] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[61] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[62] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[63] = NULL;
} else if (24 == time_slots) {
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[0] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_00;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[1] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_01;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[2] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_02;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[3] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_03;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[4] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_04;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[5] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_05;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[6] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_06;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[7] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_07;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[8] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_08;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[9] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_09;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[10] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_10;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[11] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_11;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[12] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_11;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[13] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_10;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[14] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_09;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[15] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_08;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[16] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_07;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[17] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_06;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[18] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_05;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[19] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_04;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[20] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_03;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[21] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_02;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[22] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_01;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[23] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_00;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[24] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_12;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[25] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_13;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[26] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_14;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[27] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_15;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[28] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_16;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[29] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_17;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[30] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_18;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[31] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_19;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[32] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_20;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[33] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_21;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[34] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_22;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[35] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_23;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[36] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_23;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[37] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_22;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[38] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_21;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[39] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_20;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[40] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_19;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[41] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_18;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[42] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_17;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[43] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_16;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[44] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_15;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[45] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_14;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[46] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_13;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[47] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_24_12;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[48] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[49] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[50] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[51] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[52] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[53] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[54] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[55] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[56] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[57] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[58] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[59] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[60] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[61] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[62] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[63] = NULL;
} else if (18 == time_slots) {
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[0] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_18_00;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[1] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_18_01;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[2] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_18_02;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[3] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_18_03;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[4] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_18_04;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[5] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_18_05;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[6] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_18_06;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[7] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_18_07;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[8] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_18_08;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[9] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_18_08;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[10] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_18_07;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[11] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_18_06;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[12] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_18_05;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[13] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_18_04;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[14] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_18_03;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[15] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_18_02;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[16] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_18_01;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[17] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_18_00;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[18] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_18_09;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[19] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_18_10;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[20] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_18_11;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[21] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_18_12;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[22] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_18_13;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[23] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_18_14;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[24] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_18_15;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[25] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_18_16;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[26] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_18_17;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[27] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_18_17;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[28] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_18_16;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[29] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_18_15;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[30] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_18_14;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[31] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_18_13;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[32] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_18_12;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[33] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_18_11;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[34] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_18_10;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[35] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_18_09;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[36] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[37] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[38] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[39] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[40] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[41] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[42] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[43] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[44] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[45] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[46] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[47] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[48] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[49] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[50] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[51] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[52] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[53] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[54] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[55] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[56] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[57] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[58] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[59] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[60] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[61] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[62] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[63] = NULL;
} else if (16 == time_slots) {
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[0] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_16_00;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[1] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_16_01;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[2] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_16_02;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[3] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_16_03;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[4] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_16_04;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[5] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_16_05;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[6] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_16_06;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[7] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_16_07;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[8] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_16_07;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[9] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_16_06;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[10] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_16_05;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[11] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_16_04;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[12] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_16_03;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[13] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_16_02;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[14] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_16_01;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[15] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_16_00;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[16] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_16_08;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[17] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_16_09;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[18] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_16_10;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[19] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_16_11;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[20] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_16_12;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[21] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_16_13;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[22] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_16_14;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[23] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_16_15;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[24] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_16_15;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[25] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_16_14;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[26] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_16_13;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[27] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_16_12;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[28] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_16_11;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[29] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_16_10;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[30] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_16_09;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[31] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_16_08;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[32] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[33] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[34] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[35] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[36] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[37] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[38] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[39] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[40] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[41] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[42] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[43] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[44] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[45] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[46] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[47] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[48] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[49] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[50] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[51] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[52] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[53] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[54] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[55] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[56] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[57] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[58] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[59] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[60] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[61] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[62] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[63] = NULL;
} else if (15 == time_slots) {
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[0] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_15_00;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[1] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_15_01;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[2] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_15_02;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[3] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_15_03;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[4] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_15_04;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[5] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_15_05;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[6] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_15_06;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[7] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_15_06;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[8] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_15_05;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[9] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_15_04;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[10] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_15_03;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[11] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_15_02;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[12] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_15_01;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[13] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_15_00;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[14] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_15_07;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[15] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_15_08;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[16] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_15_09;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[17] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_15_10;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[18] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_15_11;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[19] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_15_12;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[20] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_15_13;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[21] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_15_14;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[22] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_15_14;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[23] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_15_13;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[24] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_15_12;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[25] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_15_11;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[26] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_15_10;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[27] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_15_09;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[28] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_15_08;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[29] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_long_15_07;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[30] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[31] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[32] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[33] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[34] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[35] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[36] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[37] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[38] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[39] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[40] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[41] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[42] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[43] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[44] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[45] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[46] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[47] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[48] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[49] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[50] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[51] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[52] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[53] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[54] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[55] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[56] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[57] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[58] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[59] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[60] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[61] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[62] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_long[63] = NULL;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_short[4] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_short_3_00;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_short[5] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_short_3_00;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_short[6] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_short_3_01;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_short[7] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_short_3_02;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_short[8] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_short_3_02;
pstr_mps_state->ia_mps_dec_mdct2qmfcos_table.cos_table_short[9] =
pstr_mps_state->ia_mps_dec_mps_table.mdct2qmfcos_table_ptr->cos_table_short_3_01;
} else {
if (pstr_mps_state->residual_coding) return IA_XHEAAC_MPS_DEC_EXE_FATAL_INVALID_TIMESLOTS;
}
}
return IA_NO_ERROR;
}
IA_ERRORCODE ixheaacd_mdct2qmf_create(ia_heaac_mps_state_struct *pstr_mps_state) {
IA_ERRORCODE error_code = IA_NO_ERROR;
WORD32 *qmf_residual_real = pstr_mps_state->array_struct->qmf_residual_real_pre;
WORD32 *qmf_residual_imag = pstr_mps_state->array_struct->qmf_residual_imag_pre;
memset(qmf_residual_real, 0, RES_CHXQMFXTSX4);
memset(qmf_residual_imag, 0, RES_CHXQMFXTSX4);
error_code = ixheaacd_mdct2qmf_tables_init(pstr_mps_state);
return error_code;
}
static VOID ixheaacd_local_zero(WORD32 const l, WORD32 *const b) {
WORD32 i;
for (i = 0; i < l; i++) {
b[i] = 0;
}
}
static VOID ixheaacd_local_fold_out(WORD32 *const s, WORD32 const lv, WORD32 *const w,
WORD32 const l_w, WORD32 *const v_main,
WORD32 *const v_slave) {
WORD32 n;
WORD32 i;
WORD32 j;
WORD32 k;
WORD32 temp_1;
WORD32 *w1;
WORD32 *w2;
WORD32 *w3;
WORD32 *w4;
WORD32 *ptr1, *ptr2, *ptr3;
WORD32 m = l_w >> 1;
WORD32 l = lv / m;
WORD32 m2w = m >> 1;
WORD32 m2a = m - m2w;
for (i = m; i < lv; i += l_w) {
for (n = i + l_w; i < n; i++) {
s[i] = -s[i];
}
}
w1 = &w[-m2a];
w2 = &w[m2w];
w3 = &w[m2w];
w4 = &w[m + m2w];
for (n = 0, j = 0, k = m; n < l - 1; n++) {
for (i = 0; i < m2a; i++, j++, k++) {
v_main[k] = ixheaacd_mps_mult32_shr_30(w2[i], s[k]);
v_slave[j] = ixheaacd_mps_mult32_shr_30(w4[i], s[k]);
}
for (; i < m; i++, j++, k++) {
v_main[j] = ixheaacd_mps_mult32_shr_30(w3[i], s[j]);
v_slave[k] = ixheaacd_mps_mult32_shr_30(w1[i], s[j]);
}
}
ptr1 = v_main;
ptr2 = v_slave + m - 1;
ptr3 = s;
for (i = 0; i < m2a; i++) {
temp_1 = *ptr3++;
*ptr1++ = ixheaacd_mps_mult32_shr_30(*w2++, temp_1);
*ptr2-- = ixheaacd_mps_mult32_shr_30(*w4++, temp_1);
}
j = l * m - m2w;
k = l * m - m2a - 1;
ptr3 = s + l * m - m;
ptr1 = v_main + j;
ptr2 = v_slave + k;
w1 += m2a;
for (; i < m; i++, j++) {
temp_1 = *ptr3++;
*ptr1++ = ixheaacd_mps_mult32_shr_30(*w2++, temp_1);
*ptr2-- = ixheaacd_mps_mult32_shr_30(*w1++, temp_1);
}
}
static VOID ixheaacd_local_imdet(
WORD32 *x1, WORD32 *x2, WORD32 *const scale1, WORD32 const val, WORD32 *z_real,
WORD32 *z_imag, const ia_mps_dec_mdct2qmf_cos_table_struct *ia_mps_dec_mdct2qmfcos_tab,
WORD32 is_long, VOID *scratch) {
WORD32 lw = val << 1;
WORD32 offset = val - (val >> 1);
WORD32 temp_1, temp3, temp_2;
WORD32 *z_real_2, *z_imag_2;
WORD32 *px1, *px2, *px3, *px4;
const WORD16 *cp, *sp;
WORD32 *scale;
WORD32 cnt = val + (val >> 1);
WORD32 k;
WORD32 n, j;
WORD32 l;
WORD32 *p_sum = scratch;
WORD32 *p_diff = (WORD32 *)scratch + SUM_SIZE;
z_real_2 = z_real + lw;
z_imag_2 = z_imag + lw;
for (l = 0; l < LOOP_COUNTER; l++) {
WORD32 *sum = p_sum;
WORD32 *diff = p_diff;
px1 = x1;
px2 = x2 + val - 1;
px3 = x2 + val;
px4 = x1 + 2 * val - 1;
for (n = 0; n < val; n++) {
*sum++ = *px1 + *px2;
*sum++ = *px3 + *px4;
*diff++ = *px1++ - *px2--;
*diff++ = *px3++ - *px4--;
}
scale = scale1;
for (k = 0; k < cnt; k++) {
if (1 == is_long) {
cp = ia_mps_dec_mdct2qmfcos_tab->cos_table_long[k];
sp = cp + val;
} else {
cp = ia_mps_dec_mdct2qmfcos_tab->cos_table_short[k + is_long];
sp = cp + val;
}
sum = p_sum;
diff = p_diff;
temp_1 = *cp++;
temp_2 = ixheaacd_mps_mult32_shr_15(temp_1, *sum);
sum++;
*z_real = temp_2;
temp_2 = ixheaacd_mps_mult32_shr_15(temp_1, *sum);
sum++;
*z_real_2 = temp_2;
temp_1 = *--sp;
temp_2 = ixheaacd_mps_mult32_shr_15(temp_1, *diff);
diff++;
*z_imag = temp_2;
temp_2 = ixheaacd_mps_mult32_shr_15(temp_1, *diff);
diff++;
*z_imag_2 = temp_2;
for (n = 1; n < val; n++) {
temp_1 = *cp++;
temp_2 = ixheaacd_mps_mult32_shr_15(temp_1, *sum);
sum++;
*z_real += temp_2;
temp_2 = ixheaacd_mps_mult32_shr_15(temp_1, *sum);
sum++;
*z_real_2 += temp_2;
temp_1 = *--sp;
temp_2 = ixheaacd_mps_mult32_shr_15(temp_1, *diff);
diff++;
*z_imag += temp_2;
temp_2 = ixheaacd_mps_mult32_shr_15(temp_1, *diff);
diff++;
*z_imag_2 += temp_2;
}
z_real++;
z_imag++;
z_real_2++;
z_imag_2++;
}
z_real -= cnt;
z_real_2 -= cnt;
z_imag -= cnt;
z_imag_2 -= cnt;
for (j = 0; j < (cnt); j++) {
*z_real = ixheaacd_mps_mult32_shr_15(*z_real, *scale);
z_real++;
*z_imag = ixheaacd_mps_mult32_shr_15(*z_imag, *scale);
z_imag++;
*z_real_2 = ixheaacd_mps_mult32_shr_15(*z_real_2, *scale);
z_real_2++;
*z_imag_2 = ixheaacd_mps_mult32_shr_15(*z_imag_2, *scale);
scale++;
z_imag_2++;
}
for (; k < lw; k++) {
if (1 == is_long) {
cp = ia_mps_dec_mdct2qmfcos_tab->cos_table_long[k];
sp = cp + val;
} else {
cp = ia_mps_dec_mdct2qmfcos_tab->cos_table_short[k + is_long];
sp = cp + val;
}
sum = p_sum;
diff = p_diff;
temp_1 = *cp++;
temp3 = ixheaacd_mps_mult32_shr_15(temp_1, *sum);
sum++;
*z_real = temp3;
temp3 = ixheaacd_mps_mult32_shr_15(temp_1, *sum);
sum++;
*z_real_2 = temp3;
temp_1 = *--sp;
temp3 = ixheaacd_mps_mult32_shr_15(temp_1, *diff);
diff++;
*z_imag = temp3;
temp3 = ixheaacd_mps_mult32_shr_15(temp_1, *diff);
diff++;
*z_imag_2 = temp3;
for (n = 1; n < val; n++) {
temp_1 = *cp++;
temp3 = ixheaacd_mps_mult32_shr_15(temp_1, *sum);
sum++;
*z_real += temp3;
temp3 = ixheaacd_mps_mult32_shr_15(temp_1, *sum);
sum++;
*z_real_2 += temp3;
temp_1 = *--sp;
temp3 = ixheaacd_mps_mult32_shr_15(temp_1, *diff);
diff++;
*z_imag += temp3;
temp3 = ixheaacd_mps_mult32_shr_15(temp_1, *diff);
diff++;
*z_imag_2 += temp3;
}
z_real++;
z_imag++;
z_real_2++;
z_imag_2++;
}
z_real -= offset;
z_real_2 -= offset;
z_imag -= offset;
z_imag_2 -= offset;
for (j = 0; j < (offset); j++) {
temp_1 = (*scale++) * -1;
*z_real = ixheaacd_mps_mult32_shr_15(*z_real, temp_1);
z_real++;
*z_imag = ixheaacd_mps_mult32_shr_15(*z_imag, temp_1);
z_imag++;
*z_real_2 = ixheaacd_mps_mult32_shr_15(*z_real_2, temp_1);
z_real_2++;
*z_imag_2 = ixheaacd_mps_mult32_shr_15(*z_imag_2, temp_1);
z_imag_2++;
}
x1 += lw;
x2 += lw;
z_real += lw;
z_imag += lw;
z_imag_2 += lw;
z_real_2 += lw;
}
}
static VOID ixheaacd_local_hybcmdct2qmf(
WORD32 *const v_main, WORD32 *const v_slave, WORD32 *const w, WORD32 const lw, WORD32 *z_real,
WORD32 *z_imag, const ia_mps_dec_mdct2qmf_cos_table_struct *ia_mps_dec_mdct2qmfcos_tab,
VOID *scratch, WORD32 is_long) {
WORD32 i, start = 0;
WORD32 m = lw >> 1;
switch (lw) {
case TSX2_4:
case TSX2_6:
case TSX2_30:
case TSX2_36:
case TSX2_60:
start = 1;
break;
case TSX2_8:
case TSX2_32:
case TSX2_48:
case TSX2_64:
start = 0;
break;
default:
break;
}
ixheaacd_local_imdet(v_slave, v_main, w, m, z_real, z_imag, ia_mps_dec_mdct2qmfcos_tab, is_long,
scratch);
for (i = start; i < (m << 7); i += 2) {
z_imag[i] = -(z_imag[i]);
}
return;
}
static VOID ixheaacd_local_p_zero_ts15(WORD32 *const b, WORD32 *src, WORD32 l) {
WORD32 i;
for (i = 0; i < 15; i++) {
b[i] = *src++;
}
if (l != 15) {
src--;
for (; i < l; i++) {
b[i] = *--src;
}
}
}
static VOID ixheaacd_local_p_nonzero(WORD32 *const b, WORD32 *src, WORD32 l) {
WORD32 i;
for (i = 0; i < l; i++) {
b[i] = *src--;
}
}
static VOID ixheaacd_local_p_zero(WORD32 *const b, WORD32 *src, WORD32 l, WORD32 upd_qmf) {
WORD32 i;
for (i = 0; i < upd_qmf; i++) {
b[i] = *src++;
}
if (l != upd_qmf) {
for (; i < l; i++) {
b[i] = *--src;
}
}
}
static VOID ixheaacd_local_sin(WORD32 const t, WORD32 const p, WORD32 const l, WORD32 *const b,
ia_mps_dec_mdct2qmf_table_struct *mdct2qmf_tab) {
WORD32 *sin_ptr;
switch (t) {
case TS_2:
switch (p) {
case ZERO:
b[0] = 12540;
b[1] = 30274;
if (l == TSX2_4) {
b[2] = b[1];
b[3] = b[0];
}
break;
case TS_2:
b[0] = 30274;
b[1] = 12540;
break;
default:
break;
}
break;
case TS_4:
switch (p) {
case ZERO:
sin_ptr = mdct2qmf_tab->local_sin_4;
b[0] = *sin_ptr++;
b[1] = *sin_ptr++;
b[2] = *sin_ptr++;
b[3] = *sin_ptr;
if (l == TSX2_8) {
b[4] = *sin_ptr--;
b[5] = *sin_ptr--;
b[6] = *sin_ptr--;
b[7] = *sin_ptr;
}
break;
case TS_4:
sin_ptr = &(mdct2qmf_tab->local_sin_4[TS_MINUS_ONE_4]);
b[0] = *sin_ptr--;
b[1] = *sin_ptr--;
b[2] = *sin_ptr--;
b[3] = *sin_ptr;
break;
default:
break;
}
break;
case UPD_QMF_15:
switch (p) {
case ZERO:
sin_ptr = &(mdct2qmf_tab->local_sin_15[1]);
ixheaacd_local_p_zero_ts15(b, sin_ptr, l);
break;
case UPD_QMF_15:
sin_ptr = &(mdct2qmf_tab->local_sin_15[TS_MINUS_ONE_15]);
ixheaacd_local_p_nonzero(b, sin_ptr, l);
break;
default:
break;
}
break;
case UPD_QMF_16:
switch (p) {
case ZERO:
sin_ptr = mdct2qmf_tab->local_sin_16;
ixheaacd_local_p_zero(b, sin_ptr, l, UPD_QMF_16);
break;
case UPD_QMF_16:
sin_ptr = &(mdct2qmf_tab->local_sin_16[TS_MINUS_ONE_16]);
ixheaacd_local_p_nonzero(b, sin_ptr, l);
break;
default:
break;
}
break;
case UPD_QMF_18:
switch (p) {
case ZERO:
sin_ptr = mdct2qmf_tab->local_sin_18;
ixheaacd_local_p_zero(b, sin_ptr, l, UPD_QMF_18);
break;
case UPD_QMF_18:
sin_ptr = &(mdct2qmf_tab->local_sin_18[TS_MINUS_ONE_18]);
ixheaacd_local_p_nonzero(b, sin_ptr, l);
break;
default:
break;
}
break;
case UPD_QMF_24:
switch (p) {
case ZERO:
sin_ptr = mdct2qmf_tab->local_sin_24;
ixheaacd_local_p_zero(b, sin_ptr, l, UPD_QMF_24);
break;
case UPD_QMF_24:
sin_ptr = &(mdct2qmf_tab->local_sin_24[TS_MINUS_ONE_24]);
ixheaacd_local_p_nonzero(b, sin_ptr, l);
break;
default:
break;
}
break;
case UPD_QMF_30:
switch (p) {
case ZERO:
sin_ptr = mdct2qmf_tab->local_sin_30;
ixheaacd_local_p_zero(b, sin_ptr, l, UPD_QMF_30);
break;
case UPD_QMF_30:
sin_ptr = &(mdct2qmf_tab->local_sin_30[TS_MINUS_ONE_30]);
ixheaacd_local_p_nonzero(b, sin_ptr, l);
break;
default:
break;
}
break;
case UPD_QMF_32:
switch (p) {
case ZERO:
sin_ptr = mdct2qmf_tab->local_sin_32;
ixheaacd_local_p_zero(b, sin_ptr, l, UPD_QMF_32);
break;
case UPD_QMF_32:
sin_ptr = &(mdct2qmf_tab->local_sin_32[TS_MINUS_ONE_32]);
ixheaacd_local_p_nonzero(b, sin_ptr, l);
break;
default:
break;
}
break;
default:
break;
}
return;
}
static VOID ixheaacd_local_one(WORD32 const l, WORD32 *const b) {
WORD32 i;
for (i = 0; i < l; i++) {
b[i] = ONE_IN_Q15;
}
}
static VOID ixheaacd_local_freq_win(WORD32 const l, WORD32 *const b, const WORD32 **wf) {
WORD32 i;
WORD32 odd_length = (l & ONE_BIT_MASK);
WORD32 temp_1;
WORD32 *b_start, *b_end;
b_start = b;
b_end = b + 2 * l - 1 - odd_length;
for (i = 0; i < l - odd_length; i++) {
temp_1 = wf[l - 1][i];
*b_start++ = temp_1;
*b_end-- = temp_1;
}
if (odd_length == 1) {
*b_start = wf[l - 1][l - 1];
*(b_start + l) = 0;
}
}
static VOID ixheaacd_local_mdct_win(WORD32 upd_qmf, WORD32 const window_type, WORD32 *const wf,
WORD32 const **wf_tab, WORD32 *const wt,
ia_mps_dec_mdct2qmf_table_struct *mdct2qmf_tab) {
WORD32 length = 0;
WORD32 length_right = 0;
WORD32 length_left = 0;
WORD32 length_const1 = 0;
WORD32 length_const2 = 0;
switch (window_type) {
case ONLY_LONG_SEQUENCE:
length = upd_qmf;
ixheaacd_local_sin(upd_qmf, 0, (length << 1), &wt[0], mdct2qmf_tab);
break;
case LONG_START_SEQUENCE:
switch (upd_qmf) {
case UPD_QMF_15:
length_const1 = 6;
length_const2 = 7;
length_right = 2;
break;
case UPD_QMF_16:
case UPD_QMF_32:
length_const1 = 7 * (upd_qmf >> 4);
length_const2 = length_const1;
length_right = upd_qmf >> 3;
break;
case UPD_QMF_18:
length_const1 = 8;
length_const2 = length_const1;
length_right = 2;
break;
case UPD_QMF_24:
length_const1 = 11;
length_const2 = length_const1;
length_right = 2;
break;
case UPD_QMF_30:
length_const1 = 14;
length_const2 = length_const1;
length_right = 2;
break;
default:
length_const1 = 6;
length_const2 = 7;
length_right = 2;
break;
}
ixheaacd_local_sin(upd_qmf, 0, upd_qmf, &wt[0], mdct2qmf_tab);
ixheaacd_local_one(length_const1, &wt[upd_qmf]);
ixheaacd_local_sin(length_right, length_right, length_right, &wt[upd_qmf + length_const1],
mdct2qmf_tab);
ixheaacd_local_zero(length_const2, &wt[upd_qmf + length_const1 + length_right]);
length = upd_qmf;
break;
case EIGHT_SHORT_SEQUENCE:
switch (upd_qmf) {
case UPD_QMF_16:
case UPD_QMF_32:
length = upd_qmf >> 3;
break;
case UPD_QMF_15:
case UPD_QMF_18:
case UPD_QMF_30:
case UPD_QMF_24:
length = 2;
break;
default:
break;
}
ixheaacd_local_sin(length, 0, 2 * length, &wt[0], mdct2qmf_tab);
break;
case LONG_STOP_SEQUENCE:
switch (upd_qmf) {
case UPD_QMF_15:
length_const1 = 6;
length_const2 = 7;
length_left = 2;
break;
case UPD_QMF_16:
case UPD_QMF_32:
length_const1 = 7 * (upd_qmf >> 4);
length_const2 = length_const1;
length_left = upd_qmf >> 3;
break;
case UPD_QMF_18:
length_const1 = 8;
length_const2 = length_const1;
length_left = 2;
break;
case UPD_QMF_24:
length_const1 = 11;
length_const2 = length_const1;
length_left = 2;
break;
case UPD_QMF_30:
length_const1 = 14;
length_const2 = length_const1;
length_left = 2;
break;
default:
break;
}
ixheaacd_local_zero(length_const1, &wt[0]);
ixheaacd_local_sin(length_left, 0, length_left, &wt[length_const1], mdct2qmf_tab);
ixheaacd_local_one(length_const2, &wt[length_const1 + length_left]);
ixheaacd_local_sin(upd_qmf, upd_qmf, upd_qmf,
&wt[length_const1 + length_left + length_const2], mdct2qmf_tab);
length = upd_qmf;
break;
default:
break;
}
ixheaacd_local_freq_win(length, &wf[0], wf_tab);
if ((upd_qmf == UPD_QMF_15) && (window_type == EIGHT_SHORT_SEQUENCE)) {
WORD32 length2 = 3;
ixheaacd_local_sin(length, 0, length, &wt[(length << 1)], mdct2qmf_tab);
ixheaacd_local_one(1, &wt[3 * length]);
ixheaacd_local_sin(length, length, length, &wt[3 * length + 1], mdct2qmf_tab);
ixheaacd_local_zero(1, &wt[(length << 2) + 1]);
ixheaacd_local_freq_win(length2, &wf[(length << 1)], wf_tab);
}
return;
}
static VOID ixheaacd_get_gain(WORD32 l, WORD32 *gain) {
switch (l) {
case TSX2_4:
*gain = 16384;
break;
case TSX2_6:
*gain = 13377;
break;
case TSX2_8:
*gain = 11585;
break;
case TSX2_30:
*gain = 5982;
break;
case TSX2_32:
*gain = 5792;
break;
case TSX2_36:
*gain = 5461;
break;
case TSX2_48:
*gain = 4729;
break;
case TSX2_60:
*gain = 4230;
break;
case TSX2_64:
*gain = 4096;
break;
default:
break;
}
return;
}
VOID ixheaacd_mdct2qmf_process(WORD32 upd_qmf, WORD32 *const mdct_in, WORD32 *qmf_real_pre,
WORD32 *qmf_real_post, WORD32 *qmf_imag_pre, WORD32 *qmf_imag_post,
WORD32 const window_type, WORD32 qmf_global_offset,
ia_mps_dec_mps_tables_struct *ia_mps_dec_mps_table_ptr,
VOID *scratch, WORD32 time_slots) {
WORD32 i;
WORD32 j;
WORD32 k;
WORD32 l = (upd_qmf << 1);
WORD32 n = 0;
WORD32 *wf;
WORD32 *wt;
WORD32 *v1;
WORD32 *v2;
WORD32 *z1_real;
WORD32 *z1_imag;
WORD32 *twipost_real;
WORD32 *twipost_imag;
WORD32 *mdct_sf, *mdct_sf_ptr;
WORD32 *mdct_p, *mdct_p2;
WORD32 temp_2, temp3, temp4;
WORD32 *p_qmf_real_pre = qmf_real_pre;
WORD32 *p_qmf_real_post = qmf_real_post;
WORD32 *p_qmf_imag_pre = qmf_imag_pre;
WORD32 *p_qmf_imag_post = qmf_imag_post;
VOID *free_scratch;
WORD32 const **wf_tab = ia_mps_dec_mps_table_ptr->wf_tab_ptr->wf;
WORD32 window_offset = 0;
WORD32 mdct_offset = 0;
WORD32 mdct_shift = AAC_SHORT_FRAME_LENGTH;
WORD32 qmf_offset = 0;
WORD32 qmf_shift = 0;
WORD32 n_windows = 0;
WORD32 mdct_length = MDCT_LENGTH_LO;
WORD32 qmf_bands = 64;
const WORD32 *ptr1, *ptr2;
WORD32 is_long;
WORD32 *zr, *zi;
WORD32 *a, *scale;
WORD32 gain = 0;
WORD32 *wp;
wf = scratch;
wt = wf + MAX_TIMESLOTSX2;
v1 = wt + MAX_TIMESLOTSX2;
v2 = v1 + MDCT_LENGTH_HI;
twipost_real = v2 + MDCT_LENGTH_HI;
twipost_imag = twipost_real + MAX_NUM_QMF_BANDS;
mdct_sf = twipost_imag + MAX_NUM_QMF_BANDS;
z1_real = mdct_sf + MDCT_LENGTH_SF;
z1_imag = z1_real + QBXTSX2;
a = z1_imag + QBXTSX2;
free_scratch = (VOID *)((WORD32 *)a + MAX_NUM_QMF_BANDS);
scale = a;
ixheaacd_local_mdct_win(upd_qmf, window_type, wf, wf_tab, wt,
ia_mps_dec_mps_table_ptr->mdct2qmf_table_ptr);
switch (window_type) {
case ONLY_LONG_SEQUENCE:
case LONG_START_SEQUENCE:
case LONG_STOP_SEQUENCE:
n = upd_qmf * qmf_bands - MDCT_LENGTH_LO;
if (n > 0) {
ixheaacd_local_zero(n, &mdct_in[MDCT_LENGTH_LO]);
}
mdct_length += n;
ixheaacd_local_fold_out(mdct_in, mdct_length, wf, l, v1, v2);
wp = wt;
ixheaacd_get_gain(l, &gain);
for (k = 0; k < l; k++) {
*scale++ = ixheaacd_mps_mult32_shr_15(gain, *wp);
wp++;
}
ixheaacd_local_hybcmdct2qmf(v1, v2, a, l, z1_real, z1_imag,
ia_mps_dec_mps_table_ptr->mdct2qmfcos_tab_ptr, free_scratch, 1);
ptr1 = ia_mps_dec_mps_table_ptr->mdct2qmf_table_ptr->twi_post_cos;
ptr2 = ia_mps_dec_mps_table_ptr->mdct2qmf_table_ptr->twi_post_sin;
if (qmf_global_offset < time_slots) {
if (qmf_global_offset + l < time_slots) {
for (i = 0; i < qmf_bands; i++) {
WORD32 cos_twi = *ptr1++;
WORD32 sin_twi = *ptr2++;
for (j = 0; j < l; j++) {
temp3 = *z1_real++;
temp4 = *z1_imag++;
temp_2 = j + qmf_global_offset;
p_qmf_real_pre[temp_2] += cos_twi * temp3;
p_qmf_real_pre[temp_2] -= sin_twi * temp4;
p_qmf_imag_pre[temp_2] += cos_twi * temp4;
p_qmf_imag_pre[temp_2] += sin_twi * temp3;
}
p_qmf_real_pre += MAX_TIME_SLOTS;
p_qmf_imag_pre += MAX_TIME_SLOTS;
}
} else {
for (i = 0; i < qmf_bands; i++) {
WORD32 cos_twi = *ptr1++;
WORD32 sin_twi = *ptr2++;
for (j = 0; j < l; j++) {
temp3 = *z1_real++;
temp4 = *z1_imag++;
temp_2 = j + qmf_global_offset;
if (temp_2 < time_slots) {
p_qmf_real_pre[temp_2] += cos_twi * temp3;
p_qmf_real_pre[temp_2] -= sin_twi * temp4;
p_qmf_imag_pre[temp_2] += cos_twi * temp4;
p_qmf_imag_pre[temp_2] += sin_twi * temp3;
} else {
p_qmf_real_post[temp_2 - time_slots] += cos_twi * temp3;
p_qmf_real_post[temp_2 - time_slots] -= sin_twi * temp4;
p_qmf_imag_post[temp_2 - time_slots] += cos_twi * temp4;
p_qmf_imag_post[temp_2 - time_slots] += sin_twi * temp3;
}
}
p_qmf_real_pre += MAX_TIME_SLOTS;
p_qmf_real_post += MAX_TIME_SLOTS;
p_qmf_imag_pre += MAX_TIME_SLOTS;
p_qmf_imag_post += MAX_TIME_SLOTS;
}
}
} else {
for (i = 0; i < qmf_bands; i++) {
WORD32 cos_twi = *ptr1++;
WORD32 sin_twi = *ptr2++;
for (j = 0; j < l; j++) {
temp3 = *z1_real++;
temp4 = *z1_imag++;
temp_2 = j + qmf_global_offset;
p_qmf_real_post[temp_2 - time_slots] += cos_twi * temp3;
p_qmf_real_post[temp_2 - time_slots] -= sin_twi * temp4;
p_qmf_imag_post[temp_2 - time_slots] += cos_twi * temp4;
p_qmf_imag_post[temp_2 - time_slots] += sin_twi * temp3;
}
p_qmf_real_post += MAX_TIME_SLOTS;
p_qmf_imag_post += MAX_TIME_SLOTS;
}
}
break;
case EIGHT_SHORT_SEQUENCE:
switch (upd_qmf) {
case UPD_QMF_15:
l = 4;
mdct_length = AAC_SHORT_FRAME_LENGTH;
qmf_offset = 6;
qmf_shift = 2;
n_windows = 7;
break;
case UPD_QMF_16:
case UPD_QMF_32:
n = (upd_qmf - UPD_QMF_16) * 8;
mdct_length = AAC_SHORT_FRAME_LENGTH + n;
l = 2 * (upd_qmf >> 3);
qmf_offset = 7 * upd_qmf >> 4;
qmf_shift = upd_qmf >> 3;
n_windows = 8;
break;
case UPD_QMF_18:
l = 4;
mdct_length = AAC_SHORT_FRAME_LENGTH;
qmf_offset = 8;
qmf_shift = 2;
n_windows = 9;
break;
case UPD_QMF_24:
l = 4;
mdct_length = AAC_SHORT_FRAME_LENGTH;
qmf_offset = 11;
qmf_shift = 2;
n_windows = 12;
break;
case UPD_QMF_30:
l = 4;
mdct_length = AAC_SHORT_FRAME_LENGTH;
qmf_offset = 14;
qmf_shift = 2;
n_windows = 15;
break;
default:
l = 4;
mdct_length = AAC_SHORT_FRAME_LENGTH;
qmf_offset = 6;
qmf_shift = 2;
n_windows = 7;
break;
}
wp = wt;
ixheaacd_get_gain(l, &gain);
for (k = 0; k < l; k++) {
*scale++ = ixheaacd_mps_mult32_shr_15(gain, *wp);
wp++;
}
for (k = 0; k < n_windows; k++) {
is_long = 0;
mdct_sf_ptr = mdct_sf;
switch (upd_qmf) {
case UPD_QMF_16:
case UPD_QMF_32:
mdct_p = mdct_in + mdct_offset;
for (i = 0; i < AAC_SHORT_FRAME_LENGTH; i++) {
*mdct_sf_ptr++ = *mdct_p++;
}
ixheaacd_local_zero(n, &mdct_sf[AAC_SHORT_FRAME_LENGTH]);
break;
case UPD_QMF_15:
if (k < n_windows - 1) {
mdct_p = mdct_in + mdct_offset;
for (i = 0; i < AAC_SHORT_FRAME_LENGTH; i++) {
*mdct_sf_ptr++ = *mdct_p++;
}
} else {
window_offset = l;
l = 6;
mdct_length = 192;
is_long = 4;
gain = 13377;
scale = a;
wp = wt + window_offset;
for (k = 0; k < l; k++) {
*scale++ = ixheaacd_mps_mult32_shr_15(gain, *wp);
wp++;
}
mdct_p = mdct_in + mdct_offset;
mdct_p2 = mdct_in + mdct_offset + AAC_SHORT_FRAME_LENGTH;
for (i = 0, j = 0; i < mdct_length / 2; i++) {
*mdct_sf_ptr++ = *mdct_p++;
*mdct_sf_ptr++ = *mdct_p2++;
}
}
break;
case UPD_QMF_18:
case UPD_QMF_24:
case UPD_QMF_30:
mdct_p = mdct_in + mdct_offset;
for (i = 0; i < AAC_SHORT_FRAME_LENGTH; i++) {
*mdct_sf_ptr++ = *mdct_p++;
}
break;
default:
break;
}
ixheaacd_local_fold_out(mdct_sf, mdct_length, &wf[window_offset], l, v1, v2);
ixheaacd_local_hybcmdct2qmf(v1, v2, a, l, z1_real, z1_imag,
ia_mps_dec_mps_table_ptr->mdct2qmfcos_tab_ptr, free_scratch,
is_long);
zr = z1_real;
zi = z1_imag;
ptr1 = ia_mps_dec_mps_table_ptr->mdct2qmf_table_ptr->twi_post_cos;
ptr2 = ia_mps_dec_mps_table_ptr->mdct2qmf_table_ptr->twi_post_sin;
temp_2 = qmf_offset + qmf_global_offset;
if (temp_2 < time_slots) {
if ((temp_2 + l) < time_slots) {
p_qmf_real_pre = qmf_real_pre;
p_qmf_imag_pre = qmf_imag_pre;
for (i = 0; i < qmf_bands; i++) {
WORD32 cos_twi = *ptr1++;
WORD32 sin_twi = *ptr2++;
for (j = 0; j < l; j++) {
temp3 = *zr++;
temp4 = (*zi++);
p_qmf_real_pre[temp_2 + j] += cos_twi * temp3;
p_qmf_real_pre[temp_2 + j] -= sin_twi * temp4;
p_qmf_imag_pre[temp_2 + j] += cos_twi * temp4;
p_qmf_imag_pre[temp_2 + j] += sin_twi * temp3;
}
p_qmf_real_pre += MAX_TIME_SLOTS;
p_qmf_imag_pre += MAX_TIME_SLOTS;
}
} else {
p_qmf_real_pre = qmf_real_pre;
p_qmf_real_post = qmf_real_post;
p_qmf_imag_pre = qmf_imag_pre;
p_qmf_imag_post = qmf_imag_post;
for (i = 0; i < qmf_bands; i++) {
WORD32 cos_twi = *ptr1++;
WORD32 sin_twi = *ptr2++;
for (j = 0; j < l; j++) {
temp3 = *zr++;
temp4 = (*zi++);
if ((temp_2 + j) < time_slots) {
p_qmf_real_pre[temp_2 + j] += cos_twi * temp3;
p_qmf_real_pre[temp_2 + j] -= sin_twi * temp4;
p_qmf_imag_pre[temp_2 + j] += cos_twi * temp4;
p_qmf_imag_pre[temp_2 + j] += sin_twi * temp3;
} else {
p_qmf_real_post[temp_2 + j - time_slots] += cos_twi * temp3;
p_qmf_real_post[temp_2 + j - time_slots] -= sin_twi * temp4;
p_qmf_imag_post[temp_2 + j - time_slots] += cos_twi * temp4;
p_qmf_imag_post[temp_2 + j - time_slots] += sin_twi * temp3;
}
}
p_qmf_real_pre += MAX_TIME_SLOTS;
p_qmf_imag_pre += MAX_TIME_SLOTS;
p_qmf_real_post += MAX_TIME_SLOTS;
p_qmf_imag_post += MAX_TIME_SLOTS;
}
}
} else {
p_qmf_real_post = qmf_real_post;
p_qmf_imag_post = qmf_imag_post;
for (i = 0; i < qmf_bands; i++) {
WORD32 cos_twi = *ptr1++;
WORD32 sin_twi = *ptr2++;
for (j = 0; j < l; j++) {
temp3 = *zr++;
temp4 = (*zi++);
{
p_qmf_real_post[temp_2 + j - time_slots] += cos_twi * temp3;
p_qmf_real_post[temp_2 + j - time_slots] -= sin_twi * temp4;
p_qmf_imag_post[temp_2 + j - time_slots] += cos_twi * temp4;
p_qmf_imag_post[temp_2 + j - time_slots] += sin_twi * temp3;
}
}
p_qmf_real_post += MAX_TIME_SLOTS;
p_qmf_imag_post += MAX_TIME_SLOTS;
}
}
mdct_offset += mdct_shift;
qmf_offset += qmf_shift;
}
break;
default:
break;
}
return;
}