1*15dc779aSAndroid Build Coastguard Worker /****************************************************************************** 2*15dc779aSAndroid Build Coastguard Worker * * 3*15dc779aSAndroid Build Coastguard Worker * Copyright (C) 2018 The Android Open Source Project 4*15dc779aSAndroid Build Coastguard Worker * 5*15dc779aSAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 6*15dc779aSAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 7*15dc779aSAndroid Build Coastguard Worker * You may obtain a copy of the License at: 8*15dc779aSAndroid Build Coastguard Worker * 9*15dc779aSAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 10*15dc779aSAndroid Build Coastguard Worker * 11*15dc779aSAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 12*15dc779aSAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 13*15dc779aSAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14*15dc779aSAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 15*15dc779aSAndroid Build Coastguard Worker * limitations under the License. 16*15dc779aSAndroid Build Coastguard Worker * 17*15dc779aSAndroid Build Coastguard Worker ***************************************************************************** 18*15dc779aSAndroid Build Coastguard Worker * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore 19*15dc779aSAndroid Build Coastguard Worker */ 20*15dc779aSAndroid Build Coastguard Worker #ifndef IXHEAAC_SBR_CONST_H 21*15dc779aSAndroid Build Coastguard Worker #define IXHEAAC_SBR_CONST_H 22*15dc779aSAndroid Build Coastguard Worker 23*15dc779aSAndroid Build Coastguard Worker #define SBR_AMPLITUDE_RESOLUTION_1_5 0 24*15dc779aSAndroid Build Coastguard Worker #define SBR_AMPLITUDE_RESOLUTION_3_0 1 25*15dc779aSAndroid Build Coastguard Worker #define NOISE_FLOOR_OFFSET_INT 6 26*15dc779aSAndroid Build Coastguard Worker 27*15dc779aSAndroid Build Coastguard Worker #define LOW 0 28*15dc779aSAndroid Build Coastguard Worker #define HIGH 1 29*15dc779aSAndroid Build Coastguard Worker 30*15dc779aSAndroid Build Coastguard Worker #define DTDF_DIR_TIME 1 31*15dc779aSAndroid Build Coastguard Worker #define DTDF_DIR_FREQ 0 32*15dc779aSAndroid Build Coastguard Worker 33*15dc779aSAndroid Build Coastguard Worker #define SBR_CYC_REDCY_CHK_BITS 10 34*15dc779aSAndroid Build Coastguard Worker 35*15dc779aSAndroid Build Coastguard Worker #define SBR_SAMP_FEQ_LVL_DEF 2 36*15dc779aSAndroid Build Coastguard Worker #define SBR_CHANGE_LVL_DEF 1 37*15dc779aSAndroid Build Coastguard Worker #define SBR_NOISE_BND_DEF 2 38*15dc779aSAndroid Build Coastguard Worker 39*15dc779aSAndroid Build Coastguard Worker #define SBR_BND_LIMIT_DEF 2 40*15dc779aSAndroid Build Coastguard Worker #define SBR_GAIN_LIMIT_DEF 2 41*15dc779aSAndroid Build Coastguard Worker #define SBR_INTERPOL_SAMP_FEQ_DEF 1 42*15dc779aSAndroid Build Coastguard Worker #define SBR_SMOOTH_LEN_DEF 1 43*15dc779aSAndroid Build Coastguard Worker 44*15dc779aSAndroid Build Coastguard Worker #define SBR_AMPLITUDE_RESOLUTION_BITS 1 45*15dc779aSAndroid Build Coastguard Worker #define SBR_BEGIN_SAMP_FREQ_BITS 4 46*15dc779aSAndroid Build Coastguard Worker #define SBR_END_SAMP_FREQ_BITS 4 47*15dc779aSAndroid Build Coastguard Worker #define SBR_CROSS_OVER_BND_BITS 3 48*15dc779aSAndroid Build Coastguard Worker 49*15dc779aSAndroid Build Coastguard Worker #define ESBR_CROSS_OVER_BND_BITS 4 50*15dc779aSAndroid Build Coastguard Worker #define ESBR_PRE_FLAT_BITS 1 51*15dc779aSAndroid Build Coastguard Worker #define ESBR_PVC_MODE_BITS 2 52*15dc779aSAndroid Build Coastguard Worker 53*15dc779aSAndroid Build Coastguard Worker #define ESBR_HEADER_EXTRA_3_BITS 1 54*15dc779aSAndroid Build Coastguard Worker #define PVC_MODE_BITS 2 55*15dc779aSAndroid Build Coastguard Worker 56*15dc779aSAndroid Build Coastguard Worker #define SBR_HDR_EXTR_1_BITS 1 57*15dc779aSAndroid Build Coastguard Worker #define SBR_HDR_EXTR_2_BITS 1 58*15dc779aSAndroid Build Coastguard Worker 59*15dc779aSAndroid Build Coastguard Worker #define SBR_SAMP_FREQ_LVL_BITS 2 60*15dc779aSAndroid Build Coastguard Worker #define SBR_CHANGE_LVL_BITS 1 61*15dc779aSAndroid Build Coastguard Worker #define SBR_NOISE_BND_BITS 2 62*15dc779aSAndroid Build Coastguard Worker 63*15dc779aSAndroid Build Coastguard Worker #define SBR_BND_LIMIT_BITS 2 64*15dc779aSAndroid Build Coastguard Worker #define SBR_GAIN_LIMIT_BITS 2 65*15dc779aSAndroid Build Coastguard Worker #define SBR_INTERPOL_SAMP_FREQ_BITS 1 66*15dc779aSAndroid Build Coastguard Worker #define SBR_SMOOTH_LEN_BITS 1 67*15dc779aSAndroid Build Coastguard Worker #define SBR_STOCK_HE2_BITS 1 68*15dc779aSAndroid Build Coastguard Worker #define SBR_HDR_RESERV_BITS 2 69*15dc779aSAndroid Build Coastguard Worker #define SBR_SCE_RESERV_BITS 4 70*15dc779aSAndroid Build Coastguard Worker 71*15dc779aSAndroid Build Coastguard Worker #define SBR_COUPLNG_MODE_BITS 1 72*15dc779aSAndroid Build Coastguard Worker 73*15dc779aSAndroid Build Coastguard Worker #define SBR_INVERSE_FILT_MODE_BITS 2 74*15dc779aSAndroid Build Coastguard Worker 75*15dc779aSAndroid Build Coastguard Worker #define SBR_ENLARGED_DATA_BITS 1 76*15dc779aSAndroid Build Coastguard Worker #define SBR_CONT_SIZE_BITS 4 77*15dc779aSAndroid Build Coastguard Worker #define SBR_CONT_ESC_CNT_BITS 8 78*15dc779aSAndroid Build Coastguard Worker #define SBR_CONT_ID_BITS 2 79*15dc779aSAndroid Build Coastguard Worker 80*15dc779aSAndroid Build Coastguard Worker #define SBR_DEL_COD_DIR_BITS 1 81*15dc779aSAndroid Build Coastguard Worker 82*15dc779aSAndroid Build Coastguard Worker #define SBR_ADD_SINE_FLAG_BITS 1 83*15dc779aSAndroid Build Coastguard Worker 84*15dc779aSAndroid Build Coastguard Worker #define SBR_BEGIN_ENVN_BITS_AMPLITUDE_RESOLUTION_3_0 6 85*15dc779aSAndroid Build Coastguard Worker #define SBR_BEGIN_ENVN_BITS_BALNCE_AMPLITUDE_RESOLUTION_3_0 5 86*15dc779aSAndroid Build Coastguard Worker #define SBR_BEGIN_NOISE_BITS_AMPLITUDE_RESOLUTION_3_0 5 87*15dc779aSAndroid Build Coastguard Worker #define SBR_BEGIN_NOISE_BITS_BALNCE_AMPLITUDE_RESOLUTION_3_0 5 88*15dc779aSAndroid Build Coastguard Worker 89*15dc779aSAndroid Build Coastguard Worker #define SBR_BEGIN_ENVN_BITS_AMPLITUDE_RESOLUTION_1_5 7 90*15dc779aSAndroid Build Coastguard Worker #define SBR_BEGIN_ENVN_BITS_BALNCE_AMPLITUDE_RESOLUTION_1_5 6 91*15dc779aSAndroid Build Coastguard Worker 92*15dc779aSAndroid Build Coastguard Worker #define NOISE_FLOOR_OFFSET 6.0f 93*15dc779aSAndroid Build Coastguard Worker 94*15dc779aSAndroid Build Coastguard Worker #define QMF_BUFFER_SIZE 64 95*15dc779aSAndroid Build Coastguard Worker #define TIMESLOT_BUFFER_SIZE 78 96*15dc779aSAndroid Build Coastguard Worker 97*15dc779aSAndroid Build Coastguard Worker #define MAX_NUM_QMF_BANDS_ESBR 128 98*15dc779aSAndroid Build Coastguard Worker 99*15dc779aSAndroid Build Coastguard Worker #define SBR_HF_ADJ_OFFSET 2 100*15dc779aSAndroid Build Coastguard Worker #define MPS_SBR_DELAY (6) 101*15dc779aSAndroid Build Coastguard Worker 102*15dc779aSAndroid Build Coastguard Worker #define MPS_SBR_DELAY_960 5 103*15dc779aSAndroid Build Coastguard Worker 104*15dc779aSAndroid Build Coastguard Worker #define ESBR_HBE_DELAY_OFFSET (32) 105*15dc779aSAndroid Build Coastguard Worker 106*15dc779aSAndroid Build Coastguard Worker #define ESBR_HBE_DELAY_OFFSET_960 30 107*15dc779aSAndroid Build Coastguard Worker 108*15dc779aSAndroid Build Coastguard Worker #define HBE_OPER_WIN_LEN (13) 109*15dc779aSAndroid Build Coastguard Worker #define NO_QMF_SYNTH_CHANNELS 64 110*15dc779aSAndroid Build Coastguard Worker #define TWICE_QMF_SYNTH_CHANNELS_NUM 128 111*15dc779aSAndroid Build Coastguard Worker 112*15dc779aSAndroid Build Coastguard Worker #define MAX_NO_COLS_VALUE 64 113*15dc779aSAndroid Build Coastguard Worker #define MAX_NO_COLS_VALUE_BY_2 (MAX_NO_COLS_VALUE >> 1) 114*15dc779aSAndroid Build Coastguard Worker 115*15dc779aSAndroid Build Coastguard Worker #define MAX_QMF_X_INBUF_SIZE MAX_NO_COLS_VALUE 116*15dc779aSAndroid Build Coastguard Worker #define MAX_QMF_X_OUTBUF_SIZE 2 * MAX_QMF_X_INBUF_SIZE 117*15dc779aSAndroid Build Coastguard Worker 118*15dc779aSAndroid Build Coastguard Worker #define MAX_QMF_X_IN_REAL_BUF (NO_QMF_SYNTH_CHANNELS * MAX_QMF_X_INBUF_SIZE) 119*15dc779aSAndroid Build Coastguard Worker #define MAX_QMF_X_IN_IMAG_BUF (NO_QMF_SYNTH_CHANNELS * MAX_QMF_X_INBUF_SIZE) 120*15dc779aSAndroid Build Coastguard Worker 121*15dc779aSAndroid Build Coastguard Worker #define MAX_QMF_X_OUT_REAL_BUF (NO_QMF_SYNTH_CHANNELS * MAX_QMF_X_OUTBUF_SIZE) 122*15dc779aSAndroid Build Coastguard Worker #define MAX_QMF_X_OUT_IMAG_BUF (NO_QMF_SYNTH_CHANNELS * MAX_QMF_X_OUTBUF_SIZE) 123*15dc779aSAndroid Build Coastguard Worker 124*15dc779aSAndroid Build Coastguard Worker #define X_INBUF_SIZE (MAX_FRAME_SIZE + NO_QMF_SYNTH_CHANNELS) 125*15dc779aSAndroid Build Coastguard Worker #define X_OUTBUF_SIZE (X_INBUF_SIZE * 2) 126*15dc779aSAndroid Build Coastguard Worker 127*15dc779aSAndroid Build Coastguard Worker #define HBE_OPER_BLK_LEN_2 10 128*15dc779aSAndroid Build Coastguard Worker #define HBE_OPER_BLK_LEN_3 8 129*15dc779aSAndroid Build Coastguard Worker #define HBE_OPER_BLK_LEN_4 6 130*15dc779aSAndroid Build Coastguard Worker 131*15dc779aSAndroid Build Coastguard Worker #define MAX_HBE_PERSISTENT_SIZE \ 132*15dc779aSAndroid Build Coastguard Worker (MAX_QMF_X_INBUF_SIZE * sizeof(FLOAT32*) + MAX_QMF_X_OUTBUF_SIZE * sizeof(FLOAT32*) + \ 133*15dc779aSAndroid Build Coastguard Worker MAX_QMF_X_IN_REAL_BUF * sizeof(FLOAT32) + MAX_QMF_X_IN_IMAG_BUF * sizeof(FLOAT32) + \ 134*15dc779aSAndroid Build Coastguard Worker MAX_QMF_X_OUT_REAL_BUF * sizeof(FLOAT32) + MAX_QMF_X_OUT_IMAG_BUF * sizeof(FLOAT32) + \ 135*15dc779aSAndroid Build Coastguard Worker X_INBUF_SIZE * sizeof(FLOAT32) + X_OUTBUF_SIZE * sizeof(FLOAT32)) 136*15dc779aSAndroid Build Coastguard Worker 137*15dc779aSAndroid Build Coastguard Worker #define MAX_QMF_BUF_LEN 78 138*15dc779aSAndroid Build Coastguard Worker 139*15dc779aSAndroid Build Coastguard Worker #define SBR_FRAME_CLASS_BITS 2 140*15dc779aSAndroid Build Coastguard Worker #define SBR_VAR_BORD_BITS 2 141*15dc779aSAndroid Build Coastguard Worker #define SBR_FRQ_RES_BITS 1 142*15dc779aSAndroid Build Coastguard Worker #define SBR_REL_BITS 2 143*15dc779aSAndroid Build Coastguard Worker #define SBR_ENV_BITS 2 144*15dc779aSAndroid Build Coastguard Worker #define SBR_NUM_BITS 2 145*15dc779aSAndroid Build Coastguard Worker 146*15dc779aSAndroid Build Coastguard Worker #define FIXFIX 0 147*15dc779aSAndroid Build Coastguard Worker #define FIXVAR 1 148*15dc779aSAndroid Build Coastguard Worker #define VARFIX 2 149*15dc779aSAndroid Build Coastguard Worker #define VARVAR 3 150*15dc779aSAndroid Build Coastguard Worker 151*15dc779aSAndroid Build Coastguard Worker #define LEN_NIBBLE (4) 152*15dc779aSAndroid Build Coastguard Worker 153*15dc779aSAndroid Build Coastguard Worker #define PI 3.14159265358979323846264338327950288 154*15dc779aSAndroid Build Coastguard Worker #define EPS 1e-12f 155*15dc779aSAndroid Build Coastguard Worker #define LOG2 0.69314718056f 156*15dc779aSAndroid Build Coastguard Worker 157*15dc779aSAndroid Build Coastguard Worker #define MAX_STRETCH 4 158*15dc779aSAndroid Build Coastguard Worker #define MAXDEG 3 159*15dc779aSAndroid Build Coastguard Worker 160*15dc779aSAndroid Build Coastguard Worker #define EXP_FOR_SQRT 0.5f 161*15dc779aSAndroid Build Coastguard Worker 162*15dc779aSAndroid Build Coastguard Worker #define SBR_HF_RELAXATION_PARAM 0.999999f 163*15dc779aSAndroid Build Coastguard Worker 164*15dc779aSAndroid Build Coastguard Worker #define ESBR_PATCHING_MODE_BITS 1 165*15dc779aSAndroid Build Coastguard Worker #define ESBR_OVERSAMPLING_FLAG_BITS 1 166*15dc779aSAndroid Build Coastguard Worker #define ESBR_PITCHIN_FLAG_BITS 1 167*15dc779aSAndroid Build Coastguard Worker #define ESBR_PITCHIN_BINS_BITS 7 168*15dc779aSAndroid Build Coastguard Worker #define ESBR_RESERVED_PRESENT 1 169*15dc779aSAndroid Build Coastguard Worker #define ESBR_RESERVED_BITS_DATA 4 170*15dc779aSAndroid Build Coastguard Worker #define ESBR_INVF_MODE_BITS 2 171*15dc779aSAndroid Build Coastguard Worker #define ESBR_NOISE_MODE_BITS 1 172*15dc779aSAndroid Build Coastguard Worker #define ESBR_DOMAIN_BITS 1 173*15dc779aSAndroid Build Coastguard Worker 174*15dc779aSAndroid Build Coastguard Worker #define SBR_NUM_QMF_BANDS 64 175*15dc779aSAndroid Build Coastguard Worker #define SBR_NUM_QMF_BANDS_2 32 176*15dc779aSAndroid Build Coastguard Worker 177*15dc779aSAndroid Build Coastguard Worker #define PVC_NUM_TIME_SLOTS 16 178*15dc779aSAndroid Build Coastguard Worker #define PVC_ESG_MIN_VAL 0.1f 179*15dc779aSAndroid Build Coastguard Worker 180*15dc779aSAndroid Build Coastguard Worker #define PVC_10LOG10_ESG_MIN_VAL -10.0f 181*15dc779aSAndroid Build Coastguard Worker 182*15dc779aSAndroid Build Coastguard Worker #define PVC_DIV_MODE_BITS 3 183*15dc779aSAndroid Build Coastguard Worker #define PVC_NS_MODE_BITS 1 184*15dc779aSAndroid Build Coastguard Worker #define PVC_GRID_INFO_BITS 1 185*15dc779aSAndroid Build Coastguard Worker #define PVC_REUSE_PVC_ID_BITS 1 186*15dc779aSAndroid Build Coastguard Worker #define PVC_ID_BITS 7 187*15dc779aSAndroid Build Coastguard Worker #define PVC_NB_HIGH_MODE1 8 188*15dc779aSAndroid Build Coastguard Worker #define PVC_NB_HIGH_MODE2 6 189*15dc779aSAndroid Build Coastguard Worker 190*15dc779aSAndroid Build Coastguard Worker #define PVC_NB_LOW 3 191*15dc779aSAndroid Build Coastguard Worker #define PVC_ID_NUM_GROUPS 3 192*15dc779aSAndroid Build Coastguard Worker #define PVC_NB_HIGH 128 193*15dc779aSAndroid Build Coastguard Worker #define PVC_ID_NBIT 7 194*15dc779aSAndroid Build Coastguard Worker 195*15dc779aSAndroid Build Coastguard Worker #define ESC_SIN_POS 31 196*15dc779aSAndroid Build Coastguard Worker #define MAX_OCTAVE 29 197*15dc779aSAndroid Build Coastguard Worker #define MAX_SECOND_REGION 50 198*15dc779aSAndroid Build Coastguard Worker 199*15dc779aSAndroid Build Coastguard Worker #define SBR_ENERGY_PAN_OFFSET 12 200*15dc779aSAndroid Build Coastguard Worker #define SBR_ENV_SF_MAX_VAL_1_5 70 201*15dc779aSAndroid Build Coastguard Worker #define MAX_NOISE_FLOOR_FAC_VAL 35 202*15dc779aSAndroid Build Coastguard Worker #define MIN_NOISE_FLOOR_FAC_VAL 0 203*15dc779aSAndroid Build Coastguard Worker 204*15dc779aSAndroid Build Coastguard Worker #define HBE_ZERO_BAND_IDX 6 205*15dc779aSAndroid Build Coastguard Worker 206*15dc779aSAndroid Build Coastguard Worker #define MAX_OV_DELAY 12 207*15dc779aSAndroid Build Coastguard Worker 208*15dc779aSAndroid Build Coastguard Worker #define LD_TRAN 1 209*15dc779aSAndroid Build Coastguard Worker #define LD_ENV_TIME_SLOT 7 210*15dc779aSAndroid Build Coastguard Worker #define LD_ENV_TBL_512 16 211*15dc779aSAndroid Build Coastguard Worker #define LD_ENV_TBL_480 15 212*15dc779aSAndroid Build Coastguard Worker #define LD_ENV_TBL_SIZE 4 213*15dc779aSAndroid Build Coastguard Worker #define SBR_TRAN_BITS 4 214*15dc779aSAndroid Build Coastguard Worker #define SBRLD_CLA_BITS 1 215*15dc779aSAndroid Build Coastguard Worker #define SBR_ENVT_NUMENV 0 216*15dc779aSAndroid Build Coastguard Worker #define SBR_ENVT_TRANIDX 3 217*15dc779aSAndroid Build Coastguard Worker 218*15dc779aSAndroid Build Coastguard Worker #define SBR_CLA_BITS 2 219*15dc779aSAndroid Build Coastguard Worker #define SBR_ABS_BITS 2 220*15dc779aSAndroid Build Coastguard Worker #define SBR_RES_BITS 1 221*15dc779aSAndroid Build Coastguard Worker #define SBR_REL_BITS 2 222*15dc779aSAndroid Build Coastguard Worker #define SBR_ENV_BITS 2 223*15dc779aSAndroid Build Coastguard Worker #define SBR_NUM_BITS 2 224*15dc779aSAndroid Build Coastguard Worker 225*15dc779aSAndroid Build Coastguard Worker #define FIXFIX 0 226*15dc779aSAndroid Build Coastguard Worker #define FIXVAR 1 227*15dc779aSAndroid Build Coastguard Worker #define VARFIX 2 228*15dc779aSAndroid Build Coastguard Worker #define VARVAR 3 229*15dc779aSAndroid Build Coastguard Worker 230*15dc779aSAndroid Build Coastguard Worker #define LEN_NIBBLE (4) 231*15dc779aSAndroid Build Coastguard Worker 232*15dc779aSAndroid Build Coastguard Worker #endif /* IXHEAAC_SBR_CONST_H */ 233