From da2b43248ebe6f50e354ed8846d6f4d8d4421e7e Mon Sep 17 00:00:00 2001 From: Sandesh Venkatesh Date: Mon, 19 May 2025 12:01:23 +0530 Subject: [PATCH 01/11] Fix for 3GPP issue 1534: BASOP Encoder Distortion for ISM 1 FER at 32kbps, EXT output, high MLD Link #1534 --- lib_enc/mslvq_enc_fx.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib_enc/mslvq_enc_fx.c b/lib_enc/mslvq_enc_fx.c index 8f8dd4537..4955dede8 100644 --- a/lib_enc/mslvq_enc_fx.c +++ b/lib_enc/mslvq_enc_fx.c @@ -1221,10 +1221,10 @@ Word32 mslvq_ivas_16( } ELSE { - p_sigma = sigma_p_fx[mode]; + p_sigma = sigma_p_ivas_fx[mode]; /* inverse sigma is precomputed to save complexity */ - p_inv_sigma = inv_sigma_p_fx[mode]; + p_inv_sigma = inv_sigma_p_ivas_fx[mode]; p_scales = scales_p_ivas_fx[mode_glb]; -- GitLab From 4614fa4003dc911c5eb596f994bc5df7f29ccb1a Mon Sep 17 00:00:00 2001 From: Dominik Weckbecker Date: Mon, 14 Apr 2025 15:47:57 +0200 Subject: [PATCH 02/11] tentatively delete IND_SHB_RES_GS5 from the index list --- lib_com/cnst.h | 1 - 1 file changed, 1 deletion(-) diff --git a/lib_com/cnst.h b/lib_com/cnst.h index ae84dbd2c..7b204a8e2 100644 --- a/lib_com/cnst.h +++ b/lib_com/cnst.h @@ -537,7 +537,6 @@ enum IND_SHB_RES_GS2, IND_SHB_RES_GS3, IND_SHB_RES_GS4, - IND_SHB_RES_GS5, IND_SHB_VF, #else IND_SHB_VF = IND_SHB_RES_GS + 5, -- GitLab From 1606acd85f7093197ad262ecf7c7eff0b12c560b Mon Sep 17 00:00:00 2001 From: Dominik Weckbecker Date: Wed, 16 Apr 2025 16:19:37 +0200 Subject: [PATCH 03/11] port bitstream debugging functionality from bitstream_debugging_float --- apps/encoder.c | 6 +- lib_com/bitstream.c | 2022 +++++++++++++++++++++- lib_com/options.h | 4 + lib_com/prot_fx.h | 28 +- lib_enc/ivas_corecoder_enc_reconfig_fx.c | 13 + lib_enc/ivas_init_enc_fx.c | 10 + lib_enc/ivas_qmetadata_enc_fx.c | 15 + lib_enc/ivas_spar_md_enc_fx.c | 6 +- lib_enc/lib_enc.c | 18 +- lib_enc/lib_enc.h | 8 + lib_enc/prot_fx_enc.h | 4 + lib_enc/stat_enc.h | 3 + 12 files changed, 2124 insertions(+), 13 deletions(-) diff --git a/apps/encoder.c b/apps/encoder.c index af9554589..1dc6c56ed 100644 --- a/apps/encoder.c +++ b/apps/encoder.c @@ -758,7 +758,11 @@ int main( } /* *** Encode one frame *** */ - if ( ( error = IVAS_ENC_EncodeFrameToSerial( hIvasEnc, pcmBuf, pcmBufSize, bitStream, &numBits ) ) != IVAS_ERR_OK ) + if ( ( error = IVAS_ENC_EncodeFrameToSerial( hIvasEnc, pcmBuf, pcmBufSize, bitStream, &numBits +#ifdef BITSTREAM_ANALYSIS + , frame +#endif + ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nencodeFrame failed: %s\n\n", IVAS_ENC_GetErrorMessage( error ) ); goto cleanup; diff --git a/lib_com/bitstream.c b/lib_com/bitstream.c index 385000139..08bf87ee2 100644 --- a/lib_com/bitstream.c +++ b/lib_com/bitstream.c @@ -48,7 +48,9 @@ #include "wmc_auto.h" #include "ivas_prot_fx.h" #include "prot_fx_enc.h" - +#ifdef BITSTREAM_ANALYSIS +#include +#endif #define STEP_MAX_NUM_INDICES 100 /* increase the maximum number of allowed indices in the list by this amount */ @@ -199,6 +201,9 @@ ivas_error ind_list_realloc( { new_ind_list[i].id = old_ind_list[i].id; new_ind_list[i].value = old_ind_list[i].value; +#ifdef BITSTREAM_ANALYSIS + strncpy(new_ind_list[i].function_name, old_ind_list[i].function_name, 100); +#endif move16(); move16(); } @@ -210,6 +215,9 @@ ivas_error ind_list_realloc( FOR( ; i < max_num_indices; i++ ) { new_ind_list[i].nb_bits = -1; +#ifdef BITSTREAM_ANALYSIS + sprintf(new_ind_list[i].function_name, "RESET in ind_list_realloc"); +#endif move16(); } @@ -800,6 +808,9 @@ void move_indices( new_ind_list[i].value = old_ind_list[i].value; new_ind_list[i].nb_bits = old_ind_list[i].nb_bits; +#ifdef BITSTREAM_ANALYSIS + strncpy(new_ind_list[i].function_name, old_ind_list[i].function_name, 100); +#endif old_ind_list[i].nb_bits = -1; } } @@ -810,8 +821,14 @@ void move_indices( new_ind_list[i].id = old_ind_list[i].id; new_ind_list[i].value = old_ind_list[i].value; new_ind_list[i].nb_bits = old_ind_list[i].nb_bits; +#ifdef BITSTREAM_ANALYSIS + strncpy(new_ind_list[i].function_name, old_ind_list[i].function_name, 100); +#endif old_ind_list[i].nb_bits = -1; +#ifdef BITSTREAM_ANALYSIS + sprintf(old_ind_list[i].function_name, "RESET in move_indices"); +#endif } } @@ -880,6 +897,1882 @@ ivas_error check_ind_list_limits( return error; } +#ifdef BITSTREAM_ANALYSIS +const char *named_indices_table[] = +{ +"IND_IVAS_FORMAT", +"IND_SMODE_OMASA", +"IND_SMODE", +"IND_SID_TYPE", +"IND_BWIDTH", +"IND_CORE", +"IND_PPP_NELP_MODE", +"IND_ACELP_16KHZ", +"IND_ACELP_SIGNALLING", +"IND_SHARP_FLAG", +"IND_MDCT_CORE", +"IND_TCX_CORE", +"IND_BWE_FLAG", +"IND_HQ_SWITCHING_FLG", +"IND_LAST_L_FRAME", +"IND_VAD_FLAG", +"IND_HQ_BWIDTH", +"IND_TC_SUBFR", +"IND_TC_SUBFR", +"IND_TC_SUBFR", +"IND_TC_SUBFR", +"IND_GSC_IVAS_SP", +"IND_LSF_PREDICTOR_SELECT_BIT", +"IND_LSF", +"IND_LSF", +"IND_LSF", +"IND_LSF", +"IND_LSF", +"IND_LSF", +"IND_LSF", +"IND_LSF", +"IND_LSF", +"IND_LSF", +"IND_LSF", +"IND_LSF", +"IND_LSF", +"IND_LSF", +"IND_LSF", +"IND_LSF", +"IND_LSF", +"IND_MID_FRAME_LSF_INDEX", +"IND_ISF_0_0", +"IND_ISF_0_1", +"IND_ISF_0_2", +"IND_ISF_0_3", +"IND_ISF_0_4", +"IND_ISF_1_0", +"IND_ISF_1_1", +"IND_ISF_1_2", +"IND_ISF_1_3", +"IND_ISF_1_4", +"IND_IC_LSF_PRED", +"IND_GSC_ATTACK", +"IND_GSC_SWB_SPEECH", +"IND_NOISE_LEVEL", +"IND_HF_NOISE", +"IND_PIT_CONTR_IDX", +"IND_FEC_CLAS", +"IND_FEC_ENR", +"IND_FEC_POS", +"IND_ES_PRED", +"IND_HARM_FLAG_ACELP", +"IND_ALG_CDBK_4T64_2_24KBIT", +"IND_ALG_CDBK_4T64_2_24KBIT", +"IND_ALG_CDBK_4T64_2_24KBIT", +"IND_ALG_CDBK_4T64_2_24KBIT", +"IND_ALG_CDBK_4T64_2_24KBIT", +"IND_ALG_CDBK_4T64_2_24KBIT", +"IND_ALG_CDBK_4T64_2_24KBIT", +"IND_ALG_CDBK_4T64_2_24KBIT", +"IND_ALG_CDBK_4T64_2_24KBIT", +"IND_ALG_CDBK_4T64_2_24KBIT", +"IND_ALG_CDBK_4T64_2_24KBIT", +"IND_ALG_CDBK_4T64_2_24KBIT", +"IND_ALG_CDBK_4T64_2_24KBIT", +"IND_ALG_CDBK_4T64_2_24KBIT", +"IND_ALG_CDBK_4T64_2_24KBIT", +"IND_ALG_CDBK_4T64_2_24KBIT", +"IND_ALG_CDBK_4T64_2_24KBIT", +"IND_ALG_CDBK_4T64_2_24KBIT", +"IND_ALG_CDBK_4T64_2_24KBIT", +"IND_ALG_CDBK_4T64_2_24KBIT", +"IND_ALG_CDBK_4T64_2_24KBIT", +"IND_ALG_CDBK_4T64_2_24KBIT", +"IND_ALG_CDBK_4T64_2_24KBIT", +"IND_ALG_CDBK_4T64_2_24KBIT", +"IND_ALG_CDBK_4T64_2_24KBIT", +"IND_ALG_CDBK_4T64_2_24KBIT", +"IND_ALG_CDBK_4T64_2_24KBIT", +"IND_ALG_CDBK_4T64_2_24KBIT", +"IND_ALG_CDBK_4T64_2_24KBIT", +"IND_ALG_CDBK_4T64_2_24KBIT", +"IND_ALG_CDBK_4T64_2_24KBIT", +"IND_ALG_CDBK_4T64_2_24KBIT", +"IND_ALG_CDBK_4T64_2_24KBIT", +"IND_ALG_CDBK_4T64_2_24KBIT", +"IND_ALG_CDBK_4T64_2_24KBIT", +"IND_ALG_CDBK_4T64_2_24KBIT", +"IND_ALG_CDBK_4T64_2_24KBIT", +"IND_ALG_CDBK_4T64_2_24KBIT", +"IND_ALG_CDBK_4T64_2_24KBIT", +"IND_ALG_CDBK_4T64_2_24KBIT", +"TAG_ALG_CDBK_4T64_24KBIT_END", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"IND_HF_GAIN_MODIFICATION", +"TAG_ACELP_SUBFR_LOOP_END", +"IND_MEAN_GAIN2", +"IND_MEAN_GAIN2", +"IND_MEAN_GAIN2", +"IND_MEAN_GAIN2", +"IND_MEAN_GAIN2", +"IND_MEAN_GAIN2", +"IND_MEAN_GAIN2", +"IND_MEAN_GAIN2", +"IND_MEAN_GAIN2", +"IND_MEAN_GAIN2", +"IND_MEAN_GAIN2", +"IND_MEAN_GAIN2", +"IND_MEAN_GAIN2", +"IND_MEAN_GAIN2", +"IND_MEAN_GAIN2", +"IND_MEAN_GAIN2", +"IND_MEAN_GAIN2", +"IND_MEAN_GAIN2", +"IND_MEAN_GAIN2", +"IND_MEAN_GAIN2", +"IND_MEAN_GAIN2", +"IND_MEAN_GAIN2", +"IND_MEAN_GAIN2", +"IND_MEAN_GAIN2", +"IND_MEAN_GAIN2", +"IND_MEAN_GAIN2", +"IND_MEAN_GAIN2", +"IND_MEAN_GAIN2", +"IND_MEAN_GAIN2", +"IND_MEAN_GAIN2", +"IND_MEAN_GAIN2", +"IND_MEAN_GAIN2", +"IND_Y_GAIN_TMP", +"IND_Y_GAIN_TMP", +"IND_Y_GAIN_TMP", +"IND_Y_GAIN_TMP", +"IND_Y_GAIN_TMP", +"IND_Y_GAIN_TMP", +"IND_Y_GAIN_TMP", +"IND_Y_GAIN_TMP", +"IND_Y_GAIN_TMP", +"IND_Y_GAIN_TMP", +"IND_Y_GAIN_TMP", +"IND_Y_GAIN_TMP", +"IND_Y_GAIN_TMP", +"IND_Y_GAIN_TMP", +"IND_Y_GAIN_TMP", +"IND_Y_GAIN_TMP", +"IND_Y_GAIN_TMP", +"IND_Y_GAIN_TMP", +"IND_Y_GAIN_TMP", +"IND_Y_GAIN_TMP", +"IND_Y_GAIN_TMP", +"IND_Y_GAIN_TMP", +"IND_Y_GAIN_TMP", +"IND_Y_GAIN_TMP", +"IND_Y_GAIN_TMP", +"IND_Y_GAIN_TMP", +"IND_Y_GAIN_TMP", +"IND_Y_GAIN_TMP", +"IND_Y_GAIN_TMP", +"IND_Y_GAIN_TMP", +"IND_Y_GAIN_TMP", +"IND_Y_GAIN_TMP", +"IND_Y_GAIN_HF", +"IND_HQ_VOICING_FLAG", +"IND_HQ_SWB_CLAS", +"IND_NF_IDX", +"IND_LC_MODE", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_YNRM", +"IND_SWB_FENV_HQ", +"IND_SWB_FENV_HQ", +"IND_SWB_FENV_HQ", +"IND_SWB_FENV_HQ", +"IND_SWB_FENV_HQ", +"IND_FB_FENV_HQ", +"IND_FB_FENV_HQ", +"IND_FB_FENV_HQ", +"IND_FB_FENV_HQ", +"IND_FB_FENV_HQ", +"IND_DELTA_ENV_HQ", +"IND_HVQ_BWE_NL", +"IND_HVQ_BWE_NL", +"IND_NUM_PEAKS", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_POS_IDX", +"IND_FLAGN", +"IND_PG_IDX", +"IND_PG_IDX", +"IND_PG_IDX", +"IND_PG_IDX", +"IND_PG_IDX", +"IND_PG_IDX", +"IND_PG_IDX", +"IND_PG_IDX", +"IND_PG_IDX", +"IND_PG_IDX", +"IND_PG_IDX", +"IND_PG_IDX", +"IND_PG_IDX", +"IND_PG_IDX", +"IND_PG_IDX", +"IND_PG_IDX", +"IND_PG_IDX", +"IND_PG_IDX", +"IND_PG_IDX", +"IND_PG_IDX", +"IND_PG_IDX", +"IND_PG_IDX", +"IND_PG_IDX", +"IND_PG_IDX", +"IND_PG_IDX", +"IND_PG_IDX", +"IND_PG_IDX", +"IND_PG_IDX", +"IND_PG_IDX", +"IND_PG_IDX", +"IND_PG_IDX", +"IND_PG_IDX", +"IND_PG_IDX", +"IND_PG_IDX", +"IND_PG_IDX", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_PEAKS", +"IND_HVQ_NF_GAIN", +"IND_HVQ_NF_GAIN", +"IND_HQ2_SWB_CLAS", +"IND_HQ2_DENG_MODE", +"IND_HQ2_DENG_8SMODE", +"IND_HQ2_DENG_8SMODE_N0", +"IND_HQ2_DENG_8SMODE_N1", +"IND_HQ2_DENG_8SPOS", +"IND_HQ2_DENG_8SDEPTH", +"IND_HQ2_DENG_HMODE", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_DIFF_ENERGY", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_P2A_FLAGS", +"IND_HQ2_LAST_BA_MAX_BAND", +"IND_HQ2_LAST_BA_MAX_BAND", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_START", +"IND_RC_END", +"IND_HVQ_PVQ_GAIN", +"IND_HVQ_PVQ_GAIN", +"IND_HVQ_PVQ_GAIN", +"IND_HVQ_PVQ_GAIN", +"IND_HVQ_PVQ_GAIN", +"IND_HVQ_PVQ_GAIN", +"IND_HVQ_PVQ_GAIN", +"IND_HVQ_PVQ_GAIN", +"IND_NOISINESS", +"IND_ENERGY", +"IND_CNG_HO", +"IND_SID_BW", +"IND_CNG_ENV1", +"IND_WB_FENV", +"IND_WB_CLASS", +"IND_IG1", +"IND_IG2A", +"IND_IG2B", +"IND_NELP_FID", +"IND_DELTALAG", +"IND_POWER", +"IND_AMP0", +"IND_AMP1", +"IND_GLOBAL_ALIGNMENT", +"IND_PVQ_FINE_GAIN", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_UV_FLAG", +"IND_SHB_SUBGAIN", +"IND_SHB_FRAMEGAIN", +"IND_STEREO_ICBWE_MSFLAG", +"IND_SHB_ENER_SF", +"IND_SHB_RES_GS", +"IND_SHB_RES_GS", +"IND_SHB_RES_GS", +"IND_SHB_RES_GS", +"IND_SHB_RES_GS", +"IND_SHB_VF", +"IND_SHB_LSF", +"IND_SHB_LSF", +"IND_SHB_LSF", +"IND_SHB_LSF", +"IND_SHB_LSF", +"IND_SHB_MIRROR", +"IND_SHB_GRID", +"IND_SWB_CLASS", +"IND_SWB_TENV", +"IND_SWB_TENV", +"IND_SWB_TENV", +"IND_SWB_TENV", +"IND_SWB_FENV", +"IND_SWB_FENV", +"IND_SWB_FENV", +"IND_SWB_FENV", +"IND_SHB_CNG_GAIN", +"IND_DITHERING", +"IND_FB_SLOPE", +"IND_HQ2_SPT_SHORTEN", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_TCQ", +"IND_HQ2_SUBBAND_GAIN", +"IND_HQ2_SUBBAND_GAIN", +"IND_HQ2_SUBBAND_GAIN", +"IND_HQ2_SUBBAND_GAIN", +"IND_HQ2_SUBBAND_GAIN", +"IND_HQ2_SUBBAND_GAIN", +"IND_HQ2_SUBBAND_GAIN", +"IND_HQ2_SUBBAND_GAIN", +"IND_HQ2_SUBBAND_GAIN", +"IND_HQ2_SUBBAND_GAIN", +"IND_HQ2_SUBBAND_GAIN", +"IND_HQ2_SUBBAND_GAIN", +"IND_HQ2_SUBBAND_GAIN", +"IND_HQ2_SUBBAND_GAIN", +"IND_HQ2_SUBBAND_GAIN", +"IND_HQ2_SUBBAND_GAIN", +"IND_HQ2_SUBBAND_GAIN", +"IND_HQ2_SUBBAND_GAIN", +"IND_HQ2_SUBBAND_GAIN", +"IND_HQ2_SUBBAND_GAIN", +"IND_HQ2_DUMMY", +"IND_LAGINDICES", +"IND_NOISEG", +"IND_AUDIO_GAIN", +"IND_AUDIO_DELAY", +"IND_AUDIO_DELAY", +"IND_AUDIO_DELAY", +"IND_AUDIO_DELAY", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"IND_NQ2", +"TAG_HR_BWE_LOOP_END", +"IND_CORE_SWITCHING_CELP_SUBFRAME", +"IND_CORE_SWITCHING_CELP_SUBFRAME", +"IND_CORE_SWITCHING_CELP_SUBFRAME", +"IND_CORE_SWITCHING_CELP_SUBFRAME", +"IND_CORE_SWITCHING_CELP_SUBFRAME", +"IND_CORE_SWITCHING_CELP_SUBFRAME", +"IND_CORE_SWITCHING_CELP_SUBFRAME", +"IND_CORE_SWITCHING_CELP_SUBFRAME", +"IND_CORE_SWITCHING_CELP_SUBFRAME", +"IND_CORE_SWITCHING_CELP_SUBFRAME", +"IND_CORE_SWITCHING_CELP_SUBFRAME", +"IND_CORE_SWITCHING_CELP_SUBFRAME", +"IND_CORE_SWITCHING_CELP_SUBFRAME", +"IND_CORE_SWITCHING_CELP_SUBFRAME", +"IND_CORE_SWITCHING_CELP_SUBFRAME", +"IND_CORE_SWITCHING_CELP_SUBFRAME", +"IND_CORE_SWITCHING_CELP_SUBFRAME", +"IND_CORE_SWITCHING_CELP_SUBFRAME", +"IND_CORE_SWITCHING_CELP_SUBFRAME", +"IND_CORE_SWITCHING_CELP_SUBFRAME", +"IND_CORE_SWITCHING_AUDIO_DELAY", +"IND_CORE_SWITCHING_AUDIO_GAIN", +"IND_STEREO_ICBWE_REF", +"IND_STEREO_ICBWE_SP", +"IND_STEREO_ICBWE_GS", +"IND_STEREO_REFCHAN", +"IND_STEREO_CORRSTATS", +"IND_STEREO_GD", +"IND_STEREO_LRTD_FLAG", +"IND_STEREO_LPC_REUSE", +"IND_STEREO_TD_ALPHA", +"IND_STEREO_2ND_CODER_T", +"IND_UNUSED" +}; +#endif + /*-------------------------------------------------------------------* * push_indice() @@ -925,6 +2818,9 @@ ivas_error push_indice( hBstr->ind_list[j].id = hBstr->ind_list[j - 1].id; hBstr->ind_list[j].nb_bits = hBstr->ind_list[j - 1].nb_bits; hBstr->ind_list[j].value = hBstr->ind_list[j - 1].value; +#ifdef BITSTREAM_ANALYSIS + strncpy(hBstr->ind_list[j].function_name, hBstr->ind_list[j - 1].function_name, 100); +#endif move16(); move16(); move16(); @@ -936,6 +2832,9 @@ ivas_error push_indice( hBstr->ind_list[i].id = id; hBstr->ind_list[i].value = value; hBstr->ind_list[i].nb_bits = nb_bits; +#ifdef BITSTREAM_ANALYSIS + strncpy(hBstr->ind_list[i].function_name, named_indices_table[id], 100); +#endif move16(); move16(); move16(); @@ -954,7 +2853,10 @@ ivas_error push_indice( * * Push a new indice into the buffer at the next position *-------------------------------------------------------------------*/ -ivas_error push_next_indice( +ivas_error push_next_indice_( +#ifdef BITSTREAM_ANALYSIS + const char *caller, +#endif BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */ UWord16 value, /* i : value of the quantized indice */ Word16 nb_bits /* i : number of bits used to quantize the indice */ @@ -992,6 +2894,10 @@ ivas_error push_next_indice( move16(); move16(); +#ifdef BITSTREAM_ANALYSIS + strncpy(hBstr->ind_list[hBstr->nb_ind_tot].function_name, caller, 100); +#endif + /* updates */ hBstr->nb_ind_tot = add( hBstr->nb_ind_tot, 1 ); hBstr->nb_bits_tot = add( hBstr->nb_bits_tot, nb_bits ); @@ -1005,7 +2911,10 @@ ivas_error push_next_indice( * push_next_bits() * Push a bit buffer into the buffer at the next position *-------------------------------------------------------------------*/ -ivas_error push_next_bits( +ivas_error push_next_bits_( +#ifdef BITSTREAM_ANALYSIS + const char *caller, +#endif BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */ const UWord16 bits[], /* i : bit buffer to pack, sequence of single bits */ const Word16 nb_bits /* i : number of bits to pack */ @@ -1049,6 +2958,9 @@ ivas_error push_next_bits( ptr->value = code; ptr->nb_bits = 16; ptr->id = prev_id; +#ifdef BITSTREAM_ANALYSIS + strncpy(ptr->function_name, caller, 100); +#endif hBstr->nb_ind_tot = add( hBstr->nb_ind_tot, 1 ); move16(); move16(); @@ -1070,6 +2982,9 @@ ivas_error push_next_bits( ptr->value = bits[i]; ptr->nb_bits = 1; ptr->id = prev_id; +#ifdef BITSTREAM_ANALYSIS + strncpy(ptr->function_name, caller, 100); +#endif hBstr->nb_ind_tot = add( hBstr->nb_ind_tot, 1 ); move16(); move16(); @@ -1144,6 +3059,9 @@ UWord16 delete_indice( hBstr->ind_list[j].id = hBstr->ind_list[i].id; hBstr->ind_list[j].value = hBstr->ind_list[i].value; hBstr->ind_list[j].nb_bits = hBstr->ind_list[i].nb_bits; +#ifdef BITSTREAM_ANALYSIS + strncpy(hBstr->ind_list[j].function_name, hBstr->ind_list[i].function_name, 100); +#endif } j++; @@ -1155,6 +3073,9 @@ UWord16 delete_indice( { /* reset the shifted indices at the end of the list */ hBstr->ind_list[j].nb_bits = -1; +#ifdef BITSTREAM_ANALYSIS + sprintf(hBstr->ind_list[j].function_name, "RESET in delete_indice"); +#endif } return i - j; @@ -1391,6 +3312,10 @@ static ivas_error write_indices_element_fx( UWord16 **pt_stream, /* i : pointer to bitstream buffer */ const Word16 is_SCE, /* i : flag to distingusih SCE and CPE */ const Word16 element_id /* i : id of the SCE or CPE */ +#ifdef BITSTREAM_ANALYSIS + , + int32_t frame +#endif ) { Word16 ch; @@ -1497,6 +3422,79 @@ static ivas_error write_indices_element_fx( } } +#ifdef BITSTREAM_ANALYSIS + if (is_SCE) /* EVS and SCE */ + { + static FILE *f1 = 0; + + if (f1 == 0) + f1 = fopen("bitstream_text", "w"); + + for (int16_t i = 0; i < sts[0]->hBstr->nb_ind_tot; i++) + { + Indice *ind_list = sts[0]->hBstr->ind_list; + int16_t value = ind_list[i].value; + int16_t nb_bits = ind_list[i].nb_bits; + char *function_name = ind_list[i].function_name; + + fprintf(f1, "%d %d %d %s %d %d\n", frame, element_id, i, function_name, nb_bits, value); + + } + + if (st_ivas->hSCE[element_id]->hMetaData != NULL) + { + for (int16_t i = 0; i < st_ivas->hSCE[element_id]->hMetaData->nb_ind_tot; i++) + { + Indice *ind_list = st_ivas->hSCE[element_id]->hMetaData->ind_list; + int16_t value = ind_list[i].value; + int16_t nb_bits = ind_list[i].nb_bits; + char *function_name = ind_list[i].function_name; + + fprintf(f1, "%d %d %d %s %d %d\n", frame, element_id, i, function_name, nb_bits, value); + + } + } + + } + else + { + static FILE *f1 = 0; + + if (f1 == 0) + f1 = fopen("bitstream_text", "w"); + + + for (n = 0; n < n_channels; n++) + { + for (int16_t i = 0; i < sts[n]->hBstr->nb_ind_tot; i++) + { + Indice *ind_list = sts[n]->hBstr->ind_list; + int16_t value = ind_list[i].value; + int16_t nb_bits = ind_list[i].nb_bits; + char *function_name = ind_list[i].function_name; + + fprintf(f1, "%d %d %d %d %s %d %d\n", frame, element_id, n, i, function_name, nb_bits, value); + + } + + } + + if (st_ivas->hCPE[element_id]->hMetaData != NULL) + { + for (int16_t i = 0; i < st_ivas->hCPE[element_id]->hMetaData->nb_ind_tot; i++) + { + Indice *ind_list = st_ivas->hCPE[element_id]->hMetaData->ind_list; + int16_t value = ind_list[i].value; + int16_t nb_bits = ind_list[i].nb_bits; + char *function_name = ind_list[i].function_name; + + fprintf(f1, "%d %d %d %d %s %d %d\n", frame, element_id, -1, i, function_name, nb_bits, value); + + } + } + } +#endif + /*----------------------------------------------------------------* * Clearing of indices * Reset index pointers @@ -1540,6 +3538,10 @@ ivas_error write_indices_ivas_fx( Encoder_Struct *st_ivas, /* i/o: encoder state structure */ UWord16 *bit_stream, /* i/o: output bitstream */ UWord16 *num_bits /* i : number of indices written to output */ +#ifdef BITSTREAM_ANALYSIS + , + int32_t frame +#endif ) { Word16 i, n; @@ -1563,12 +3565,22 @@ ivas_error write_indices_ivas_fx( FOR( n = 0; n < st_ivas->nSCE; n++ ) { - write_indices_element_fx( st_ivas, &pt_stream, 1, n ); + write_indices_element_fx( st_ivas, &pt_stream, 1, n +#ifdef BITSTREAM_ANALYSIS + , + frame +#endif + ); } FOR( n = 0; n < st_ivas->nCPE; n++ ) { - write_indices_element_fx( st_ivas, &pt_stream, 0, n ); + write_indices_element_fx( st_ivas, &pt_stream, 0, n +#ifdef BITSTREAM_ANALYSIS + , + frame +#endif + ); } *num_bits = (UWord16) ( pt_stream - bit_stream ); diff --git a/lib_com/options.h b/lib_com/options.h index 75323cf13..d55309bc9 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -98,4 +98,8 @@ #define FIX_1486_IND_SHB_RES /* VA: Fix for issue 1486: align the usage of IND_SHB_RES_GS indices with float code */ #define TEST_HR +#define REMOVE_EVS_DUPLICATES /* remove core-coder duplicated functions, ACELP low-band decoder */ + +/*#define BITSTREAM_ANALYSIS*/ + #endif diff --git a/lib_com/prot_fx.h b/lib_com/prot_fx.h index 498be3137..f1fbf8fc0 100644 --- a/lib_com/prot_fx.h +++ b/lib_com/prot_fx.h @@ -10661,13 +10661,27 @@ ivas_error config_acelp1_fx( const Word16 GSC_IVAS_mode /* i : GSC IVAS mode */ ); -ivas_error push_next_indice( +#ifdef BITSTREAM_ANALYSIS +#define push_next_indice( ... ) push_next_indice_( __func__, __VA_ARGS__ ) +#define push_next_bits( ... ) push_next_bits_( __func__, __VA_ARGS__ ); +#else +#define push_next_indice( ... ) push_next_indice_( __VA_ARGS__ ) +#define push_next_bits( ... ) push_next_bits_( __VA_ARGS__ ); +#endif + +ivas_error push_next_indice_( +#ifdef BITSTREAM_ANALYSIS + const char *caller, +#endif BSTR_ENC_HANDLE hBstr, UWord16 value, /* i : value of the quantized indice */ Word16 nb_bits /* i : number of bits used to quantize the indice */ ); -ivas_error push_next_bits( +ivas_error push_next_bits_( +#ifdef BITSTREAM_ANALYSIS + const char *caller, +#endif BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */ const UWord16 bits[], /* i : bit buffer to pack, sequence of single bits */ const Word16 nb_bits /* i : number of bits to pack */ @@ -10989,13 +11003,19 @@ ivas_error push_indice( Word16 nb_bits /* i : number of bits used to quantize the indice */ ); -ivas_error push_next_indice( +ivas_error push_next_indice_( +#ifdef BITSTREAM_ANALYSIS + const char *caller, +#endif BSTR_ENC_HANDLE hBstr, UWord16 value, /* i : value of the quantized indice */ Word16 nb_bits /* i : number of bits used to quantize the indice */ ); -ivas_error push_next_bits( +ivas_error push_next_bits_( +#ifdef BITSTREAM_ANALYSIS + const char *caller, +#endif BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */ const UWord16 bits[], /* i : bit buffer to pack, sequence of single bits */ const Word16 nb_bits /* i : number of bits to pack */ diff --git a/lib_enc/ivas_corecoder_enc_reconfig_fx.c b/lib_enc/ivas_corecoder_enc_reconfig_fx.c index a8698bacc..7e7db6e0e 100644 --- a/lib_enc/ivas_corecoder_enc_reconfig_fx.c +++ b/lib_enc/ivas_corecoder_enc_reconfig_fx.c @@ -38,6 +38,10 @@ #include "wmc_auto.h" #include "ivas_prot_fx.h" #include "math.h" +#include "wmc_auto.h" +#ifdef BITSTREAM_ANALYSIS +#include +#endif /*-------------------------------------------------------------------* * ivas_corecoder_enc_reconfig() * @@ -192,6 +196,9 @@ ivas_error ivas_corecoder_enc_reconfig_fx( move16(); temp_ind_list[i].nb_bits = hBstr->ind_list[i].nb_bits; /* Q0 */ move16(); +#ifdef BITSTREAM_ANALYSIS + strncpy(temp_ind_list[i].function_name, hBstr->ind_list[i].function_name, 100); +#endif hBstr->ind_list[i].nb_bits = -1; /* Q0 */ move16(); } @@ -545,6 +552,9 @@ ivas_error ivas_corecoder_enc_reconfig_fx( move16(); st_ivas->hSCE[0]->hCoreCoder[0]->hBstr->ind_list[i].nb_bits = temp_ind_list[i].nb_bits; /* Q0 */ move16(); +#ifdef BITSTREAM_ANALYSIS + strncpy(st_ivas->hSCE[0]->hCoreCoder[0]->hBstr->ind_list[i].function_name, temp_ind_list[i].function_name, 100); +#endif } nb_bits = add( nb_bits, temp_ind_list[i].nb_bits ); /* Q0 */ @@ -569,6 +579,9 @@ ivas_error ivas_corecoder_enc_reconfig_fx( move16(); st_ivas->hCPE[0]->hCoreCoder[0]->hBstr->ind_list[i].nb_bits = temp_ind_list[i].nb_bits; /* Q0 */ move16(); +#ifdef BITSTREAM_ANALYSIS + strncpy(st_ivas->hCPE[0]->hCoreCoder[0]->hBstr->ind_list[i].function_name, temp_ind_list[i].function_name, 100); +#endif } nb_bits = add( nb_bits, temp_ind_list[i].nb_bits ); /* Q0 */ diff --git a/lib_enc/ivas_init_enc_fx.c b/lib_enc/ivas_init_enc_fx.c index 04b99f039..ce87b0571 100644 --- a/lib_enc/ivas_init_enc_fx.c +++ b/lib_enc/ivas_init_enc_fx.c @@ -41,6 +41,9 @@ #include "wmc_auto.h" #include "ivas_prot_fx.h" #include "prot_fx_enc.h" +#ifdef BITSTREAM_ANALYSIS +#include +#endif /*-------------------------------------------------------------------* @@ -1175,6 +1178,13 @@ ivas_error ivas_init_encoder_fx( move16(); } +#ifdef BITSTERAM_ANALYSIS + for (i = 0; i < st_ivas->ivas_max_num_indices; i++) + { + memset(st_ivas->ind_list[i].function_name, 'A', 100 * sizeof(char)); + } +#endif + /* set the maximum allowed number of metadata indices in the list */ st_ivas->ivas_max_num_indices_metadata = get_ivas_max_num_indices_metadata_fx( st_ivas->hEncoderConfig->ivas_format, st_ivas->hEncoderConfig->ivas_total_brate ); /* Q0 */ move16(); diff --git a/lib_enc/ivas_qmetadata_enc_fx.c b/lib_enc/ivas_qmetadata_enc_fx.c index 744d2c067..15e0db269 100644 --- a/lib_enc/ivas_qmetadata_enc_fx.c +++ b/lib_enc/ivas_qmetadata_enc_fx.c @@ -43,6 +43,9 @@ #include "basop_util.h" #include "ivas_rom_com_fx.h" +#ifdef BITSTREAM_ANALYSIS +#include +#endif /*-----------------------------------------------------------------------* * Local function prototypes @@ -1192,14 +1195,23 @@ void reset_metadata_spatial_fx( { hMetaData->ind_list[i].nb_bits = -1; move16(); +#ifdef BITSTREAM_ANALYSIS + sprintf(hMetaData->ind_list[i].function_name, "RESET in reset_metadata_spatial"); +#endif } FOR( ( j = 0, i = next_ind_sid ); i < last_ind_sid; ( i++, j++ ) ) { hMetaData->ind_list[j].value = hMetaData->ind_list[i].value; hMetaData->ind_list[j].nb_bits = hMetaData->ind_list[i].nb_bits; +#ifdef BITSTREAM_ANALYSIS + strncpy(hMetaData->ind_list[j].function_name, hMetaData->ind_list[i].function_name, 100); +#endif hMetaData->nb_bits_tot = add( hMetaData->nb_bits_tot, hMetaData->ind_list[j].nb_bits ); hMetaData->ind_list[i].nb_bits = -1; +#ifdef BISTREAM_ANALYSIS + sprintf(hMetaData->ind_list[i].function_name, "RESET in reset_metadata_spatial"); +#endif move16(); move16(); move16(); @@ -2007,6 +2019,9 @@ void restore_metadata_buffer_fx( { hMetaData->ind_list[i].nb_bits = -1; move16(); +#ifdef BITSTREAM_ANALYSIS + sprintf(hMetaData->ind_list[i].function_name, "RESET in restore_metadata_buffer"); +#endif } hMetaData->nb_bits_tot = bit_pos_start; move16(); diff --git a/lib_enc/ivas_spar_md_enc_fx.c b/lib_enc/ivas_spar_md_enc_fx.c index 9c4fcc937..d179b1263 100644 --- a/lib_enc/ivas_spar_md_enc_fx.c +++ b/lib_enc/ivas_spar_md_enc_fx.c @@ -439,7 +439,11 @@ static void write_metadata_buffer_fx( FOR( i = 0; i < hMetaData_tmp->nb_ind_tot; i++ ) { - push_next_indice( hMetaData, hMetaData_tmp->ind_list[i].value, hMetaData_tmp->ind_list[i].nb_bits ); +#ifdef BITSTREAM_ANALYSIS + push_next_indice_(hMetaData_tmp->ind_list[i].function_name, hMetaData, hMetaData_tmp->ind_list[i].value, hMetaData_tmp->ind_list[i].nb_bits); +#else + push_next_indice(hMetaData, hMetaData_tmp->ind_list[i].value, hMetaData_tmp->ind_list[i].nb_bits); +#endif } return; diff --git a/lib_enc/lib_enc.c b/lib_enc/lib_enc.c index f90b2d8ec..dd4097fff 100644 --- a/lib_enc/lib_enc.c +++ b/lib_enc/lib_enc.c @@ -1660,6 +1660,10 @@ ivas_error IVAS_ENC_EncodeFrameToSerial( Word16 inputBufferSize, /* i : total number of samples in the input buffer. Related function: IVAS_ENC_GetInputBufferSize() Q0*/ UWord16 *outputBitStream, /* o : pointer to serial output bitstream. The array must already be allocated and be of size at least IVAS_MAX_BITS_PER_FRAME Q0*/ UWord16 *numOutBits /* o : number of bits written to output bitstream. Each bit is stored as a single uint16_t value Q0*/ +#ifdef BITSTREAM_ANALYSIS + , + int32_t frame +#endif ) { Encoder_Struct *st_ivas; @@ -1783,7 +1787,12 @@ ivas_error IVAS_ENC_EncodeFrameToSerial( st_ivas->ind_list[i].nb_bits = -1; move16(); } - +#ifdef BITSTREAM_ANALYSIS + for (i = 0; i < st_ivas->ivas_max_num_indices; i++) + { + memset(st_ivas->ind_list[i].function_name, 'A', 100 * sizeof(char)); + } +#endif /* de-allocate old buffer of metadata indices */ IF( st_ivas->ind_list_metadata != NULL ) { @@ -1923,7 +1932,12 @@ ivas_error IVAS_ENC_EncodeFrameToSerial( ELSE #endif { - write_indices_ivas_fx( st_ivas, outputBitStream, numOutBits ); + write_indices_ivas_fx( st_ivas, outputBitStream, numOutBits +#ifdef BITSTREAM_ANALYSIS + , + frame +#endif + ); } /* Reset switching flag before next call - can be set to "true" by some setters */ hIvasEnc->switchingActive = false; diff --git a/lib_enc/lib_enc.h b/lib_enc/lib_enc.h index 8cf6be1cd..51a6e5821 100644 --- a/lib_enc/lib_enc.h +++ b/lib_enc/lib_enc.h @@ -302,6 +302,10 @@ ivas_error IVAS_ENC_EncodeFrameToSerial( Word16 inputBufferSize, /* i : total number of samples in the input buffer. Related function: IVAS_ENC_GetInputBufferSize() */ UWord16 *outputBitStream, /* o : pointer to serial output bitstream. The array must already be allocated and be of size at least IVAS_MAX_BITS_PER_FRAME */ UWord16 *numOutBits /* o : number of bits written to output bitstream. Each bit is stored as a single uint16_t value */ +#ifdef BITSTREAM_ANALYSIS + , + int32_t frame +#endif ); /*! r: error code */ @@ -311,6 +315,10 @@ ivas_error IVAS_ENC_EncodeFrameToCompact( const Word16 inputBufferSize, /* i : total number of samples in the input buffer. Related function: IVAS_ENC_GetInputBufferSize() */ UWord8 *outputBitStream, /* o : pointer to compact output bitstream. The array must already be allocated. */ UWord16 *numOutBits /* o : number of bits written to output bitstream */ +#ifdef BITSTREAM_ANALYSIS + , + int32_t frame +#endif ); /* Setter functions - apply changes to encoder configuration */ diff --git a/lib_enc/prot_fx_enc.h b/lib_enc/prot_fx_enc.h index d3528370f..b1b14afc6 100644 --- a/lib_enc/prot_fx_enc.h +++ b/lib_enc/prot_fx_enc.h @@ -4808,5 +4808,9 @@ ivas_error write_indices_ivas_fx( Encoder_Struct *st_ivas, /* i/o: encoder state structure */ UWord16 *bit_stream, /* i/o: output bitstream */ UWord16 *num_bits /* i : number of indices written to output */ +#ifdef BITSTREAM_ANALYSIS + , + int32_t frame +#endif ); #endif diff --git a/lib_enc/stat_enc.h b/lib_enc/stat_enc.h index caca3173e..3a4acc101 100644 --- a/lib_enc/stat_enc.h +++ b/lib_enc/stat_enc.h @@ -54,6 +54,9 @@ typedef struct Word16 id; /* id of the indice */ UWord16 value; /* value of the quantized indice */ Word16 nb_bits; /* number of bits used for the quantization of the indice */ +#ifdef BITSTREAM_ANALYSIS + char function_name[100]; +#endif } Indice, *INDICE_HANDLE; typedef struct -- GitLab From a4e7e7f9ea3e1638e71e50f485b3c3b0b9beee0c Mon Sep 17 00:00:00 2001 From: Dominik Weckbecker Date: Wed, 16 Apr 2025 16:23:30 +0200 Subject: [PATCH 04/11] fix formatting --- apps/encoder.c | 7 +- lib_com/bitstream.c | 3907 +++++++++++----------- lib_com/prot_fx.h | 8 +- lib_enc/ivas_corecoder_enc_reconfig_fx.c | 6 +- lib_enc/ivas_init_enc_fx.c | 8 +- lib_enc/ivas_qmetadata_enc_fx.c | 8 +- lib_enc/ivas_spar_md_enc_fx.c | 4 +- lib_enc/lib_enc.c | 20 +- lib_enc/prot_fx_enc.h | 4 +- lib_enc/stat_enc.h | 2 +- 10 files changed, 1984 insertions(+), 1990 deletions(-) diff --git a/apps/encoder.c b/apps/encoder.c index 1dc6c56ed..a98c9f5f2 100644 --- a/apps/encoder.c +++ b/apps/encoder.c @@ -758,11 +758,12 @@ int main( } /* *** Encode one frame *** */ - if ( ( error = IVAS_ENC_EncodeFrameToSerial( hIvasEnc, pcmBuf, pcmBufSize, bitStream, &numBits + if ( ( error = IVAS_ENC_EncodeFrameToSerial( hIvasEnc, pcmBuf, pcmBufSize, bitStream, &numBits #ifdef BITSTREAM_ANALYSIS - , frame + , + frame #endif - ) ) != IVAS_ERR_OK ) + ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nencodeFrame failed: %s\n\n", IVAS_ENC_GetErrorMessage( error ) ); goto cleanup; diff --git a/lib_com/bitstream.c b/lib_com/bitstream.c index 08bf87ee2..b4e62566d 100644 --- a/lib_com/bitstream.c +++ b/lib_com/bitstream.c @@ -202,7 +202,7 @@ ivas_error ind_list_realloc( new_ind_list[i].id = old_ind_list[i].id; new_ind_list[i].value = old_ind_list[i].value; #ifdef BITSTREAM_ANALYSIS - strncpy(new_ind_list[i].function_name, old_ind_list[i].function_name, 100); + strncpy( new_ind_list[i].function_name, old_ind_list[i].function_name, 100 ); #endif move16(); move16(); @@ -216,7 +216,7 @@ ivas_error ind_list_realloc( { new_ind_list[i].nb_bits = -1; #ifdef BITSTREAM_ANALYSIS - sprintf(new_ind_list[i].function_name, "RESET in ind_list_realloc"); + sprintf( new_ind_list[i].function_name, "RESET in ind_list_realloc" ); #endif move16(); } @@ -809,7 +809,7 @@ void move_indices( new_ind_list[i].nb_bits = old_ind_list[i].nb_bits; #ifdef BITSTREAM_ANALYSIS - strncpy(new_ind_list[i].function_name, old_ind_list[i].function_name, 100); + strncpy( new_ind_list[i].function_name, old_ind_list[i].function_name, 100 ); #endif old_ind_list[i].nb_bits = -1; } @@ -822,12 +822,12 @@ void move_indices( new_ind_list[i].value = old_ind_list[i].value; new_ind_list[i].nb_bits = old_ind_list[i].nb_bits; #ifdef BITSTREAM_ANALYSIS - strncpy(new_ind_list[i].function_name, old_ind_list[i].function_name, 100); + strncpy( new_ind_list[i].function_name, old_ind_list[i].function_name, 100 ); #endif old_ind_list[i].nb_bits = -1; #ifdef BITSTREAM_ANALYSIS - sprintf(old_ind_list[i].function_name, "RESET in move_indices"); + sprintf( old_ind_list[i].function_name, "RESET in move_indices" ); #endif } } @@ -898,1878 +898,1877 @@ ivas_error check_ind_list_limits( } #ifdef BITSTREAM_ANALYSIS -const char *named_indices_table[] = -{ -"IND_IVAS_FORMAT", -"IND_SMODE_OMASA", -"IND_SMODE", -"IND_SID_TYPE", -"IND_BWIDTH", -"IND_CORE", -"IND_PPP_NELP_MODE", -"IND_ACELP_16KHZ", -"IND_ACELP_SIGNALLING", -"IND_SHARP_FLAG", -"IND_MDCT_CORE", -"IND_TCX_CORE", -"IND_BWE_FLAG", -"IND_HQ_SWITCHING_FLG", -"IND_LAST_L_FRAME", -"IND_VAD_FLAG", -"IND_HQ_BWIDTH", -"IND_TC_SUBFR", -"IND_TC_SUBFR", -"IND_TC_SUBFR", -"IND_TC_SUBFR", -"IND_GSC_IVAS_SP", -"IND_LSF_PREDICTOR_SELECT_BIT", -"IND_LSF", -"IND_LSF", -"IND_LSF", -"IND_LSF", -"IND_LSF", -"IND_LSF", -"IND_LSF", -"IND_LSF", -"IND_LSF", -"IND_LSF", -"IND_LSF", -"IND_LSF", -"IND_LSF", -"IND_LSF", -"IND_LSF", -"IND_LSF", -"IND_LSF", -"IND_MID_FRAME_LSF_INDEX", -"IND_ISF_0_0", -"IND_ISF_0_1", -"IND_ISF_0_2", -"IND_ISF_0_3", -"IND_ISF_0_4", -"IND_ISF_1_0", -"IND_ISF_1_1", -"IND_ISF_1_2", -"IND_ISF_1_3", -"IND_ISF_1_4", -"IND_IC_LSF_PRED", -"IND_GSC_ATTACK", -"IND_GSC_SWB_SPEECH", -"IND_NOISE_LEVEL", -"IND_HF_NOISE", -"IND_PIT_CONTR_IDX", -"IND_FEC_CLAS", -"IND_FEC_ENR", -"IND_FEC_POS", -"IND_ES_PRED", -"IND_HARM_FLAG_ACELP", -"IND_ALG_CDBK_4T64_2_24KBIT", -"IND_ALG_CDBK_4T64_2_24KBIT", -"IND_ALG_CDBK_4T64_2_24KBIT", -"IND_ALG_CDBK_4T64_2_24KBIT", -"IND_ALG_CDBK_4T64_2_24KBIT", -"IND_ALG_CDBK_4T64_2_24KBIT", -"IND_ALG_CDBK_4T64_2_24KBIT", -"IND_ALG_CDBK_4T64_2_24KBIT", -"IND_ALG_CDBK_4T64_2_24KBIT", -"IND_ALG_CDBK_4T64_2_24KBIT", -"IND_ALG_CDBK_4T64_2_24KBIT", -"IND_ALG_CDBK_4T64_2_24KBIT", -"IND_ALG_CDBK_4T64_2_24KBIT", -"IND_ALG_CDBK_4T64_2_24KBIT", -"IND_ALG_CDBK_4T64_2_24KBIT", -"IND_ALG_CDBK_4T64_2_24KBIT", -"IND_ALG_CDBK_4T64_2_24KBIT", -"IND_ALG_CDBK_4T64_2_24KBIT", -"IND_ALG_CDBK_4T64_2_24KBIT", -"IND_ALG_CDBK_4T64_2_24KBIT", -"IND_ALG_CDBK_4T64_2_24KBIT", -"IND_ALG_CDBK_4T64_2_24KBIT", -"IND_ALG_CDBK_4T64_2_24KBIT", -"IND_ALG_CDBK_4T64_2_24KBIT", -"IND_ALG_CDBK_4T64_2_24KBIT", -"IND_ALG_CDBK_4T64_2_24KBIT", -"IND_ALG_CDBK_4T64_2_24KBIT", -"IND_ALG_CDBK_4T64_2_24KBIT", -"IND_ALG_CDBK_4T64_2_24KBIT", -"IND_ALG_CDBK_4T64_2_24KBIT", -"IND_ALG_CDBK_4T64_2_24KBIT", -"IND_ALG_CDBK_4T64_2_24KBIT", -"IND_ALG_CDBK_4T64_2_24KBIT", -"IND_ALG_CDBK_4T64_2_24KBIT", -"IND_ALG_CDBK_4T64_2_24KBIT", -"IND_ALG_CDBK_4T64_2_24KBIT", -"IND_ALG_CDBK_4T64_2_24KBIT", -"IND_ALG_CDBK_4T64_2_24KBIT", -"IND_ALG_CDBK_4T64_2_24KBIT", -"IND_ALG_CDBK_4T64_2_24KBIT", -"TAG_ALG_CDBK_4T64_24KBIT_END", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"IND_HF_GAIN_MODIFICATION", -"TAG_ACELP_SUBFR_LOOP_END", -"IND_MEAN_GAIN2", -"IND_MEAN_GAIN2", -"IND_MEAN_GAIN2", -"IND_MEAN_GAIN2", -"IND_MEAN_GAIN2", -"IND_MEAN_GAIN2", -"IND_MEAN_GAIN2", -"IND_MEAN_GAIN2", -"IND_MEAN_GAIN2", -"IND_MEAN_GAIN2", -"IND_MEAN_GAIN2", -"IND_MEAN_GAIN2", -"IND_MEAN_GAIN2", -"IND_MEAN_GAIN2", -"IND_MEAN_GAIN2", -"IND_MEAN_GAIN2", -"IND_MEAN_GAIN2", -"IND_MEAN_GAIN2", -"IND_MEAN_GAIN2", -"IND_MEAN_GAIN2", -"IND_MEAN_GAIN2", -"IND_MEAN_GAIN2", -"IND_MEAN_GAIN2", -"IND_MEAN_GAIN2", -"IND_MEAN_GAIN2", -"IND_MEAN_GAIN2", -"IND_MEAN_GAIN2", -"IND_MEAN_GAIN2", -"IND_MEAN_GAIN2", -"IND_MEAN_GAIN2", -"IND_MEAN_GAIN2", -"IND_MEAN_GAIN2", -"IND_Y_GAIN_TMP", -"IND_Y_GAIN_TMP", -"IND_Y_GAIN_TMP", -"IND_Y_GAIN_TMP", -"IND_Y_GAIN_TMP", -"IND_Y_GAIN_TMP", -"IND_Y_GAIN_TMP", -"IND_Y_GAIN_TMP", -"IND_Y_GAIN_TMP", -"IND_Y_GAIN_TMP", -"IND_Y_GAIN_TMP", -"IND_Y_GAIN_TMP", -"IND_Y_GAIN_TMP", -"IND_Y_GAIN_TMP", -"IND_Y_GAIN_TMP", -"IND_Y_GAIN_TMP", -"IND_Y_GAIN_TMP", -"IND_Y_GAIN_TMP", -"IND_Y_GAIN_TMP", -"IND_Y_GAIN_TMP", -"IND_Y_GAIN_TMP", -"IND_Y_GAIN_TMP", -"IND_Y_GAIN_TMP", -"IND_Y_GAIN_TMP", -"IND_Y_GAIN_TMP", -"IND_Y_GAIN_TMP", -"IND_Y_GAIN_TMP", -"IND_Y_GAIN_TMP", -"IND_Y_GAIN_TMP", -"IND_Y_GAIN_TMP", -"IND_Y_GAIN_TMP", -"IND_Y_GAIN_TMP", -"IND_Y_GAIN_HF", -"IND_HQ_VOICING_FLAG", -"IND_HQ_SWB_CLAS", -"IND_NF_IDX", -"IND_LC_MODE", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_YNRM", -"IND_SWB_FENV_HQ", -"IND_SWB_FENV_HQ", -"IND_SWB_FENV_HQ", -"IND_SWB_FENV_HQ", -"IND_SWB_FENV_HQ", -"IND_FB_FENV_HQ", -"IND_FB_FENV_HQ", -"IND_FB_FENV_HQ", -"IND_FB_FENV_HQ", -"IND_FB_FENV_HQ", -"IND_DELTA_ENV_HQ", -"IND_HVQ_BWE_NL", -"IND_HVQ_BWE_NL", -"IND_NUM_PEAKS", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_POS_IDX", -"IND_FLAGN", -"IND_PG_IDX", -"IND_PG_IDX", -"IND_PG_IDX", -"IND_PG_IDX", -"IND_PG_IDX", -"IND_PG_IDX", -"IND_PG_IDX", -"IND_PG_IDX", -"IND_PG_IDX", -"IND_PG_IDX", -"IND_PG_IDX", -"IND_PG_IDX", -"IND_PG_IDX", -"IND_PG_IDX", -"IND_PG_IDX", -"IND_PG_IDX", -"IND_PG_IDX", -"IND_PG_IDX", -"IND_PG_IDX", -"IND_PG_IDX", -"IND_PG_IDX", -"IND_PG_IDX", -"IND_PG_IDX", -"IND_PG_IDX", -"IND_PG_IDX", -"IND_PG_IDX", -"IND_PG_IDX", -"IND_PG_IDX", -"IND_PG_IDX", -"IND_PG_IDX", -"IND_PG_IDX", -"IND_PG_IDX", -"IND_PG_IDX", -"IND_PG_IDX", -"IND_PG_IDX", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_PEAKS", -"IND_HVQ_NF_GAIN", -"IND_HVQ_NF_GAIN", -"IND_HQ2_SWB_CLAS", -"IND_HQ2_DENG_MODE", -"IND_HQ2_DENG_8SMODE", -"IND_HQ2_DENG_8SMODE_N0", -"IND_HQ2_DENG_8SMODE_N1", -"IND_HQ2_DENG_8SPOS", -"IND_HQ2_DENG_8SDEPTH", -"IND_HQ2_DENG_HMODE", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_DIFF_ENERGY", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_P2A_FLAGS", -"IND_HQ2_LAST_BA_MAX_BAND", -"IND_HQ2_LAST_BA_MAX_BAND", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_START", -"IND_RC_END", -"IND_HVQ_PVQ_GAIN", -"IND_HVQ_PVQ_GAIN", -"IND_HVQ_PVQ_GAIN", -"IND_HVQ_PVQ_GAIN", -"IND_HVQ_PVQ_GAIN", -"IND_HVQ_PVQ_GAIN", -"IND_HVQ_PVQ_GAIN", -"IND_HVQ_PVQ_GAIN", -"IND_NOISINESS", -"IND_ENERGY", -"IND_CNG_HO", -"IND_SID_BW", -"IND_CNG_ENV1", -"IND_WB_FENV", -"IND_WB_CLASS", -"IND_IG1", -"IND_IG2A", -"IND_IG2B", -"IND_NELP_FID", -"IND_DELTALAG", -"IND_POWER", -"IND_AMP0", -"IND_AMP1", -"IND_GLOBAL_ALIGNMENT", -"IND_PVQ_FINE_GAIN", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_UV_FLAG", -"IND_SHB_SUBGAIN", -"IND_SHB_FRAMEGAIN", -"IND_STEREO_ICBWE_MSFLAG", -"IND_SHB_ENER_SF", -"IND_SHB_RES_GS", -"IND_SHB_RES_GS", -"IND_SHB_RES_GS", -"IND_SHB_RES_GS", -"IND_SHB_RES_GS", -"IND_SHB_VF", -"IND_SHB_LSF", -"IND_SHB_LSF", -"IND_SHB_LSF", -"IND_SHB_LSF", -"IND_SHB_LSF", -"IND_SHB_MIRROR", -"IND_SHB_GRID", -"IND_SWB_CLASS", -"IND_SWB_TENV", -"IND_SWB_TENV", -"IND_SWB_TENV", -"IND_SWB_TENV", -"IND_SWB_FENV", -"IND_SWB_FENV", -"IND_SWB_FENV", -"IND_SWB_FENV", -"IND_SHB_CNG_GAIN", -"IND_DITHERING", -"IND_FB_SLOPE", -"IND_HQ2_SPT_SHORTEN", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_TCQ", -"IND_HQ2_SUBBAND_GAIN", -"IND_HQ2_SUBBAND_GAIN", -"IND_HQ2_SUBBAND_GAIN", -"IND_HQ2_SUBBAND_GAIN", -"IND_HQ2_SUBBAND_GAIN", -"IND_HQ2_SUBBAND_GAIN", -"IND_HQ2_SUBBAND_GAIN", -"IND_HQ2_SUBBAND_GAIN", -"IND_HQ2_SUBBAND_GAIN", -"IND_HQ2_SUBBAND_GAIN", -"IND_HQ2_SUBBAND_GAIN", -"IND_HQ2_SUBBAND_GAIN", -"IND_HQ2_SUBBAND_GAIN", -"IND_HQ2_SUBBAND_GAIN", -"IND_HQ2_SUBBAND_GAIN", -"IND_HQ2_SUBBAND_GAIN", -"IND_HQ2_SUBBAND_GAIN", -"IND_HQ2_SUBBAND_GAIN", -"IND_HQ2_SUBBAND_GAIN", -"IND_HQ2_SUBBAND_GAIN", -"IND_HQ2_DUMMY", -"IND_LAGINDICES", -"IND_NOISEG", -"IND_AUDIO_GAIN", -"IND_AUDIO_DELAY", -"IND_AUDIO_DELAY", -"IND_AUDIO_DELAY", -"IND_AUDIO_DELAY", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"IND_NQ2", -"TAG_HR_BWE_LOOP_END", -"IND_CORE_SWITCHING_CELP_SUBFRAME", -"IND_CORE_SWITCHING_CELP_SUBFRAME", -"IND_CORE_SWITCHING_CELP_SUBFRAME", -"IND_CORE_SWITCHING_CELP_SUBFRAME", -"IND_CORE_SWITCHING_CELP_SUBFRAME", -"IND_CORE_SWITCHING_CELP_SUBFRAME", -"IND_CORE_SWITCHING_CELP_SUBFRAME", -"IND_CORE_SWITCHING_CELP_SUBFRAME", -"IND_CORE_SWITCHING_CELP_SUBFRAME", -"IND_CORE_SWITCHING_CELP_SUBFRAME", -"IND_CORE_SWITCHING_CELP_SUBFRAME", -"IND_CORE_SWITCHING_CELP_SUBFRAME", -"IND_CORE_SWITCHING_CELP_SUBFRAME", -"IND_CORE_SWITCHING_CELP_SUBFRAME", -"IND_CORE_SWITCHING_CELP_SUBFRAME", -"IND_CORE_SWITCHING_CELP_SUBFRAME", -"IND_CORE_SWITCHING_CELP_SUBFRAME", -"IND_CORE_SWITCHING_CELP_SUBFRAME", -"IND_CORE_SWITCHING_CELP_SUBFRAME", -"IND_CORE_SWITCHING_CELP_SUBFRAME", -"IND_CORE_SWITCHING_AUDIO_DELAY", -"IND_CORE_SWITCHING_AUDIO_GAIN", -"IND_STEREO_ICBWE_REF", -"IND_STEREO_ICBWE_SP", -"IND_STEREO_ICBWE_GS", -"IND_STEREO_REFCHAN", -"IND_STEREO_CORRSTATS", -"IND_STEREO_GD", -"IND_STEREO_LRTD_FLAG", -"IND_STEREO_LPC_REUSE", -"IND_STEREO_TD_ALPHA", -"IND_STEREO_2ND_CODER_T", -"IND_UNUSED" +const char *named_indices_table[] = { + "IND_IVAS_FORMAT", + "IND_SMODE_OMASA", + "IND_SMODE", + "IND_SID_TYPE", + "IND_BWIDTH", + "IND_CORE", + "IND_PPP_NELP_MODE", + "IND_ACELP_16KHZ", + "IND_ACELP_SIGNALLING", + "IND_SHARP_FLAG", + "IND_MDCT_CORE", + "IND_TCX_CORE", + "IND_BWE_FLAG", + "IND_HQ_SWITCHING_FLG", + "IND_LAST_L_FRAME", + "IND_VAD_FLAG", + "IND_HQ_BWIDTH", + "IND_TC_SUBFR", + "IND_TC_SUBFR", + "IND_TC_SUBFR", + "IND_TC_SUBFR", + "IND_GSC_IVAS_SP", + "IND_LSF_PREDICTOR_SELECT_BIT", + "IND_LSF", + "IND_LSF", + "IND_LSF", + "IND_LSF", + "IND_LSF", + "IND_LSF", + "IND_LSF", + "IND_LSF", + "IND_LSF", + "IND_LSF", + "IND_LSF", + "IND_LSF", + "IND_LSF", + "IND_LSF", + "IND_LSF", + "IND_LSF", + "IND_LSF", + "IND_MID_FRAME_LSF_INDEX", + "IND_ISF_0_0", + "IND_ISF_0_1", + "IND_ISF_0_2", + "IND_ISF_0_3", + "IND_ISF_0_4", + "IND_ISF_1_0", + "IND_ISF_1_1", + "IND_ISF_1_2", + "IND_ISF_1_3", + "IND_ISF_1_4", + "IND_IC_LSF_PRED", + "IND_GSC_ATTACK", + "IND_GSC_SWB_SPEECH", + "IND_NOISE_LEVEL", + "IND_HF_NOISE", + "IND_PIT_CONTR_IDX", + "IND_FEC_CLAS", + "IND_FEC_ENR", + "IND_FEC_POS", + "IND_ES_PRED", + "IND_HARM_FLAG_ACELP", + "IND_ALG_CDBK_4T64_2_24KBIT", + "IND_ALG_CDBK_4T64_2_24KBIT", + "IND_ALG_CDBK_4T64_2_24KBIT", + "IND_ALG_CDBK_4T64_2_24KBIT", + "IND_ALG_CDBK_4T64_2_24KBIT", + "IND_ALG_CDBK_4T64_2_24KBIT", + "IND_ALG_CDBK_4T64_2_24KBIT", + "IND_ALG_CDBK_4T64_2_24KBIT", + "IND_ALG_CDBK_4T64_2_24KBIT", + "IND_ALG_CDBK_4T64_2_24KBIT", + "IND_ALG_CDBK_4T64_2_24KBIT", + "IND_ALG_CDBK_4T64_2_24KBIT", + "IND_ALG_CDBK_4T64_2_24KBIT", + "IND_ALG_CDBK_4T64_2_24KBIT", + "IND_ALG_CDBK_4T64_2_24KBIT", + "IND_ALG_CDBK_4T64_2_24KBIT", + "IND_ALG_CDBK_4T64_2_24KBIT", + "IND_ALG_CDBK_4T64_2_24KBIT", + "IND_ALG_CDBK_4T64_2_24KBIT", + "IND_ALG_CDBK_4T64_2_24KBIT", + "IND_ALG_CDBK_4T64_2_24KBIT", + "IND_ALG_CDBK_4T64_2_24KBIT", + "IND_ALG_CDBK_4T64_2_24KBIT", + "IND_ALG_CDBK_4T64_2_24KBIT", + "IND_ALG_CDBK_4T64_2_24KBIT", + "IND_ALG_CDBK_4T64_2_24KBIT", + "IND_ALG_CDBK_4T64_2_24KBIT", + "IND_ALG_CDBK_4T64_2_24KBIT", + "IND_ALG_CDBK_4T64_2_24KBIT", + "IND_ALG_CDBK_4T64_2_24KBIT", + "IND_ALG_CDBK_4T64_2_24KBIT", + "IND_ALG_CDBK_4T64_2_24KBIT", + "IND_ALG_CDBK_4T64_2_24KBIT", + "IND_ALG_CDBK_4T64_2_24KBIT", + "IND_ALG_CDBK_4T64_2_24KBIT", + "IND_ALG_CDBK_4T64_2_24KBIT", + "IND_ALG_CDBK_4T64_2_24KBIT", + "IND_ALG_CDBK_4T64_2_24KBIT", + "IND_ALG_CDBK_4T64_2_24KBIT", + "IND_ALG_CDBK_4T64_2_24KBIT", + "TAG_ALG_CDBK_4T64_24KBIT_END", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "IND_HF_GAIN_MODIFICATION", + "TAG_ACELP_SUBFR_LOOP_END", + "IND_MEAN_GAIN2", + "IND_MEAN_GAIN2", + "IND_MEAN_GAIN2", + "IND_MEAN_GAIN2", + "IND_MEAN_GAIN2", + "IND_MEAN_GAIN2", + "IND_MEAN_GAIN2", + "IND_MEAN_GAIN2", + "IND_MEAN_GAIN2", + "IND_MEAN_GAIN2", + "IND_MEAN_GAIN2", + "IND_MEAN_GAIN2", + "IND_MEAN_GAIN2", + "IND_MEAN_GAIN2", + "IND_MEAN_GAIN2", + "IND_MEAN_GAIN2", + "IND_MEAN_GAIN2", + "IND_MEAN_GAIN2", + "IND_MEAN_GAIN2", + "IND_MEAN_GAIN2", + "IND_MEAN_GAIN2", + "IND_MEAN_GAIN2", + "IND_MEAN_GAIN2", + "IND_MEAN_GAIN2", + "IND_MEAN_GAIN2", + "IND_MEAN_GAIN2", + "IND_MEAN_GAIN2", + "IND_MEAN_GAIN2", + "IND_MEAN_GAIN2", + "IND_MEAN_GAIN2", + "IND_MEAN_GAIN2", + "IND_MEAN_GAIN2", + "IND_Y_GAIN_TMP", + "IND_Y_GAIN_TMP", + "IND_Y_GAIN_TMP", + "IND_Y_GAIN_TMP", + "IND_Y_GAIN_TMP", + "IND_Y_GAIN_TMP", + "IND_Y_GAIN_TMP", + "IND_Y_GAIN_TMP", + "IND_Y_GAIN_TMP", + "IND_Y_GAIN_TMP", + "IND_Y_GAIN_TMP", + "IND_Y_GAIN_TMP", + "IND_Y_GAIN_TMP", + "IND_Y_GAIN_TMP", + "IND_Y_GAIN_TMP", + "IND_Y_GAIN_TMP", + "IND_Y_GAIN_TMP", + "IND_Y_GAIN_TMP", + "IND_Y_GAIN_TMP", + "IND_Y_GAIN_TMP", + "IND_Y_GAIN_TMP", + "IND_Y_GAIN_TMP", + "IND_Y_GAIN_TMP", + "IND_Y_GAIN_TMP", + "IND_Y_GAIN_TMP", + "IND_Y_GAIN_TMP", + "IND_Y_GAIN_TMP", + "IND_Y_GAIN_TMP", + "IND_Y_GAIN_TMP", + "IND_Y_GAIN_TMP", + "IND_Y_GAIN_TMP", + "IND_Y_GAIN_TMP", + "IND_Y_GAIN_HF", + "IND_HQ_VOICING_FLAG", + "IND_HQ_SWB_CLAS", + "IND_NF_IDX", + "IND_LC_MODE", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_YNRM", + "IND_SWB_FENV_HQ", + "IND_SWB_FENV_HQ", + "IND_SWB_FENV_HQ", + "IND_SWB_FENV_HQ", + "IND_SWB_FENV_HQ", + "IND_FB_FENV_HQ", + "IND_FB_FENV_HQ", + "IND_FB_FENV_HQ", + "IND_FB_FENV_HQ", + "IND_FB_FENV_HQ", + "IND_DELTA_ENV_HQ", + "IND_HVQ_BWE_NL", + "IND_HVQ_BWE_NL", + "IND_NUM_PEAKS", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_POS_IDX", + "IND_FLAGN", + "IND_PG_IDX", + "IND_PG_IDX", + "IND_PG_IDX", + "IND_PG_IDX", + "IND_PG_IDX", + "IND_PG_IDX", + "IND_PG_IDX", + "IND_PG_IDX", + "IND_PG_IDX", + "IND_PG_IDX", + "IND_PG_IDX", + "IND_PG_IDX", + "IND_PG_IDX", + "IND_PG_IDX", + "IND_PG_IDX", + "IND_PG_IDX", + "IND_PG_IDX", + "IND_PG_IDX", + "IND_PG_IDX", + "IND_PG_IDX", + "IND_PG_IDX", + "IND_PG_IDX", + "IND_PG_IDX", + "IND_PG_IDX", + "IND_PG_IDX", + "IND_PG_IDX", + "IND_PG_IDX", + "IND_PG_IDX", + "IND_PG_IDX", + "IND_PG_IDX", + "IND_PG_IDX", + "IND_PG_IDX", + "IND_PG_IDX", + "IND_PG_IDX", + "IND_PG_IDX", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_PEAKS", + "IND_HVQ_NF_GAIN", + "IND_HVQ_NF_GAIN", + "IND_HQ2_SWB_CLAS", + "IND_HQ2_DENG_MODE", + "IND_HQ2_DENG_8SMODE", + "IND_HQ2_DENG_8SMODE_N0", + "IND_HQ2_DENG_8SMODE_N1", + "IND_HQ2_DENG_8SPOS", + "IND_HQ2_DENG_8SDEPTH", + "IND_HQ2_DENG_HMODE", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_DIFF_ENERGY", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_P2A_FLAGS", + "IND_HQ2_LAST_BA_MAX_BAND", + "IND_HQ2_LAST_BA_MAX_BAND", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_START", + "IND_RC_END", + "IND_HVQ_PVQ_GAIN", + "IND_HVQ_PVQ_GAIN", + "IND_HVQ_PVQ_GAIN", + "IND_HVQ_PVQ_GAIN", + "IND_HVQ_PVQ_GAIN", + "IND_HVQ_PVQ_GAIN", + "IND_HVQ_PVQ_GAIN", + "IND_HVQ_PVQ_GAIN", + "IND_NOISINESS", + "IND_ENERGY", + "IND_CNG_HO", + "IND_SID_BW", + "IND_CNG_ENV1", + "IND_WB_FENV", + "IND_WB_CLASS", + "IND_IG1", + "IND_IG2A", + "IND_IG2B", + "IND_NELP_FID", + "IND_DELTALAG", + "IND_POWER", + "IND_AMP0", + "IND_AMP1", + "IND_GLOBAL_ALIGNMENT", + "IND_PVQ_FINE_GAIN", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_UV_FLAG", + "IND_SHB_SUBGAIN", + "IND_SHB_FRAMEGAIN", + "IND_STEREO_ICBWE_MSFLAG", + "IND_SHB_ENER_SF", + "IND_SHB_RES_GS", + "IND_SHB_RES_GS", + "IND_SHB_RES_GS", + "IND_SHB_RES_GS", + "IND_SHB_RES_GS", + "IND_SHB_VF", + "IND_SHB_LSF", + "IND_SHB_LSF", + "IND_SHB_LSF", + "IND_SHB_LSF", + "IND_SHB_LSF", + "IND_SHB_MIRROR", + "IND_SHB_GRID", + "IND_SWB_CLASS", + "IND_SWB_TENV", + "IND_SWB_TENV", + "IND_SWB_TENV", + "IND_SWB_TENV", + "IND_SWB_FENV", + "IND_SWB_FENV", + "IND_SWB_FENV", + "IND_SWB_FENV", + "IND_SHB_CNG_GAIN", + "IND_DITHERING", + "IND_FB_SLOPE", + "IND_HQ2_SPT_SHORTEN", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_TCQ", + "IND_HQ2_SUBBAND_GAIN", + "IND_HQ2_SUBBAND_GAIN", + "IND_HQ2_SUBBAND_GAIN", + "IND_HQ2_SUBBAND_GAIN", + "IND_HQ2_SUBBAND_GAIN", + "IND_HQ2_SUBBAND_GAIN", + "IND_HQ2_SUBBAND_GAIN", + "IND_HQ2_SUBBAND_GAIN", + "IND_HQ2_SUBBAND_GAIN", + "IND_HQ2_SUBBAND_GAIN", + "IND_HQ2_SUBBAND_GAIN", + "IND_HQ2_SUBBAND_GAIN", + "IND_HQ2_SUBBAND_GAIN", + "IND_HQ2_SUBBAND_GAIN", + "IND_HQ2_SUBBAND_GAIN", + "IND_HQ2_SUBBAND_GAIN", + "IND_HQ2_SUBBAND_GAIN", + "IND_HQ2_SUBBAND_GAIN", + "IND_HQ2_SUBBAND_GAIN", + "IND_HQ2_SUBBAND_GAIN", + "IND_HQ2_DUMMY", + "IND_LAGINDICES", + "IND_NOISEG", + "IND_AUDIO_GAIN", + "IND_AUDIO_DELAY", + "IND_AUDIO_DELAY", + "IND_AUDIO_DELAY", + "IND_AUDIO_DELAY", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "IND_NQ2", + "TAG_HR_BWE_LOOP_END", + "IND_CORE_SWITCHING_CELP_SUBFRAME", + "IND_CORE_SWITCHING_CELP_SUBFRAME", + "IND_CORE_SWITCHING_CELP_SUBFRAME", + "IND_CORE_SWITCHING_CELP_SUBFRAME", + "IND_CORE_SWITCHING_CELP_SUBFRAME", + "IND_CORE_SWITCHING_CELP_SUBFRAME", + "IND_CORE_SWITCHING_CELP_SUBFRAME", + "IND_CORE_SWITCHING_CELP_SUBFRAME", + "IND_CORE_SWITCHING_CELP_SUBFRAME", + "IND_CORE_SWITCHING_CELP_SUBFRAME", + "IND_CORE_SWITCHING_CELP_SUBFRAME", + "IND_CORE_SWITCHING_CELP_SUBFRAME", + "IND_CORE_SWITCHING_CELP_SUBFRAME", + "IND_CORE_SWITCHING_CELP_SUBFRAME", + "IND_CORE_SWITCHING_CELP_SUBFRAME", + "IND_CORE_SWITCHING_CELP_SUBFRAME", + "IND_CORE_SWITCHING_CELP_SUBFRAME", + "IND_CORE_SWITCHING_CELP_SUBFRAME", + "IND_CORE_SWITCHING_CELP_SUBFRAME", + "IND_CORE_SWITCHING_CELP_SUBFRAME", + "IND_CORE_SWITCHING_AUDIO_DELAY", + "IND_CORE_SWITCHING_AUDIO_GAIN", + "IND_STEREO_ICBWE_REF", + "IND_STEREO_ICBWE_SP", + "IND_STEREO_ICBWE_GS", + "IND_STEREO_REFCHAN", + "IND_STEREO_CORRSTATS", + "IND_STEREO_GD", + "IND_STEREO_LRTD_FLAG", + "IND_STEREO_LPC_REUSE", + "IND_STEREO_TD_ALPHA", + "IND_STEREO_2ND_CODER_T", + "IND_UNUSED" }; #endif @@ -2819,7 +2818,7 @@ ivas_error push_indice( hBstr->ind_list[j].nb_bits = hBstr->ind_list[j - 1].nb_bits; hBstr->ind_list[j].value = hBstr->ind_list[j - 1].value; #ifdef BITSTREAM_ANALYSIS - strncpy(hBstr->ind_list[j].function_name, hBstr->ind_list[j - 1].function_name, 100); + strncpy( hBstr->ind_list[j].function_name, hBstr->ind_list[j - 1].function_name, 100 ); #endif move16(); move16(); @@ -2833,7 +2832,7 @@ ivas_error push_indice( hBstr->ind_list[i].value = value; hBstr->ind_list[i].nb_bits = nb_bits; #ifdef BITSTREAM_ANALYSIS - strncpy(hBstr->ind_list[i].function_name, named_indices_table[id], 100); + strncpy( hBstr->ind_list[i].function_name, named_indices_table[id], 100 ); #endif move16(); move16(); @@ -2855,7 +2854,7 @@ ivas_error push_indice( *-------------------------------------------------------------------*/ ivas_error push_next_indice_( #ifdef BITSTREAM_ANALYSIS - const char *caller, + const char *caller, #endif BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */ UWord16 value, /* i : value of the quantized indice */ @@ -2895,7 +2894,7 @@ ivas_error push_next_indice_( move16(); #ifdef BITSTREAM_ANALYSIS - strncpy(hBstr->ind_list[hBstr->nb_ind_tot].function_name, caller, 100); + strncpy( hBstr->ind_list[hBstr->nb_ind_tot].function_name, caller, 100 ); #endif /* updates */ @@ -2913,7 +2912,7 @@ ivas_error push_next_indice_( *-------------------------------------------------------------------*/ ivas_error push_next_bits_( #ifdef BITSTREAM_ANALYSIS - const char *caller, + const char *caller, #endif BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */ const UWord16 bits[], /* i : bit buffer to pack, sequence of single bits */ @@ -2959,7 +2958,7 @@ ivas_error push_next_bits_( ptr->nb_bits = 16; ptr->id = prev_id; #ifdef BITSTREAM_ANALYSIS - strncpy(ptr->function_name, caller, 100); + strncpy( ptr->function_name, caller, 100 ); #endif hBstr->nb_ind_tot = add( hBstr->nb_ind_tot, 1 ); move16(); @@ -2983,7 +2982,7 @@ ivas_error push_next_bits_( ptr->nb_bits = 1; ptr->id = prev_id; #ifdef BITSTREAM_ANALYSIS - strncpy(ptr->function_name, caller, 100); + strncpy( ptr->function_name, caller, 100 ); #endif hBstr->nb_ind_tot = add( hBstr->nb_ind_tot, 1 ); move16(); @@ -3060,7 +3059,7 @@ UWord16 delete_indice( hBstr->ind_list[j].value = hBstr->ind_list[i].value; hBstr->ind_list[j].nb_bits = hBstr->ind_list[i].nb_bits; #ifdef BITSTREAM_ANALYSIS - strncpy(hBstr->ind_list[j].function_name, hBstr->ind_list[i].function_name, 100); + strncpy( hBstr->ind_list[j].function_name, hBstr->ind_list[i].function_name, 100 ); #endif } @@ -3074,7 +3073,7 @@ UWord16 delete_indice( /* reset the shifted indices at the end of the list */ hBstr->ind_list[j].nb_bits = -1; #ifdef BITSTREAM_ANALYSIS - sprintf(hBstr->ind_list[j].function_name, "RESET in delete_indice"); + sprintf( hBstr->ind_list[j].function_name, "RESET in delete_indice" ); #endif } @@ -3313,8 +3312,8 @@ static ivas_error write_indices_element_fx( const Word16 is_SCE, /* i : flag to distingusih SCE and CPE */ const Word16 element_id /* i : id of the SCE or CPE */ #ifdef BITSTREAM_ANALYSIS - , - int32_t frame + , + int32_t frame #endif ) { @@ -3423,76 +3422,70 @@ static ivas_error write_indices_element_fx( } #ifdef BITSTREAM_ANALYSIS - if (is_SCE) /* EVS and SCE */ - { - static FILE *f1 = 0; - - if (f1 == 0) - f1 = fopen("bitstream_text", "w"); - - for (int16_t i = 0; i < sts[0]->hBstr->nb_ind_tot; i++) - { - Indice *ind_list = sts[0]->hBstr->ind_list; - int16_t value = ind_list[i].value; - int16_t nb_bits = ind_list[i].nb_bits; - char *function_name = ind_list[i].function_name; - - fprintf(f1, "%d %d %d %s %d %d\n", frame, element_id, i, function_name, nb_bits, value); - - } - - if (st_ivas->hSCE[element_id]->hMetaData != NULL) - { - for (int16_t i = 0; i < st_ivas->hSCE[element_id]->hMetaData->nb_ind_tot; i++) - { - Indice *ind_list = st_ivas->hSCE[element_id]->hMetaData->ind_list; - int16_t value = ind_list[i].value; - int16_t nb_bits = ind_list[i].nb_bits; - char *function_name = ind_list[i].function_name; - - fprintf(f1, "%d %d %d %s %d %d\n", frame, element_id, i, function_name, nb_bits, value); + if ( is_SCE ) /* EVS and SCE */ + { + static FILE *f1 = 0; - } - } + if ( f1 == 0 ) + f1 = fopen( "bitstream_text", "w" ); - } - else - { - static FILE *f1 = 0; + for ( int16_t i = 0; i < sts[0]->hBstr->nb_ind_tot; i++ ) + { + Indice *ind_list = sts[0]->hBstr->ind_list; + int16_t value = ind_list[i].value; + int16_t nb_bits = ind_list[i].nb_bits; + char *function_name = ind_list[i].function_name; - if (f1 == 0) - f1 = fopen("bitstream_text", "w"); + fprintf( f1, "%d %d %d %s %d %d\n", frame, element_id, i, function_name, nb_bits, value ); + } + if ( st_ivas->hSCE[element_id]->hMetaData != NULL ) + { + for ( int16_t i = 0; i < st_ivas->hSCE[element_id]->hMetaData->nb_ind_tot; i++ ) + { + Indice *ind_list = st_ivas->hSCE[element_id]->hMetaData->ind_list; + int16_t value = ind_list[i].value; + int16_t nb_bits = ind_list[i].nb_bits; + char *function_name = ind_list[i].function_name; - for (n = 0; n < n_channels; n++) - { - for (int16_t i = 0; i < sts[n]->hBstr->nb_ind_tot; i++) - { - Indice *ind_list = sts[n]->hBstr->ind_list; - int16_t value = ind_list[i].value; - int16_t nb_bits = ind_list[i].nb_bits; - char *function_name = ind_list[i].function_name; + fprintf( f1, "%d %d %d %s %d %d\n", frame, element_id, i, function_name, nb_bits, value ); + } + } + } + else + { + static FILE *f1 = 0; - fprintf(f1, "%d %d %d %d %s %d %d\n", frame, element_id, n, i, function_name, nb_bits, value); + if ( f1 == 0 ) + f1 = fopen( "bitstream_text", "w" ); - } - } + for ( n = 0; n < n_channels; n++ ) + { + for ( int16_t i = 0; i < sts[n]->hBstr->nb_ind_tot; i++ ) + { + Indice *ind_list = sts[n]->hBstr->ind_list; + int16_t value = ind_list[i].value; + int16_t nb_bits = ind_list[i].nb_bits; + char *function_name = ind_list[i].function_name; - if (st_ivas->hCPE[element_id]->hMetaData != NULL) - { - for (int16_t i = 0; i < st_ivas->hCPE[element_id]->hMetaData->nb_ind_tot; i++) - { - Indice *ind_list = st_ivas->hCPE[element_id]->hMetaData->ind_list; - int16_t value = ind_list[i].value; - int16_t nb_bits = ind_list[i].nb_bits; - char *function_name = ind_list[i].function_name; + fprintf( f1, "%d %d %d %d %s %d %d\n", frame, element_id, n, i, function_name, nb_bits, value ); + } + } - fprintf(f1, "%d %d %d %d %s %d %d\n", frame, element_id, -1, i, function_name, nb_bits, value); + if ( st_ivas->hCPE[element_id]->hMetaData != NULL ) + { + for ( int16_t i = 0; i < st_ivas->hCPE[element_id]->hMetaData->nb_ind_tot; i++ ) + { + Indice *ind_list = st_ivas->hCPE[element_id]->hMetaData->ind_list; + int16_t value = ind_list[i].value; + int16_t nb_bits = ind_list[i].nb_bits; + char *function_name = ind_list[i].function_name; - } - } - } + fprintf( f1, "%d %d %d %d %s %d %d\n", frame, element_id, -1, i, function_name, nb_bits, value ); + } + } + } #endif /*----------------------------------------------------------------* @@ -3539,8 +3532,8 @@ ivas_error write_indices_ivas_fx( UWord16 *bit_stream, /* i/o: output bitstream */ UWord16 *num_bits /* i : number of indices written to output */ #ifdef BITSTREAM_ANALYSIS - , - int32_t frame + , + int32_t frame #endif ) { @@ -3565,22 +3558,22 @@ ivas_error write_indices_ivas_fx( FOR( n = 0; n < st_ivas->nSCE; n++ ) { - write_indices_element_fx( st_ivas, &pt_stream, 1, n + write_indices_element_fx( st_ivas, &pt_stream, 1, n #ifdef BITSTREAM_ANALYSIS - , - frame + , + frame #endif - ); + ); } FOR( n = 0; n < st_ivas->nCPE; n++ ) { - write_indices_element_fx( st_ivas, &pt_stream, 0, n + write_indices_element_fx( st_ivas, &pt_stream, 0, n #ifdef BITSTREAM_ANALYSIS - , - frame + , + frame #endif - ); + ); } *num_bits = (UWord16) ( pt_stream - bit_stream ); diff --git a/lib_com/prot_fx.h b/lib_com/prot_fx.h index f1fbf8fc0..4c1a01b0f 100644 --- a/lib_com/prot_fx.h +++ b/lib_com/prot_fx.h @@ -10671,7 +10671,7 @@ ivas_error config_acelp1_fx( ivas_error push_next_indice_( #ifdef BITSTREAM_ANALYSIS - const char *caller, + const char *caller, #endif BSTR_ENC_HANDLE hBstr, UWord16 value, /* i : value of the quantized indice */ @@ -10680,7 +10680,7 @@ ivas_error push_next_indice_( ivas_error push_next_bits_( #ifdef BITSTREAM_ANALYSIS - const char *caller, + const char *caller, #endif BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */ const UWord16 bits[], /* i : bit buffer to pack, sequence of single bits */ @@ -11005,7 +11005,7 @@ ivas_error push_indice( ivas_error push_next_indice_( #ifdef BITSTREAM_ANALYSIS - const char *caller, + const char *caller, #endif BSTR_ENC_HANDLE hBstr, UWord16 value, /* i : value of the quantized indice */ @@ -11014,7 +11014,7 @@ ivas_error push_next_indice_( ivas_error push_next_bits_( #ifdef BITSTREAM_ANALYSIS - const char *caller, + const char *caller, #endif BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */ const UWord16 bits[], /* i : bit buffer to pack, sequence of single bits */ diff --git a/lib_enc/ivas_corecoder_enc_reconfig_fx.c b/lib_enc/ivas_corecoder_enc_reconfig_fx.c index 7e7db6e0e..b3b471e1d 100644 --- a/lib_enc/ivas_corecoder_enc_reconfig_fx.c +++ b/lib_enc/ivas_corecoder_enc_reconfig_fx.c @@ -197,7 +197,7 @@ ivas_error ivas_corecoder_enc_reconfig_fx( temp_ind_list[i].nb_bits = hBstr->ind_list[i].nb_bits; /* Q0 */ move16(); #ifdef BITSTREAM_ANALYSIS - strncpy(temp_ind_list[i].function_name, hBstr->ind_list[i].function_name, 100); + strncpy( temp_ind_list[i].function_name, hBstr->ind_list[i].function_name, 100 ); #endif hBstr->ind_list[i].nb_bits = -1; /* Q0 */ move16(); @@ -553,7 +553,7 @@ ivas_error ivas_corecoder_enc_reconfig_fx( st_ivas->hSCE[0]->hCoreCoder[0]->hBstr->ind_list[i].nb_bits = temp_ind_list[i].nb_bits; /* Q0 */ move16(); #ifdef BITSTREAM_ANALYSIS - strncpy(st_ivas->hSCE[0]->hCoreCoder[0]->hBstr->ind_list[i].function_name, temp_ind_list[i].function_name, 100); + strncpy( st_ivas->hSCE[0]->hCoreCoder[0]->hBstr->ind_list[i].function_name, temp_ind_list[i].function_name, 100 ); #endif } @@ -580,7 +580,7 @@ ivas_error ivas_corecoder_enc_reconfig_fx( st_ivas->hCPE[0]->hCoreCoder[0]->hBstr->ind_list[i].nb_bits = temp_ind_list[i].nb_bits; /* Q0 */ move16(); #ifdef BITSTREAM_ANALYSIS - strncpy(st_ivas->hCPE[0]->hCoreCoder[0]->hBstr->ind_list[i].function_name, temp_ind_list[i].function_name, 100); + strncpy( st_ivas->hCPE[0]->hCoreCoder[0]->hBstr->ind_list[i].function_name, temp_ind_list[i].function_name, 100 ); #endif } diff --git a/lib_enc/ivas_init_enc_fx.c b/lib_enc/ivas_init_enc_fx.c index ce87b0571..c7ab7eb08 100644 --- a/lib_enc/ivas_init_enc_fx.c +++ b/lib_enc/ivas_init_enc_fx.c @@ -1179,10 +1179,10 @@ ivas_error ivas_init_encoder_fx( } #ifdef BITSTERAM_ANALYSIS - for (i = 0; i < st_ivas->ivas_max_num_indices; i++) - { - memset(st_ivas->ind_list[i].function_name, 'A', 100 * sizeof(char)); - } + for ( i = 0; i < st_ivas->ivas_max_num_indices; i++ ) + { + memset( st_ivas->ind_list[i].function_name, 'A', 100 * sizeof( char ) ); + } #endif /* set the maximum allowed number of metadata indices in the list */ diff --git a/lib_enc/ivas_qmetadata_enc_fx.c b/lib_enc/ivas_qmetadata_enc_fx.c index 15e0db269..b67b9d690 100644 --- a/lib_enc/ivas_qmetadata_enc_fx.c +++ b/lib_enc/ivas_qmetadata_enc_fx.c @@ -1196,7 +1196,7 @@ void reset_metadata_spatial_fx( hMetaData->ind_list[i].nb_bits = -1; move16(); #ifdef BITSTREAM_ANALYSIS - sprintf(hMetaData->ind_list[i].function_name, "RESET in reset_metadata_spatial"); + sprintf( hMetaData->ind_list[i].function_name, "RESET in reset_metadata_spatial" ); #endif } @@ -1205,12 +1205,12 @@ void reset_metadata_spatial_fx( hMetaData->ind_list[j].value = hMetaData->ind_list[i].value; hMetaData->ind_list[j].nb_bits = hMetaData->ind_list[i].nb_bits; #ifdef BITSTREAM_ANALYSIS - strncpy(hMetaData->ind_list[j].function_name, hMetaData->ind_list[i].function_name, 100); + strncpy( hMetaData->ind_list[j].function_name, hMetaData->ind_list[i].function_name, 100 ); #endif hMetaData->nb_bits_tot = add( hMetaData->nb_bits_tot, hMetaData->ind_list[j].nb_bits ); hMetaData->ind_list[i].nb_bits = -1; #ifdef BISTREAM_ANALYSIS - sprintf(hMetaData->ind_list[i].function_name, "RESET in reset_metadata_spatial"); + sprintf( hMetaData->ind_list[i].function_name, "RESET in reset_metadata_spatial" ); #endif move16(); move16(); @@ -2020,7 +2020,7 @@ void restore_metadata_buffer_fx( hMetaData->ind_list[i].nb_bits = -1; move16(); #ifdef BITSTREAM_ANALYSIS - sprintf(hMetaData->ind_list[i].function_name, "RESET in restore_metadata_buffer"); + sprintf( hMetaData->ind_list[i].function_name, "RESET in restore_metadata_buffer" ); #endif } hMetaData->nb_bits_tot = bit_pos_start; diff --git a/lib_enc/ivas_spar_md_enc_fx.c b/lib_enc/ivas_spar_md_enc_fx.c index d179b1263..140a62c63 100644 --- a/lib_enc/ivas_spar_md_enc_fx.c +++ b/lib_enc/ivas_spar_md_enc_fx.c @@ -440,9 +440,9 @@ static void write_metadata_buffer_fx( FOR( i = 0; i < hMetaData_tmp->nb_ind_tot; i++ ) { #ifdef BITSTREAM_ANALYSIS - push_next_indice_(hMetaData_tmp->ind_list[i].function_name, hMetaData, hMetaData_tmp->ind_list[i].value, hMetaData_tmp->ind_list[i].nb_bits); + push_next_indice_( hMetaData_tmp->ind_list[i].function_name, hMetaData, hMetaData_tmp->ind_list[i].value, hMetaData_tmp->ind_list[i].nb_bits ); #else - push_next_indice(hMetaData, hMetaData_tmp->ind_list[i].value, hMetaData_tmp->ind_list[i].nb_bits); + push_next_indice( hMetaData, hMetaData_tmp->ind_list[i].value, hMetaData_tmp->ind_list[i].nb_bits ); #endif } diff --git a/lib_enc/lib_enc.c b/lib_enc/lib_enc.c index dd4097fff..f6188fe1a 100644 --- a/lib_enc/lib_enc.c +++ b/lib_enc/lib_enc.c @@ -1661,8 +1661,8 @@ ivas_error IVAS_ENC_EncodeFrameToSerial( UWord16 *outputBitStream, /* o : pointer to serial output bitstream. The array must already be allocated and be of size at least IVAS_MAX_BITS_PER_FRAME Q0*/ UWord16 *numOutBits /* o : number of bits written to output bitstream. Each bit is stored as a single uint16_t value Q0*/ #ifdef BITSTREAM_ANALYSIS - , - int32_t frame + , + int32_t frame #endif ) { @@ -1788,10 +1788,10 @@ ivas_error IVAS_ENC_EncodeFrameToSerial( move16(); } #ifdef BITSTREAM_ANALYSIS - for (i = 0; i < st_ivas->ivas_max_num_indices; i++) - { - memset(st_ivas->ind_list[i].function_name, 'A', 100 * sizeof(char)); - } + for ( i = 0; i < st_ivas->ivas_max_num_indices; i++ ) + { + memset( st_ivas->ind_list[i].function_name, 'A', 100 * sizeof( char ) ); + } #endif /* de-allocate old buffer of metadata indices */ IF( st_ivas->ind_list_metadata != NULL ) @@ -1932,12 +1932,12 @@ ivas_error IVAS_ENC_EncodeFrameToSerial( ELSE #endif { - write_indices_ivas_fx( st_ivas, outputBitStream, numOutBits + write_indices_ivas_fx( st_ivas, outputBitStream, numOutBits #ifdef BITSTREAM_ANALYSIS - , - frame + , + frame #endif - ); + ); } /* Reset switching flag before next call - can be set to "true" by some setters */ hIvasEnc->switchingActive = false; diff --git a/lib_enc/prot_fx_enc.h b/lib_enc/prot_fx_enc.h index b1b14afc6..9be9df333 100644 --- a/lib_enc/prot_fx_enc.h +++ b/lib_enc/prot_fx_enc.h @@ -4809,8 +4809,8 @@ ivas_error write_indices_ivas_fx( UWord16 *bit_stream, /* i/o: output bitstream */ UWord16 *num_bits /* i : number of indices written to output */ #ifdef BITSTREAM_ANALYSIS - , - int32_t frame + , + int32_t frame #endif ); #endif diff --git a/lib_enc/stat_enc.h b/lib_enc/stat_enc.h index 3a4acc101..f5f819241 100644 --- a/lib_enc/stat_enc.h +++ b/lib_enc/stat_enc.h @@ -55,7 +55,7 @@ typedef struct UWord16 value; /* value of the quantized indice */ Word16 nb_bits; /* number of bits used for the quantization of the indice */ #ifdef BITSTREAM_ANALYSIS - char function_name[100]; + char function_name[100]; #endif } Indice, *INDICE_HANDLE; -- GitLab From 3568f0a5871190556cb4fa43f65a199e8f61fdba Mon Sep 17 00:00:00 2001 From: Dominik Weckbecker Date: Wed, 16 Apr 2025 16:24:53 +0200 Subject: [PATCH 05/11] fix compilation errors with the instrumented code --- lib_com/bitstream.c | 8 ++++++++ lib_com/prot_fx.h | 11 ++++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/lib_com/bitstream.c b/lib_com/bitstream.c index b4e62566d..3431a2f1d 100644 --- a/lib_com/bitstream.c +++ b/lib_com/bitstream.c @@ -2852,7 +2852,11 @@ ivas_error push_indice( * * Push a new indice into the buffer at the next position *-------------------------------------------------------------------*/ +#ifdef BITSTREAM_ANALYSIS ivas_error push_next_indice_( +#else +ivas_error push_next_indice( +#endif #ifdef BITSTREAM_ANALYSIS const char *caller, #endif @@ -2910,7 +2914,11 @@ ivas_error push_next_indice_( * push_next_bits() * Push a bit buffer into the buffer at the next position *-------------------------------------------------------------------*/ +#ifdef BITSTREAM_ANALYSIS ivas_error push_next_bits_( +#else +ivas_error push_next_bits( +#endif #ifdef BITSTREAM_ANALYSIS const char *caller, #endif diff --git a/lib_com/prot_fx.h b/lib_com/prot_fx.h index 4c1a01b0f..99f3972c8 100644 --- a/lib_com/prot_fx.h +++ b/lib_com/prot_fx.h @@ -10664,12 +10664,13 @@ ivas_error config_acelp1_fx( #ifdef BITSTREAM_ANALYSIS #define push_next_indice( ... ) push_next_indice_( __func__, __VA_ARGS__ ) #define push_next_bits( ... ) push_next_bits_( __func__, __VA_ARGS__ ); -#else -#define push_next_indice( ... ) push_next_indice_( __VA_ARGS__ ) -#define push_next_bits( ... ) push_next_bits_( __VA_ARGS__ ); #endif +#ifdef BITSTREAM_ANALYSIS ivas_error push_next_indice_( +#else +ivas_error push_next_indice( +#endif #ifdef BITSTREAM_ANALYSIS const char *caller, #endif @@ -10678,7 +10679,11 @@ ivas_error push_next_indice_( Word16 nb_bits /* i : number of bits used to quantize the indice */ ); +#ifdef BITSTREAM_ANALYSIS ivas_error push_next_bits_( +#else +ivas_error push_next_bits( +#endif #ifdef BITSTREAM_ANALYSIS const char *caller, #endif -- GitLab From 3c4a44ec383d919b88eb4821244e2fe00c7a1044 Mon Sep 17 00:00:00 2001 From: Dominik Weckbecker Date: Wed, 14 May 2025 14:47:15 +0200 Subject: [PATCH 06/11] move the new define to the DEBUGGING section --- apps/encoder.c | 2 +- lib_com/bitstream.c | 46 ++++++++++++------------ lib_com/options.h | 3 +- lib_com/prot_fx.h | 14 ++++---- lib_enc/ivas_corecoder_enc_reconfig_fx.c | 8 ++--- lib_enc/ivas_init_enc_fx.c | 2 +- lib_enc/ivas_qmetadata_enc_fx.c | 8 ++--- lib_enc/ivas_spar_md_enc_fx.c | 2 +- lib_enc/lib_enc.c | 6 ++-- lib_enc/lib_enc.h | 4 +-- lib_enc/prot_fx_enc.h | 2 +- lib_enc/stat_enc.h | 2 +- 12 files changed, 49 insertions(+), 50 deletions(-) diff --git a/apps/encoder.c b/apps/encoder.c index a98c9f5f2..0d557ede8 100644 --- a/apps/encoder.c +++ b/apps/encoder.c @@ -759,7 +759,7 @@ int main( /* *** Encode one frame *** */ if ( ( error = IVAS_ENC_EncodeFrameToSerial( hIvasEnc, pcmBuf, pcmBufSize, bitStream, &numBits -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS , frame #endif diff --git a/lib_com/bitstream.c b/lib_com/bitstream.c index 3431a2f1d..8ebfd6fa7 100644 --- a/lib_com/bitstream.c +++ b/lib_com/bitstream.c @@ -48,7 +48,7 @@ #include "wmc_auto.h" #include "ivas_prot_fx.h" #include "prot_fx_enc.h" -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS #include #endif @@ -201,7 +201,7 @@ ivas_error ind_list_realloc( { new_ind_list[i].id = old_ind_list[i].id; new_ind_list[i].value = old_ind_list[i].value; -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS strncpy( new_ind_list[i].function_name, old_ind_list[i].function_name, 100 ); #endif move16(); @@ -215,7 +215,7 @@ ivas_error ind_list_realloc( FOR( ; i < max_num_indices; i++ ) { new_ind_list[i].nb_bits = -1; -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS sprintf( new_ind_list[i].function_name, "RESET in ind_list_realloc" ); #endif move16(); @@ -808,7 +808,7 @@ void move_indices( new_ind_list[i].value = old_ind_list[i].value; new_ind_list[i].nb_bits = old_ind_list[i].nb_bits; -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS strncpy( new_ind_list[i].function_name, old_ind_list[i].function_name, 100 ); #endif old_ind_list[i].nb_bits = -1; @@ -821,12 +821,12 @@ void move_indices( new_ind_list[i].id = old_ind_list[i].id; new_ind_list[i].value = old_ind_list[i].value; new_ind_list[i].nb_bits = old_ind_list[i].nb_bits; -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS strncpy( new_ind_list[i].function_name, old_ind_list[i].function_name, 100 ); #endif old_ind_list[i].nb_bits = -1; -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS sprintf( old_ind_list[i].function_name, "RESET in move_indices" ); #endif } @@ -897,7 +897,7 @@ ivas_error check_ind_list_limits( return error; } -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS const char *named_indices_table[] = { "IND_IVAS_FORMAT", "IND_SMODE_OMASA", @@ -2817,7 +2817,7 @@ ivas_error push_indice( hBstr->ind_list[j].id = hBstr->ind_list[j - 1].id; hBstr->ind_list[j].nb_bits = hBstr->ind_list[j - 1].nb_bits; hBstr->ind_list[j].value = hBstr->ind_list[j - 1].value; -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS strncpy( hBstr->ind_list[j].function_name, hBstr->ind_list[j - 1].function_name, 100 ); #endif move16(); @@ -2831,7 +2831,7 @@ ivas_error push_indice( hBstr->ind_list[i].id = id; hBstr->ind_list[i].value = value; hBstr->ind_list[i].nb_bits = nb_bits; -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS strncpy( hBstr->ind_list[i].function_name, named_indices_table[id], 100 ); #endif move16(); @@ -2852,12 +2852,12 @@ ivas_error push_indice( * * Push a new indice into the buffer at the next position *-------------------------------------------------------------------*/ -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS ivas_error push_next_indice_( #else ivas_error push_next_indice( #endif -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS const char *caller, #endif BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */ @@ -2897,7 +2897,7 @@ ivas_error push_next_indice( move16(); move16(); -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS strncpy( hBstr->ind_list[hBstr->nb_ind_tot].function_name, caller, 100 ); #endif @@ -2914,12 +2914,12 @@ ivas_error push_next_indice( * push_next_bits() * Push a bit buffer into the buffer at the next position *-------------------------------------------------------------------*/ -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS ivas_error push_next_bits_( #else ivas_error push_next_bits( #endif -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS const char *caller, #endif BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */ @@ -2965,7 +2965,7 @@ ivas_error push_next_bits( ptr->value = code; ptr->nb_bits = 16; ptr->id = prev_id; -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS strncpy( ptr->function_name, caller, 100 ); #endif hBstr->nb_ind_tot = add( hBstr->nb_ind_tot, 1 ); @@ -2989,7 +2989,7 @@ ivas_error push_next_bits( ptr->value = bits[i]; ptr->nb_bits = 1; ptr->id = prev_id; -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS strncpy( ptr->function_name, caller, 100 ); #endif hBstr->nb_ind_tot = add( hBstr->nb_ind_tot, 1 ); @@ -3066,7 +3066,7 @@ UWord16 delete_indice( hBstr->ind_list[j].id = hBstr->ind_list[i].id; hBstr->ind_list[j].value = hBstr->ind_list[i].value; hBstr->ind_list[j].nb_bits = hBstr->ind_list[i].nb_bits; -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS strncpy( hBstr->ind_list[j].function_name, hBstr->ind_list[i].function_name, 100 ); #endif } @@ -3080,7 +3080,7 @@ UWord16 delete_indice( { /* reset the shifted indices at the end of the list */ hBstr->ind_list[j].nb_bits = -1; -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS sprintf( hBstr->ind_list[j].function_name, "RESET in delete_indice" ); #endif } @@ -3319,7 +3319,7 @@ static ivas_error write_indices_element_fx( UWord16 **pt_stream, /* i : pointer to bitstream buffer */ const Word16 is_SCE, /* i : flag to distingusih SCE and CPE */ const Word16 element_id /* i : id of the SCE or CPE */ -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS , int32_t frame #endif @@ -3429,7 +3429,7 @@ static ivas_error write_indices_element_fx( } } -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS if ( is_SCE ) /* EVS and SCE */ { static FILE *f1 = 0; @@ -3539,7 +3539,7 @@ ivas_error write_indices_ivas_fx( Encoder_Struct *st_ivas, /* i/o: encoder state structure */ UWord16 *bit_stream, /* i/o: output bitstream */ UWord16 *num_bits /* i : number of indices written to output */ -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS , int32_t frame #endif @@ -3567,7 +3567,7 @@ ivas_error write_indices_ivas_fx( FOR( n = 0; n < st_ivas->nSCE; n++ ) { write_indices_element_fx( st_ivas, &pt_stream, 1, n -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS , frame #endif @@ -3577,7 +3577,7 @@ ivas_error write_indices_ivas_fx( FOR( n = 0; n < st_ivas->nCPE; n++ ) { write_indices_element_fx( st_ivas, &pt_stream, 0, n -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS , frame #endif diff --git a/lib_com/options.h b/lib_com/options.h index d55309bc9..20a1dc555 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -43,6 +43,7 @@ /*#define DEBUGGING*/ /* Allows debugging message to be printed out during runtime */ #ifdef DEBUGGING +/*#define DBG_BITSTREAM_ANALYSIS*/ /* Write bitstream with annotations to a text file */ #define DEBUG_MODE_INFO /* Define to output most important parameters to the subdirectory "res/" */ #define DEBUG_MODE_INFO_TWEAK /* Enable command line switch to specify subdirectory for debug info output inside "./res/" */ #define DEBUG_FORCE_MDCT_STEREO_MODE /* Force stereo mode decision for MDCT stereo: -stereo 3 1 forces L/R coding and -stereo 3 2 forces full M/S coding */ @@ -100,6 +101,4 @@ #define TEST_HR #define REMOVE_EVS_DUPLICATES /* remove core-coder duplicated functions, ACELP low-band decoder */ -/*#define BITSTREAM_ANALYSIS*/ - #endif diff --git a/lib_com/prot_fx.h b/lib_com/prot_fx.h index 99f3972c8..870e60a8d 100644 --- a/lib_com/prot_fx.h +++ b/lib_com/prot_fx.h @@ -10661,17 +10661,17 @@ ivas_error config_acelp1_fx( const Word16 GSC_IVAS_mode /* i : GSC IVAS mode */ ); -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS #define push_next_indice( ... ) push_next_indice_( __func__, __VA_ARGS__ ) #define push_next_bits( ... ) push_next_bits_( __func__, __VA_ARGS__ ); #endif -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS ivas_error push_next_indice_( #else ivas_error push_next_indice( #endif -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS const char *caller, #endif BSTR_ENC_HANDLE hBstr, @@ -10679,12 +10679,12 @@ ivas_error push_next_indice( Word16 nb_bits /* i : number of bits used to quantize the indice */ ); -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS ivas_error push_next_bits_( #else ivas_error push_next_bits( #endif -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS const char *caller, #endif BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */ @@ -11009,7 +11009,7 @@ ivas_error push_indice( ); ivas_error push_next_indice_( -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS const char *caller, #endif BSTR_ENC_HANDLE hBstr, @@ -11018,7 +11018,7 @@ ivas_error push_next_indice_( ); ivas_error push_next_bits_( -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS const char *caller, #endif BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */ diff --git a/lib_enc/ivas_corecoder_enc_reconfig_fx.c b/lib_enc/ivas_corecoder_enc_reconfig_fx.c index b3b471e1d..6a2748e1c 100644 --- a/lib_enc/ivas_corecoder_enc_reconfig_fx.c +++ b/lib_enc/ivas_corecoder_enc_reconfig_fx.c @@ -39,7 +39,7 @@ #include "ivas_prot_fx.h" #include "math.h" #include "wmc_auto.h" -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS #include #endif /*-------------------------------------------------------------------* @@ -196,7 +196,7 @@ ivas_error ivas_corecoder_enc_reconfig_fx( move16(); temp_ind_list[i].nb_bits = hBstr->ind_list[i].nb_bits; /* Q0 */ move16(); -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS strncpy( temp_ind_list[i].function_name, hBstr->ind_list[i].function_name, 100 ); #endif hBstr->ind_list[i].nb_bits = -1; /* Q0 */ @@ -552,7 +552,7 @@ ivas_error ivas_corecoder_enc_reconfig_fx( move16(); st_ivas->hSCE[0]->hCoreCoder[0]->hBstr->ind_list[i].nb_bits = temp_ind_list[i].nb_bits; /* Q0 */ move16(); -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS strncpy( st_ivas->hSCE[0]->hCoreCoder[0]->hBstr->ind_list[i].function_name, temp_ind_list[i].function_name, 100 ); #endif } @@ -579,7 +579,7 @@ ivas_error ivas_corecoder_enc_reconfig_fx( move16(); st_ivas->hCPE[0]->hCoreCoder[0]->hBstr->ind_list[i].nb_bits = temp_ind_list[i].nb_bits; /* Q0 */ move16(); -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS strncpy( st_ivas->hCPE[0]->hCoreCoder[0]->hBstr->ind_list[i].function_name, temp_ind_list[i].function_name, 100 ); #endif } diff --git a/lib_enc/ivas_init_enc_fx.c b/lib_enc/ivas_init_enc_fx.c index c7ab7eb08..7d88b1264 100644 --- a/lib_enc/ivas_init_enc_fx.c +++ b/lib_enc/ivas_init_enc_fx.c @@ -41,7 +41,7 @@ #include "wmc_auto.h" #include "ivas_prot_fx.h" #include "prot_fx_enc.h" -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS #include #endif diff --git a/lib_enc/ivas_qmetadata_enc_fx.c b/lib_enc/ivas_qmetadata_enc_fx.c index b67b9d690..9a7c4038b 100644 --- a/lib_enc/ivas_qmetadata_enc_fx.c +++ b/lib_enc/ivas_qmetadata_enc_fx.c @@ -43,7 +43,7 @@ #include "basop_util.h" #include "ivas_rom_com_fx.h" -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS #include #endif @@ -1195,7 +1195,7 @@ void reset_metadata_spatial_fx( { hMetaData->ind_list[i].nb_bits = -1; move16(); -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS sprintf( hMetaData->ind_list[i].function_name, "RESET in reset_metadata_spatial" ); #endif } @@ -1204,7 +1204,7 @@ void reset_metadata_spatial_fx( { hMetaData->ind_list[j].value = hMetaData->ind_list[i].value; hMetaData->ind_list[j].nb_bits = hMetaData->ind_list[i].nb_bits; -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS strncpy( hMetaData->ind_list[j].function_name, hMetaData->ind_list[i].function_name, 100 ); #endif hMetaData->nb_bits_tot = add( hMetaData->nb_bits_tot, hMetaData->ind_list[j].nb_bits ); @@ -2019,7 +2019,7 @@ void restore_metadata_buffer_fx( { hMetaData->ind_list[i].nb_bits = -1; move16(); -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS sprintf( hMetaData->ind_list[i].function_name, "RESET in restore_metadata_buffer" ); #endif } diff --git a/lib_enc/ivas_spar_md_enc_fx.c b/lib_enc/ivas_spar_md_enc_fx.c index 140a62c63..a293b870a 100644 --- a/lib_enc/ivas_spar_md_enc_fx.c +++ b/lib_enc/ivas_spar_md_enc_fx.c @@ -439,7 +439,7 @@ static void write_metadata_buffer_fx( FOR( i = 0; i < hMetaData_tmp->nb_ind_tot; i++ ) { -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS push_next_indice_( hMetaData_tmp->ind_list[i].function_name, hMetaData, hMetaData_tmp->ind_list[i].value, hMetaData_tmp->ind_list[i].nb_bits ); #else push_next_indice( hMetaData, hMetaData_tmp->ind_list[i].value, hMetaData_tmp->ind_list[i].nb_bits ); diff --git a/lib_enc/lib_enc.c b/lib_enc/lib_enc.c index f6188fe1a..1771f875a 100644 --- a/lib_enc/lib_enc.c +++ b/lib_enc/lib_enc.c @@ -1660,7 +1660,7 @@ ivas_error IVAS_ENC_EncodeFrameToSerial( Word16 inputBufferSize, /* i : total number of samples in the input buffer. Related function: IVAS_ENC_GetInputBufferSize() Q0*/ UWord16 *outputBitStream, /* o : pointer to serial output bitstream. The array must already be allocated and be of size at least IVAS_MAX_BITS_PER_FRAME Q0*/ UWord16 *numOutBits /* o : number of bits written to output bitstream. Each bit is stored as a single uint16_t value Q0*/ -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS , int32_t frame #endif @@ -1787,7 +1787,7 @@ ivas_error IVAS_ENC_EncodeFrameToSerial( st_ivas->ind_list[i].nb_bits = -1; move16(); } -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS for ( i = 0; i < st_ivas->ivas_max_num_indices; i++ ) { memset( st_ivas->ind_list[i].function_name, 'A', 100 * sizeof( char ) ); @@ -1933,7 +1933,7 @@ ivas_error IVAS_ENC_EncodeFrameToSerial( #endif { write_indices_ivas_fx( st_ivas, outputBitStream, numOutBits -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS , frame #endif diff --git a/lib_enc/lib_enc.h b/lib_enc/lib_enc.h index 51a6e5821..16fc9fe4b 100644 --- a/lib_enc/lib_enc.h +++ b/lib_enc/lib_enc.h @@ -302,7 +302,7 @@ ivas_error IVAS_ENC_EncodeFrameToSerial( Word16 inputBufferSize, /* i : total number of samples in the input buffer. Related function: IVAS_ENC_GetInputBufferSize() */ UWord16 *outputBitStream, /* o : pointer to serial output bitstream. The array must already be allocated and be of size at least IVAS_MAX_BITS_PER_FRAME */ UWord16 *numOutBits /* o : number of bits written to output bitstream. Each bit is stored as a single uint16_t value */ -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS , int32_t frame #endif @@ -315,7 +315,7 @@ ivas_error IVAS_ENC_EncodeFrameToCompact( const Word16 inputBufferSize, /* i : total number of samples in the input buffer. Related function: IVAS_ENC_GetInputBufferSize() */ UWord8 *outputBitStream, /* o : pointer to compact output bitstream. The array must already be allocated. */ UWord16 *numOutBits /* o : number of bits written to output bitstream */ -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS , int32_t frame #endif diff --git a/lib_enc/prot_fx_enc.h b/lib_enc/prot_fx_enc.h index 9be9df333..8e323af82 100644 --- a/lib_enc/prot_fx_enc.h +++ b/lib_enc/prot_fx_enc.h @@ -4808,7 +4808,7 @@ ivas_error write_indices_ivas_fx( Encoder_Struct *st_ivas, /* i/o: encoder state structure */ UWord16 *bit_stream, /* i/o: output bitstream */ UWord16 *num_bits /* i : number of indices written to output */ -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS , int32_t frame #endif diff --git a/lib_enc/stat_enc.h b/lib_enc/stat_enc.h index f5f819241..41383f109 100644 --- a/lib_enc/stat_enc.h +++ b/lib_enc/stat_enc.h @@ -54,7 +54,7 @@ typedef struct Word16 id; /* id of the indice */ UWord16 value; /* value of the quantized indice */ Word16 nb_bits; /* number of bits used for the quantization of the indice */ -#ifdef BITSTREAM_ANALYSIS +#ifdef DBG_BITSTREAM_ANALYSIS char function_name[100]; #endif } Indice, *INDICE_HANDLE; -- GitLab From ea2c44232376f796ebbba3b68d27a2fa0f265028 Mon Sep 17 00:00:00 2001 From: Sandesh Venkatesh Date: Wed, 21 May 2025 13:20:12 +0530 Subject: [PATCH 07/11] Fix for 3GPP issue 1590: Very high MLD for ParamISM (ISM4) 24.4kbps SWB with +10dB input and DTX enabled Link #1590 --- lib_enc/speech_music_classif_fx.c | 42 ++++++++++++++++++++----------- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/lib_enc/speech_music_classif_fx.c b/lib_enc/speech_music_classif_fx.c index 65000a7b3..817e5fb70 100644 --- a/lib_enc/speech_music_classif_fx.c +++ b/lib_enc/speech_music_classif_fx.c @@ -2612,7 +2612,7 @@ static Word16 attack_det_ivas_fx( /* o : attack flag Word16 *last_strong_attack /* i/o: last strong attack flag */ ) { - Word16 i, j, tmp, tmp1, attack, exp1; + Word16 i, j, tmp, tmp1, attack, exp1, etmp_e, etmp2_e, s; Word32 L_tmp, etmp, etmp2, finc[ATT_NSEG], mean_finc; Word16 att_3lsub_pos; Word16 attack1; @@ -2665,29 +2665,42 @@ static Word16 attack_det_ivas_fx( /* o : attack flag exp1 = norm_s( att_3lsub_pos ); tmp = div_s( shl( 1, sub( 14, exp1 ) ), att_3lsub_pos ); /*Q(29-exp1) */ - L_tmp = L_shr_o( finc[0], Qx, &Overflow ); /*Qx */ - - FOR( i = 1; i < att_3lsub_pos; i++ ) + W_tmp = 0; + move64(); + FOR( i = 0; i < att_3lsub_pos; i++ ) { - L_tmp = L_add_o( L_tmp, L_shr_o( finc[i], Qx, &Overflow ), &Overflow ); /*Qx */ + W_tmp = W_add( W_tmp, finc[i] ); /* *q_ finc_prev */ } - L_tmp = Mult_32_16( L_tmp, tmp ); /*Q(14-exp1+Qx) */ - etmp = L_shl( L_tmp, sub( exp1, 14 ) ); /*Qx */ + s = W_norm( W_tmp ); + L_tmp = W_extract_h( W_shl( W_tmp, s ) ); // *q_finc_prev + s - 32 + + L_tmp = Mpy_32_16_1( L_tmp, tmp ); /* *q_finc_prev + s - 32 + Q29 - exp1 - 15 => *q_finc_prev + s - exp1 - 18 */ + etmp = L_tmp; + move32(); + etmp_e = sub( 31, add( *q_finc_prev, sub( s, add( exp1, 18 ) ) ) ); + tmp1 = sub( ATT_NSEG, attack ); exp1 = norm_s( tmp1 ); tmp = div_s( shl( 1, sub( 14, exp1 ) ), tmp1 ); /*Q(29-exp1) */ - L_tmp = L_shr_o( finc[attack], Qx, &Overflow ); /*Qx */ - FOR( i = 1; i < tmp1; i++ ) + W_tmp = 0; + move64(); + FOR( i = 0; i < tmp1; i++ ) { - L_tmp = L_add_o( L_tmp, L_shr_o( finc[i + attack], Qx, &Overflow ), &Overflow ); /*Qx */ + W_tmp = W_add( W_tmp, finc[i + attack] ); /* *q_finc_prev */ } - L_tmp = Mult_32_16( L_tmp, tmp ); /*Q(14-exp1+Qx) */ - etmp2 = L_shl( L_tmp, sub( exp1, 14 ) ); /*Qx */ + s = W_norm( W_tmp ); + L_tmp = W_extract_h( W_shl( W_tmp, s ) ); // *q_finc_prev + s - 32 + + L_tmp = Mpy_32_16_1( L_tmp, tmp ); /* *q_finc_prev + s - 32 + Q29 - exp1 - 15 => *q_finc_prev + s - exp1 - 18 */ + etmp2 = L_tmp; + move32(); + etmp2_e = sub( 31, add( *q_finc_prev, sub( s, add( exp1, 18 ) ) ) ); /* and compare them */ - if ( GT_32( etmp, L_shr( etmp2, 3 ) ) ) + /* if ( etmp * 8 > etmp2 ) */ + if ( BASOP_Util_Cmp_Mant32Exp( etmp, add( etmp_e, 3 ), etmp2, etmp2_e ) > 0 ) { /* stop, if the attack is not sufficiently strong */ attack = 0; @@ -2695,7 +2708,8 @@ static Word16 attack_det_ivas_fx( /* o : attack flag } test(); - if ( EQ_16( last_clas, VOICED_CLAS ) && GT_32( L_add( L_shl( etmp, 4 ), L_shl( etmp, 2 ) ), etmp2 ) ) + /* if ( last_clas == VOICED_CLAS && etmp * 20 > etmp2 ) */ + if ( EQ_16( last_clas, VOICED_CLAS ) && BASOP_Util_Cmp_Mant32Exp( etmp, etmp_e, Mpy_32_16_1( etmp2, 1638 /* 1/20 in Q15 */ ), etmp2_e ) > 0 ) { /* stop, if the signal was voiced and the attack is not sufficiently strong */ attack = 0; -- GitLab From 5b318766d533bb1b76dd930426751c13a0c46187 Mon Sep 17 00:00:00 2001 From: Sandesh Venkatesh Date: Wed, 21 May 2025 15:15:28 +0530 Subject: [PATCH 08/11] Fix for 3GPP issue 1584: Accuracy of spatial metadata in ivas_mcmasa_enc_fx compared to the floating point equivalent Link #1584 --- lib_com/prot_fx.h | 1 + lib_com/tools_fx.c | 12 +++++ lib_enc/ivas_mcmasa_enc_fx.c | 91 ++++++++++++++++++++++++++++-------- 3 files changed, 85 insertions(+), 19 deletions(-) diff --git a/lib_com/prot_fx.h b/lib_com/prot_fx.h index 044a06b5b..b00894190 100644 --- a/lib_com/prot_fx.h +++ b/lib_com/prot_fx.h @@ -4646,6 +4646,7 @@ Word16 get_min_scalefactor( Word32 x, Word32 y ); Flag is_zero_arr( Word32 *arr, Word16 size ); Flag is_zero_arr16( Word16 *arr, Word16 size ); +Flag is_zero_arr64( Word64 *arr, Word16 size ); void edct2_fx_ivas( const Word16 n, diff --git a/lib_com/tools_fx.c b/lib_com/tools_fx.c index 77e779efd..e8549ce9f 100644 --- a/lib_com/tools_fx.c +++ b/lib_com/tools_fx.c @@ -4738,6 +4738,18 @@ Flag is_zero_arr16( Word16 *arr, Word16 size ) return 1; } +Flag is_zero_arr64( Word64 *arr, Word16 size ) +{ + FOR( Word16 i = 0; i < size; i++ ) + { + IF( arr[i] != 0 ) + { + return 0; + } + } + return 1; +} + void Scale_sig64( Word64 x[], /* i/o: signal to scale Qx */ Word16 len, /* i : size of x[] Q0 */ diff --git a/lib_enc/ivas_mcmasa_enc_fx.c b/lib_enc/ivas_mcmasa_enc_fx.c index 7a5718e99..b89424e76 100644 --- a/lib_enc/ivas_mcmasa_enc_fx.c +++ b/lib_enc/ivas_mcmasa_enc_fx.c @@ -81,7 +81,16 @@ static void compute_cov_mtx_fx( CovarianceMatrix *COVls, /* o : Output matrix, contains upper part of cov mtx */ Word16 inp_exp /*Stores exponent for temp*/ ); -static void computeIntensityVector_enc_fx( const Word16 *band_grouping, Word32 Cldfb_RealBuffer[FOA_CHANNELS][DIRAC_NO_FB_BANDS_MAX], Word32 Cldfb_ImagBuffer[FOA_CHANNELS][DIRAC_NO_FB_BANDS_MAX], const Word16 enc_param_start_band, const Word16 num_frequency_bands, Word32 intensity_real[DIRAC_NUM_DIMS][MASA_FREQUENCY_BANDS] ); + +static void computeIntensityVector_enc_fx( + const Word16 *band_grouping, + Word32 Cldfb_RealBuffer[FOA_CHANNELS][DIRAC_NO_FB_BANDS_MAX], + Word32 Cldfb_ImagBuffer[FOA_CHANNELS][DIRAC_NO_FB_BANDS_MAX], + const Word16 enc_param_start_band, /* i : first band to process */ + const Word16 num_frequency_bands, + Word32 intensity_real[DIRAC_NUM_DIMS][MASA_FREQUENCY_BANDS], + Word16 *exp_intensity_real, + Word16 inp_q ); static void computeVerticalDiffuseness_fx( Word32 **buffer_intensity, /* i : Intensity vectors */ @@ -737,7 +746,7 @@ void ivas_mcmasa_enc_fx( move32(); hQMeta->q_direction[0].band_data[i].elevation_fx[j] = elevation_m_values_fx[j][i]; // Q22 move32(); - hQMeta->q_direction[0].band_data[i].energy_ratio_fx[j] = energyRatio_fx[k][i]; // Q30 + hQMeta->q_direction[0].band_data[i].energy_ratio_fx[j] = energyRatio_fx[k][i]; // Q31 move32(); hQMeta->q_direction[0].band_data[i].distance[j] = fixedDistance; move16(); @@ -938,7 +947,7 @@ void ivas_mcmasa_param_est_enc_fx( Word32 renormalization_factor_coh_fx[MASA_FREQUENCY_BANDS]; // renormalization_factor_coh_e Word16 renormalization_factor_coh_e[MASA_FREQUENCY_BANDS]; Word16 surroundingCoherence_e[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; - Word16 numAnalysisChannels; + Word16 numAnalysisChannels, shift; FOR( i = 0; i < MCMASA_MAX_ANA_CHANS; i++ ) { @@ -1168,7 +1177,7 @@ void ivas_mcmasa_param_est_enc_fx( Foa_ImagBuffer_fx, 0, num_freq_bands, - intensity_real_fx ); + intensity_real_fx, &c_e, inp_q ); computeDirectionVectors_fixed( intensity_real_fx[0], @@ -1188,7 +1197,8 @@ void ivas_mcmasa_param_est_enc_fx( FoaEven_ImagBuffer_fx, 0, num_freq_bands, - intensity_even_real_fx ); + intensity_even_real_fx, &shift, inp_q ); + Word16 ref_e = 0; move16(); computeReferencePower_enc_fx( hMcMasa->band_grouping, @@ -1211,7 +1221,7 @@ void ivas_mcmasa_param_est_enc_fx( /* only real part needed */ Copy32( intensity_even_real_fx[i], &( hMcMasa->buffer_intensity_real_fx[i][index - 1][0] ), num_freq_bands ); // hMcMasa->buffer_intensity_real_q } - hMcMasa->buffer_intensity_real_q[index - 1] = sub( shl( inp_q, 1 ), 31 ); + hMcMasa->buffer_intensity_real_q[index - 1] = sub( 31, shift ); move16(); Copy32( reference_power_fx[ts], &( hMcMasa->buffer_energy_fx[( index - 1 ) * num_freq_bands] ), num_freq_bands ); // ref_e hMcMasa->buffer_energy_q[index - 1] = sub( Q31, ref_e ); @@ -1227,7 +1237,7 @@ void ivas_mcmasa_param_est_enc_fx( IF( !hMcMasa->isHorizontalSetup ) { Copy32( intensity_real_fx[2], &( hMcMasa->buffer_intensity_real_vert_fx[index - 1][0] ), num_freq_bands ); - hMcMasa->buffer_intensity_real_vert_q[index - 1] = sub( shl( inp_q, 1 ), 31 ); + hMcMasa->buffer_intensity_real_vert_q[index - 1] = sub( 31, c_e ); move16(); computeVerticalDiffuseness_fx( hMcMasa->buffer_intensity_real_vert_fx, hMcMasa->buffer_energy_fx, hMcMasa->no_col_avg_diff, num_freq_bands, vertical_diffuseness_vector_fx, hMcMasa->buffer_intensity_real_vert_q, hMcMasa->buffer_energy_q ); v_min_fx( diffuseness_vector_fx, out_exp, vertical_diffuseness_vector_fx, q_vdv, diffuseness_vector_fx, out_exp, num_freq_bands ); @@ -2071,21 +2081,30 @@ static void compute_cov_mtx_fx( return; } + static void computeIntensityVector_enc_fx( const Word16 *band_grouping, - Word32 Cldfb_RealBuffer[FOA_CHANNELS][DIRAC_NO_FB_BANDS_MAX], - Word32 Cldfb_ImagBuffer[FOA_CHANNELS][DIRAC_NO_FB_BANDS_MAX], - const Word16 enc_param_start_band, /* i : first band to process */ + Word32 Cldfb_RealBuffer[FOA_CHANNELS][DIRAC_NO_FB_BANDS_MAX], /*inp_q*/ + Word32 Cldfb_ImagBuffer[FOA_CHANNELS][DIRAC_NO_FB_BANDS_MAX], /*inp_q*/ + const Word16 enc_param_start_band, /* i : first band to process */ const Word16 num_frequency_bands, - Word32 intensity_real[DIRAC_NUM_DIMS][MASA_FREQUENCY_BANDS] ) + Word32 intensity_real[DIRAC_NUM_DIMS][MASA_FREQUENCY_BANDS], /*exp: exp_intensity_real*/ + Word16 *exp_intensity_real, + Word16 inp_q ) { - /* Reminder - * X = a + ib; Y = c + id - * X*Y = ac - bd + i(ad +bc) - */ Word16 i, j; Word32 real, img; - Word16 brange[2]; + Word16 brange[2], shift = 63; + move16(); + Flag is_zero = 0; + move16(); + + Word64 intensity_real64[DIRAC_NUM_DIMS][MASA_FREQUENCY_BANDS]; + + FOR( i = 0; i < DIRAC_NUM_DIMS; i++ ) + { + set64_fx( intensity_real64[i], 0, MASA_FREQUENCY_BANDS ); + } FOR( i = enc_param_start_band; i < enc_param_start_band + num_frequency_bands; i++ ) { @@ -2108,17 +2127,51 @@ static void computeIntensityVector_enc_fx( img = Cldfb_ImagBuffer[0][j]; move32(); /* Intensity is XYZ order, audio is WYZX order. */ - intensity_real[0][i] = L_add( intensity_real[0][i], L_add( Mpy_32_32( Cldfb_RealBuffer[3][j], real ), Mpy_32_32( Cldfb_ImagBuffer[3][j], img ) ) ); // output Q= 2* input_q -31 + intensity_real64[0][i] = W_add( intensity_real64[0][i], W_add( W_mult0_32_32( Cldfb_RealBuffer[3][j], real ), W_mult0_32_32( Cldfb_ImagBuffer[3][j], img ) ) ); // output Q= 2* input_q move32(); - intensity_real[1][i] = L_add( intensity_real[1][i], L_add( Mpy_32_32( Cldfb_RealBuffer[1][j], real ), Mpy_32_32( Cldfb_ImagBuffer[1][j], img ) ) ); // output Q= 2* input_q -31 + intensity_real64[1][i] = W_add( intensity_real64[1][i], W_add( W_mult0_32_32( Cldfb_RealBuffer[1][j], real ), W_mult0_32_32( Cldfb_ImagBuffer[1][j], img ) ) ); // output Q= 2* input_q move32(); - intensity_real[2][i] = L_add( intensity_real[2][i], L_add( Mpy_32_32( Cldfb_RealBuffer[2][j], real ), Mpy_32_32( Cldfb_ImagBuffer[2][j], img ) ) ); // output Q= 2* input_q -31 + intensity_real64[2][i] = W_add( intensity_real64[2][i], W_add( W_mult0_32_32( Cldfb_RealBuffer[2][j], real ), W_mult0_32_32( Cldfb_ImagBuffer[2][j], img ) ) ); // output Q= 2* input_q move32(); } } + FOR( i = 0; i < DIRAC_NUM_DIMS; i++ ) + { + is_zero = is_zero_arr64( intensity_real64[i], MASA_FREQUENCY_BANDS ); + IF( is_zero == 0 ) + { + BREAK; + } + } + IF( is_zero == 0 ) + { + FOR( i = 0; i < DIRAC_NUM_DIMS; i++ ) + { + shift = s_min( shift, W_norm_arr( intensity_real64[i], MASA_FREQUENCY_BANDS ) ); + } + + FOR( i = 0; i < DIRAC_NUM_DIMS; i++ ) + { + FOR( j = 0; j < MASA_FREQUENCY_BANDS; j++ ) + { + intensity_real[i][j] = W_extract_h( W_shl( intensity_real64[i][j], shift ) ); + move32(); + } + } + + *exp_intensity_real = sub( 31, sub( add( shift, shl( inp_q, 1 ) ), 32 ) ); + move16(); + } + ELSE + { + *exp_intensity_real = 0; + move16(); + } + return; } + static void computeVerticalDiffuseness_fx( Word32 **buffer_intensity, /* i : Intensity vectors */ const Word32 *buffer_energy, /* i : Energy */ -- GitLab From 352d293b56d22dd40cb9eb63cac75fe027f71871 Mon Sep 17 00:00:00 2001 From: Sandesh Venkatesh Date: Fri, 23 May 2025 14:39:12 +0530 Subject: [PATCH 09/11] Precision improvements and bug fixes to remove tonal lines in ParamISM --- lib_com/fd_cng_com_fx.c | 68 +++++++---- lib_com/prot_fx.h | 18 +++ lib_com/stat_com.h | 3 +- lib_com/tools_fx.c | 52 +++++++++ lib_dec/acelp_core_dec_fx.c | 4 +- lib_dec/fd_cng_dec_fx.c | 19 +++- lib_dec/hf_synth_fx.c | 207 ++++++++++++++++++++++++++++++++++ lib_dec/ivas_ism_dtx_dec_fx.c | 8 +- 8 files changed, 343 insertions(+), 36 deletions(-) diff --git a/lib_com/fd_cng_com_fx.c b/lib_com/fd_cng_com_fx.c index 872c180b5..207925724 100644 --- a/lib_com/fd_cng_com_fx.c +++ b/lib_com/fd_cng_com_fx.c @@ -120,6 +120,8 @@ void ivas_initFdCngCom_fx( HANDLE_FD_CNG_COM hFdCngCom, Word16 scale ) move16(); hFdCngCom->CngBitrate = -1; move16(); + hFdCngCom->olapBufferSynth_exp = 0; + move16(); /* Initialize noise estimation algorithm */ set32_fx( hFdCngCom->periodog, 0, PERIODOGLEN ); @@ -2653,9 +2655,10 @@ void SynthesisSTFT_ivas_fx( const Word16 nchan_out /* i : number of output channels */ ) { - Word16 i, len, scale, tmp; + Word16 i, len, scale, tmp, sft, exp, tmp1; Word16 len2, len3, len4; Word16 buf[M + 1 + L_FRAME16k]; + Word32 L_olapBuffer[FFTLEN]; /* Perform IFFT */ @@ -2666,6 +2669,12 @@ void SynthesisSTFT_ivas_fx( hFdCngCom->fftBuffer_exp = fftBufferExp; move16(); + sft = getScaleFactor32( fftBuffer, hFdCngCom->fftlen ); + scale_sig32( fftBuffer, hFdCngCom->fftlen, sft ); + fftBufferExp = sub( fftBufferExp, sft ); + hFdCngCom->fftBuffer_exp = fftBufferExp; + move16(); + fftBufferExp = add( fftBufferExp, hFdCngCom->fftlenShift ); /* Perform overlap-add */ @@ -2679,48 +2688,58 @@ void SynthesisSTFT_ivas_fx( } ELSE { - Copy( olapBuffer + hFdCngCom->frameSize, olapBuffer, hFdCngCom->frameSize ); + Copy_Scale_sig_16_32_no_sat( olapBuffer + hFdCngCom->frameSize, L_olapBuffer, hFdCngCom->frameSize, add( sub( hFdCngCom->olapBufferSynth_exp, sub( 15, hFdCngCom->fftlenShift ) ), 16 ) ); /* exp: hFdCngCom->olapBufferSynth_exp -> (15 - fftlenShift) */ set16_fx( olapBuffer + hFdCngCom->frameSize, 0, hFdCngCom->frameSize ); } len2 = shr( hFdCngCom->fftlen, 2 ); len4 = shr( hFdCngCom->fftlen, 3 ); len3 = add( len2, len4 ); len = add( hFdCngCom->frameSize, len4 ); + tmp1 = sub( fftBufferExp, 15 ); IF( tcx_transition ) { FOR( i = 0; i < len; i++ ) { - olapBuffer[i] = round_fx_sat( L_shl_sat( fftBuffer[i], fftBufferExp - 15 ) ); // Q(15 - fftBufferExp) - move16(); + L_olapBuffer[i] = L_shl_sat( fftBuffer[i], tmp1 ); /* Q(31 - (15 - fftlenShift) ) */ + move32(); } } ELSE { FOR( i = 0; i < len4; i++ ) { - olapBuffer[i + 1 * len4] = add_sat( olapBuffer[i + 1 * len4], mult_r( round_fx_sat( L_shl_sat( fftBuffer[i + 1 * len4], fftBufferExp - 15 ) ), olapWin[i].v.im ) ); - move16(); - olapBuffer[i + 2 * len4] = add_sat( olapBuffer[i + 2 * len4], mult_r( round_fx_sat( L_shl_sat( fftBuffer[i + 2 * len4], fftBufferExp - 15 ) ), olapWin[len4 - 1 - i].v.re ) ); - move16(); + L_olapBuffer[i + 1 * len4] = Madd_32_16( L_olapBuffer[i + 1 * len4], L_shl_sat( fftBuffer[i + 1 * len4], tmp1 ), olapWin[i].v.im ); /* Q(31 - (15 - fftlenShift) ) */ + move32(); + L_olapBuffer[i + 2 * len4] = Madd_32_16( L_olapBuffer[i + 2 * len4], L_shl_sat( fftBuffer[i + 2 * len4], tmp1 ), olapWin[len4 - 1 - i].v.re ); /* Q(31 - (15 - fftlenShift) ) */ + move32(); } FOR( i = len3; i < len; i++ ) { - olapBuffer[i] = round_fx_sat( L_shl_sat( fftBuffer[i], fftBufferExp - 15 ) ); + L_olapBuffer[i] = L_shl_sat( fftBuffer[i], tmp1 ); /* Q(31 - (15 - fftlenShift) ) */ + move32(); } } FOR( i = 0; i < len4; i++ ) { - olapBuffer[i + 5 * len4] = mult_r( round_fx_sat( L_shl_sat( fftBuffer[i + 5 * len4], fftBufferExp - 15 ) ), olapWin[i].v.re ); - move16(); - olapBuffer[i + 6 * len4] = mult_r( round_fx_sat( L_shl_sat( fftBuffer[i + 6 * len4], fftBufferExp - 15 ) ), olapWin[len4 - 1 - i].v.im ); - move16(); + L_olapBuffer[i + 5 * len4] = Mpy_32_16_1( L_shl_sat( fftBuffer[i + 5 * len4], tmp1 ), olapWin[i].v.re ); /* Q(31 - (15 - fftlenShift) ) */ + move32(); + L_olapBuffer[i + 6 * len4] = Mpy_32_16_1( L_shl_sat( fftBuffer[i + 6 * len4], tmp1 ), olapWin[len4 - 1 - i].v.im ); /* Q(31 - (15 - fftlenShift) ) */ + move32(); } len = add( len, len2 ); FOR( i = len; i < hFdCngCom->fftlen; i++ ) { - olapBuffer[i] = 0; + L_olapBuffer[i] = 0; + move32(); + } + + sft = L_norm_arr( L_olapBuffer, hFdCngCom->fftlen ); + IF( NE_16( sft, 31 ) ) + { + Copy_Scale_sig32_16( L_olapBuffer, olapBuffer, hFdCngCom->fftlen, sft ); + hFdCngCom->olapBufferSynth_exp = sub( sub( 15, hFdCngCom->fftlenShift ), sft ); move16(); } @@ -2737,24 +2756,23 @@ void SynthesisSTFT_ivas_fx( buf[i] = mult_r( olapBuffer[i + len4 - M - 1], hFdCngCom->fftlenFac ); move16(); } + exp = add( hFdCngCom->olapBufferSynth_exp, hFdCngCom->fftlenShift ); tmp = buf[0]; } IF( EQ_16( gen_exc, 1 ) ) { - Word16 s = getScaleFactor16( buf + 1, M + hFdCngCom->frameSize ); - if ( GT_16( *Q_new, s ) ) - { - *Q_new = s; - move16(); - } - - E_UTIL_f_preemph2( *Q_new - 1, buf + 1, PREEMPH_FAC, M + hFdCngCom->frameSize, &tmp ); - Residu3_fx( hFdCngCom->A_cng, buf + 1 + M, hFdCngCom->exc_cng, hFdCngCom->frameSize, 1 ); + E_UTIL_f_preemph2( 0, buf + 1, PREEMPH_FAC, add( M, hFdCngCom->frameSize ), &tmp ); + Residu3_fx( hFdCngCom->A_cng, buf + 1 + M, hFdCngCom->exc_cng, hFdCngCom->frameSize, 0 ); + *Q_new = sub( 15, exp ); + move16(); } IF( EQ_16( gen_exc, 2 ) ) { - *Q_new = E_UTIL_f_preemph3( buf + 1, PREEMPH_FAC, M + hFdCngCom->frameSize, &tmp, 1 ); - Residu3_fx( hFdCngCom->A_cng, buf + 1 + M, hFdCngCom->exc_cng, hFdCngCom->frameSize, 1 ); + *Q_new = E_UTIL_f_preemph3( buf + 1, PREEMPH_FAC, add( M, hFdCngCom->frameSize ), &tmp, 0 ); + move16(); + Residu3_fx( hFdCngCom->A_cng, buf + 1 + M, hFdCngCom->exc_cng, hFdCngCom->frameSize, negate( *Q_new ) ); + *Q_new = sub( 15, exp ); + move16(); } } diff --git a/lib_com/prot_fx.h b/lib_com/prot_fx.h index 044a06b5b..9a2597db6 100644 --- a/lib_com/prot_fx.h +++ b/lib_com/prot_fx.h @@ -6512,6 +6512,18 @@ void hf_synth_fx( const Word16 Q_syn2 /* i : synthesis scaling */ ); +void hf_synth_ivas_fx( + ZERO_BWE_DEC_HANDLE hBWE_zero, /* i/o: handle to 0 bit BWE parameters */ + const Word32 core_brate, /* i : core bitrate Q0*/ + const Word16 output_frame, /* i : output frame length Q0*/ + const Word16 *Aq, /* i : quantized Az Q12*/ + const Word16 *exc, /* i : excitation at 12.8 kHz Q_exc*/ + Word16 *synth, /* i : 12.8kHz synthesis signal Q_syn2*/ + Word16 *synth16k, /* o : 16kHz synthesis signal Q_syn2*/ + const Word16 Q_exc, /* i : excitation scaling */ + const Word16 Q_syn2 /* i : synthesis scaling */ +); + void hf_synth_amr_wb_init_fx( AMRWB_IO_DEC_HANDLE hAmrwb_IO /* i/o: AMR-WB IO data handle */ ); @@ -10139,6 +10151,12 @@ void hp400_12k8_fx( Word16 mem[] /* i/o: filter memory [6] */ ); +void hp400_12k8_ivas_fx( + Word16 signal[], /* i/o: input signal / output is divided by 16 */ + const Word16 lg, /* i : lenght of signal */ + Word16 mem[] /* i/o: filter memory [6] */ +); + Word16 dot_prod_satcontr( const Word16 *x, const Word16 *y, Word16 qx, Word16 qy, Word16 *qo, Word16 len ); void E_UTIL_f_convolve( const Word16 x[], const Word16 h[], Word16 y[], const Word16 size ); diff --git a/lib_com/stat_com.h b/lib_com/stat_com.h index f99d49802..80822f59e 100644 --- a/lib_com/stat_com.h +++ b/lib_com/stat_com.h @@ -377,7 +377,8 @@ typedef struct Word16 *olapBufferAna; /* q_olapBufferAna */ /* points to FD_CNG_DEC->olapBufferAna[FFTLEN] in case of decoder */ Word16 olapBufferAna_fx[FFTLEN]; /* q_olapBufferAna_fx */ /* points to FD_CNG_DEC->olapBufferAna[FFTLEN] in case of decoder */ Word16 olapBufferSynth[FFTLEN]; /* q_olapBuffer */ - Word16 *olapBufferSynth2; /*Q_syn*/ /* points to FD_CNG_DEC->olapBufferSynth2[FFTLEN] in case of decoder */ + Word16 olapBufferSynth_exp; + Word16 *olapBufferSynth2; /*Q_syn*/ /* points to FD_CNG_DEC->olapBufferSynth2[FFTLEN] in case of decoder */ const PWord16 *olapWinAna; const PWord16 *olapWinSyn; diff --git a/lib_com/tools_fx.c b/lib_com/tools_fx.c index 77e779efd..b3471e50c 100644 --- a/lib_com/tools_fx.c +++ b/lib_com/tools_fx.c @@ -3864,6 +3864,58 @@ void hp400_12k8_fx( return; } +void hp400_12k8_ivas_fx( + Word16 signal[], /* i/o: input signal / output is divided by 16 */ + const Word16 lg, /* i : lenght of signal */ + Word16 mem[] /* i/o: filter memory [6] */ +) +{ + Word16 i; + Word16 x0, x1, x2; + Word32 L_tmp, yy1, y2; + + yy1 = L_Comp( mem[2], mem[3] ); /* Q_syn + 13 */ + y2 = L_Comp( mem[0], mem[1] ); /* Q_syn + 13 */ + x0 = mem[4]; /* Q_syn */ + move16(); + x1 = mem[5]; /* Q_syn */ + move16(); + + FOR( i = 0; i < lg; i++ ) + { + x2 = x1; /* Q_syn */ + move16(); + x1 = x0; /* Q_syn */ + move16(); + x0 = signal[i]; /* Q_syn */ + move16(); + + L_tmp = Mpy_32_16_1( yy1, a_hp400_ivas_fx[1] ); /*yy1 * a_hp400[1]*/ /* Qx(Q_of_yy1) + 10 ---->( (Q_syn+13) + 12 - 15)*/ + L_tmp = Madd_32_16( L_tmp, y2, a_hp400_ivas_fx[2] ); /*y2 * a_hp400[2]*/ /* Qx + 10 ---->( (Q_syn+13) + 12 - 15)*/ + L_tmp = L_shl( L_tmp, 3 ); /* shifting by 3 to maintain same Q (Q_syn+13) */ + + L_tmp = L_mac( L_tmp, x0, b_hp400_fx[0] ); /* Q_syn + 13 */ + L_tmp = L_mac( L_tmp, x1, b_hp400_fx[1] ); /* Q_syn + 13 */ + L_tmp = L_mac( L_tmp, x2, b_hp400_fx[2] ); /* Q_syn + 13 */ + + y2 = yy1; /* Q_syn + 13 */ + move32(); + yy1 = L_tmp; /* Q_syn + 13 */ + move32(); + + signal[i] = round_fx( L_tmp ); /* Q_syn - 3 */ + move16(); + } + + L_Extract( yy1, &mem[2], &mem[3] ); + L_Extract( y2, &mem[0], &mem[1] ); + mem[4] = x0; /* Q_syn */ + mem[5] = x1; /* Q_syn */ + move16(); + move16(); + return; +} + Word16 dot_prod_satcontr( const Word16 *x, const Word16 *y, Word16 qx, Word16 qy, Word16 *qo, Word16 len ) { Word16 tmp_tab_x[L_FRAME16k]; diff --git a/lib_dec/acelp_core_dec_fx.c b/lib_dec/acelp_core_dec_fx.c index 2fff712f9..b627b3f47 100644 --- a/lib_dec/acelp_core_dec_fx.c +++ b/lib_dec/acelp_core_dec_fx.c @@ -2284,12 +2284,12 @@ ivas_error acelp_core_dec_fx( { IF( EQ_16( st->element_mode, EVS_MONO ) ) { - hf_synth_fx( st->hBWE_zero, st->core_brate, output_frame, Aq_fx, exc2_fx, psyn_fx, synth_fx16, st->Q_exc, st->Q_syn2 ); + hf_synth_ivas_fx( st->hBWE_zero, st->core_brate, output_frame, Aq_fx, exc2_fx, psyn_fx, synth_fx16, st->Q_exc, st->Q_syn2 ); } ELSE { Copy_Scale_sig_32_16( synth_fx, synth_fx16, output_frame, 0 ); // Q0 - hf_synth_fx( st->hBWE_zero, st->core_brate, output_frame, Aq_fx, exc2_fx, psyn_fx, synth_fx16, st->Q_exc, st->Q_syn2 ); + hf_synth_ivas_fx( st->hBWE_zero, st->core_brate, output_frame, Aq_fx, exc2_fx, psyn_fx, synth_fx16, st->Q_exc, st->Q_syn2 ); Copy_Scale_sig_16_32_DEPREC( synth_fx16, synth_fx, output_frame, 0 ); } } diff --git a/lib_dec/fd_cng_dec_fx.c b/lib_dec/fd_cng_dec_fx.c index cc83eeca3..99d202870 100644 --- a/lib_dec/fd_cng_dec_fx.c +++ b/lib_dec/fd_cng_dec_fx.c @@ -2968,7 +2968,9 @@ void generate_comfort_noise_dec_ivas_fx( Word32 tmp1, tmp2; Word16 scaleCldfb; Word32 *fftBuffer = hFdCngCom->fftBuffer; /*hFdCngCom->fftBuffer_exp*/ - Word16 fftBuffer_exp = hFdCngCom->fftBuffer_exp; + Word16 fftBuffer_exp, fftBuffer_exp2; + fftBuffer_exp = hFdCngCom->fftBuffer_exp; + move16(); Word16 fftBuffer_temp_exp[FFTLEN]; Word16 *timeDomainOutput = hFdCngCom->timeDomainBuffer; Word16 temp; @@ -3001,6 +3003,8 @@ void generate_comfort_noise_dec_ivas_fx( hFdCngCom->fftBuffer_exp = fftBuffer_exp; move16(); set16_fx( fftBuffer_temp_exp, fftBuffer_exp, FFTLEN ); + fftBuffer_exp2 = fftBuffer_exp; + move16(); fftBuffer_exp = 0; move16(); @@ -3158,9 +3162,16 @@ void generate_comfort_noise_dec_ivas_fx( /* Perform STFT synthesis */ SynthesisSTFT_ivas_fx( fftBuffer, fftBuffer_exp, timeDomainOutput, hFdCngCom->olapBufferSynth, hFdCngCom->olapWinSyn, - tcx_transition, hFdCngCom, gen_exc, Q_new, st->element_mode, nchan_out ); - scale_sig32( fftBuffer + hFdCngCom->fftlen, sub( FFTLEN, hFdCngCom->fftlen ), sub( fftBuffer_exp, hFdCngCom->fftBuffer_exp ) ); /*Q31 - fftBuffer_exp*/ - + tcx_transition, hFdCngCom, gen_exc, Q_new, st->element_mode, nchan_out ); /* fftBuffer in hfDCngCom->fftBuffer_exp */ + /* fftBuffer now in different Qs [0 to fftlen - 1] = hfDCngCom->fftBuffer_exp and [fftlen to FFTLEN(640)] = fftBuffer_exp2, bringing it in common exponent */ + Word16 shift1 = L_norm_arr( fftBuffer, hFdCngCom->fftlen ); + Word16 shift2 = L_norm_arr( fftBuffer + hFdCngCom->fftlen, sub( FFTLEN, hFdCngCom->fftlen ) ); + Word16 shift = s_max( sub( hFdCngCom->fftBuffer_exp, shift1 ), sub( fftBuffer_exp2, shift2 ) ); + + scale_sig32( fftBuffer, hFdCngCom->fftlen, sub( hFdCngCom->fftBuffer_exp, shift ) ); + scale_sig32( fftBuffer + hFdCngCom->fftlen, sub( FFTLEN, hFdCngCom->fftlen ), sub( fftBuffer_exp2, shift ) ); + hFdCngCom->fftBuffer_exp = shift; + move16(); { Word32 Lener, att; Word16 exp; diff --git a/lib_dec/hf_synth_fx.c b/lib_dec/hf_synth_fx.c index 65c2e9290..27d768f63 100644 --- a/lib_dec/hf_synth_fx.c +++ b/lib_dec/hf_synth_fx.c @@ -21,6 +21,7 @@ static void filt_6k_7k_scale_fx( Word16 signal[], Word16 lg, Word16 mem[], Word16 fact, Word16 exp ); static void hf_synthesis_fx( ZERO_BWE_DEC_HANDLE hBWE_zero, const Word32 core_brate, const Word16 output_subfr, const Word16 Aq[], const Word16 exc[], const Word16 Q_exc, Word16 synth[], Word16 synth16k[], const Word16 Q_syn ); +static void hf_synthesis_ivas_fx( ZERO_BWE_DEC_HANDLE hBWE_zero, const Word32 core_brate, const Word16 output_subfr, const Word16 Aq[], const Word16 exc[], const Word16 Q_exc, Word16 synth[], Word16 synth16k[], const Word16 Q_syn ); static void hf_synthesis_amr_wb_fx( const Word32 core_brate, const Word16 output_subfr, const Word16 Ap[], Word16 exc16k[], Word16 synth_out[], Word16 *mem_syn_hf, Word16 *delay_syn_hf, Word16 *mem_hp_interp, Word16 p_r, Word16 HF_corr_gain, Word16 til, Word16 voice_factors, const Word16 exc[], const Word16 Q_exc, const Word16 Q_out, Word16 qhf ); static void envelope_fx( AMRWB_IO_DEC_HANDLE hAmrwb_IO, const Word32 core_brate, const Word16 Aq[], Word16 Ap[], Word16 *r, Word16 tilt0, Word16 tilt, Word16 voice_factor ); static void AdaptiveStartBand_fx( Word16 *start_band, const Word32 rate, const Word16 *lsf, const Word16 voicing_fac, const Word16 clas, Word16 *voicing_flag, Word16 *start_band_old, Word32 *OptCrit_old ); @@ -291,7 +292,213 @@ static void hf_synthesis_fx( { Copy( HF_syn, upsampled_HF_syn, L_SUBFR16k ); /* Q_syn */ } + Vr_add( synth16k, upsampled_HF_syn, synth16k, output_subfr ); + + return; +} + +void hf_synth_ivas_fx( + ZERO_BWE_DEC_HANDLE hBWE_zero, /* i/o: handle to 0 bit BWE parameters */ + const Word32 core_brate, /* i : core bitrate Q0*/ + const Word16 output_frame, /* i : output frame length Q0*/ + const Word16 *Aq, /* i : quantized Az Q12*/ + const Word16 *exc, /* i : excitation at 12.8 kHz Q_exc*/ + Word16 *synth, /* i : 12.8kHz synthesis signal Q_syn2*/ + Word16 *synth16k, /* o : 16kHz synthesis signal Q_syn2*/ + const Word16 Q_exc, /* i : excitation scaling */ + const Word16 Q_syn2 /* i : synthesis scaling */ +) +{ + const Word16 *p_Aq; + Word16 i_subfr, output_subfr; + + output_subfr = shr( output_frame, 2 ); + + p_Aq = Aq; /* Q12 */ + FOR( i_subfr = 0; i_subfr < L_FRAME; i_subfr += L_SUBFR ) + { + hf_synthesis_ivas_fx( hBWE_zero, core_brate, output_subfr, p_Aq, &exc[i_subfr], Q_exc, &synth[i_subfr], &synth16k[i_subfr * output_subfr / L_SUBFR], Q_syn2 ); + + p_Aq += ( M + 1 ); /* Q12 */ + } + + return; +} + +static void hf_synthesis_ivas_fx( + ZERO_BWE_DEC_HANDLE hBWE_zero, + const Word32 core_brate, /* i : core bitrate Q0*/ + const Word16 output_subfr, /* i : output sub-frame length Q0*/ + const Word16 Aq[], /* i : quantized Az Q12*/ + const Word16 exc[], /* i : excitation at 12.8 kHz Q_exc*/ + const Word16 Q_exc, /* i : excitation scaling */ + Word16 synth[], /* i : 12.8kHz synthesis signal Q_syn*/ + Word16 synth16k[], /* i/o: 16kHz synthesis signal Q_syn*/ + const Word16 Q_syn /* i : synthesis scaling */ +) +{ + Word16 i, s; + Word16 HF_syn[L_SUBFR16k], upsampled_HF_syn[L_FRAME48k / NB_SUBFR]; + Word16 HF_exc[L_SUBFR16k]; + Word16 exp1, exp2, scale, tmp, ener, Q_tmp, Q_ener, sft; + Word32 L_tmp, ONE, P_ONE; + Word16 Ap[M16k + 1]; + Word64 prod; + + /*-----------------------------------------------------------------* + * generate white noise vector + *-----------------------------------------------------------------*/ + + Random_Fill( &hBWE_zero->seed2, L_SUBFR16k, HF_exc, 3 ); /* 3 = Shift Right by 3 */ + + /* o: HF_exc in Q(-3) */ + + /*-----------------------------------------------------------------* + * calculate energy scaling factor so that white noise would have the + * same energy as exc12k8 + *-----------------------------------------------------------------*/ + + /*ener = sum2_f( exc, L_SUBFR ) + 0.01f*/ + ener = extract_h( Dot_product12( exc, exc, L_SUBFR, &exp2 ) ); + exp2 = sub( exp2, add( Q_exc, Q_exc ) ); // ener exponent + + /*tmp = round_fx(Dot_product12(HF_exc, HF_exc, output_subfr, &exp1)); */ + L_tmp = Dot_product12( HF_exc, HF_exc, L_SUBFR16k, &exp1 ); + tmp = round_fx( L_tmp ); + exp1 = add( exp1, 6 ); /* tmp exponent */ + + ener = shr( ener, 1 ); /* to avoid the assertion in div_s() further*/ + exp2 = add( exp2, 1 ); + + tmp = div_s( ener, tmp ); + exp1 = sub( exp2, exp1 ); + + scale = Sqrt16( tmp, &exp1 ); /* scale exponent = exp1 */ + + /*-----------------------------------------------------------------* + * calculate energy scaling factor to respect tilt of synth12k8 + * (tilt: 1=voiced, -1=unvoiced) + *-----------------------------------------------------------------*/ + + hp400_12k8_ivas_fx( synth, L_SUBFR, hBWE_zero->mem_hp400_fx ); + + /* i: mem_hp400 in Q_syn */ + /* i: synth in Q_syn */ + /* o: synth in Q_syn-3 */ + prod = W_mac0_16_16( 1L, synth[0], synth[0] ); /* 2*(Q_syn-3) */ + FOR( i = 1; i < L_SUBFR; i++ ) + { + prod = W_mac0_16_16( prod, synth[i], synth[i] ); /* 2*(Q_syn-3) */ + } + sft = W_norm( prod ); + ener = extract_h( W_extract_h( W_shl( prod, sft ) ) ); + Q_ener = sub( add( shl( sub( Q_syn, 3 ), 1 ), sft ), 48 ); + + prod = W_mac0_16_16( 1L, synth[1], synth[0] ); /* 2*(Q_syn-3) */ + FOR( i = 2; i < L_SUBFR; i++ ) + { + prod = W_mac0_16_16( prod, synth[i], synth[i - 1] ); /* 2*(Q_syn-3) */ + } + sft = sub( W_norm( prod ), 1 ); + tmp = extract_h( W_extract_h( W_shl( prod, sft ) ) ); + Q_tmp = sub( add( shl( sub( Q_syn, 3 ), 1 ), sft ), 48 ); + tmp = s_max( 0, tmp ); + IF( tmp > 0 ) + { + tmp = div_s( tmp, ener ); + Q_tmp = add( 15, sub( Q_tmp, Q_ener ) ); + } + + /*-----------------------------------------------------------------* + * modify energy of white noise according to synthesis tilt + *-----------------------------------------------------------------*/ + /* tmp = 1.0 - fac */ + ONE = L_shl( 1, Q_tmp ); + P_ONE = L_shl( 3277 /* 0.1 in Q15 */, sub( Q_tmp, 15 ) ); + L_tmp = L_msu0( ONE, tmp, 1 ); + test(); + if ( core_brate == FRAME_NO_DATA || EQ_32( core_brate, SID_2k40 ) ) + { + /* emphasize HF noise in CNG */ + /*fac *= 2.0f;*/ + L_tmp = L_add( L_tmp, L_tmp ); + } + L_tmp = L_max( L_tmp, P_ONE ); + L_tmp = L_min( L_tmp, ONE ); + + sft = norm_l( L_tmp ); + L_tmp = L_shl( L_tmp, sft ); + + tmp = round_fx( L_tmp ); + Q_tmp = sub( add( Q_tmp, sft ), 16 ); + + /*scale *= fac;*/ + tmp = mult_r( scale, tmp ); /* Q = (15 - exp1) + Q_tmp - 15 */ + Q_tmp = sub( Q_tmp, exp1 ); + /*-----------------------------------------------------------------* + * modify HF excitation according to both calculated scaling factors + * high pass filtering (0.94ms of delay) + *-----------------------------------------------------------------*/ + + exp2 = sub( hBWE_zero->memExp1, exp1 ); + hBWE_zero->memExp1 = exp1; + move16(); + + filt_6k_7k_scale_fx( HF_exc, L_SUBFR16k, hBWE_zero->mem_hf_fx, tmp, exp2 ); + /* i: HF_exc in Q(-3) */ + /* o: HF_exc in ((-3) + Q_tmp - 17) */ + /* o: hBWE_zero->mem_hf_fx in Q(HF_exc)-2 */ + + /*-----------------------------------------------------------------* + * synthesis of noise: 4.8kHz..5.6kHz --> 6kHz..7kHz + *-----------------------------------------------------------------*/ + + /*weight_a( Aq, Ap, 0.6f, M );*/ + weight_a_lc_fx( Aq, Ap, Gamma_19661_Tbl_fx, M ); + /* o: Ap in Q14 */ + + Syn_filt_s( 0, Ap, M, HF_exc, HF_syn, L_SUBFR16k, hBWE_zero->mem_syn_hf_fx, 1 ); + /* o: HF_syn in same Q as HF_exc */ + /* o: mem_syn_hf_fx same Q as HF_syn */ + + Scale_sig( HF_syn, L_SUBFR16k, ( add( Q_syn, exp1 ) ) ); /* bring HF_syn to (Q_syn+exp1) */ + + /*-----------------------------------------------------------------* + * add filtered HF noise to speech synthesis + *-----------------------------------------------------------------*/ + + /* delay by 5 samples @16kHz to compensate CLDFB resampling delay (20samples) and HP filtering delay (roughly 15 samples) */ + delay_signal_fx( HF_syn, L_SUBFR16k, hBWE_zero->delay_syn_hf_fx, NS2SA_FX2( 16000, DELAY_CLDFB_NS ) - 15 ); + + /* interpolate the HF synthesis */ + IF( EQ_16( output_subfr, L_SUBFR48k ) ) /* 48kHz sampled output */ + { + s = s_max( s_min( sub( s_min( Find_Max_Norm16( HF_syn, L_SUBFR16k ), Find_Max_Norm16( hBWE_zero->mem_hp_interp_fx, INTERP_3_1_MEM_LEN - 3 ) ), 3 ), + sub( Find_Max_Norm16( hBWE_zero->mem_hp_interp_fx + INTERP_3_1_MEM_LEN - 3, 3 ), 1 ) ), + 0 ); + Scale_sig( HF_syn, L_SUBFR16k, s ); /* Q_syn+exp1+s */ + Scale_sig( hBWE_zero->mem_hp_interp_fx, INTERP_3_1_MEM_LEN, s ); /* Qx + s */ + interpolate_3_over_1_allpass_fx( HF_syn, L_SUBFR16k, upsampled_HF_syn, hBWE_zero->mem_hp_interp_fx ); + Scale_sig( upsampled_HF_syn, 3 * L_SUBFR16k, -s ); /* Q_syn + exp1 + s */ + Scale_sig( hBWE_zero->mem_hp_interp_fx, INTERP_3_1_MEM_LEN, -s ); /* Qx */ + Scale_sig( HF_syn, L_SUBFR16k, -s ); /* Q_syn+exp1 */ + Scale_sig( upsampled_HF_syn, L_SUBFR48k, -1 ); + } + ELSE IF( EQ_16( output_subfr, L_SUBFR32k ) ) /* 32kHz sampled output */ + { + s = s_max( sub( s_min( Find_Max_Norm16( HF_syn, L_SUBFR16k ), Find_Max_Norm16( hBWE_zero->mem_hp_interp_fx, 2 * ALLPASSSECTIONS_STEEP ) ), 2 ), 0 ); + Scale_sig( HF_syn, L_SUBFR16k, s ); /* Q_syn+exp1+s */ + Scale_sig( hBWE_zero->mem_hp_interp_fx, 2 * ALLPASSSECTIONS_STEEP, s ); /* Qx + s */ + Interpolate_allpass_steep_fx( HF_syn, hBWE_zero->mem_hp_interp_fx, L_SUBFR16k, upsampled_HF_syn ); + Scale_sig( upsampled_HF_syn, 2 * L_SUBFR16k, -s ); /* Q_syn + exp1 */ + Scale_sig( hBWE_zero->mem_hp_interp_fx, 2 * ALLPASSSECTIONS_STEEP, -s ); /* Qx */ + Scale_sig( HF_syn, L_SUBFR16k, -s ); /* Q_syn+exp1 */ + } + ELSE /* 16kHz sampled output */ + { + Copy( HF_syn, upsampled_HF_syn, L_SUBFR16k ); /* Q_syn */ + } Vr_add( synth16k, upsampled_HF_syn, synth16k, output_subfr ); return; diff --git a/lib_dec/ivas_ism_dtx_dec_fx.c b/lib_dec/ivas_ism_dtx_dec_fx.c index 73ea5cd1f..d5943a90c 100644 --- a/lib_dec/ivas_ism_dtx_dec_fx.c +++ b/lib_dec/ivas_ism_dtx_dec_fx.c @@ -161,7 +161,7 @@ void ivas_ism_dtx_limit_noise_energy_for_near_silence_fx( ) { Word32 fac_fx, cng_noise_nrg_obj_fx, cng_noise_nrg_dominant_fx; - Word16 ch, cng_noise_level_len, Q_cng_noise_nrg_dominant, Q_fac; + Word16 ch, cng_noise_level_len, Q_cng_noise_nrg_dominant, exp; HANDLE_FD_CNG_COM hFdCngCom; hFdCngCom = hSCE[sce_id_dtx]->hCoreCoder[0]->hFdCngDec->hFdCngCom; cng_noise_level_len = sub( hFdCngCom->stopFFTbin, hFdCngCom->startBand ); @@ -193,10 +193,10 @@ void ivas_ism_dtx_limit_noise_energy_for_near_silence_fx( Q_temp = sub( Q_temp, 1 ); temp = L_shr( temp, 1 ); } - fac_fx = getSqrtWord32( temp ); /*Resultant Q=Q_temp/2*/ - Q_fac = shr( Q_temp, 1 ); + exp = sub( 31, Q_temp ); + fac_fx = Sqrt32( temp, &exp ); v_multc_fixed( hFdCngCom->cngNoiseLevel, fac_fx, hFdCngCom->cngNoiseLevel, cng_noise_level_len ); /*Resultant Q of cngNoiseLevel is Q_cngNoiseLevel for ch*/ - scale_sig32( hFdCngCom->cngNoiseLevel, cng_noise_level_len, negate( sub( 31, Q_fac ) ) ); /*Restoring Q of hFdCngCom->cngNoiseLevel to Q_cngNoiseLevel */ + scale_sig32( hFdCngCom->cngNoiseLevel, cng_noise_level_len, exp ); /*Restoring Q of hFdCngCom->cngNoiseLevel to Q_cngNoiseLevel */ } } } -- GitLab From 447118dcd8dad57143b0607fa6ea81e818eee165 Mon Sep 17 00:00:00 2001 From: Sandesh Venkatesh Date: Fri, 23 May 2025 17:42:32 +0530 Subject: [PATCH 10/11] Fix for EVS BE differences --- lib_dec/acelp_core_dec_fx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib_dec/acelp_core_dec_fx.c b/lib_dec/acelp_core_dec_fx.c index b627b3f47..fd0c8ce2d 100644 --- a/lib_dec/acelp_core_dec_fx.c +++ b/lib_dec/acelp_core_dec_fx.c @@ -2284,7 +2284,7 @@ ivas_error acelp_core_dec_fx( { IF( EQ_16( st->element_mode, EVS_MONO ) ) { - hf_synth_ivas_fx( st->hBWE_zero, st->core_brate, output_frame, Aq_fx, exc2_fx, psyn_fx, synth_fx16, st->Q_exc, st->Q_syn2 ); + hf_synth_fx( st->hBWE_zero, st->core_brate, output_frame, Aq_fx, exc2_fx, psyn_fx, synth_fx16, st->Q_exc, st->Q_syn2 ); } ELSE { -- GitLab From 73cf73e918b255999d4c863453905925523d25ad Mon Sep 17 00:00:00 2001 From: Sandesh Venkatesh Date: Tue, 27 May 2025 15:25:44 +0530 Subject: [PATCH 11/11] Fix for wrong q-updation for LEtot in analy_sp, ltv crash fix --- lib_com/swb_tbe_com_fx.c | 4 ++-- lib_enc/analy_sp_fx.c | 2 +- lib_enc/ivas_core_pre_proc_front_fx.c | 2 +- lib_enc/ivas_front_vad_fx.c | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib_com/swb_tbe_com_fx.c b/lib_com/swb_tbe_com_fx.c index 08bbd6362..96d07e7ef 100644 --- a/lib_com/swb_tbe_com_fx.c +++ b/lib_com/swb_tbe_com_fx.c @@ -5971,7 +5971,7 @@ void non_linearity_ivas_fx( } - IF( GT_16( max_val, shl( 1, Q_inp ) ) ) + IF( GT_16( max_val, shl_sat( 1, Q_inp ) ) ) { exp = norm_s( max_val ); tmp = div_s( shl( 1, sub( 14, exp ) ), max_val ); /* Q(29-exp-Q_inp) */ @@ -6045,7 +6045,7 @@ void non_linearity_ivas_fx( max_val = s_max( max_val, tmp ); } - IF( GT_16( max_val, shl( 1, Q_inp ) ) ) + IF( GT_16( max_val, shl_sat( 1, Q_inp ) ) ) { exp = norm_s( max_val ); tmp = div_s( shl( 1, sub( 14, exp ) ), max_val ); /* Q(29-exp-Q_inp) */ diff --git a/lib_enc/analy_sp_fx.c b/lib_enc/analy_sp_fx.c index dc59ec752..7062a3090 100644 --- a/lib_enc/analy_sp_fx.c +++ b/lib_enc/analy_sp_fx.c @@ -860,7 +860,7 @@ static void ivas_find_enr( * Find the total energy over the input bandwidth *-----------------------------------------------------------------*/ - etot = *LEtot; // *q_band + etot = *LEtot; // *q_band+1 move64(); FOR( i = min_band; i <= max_band; i++ ) { diff --git a/lib_enc/ivas_core_pre_proc_front_fx.c b/lib_enc/ivas_core_pre_proc_front_fx.c index f1e6b2193..be208296d 100644 --- a/lib_enc/ivas_core_pre_proc_front_fx.c +++ b/lib_enc/ivas_core_pre_proc_front_fx.c @@ -1453,7 +1453,7 @@ ivas_error pre_proc_front_ivas_fx( test(); IF( lr_vad_enabled && st->idchan == 0 ) { - ivas_long_enr_fx( st, -1, localVAD_HE_SAD, high_lpn_flag, hCPE->hFrontVad, CPE_CHANNELS, localVAD_HE_SAD_LR, Etot_LR_fx ); + ivas_long_enr_fx( st, -256 /*-1 q8*/, localVAD_HE_SAD, high_lpn_flag, hCPE->hFrontVad, CPE_CHANNELS, localVAD_HE_SAD_LR, Etot_LR_fx ); Copy32( fr_bands_LR_fx[0] + NB_BANDS, hCPE->hFrontVad[0]->hNoiseEst->enrO_fx, NB_BANDS ); // fr_bands_LR_fx_q hCPE->hFrontVad[0]->hNoiseEst->q_enrO = fr_bands_LR_fx_q[0]; diff --git a/lib_enc/ivas_front_vad_fx.c b/lib_enc/ivas_front_vad_fx.c index f2b3adece..a4baf6a00 100644 --- a/lib_enc/ivas_front_vad_fx.c +++ b/lib_enc/ivas_front_vad_fx.c @@ -758,7 +758,7 @@ ivas_error front_vad_spar_fx( ivas_smc_gmm_fx( st, NULL, localVAD_HE_SAD[0], Etot_fx_0, lsp_new_fx, cor_map_sum_fx, epsP_fx, PS_fx, non_sta_fx, relE_fx, &high_lpn_flag, flag_spitch, Qfact_PS, Q_esp, hSpMusClas->past_PS_Q ); /* long-term energy update */ - ivas_long_enr_fx( st, -1, localVAD_HE_SAD[0], high_lpn_flag, &hFrontVad, 1, localVAD_HE_SAD, Etot_fx ); + ivas_long_enr_fx( st, -256 /*-1 q8*/, localVAD_HE_SAD[0], high_lpn_flag, &hFrontVad, 1, localVAD_HE_SAD, Etot_fx ); /* increase ini_frame counter */ hFrontVad->ini_frame = s_min( add( hFrontVad->ini_frame, 1 ), MAX_FRAME_COUNTER ); /* Q0 */ -- GitLab