Loading lib_com/prot.h +1 −1 Original line number Diff line number Diff line Loading @@ -7718,7 +7718,7 @@ void tcx_noise_filling_flt( const int16_t L_frame, const float tiltCompFactor, float fac_ns, uint8_t *infoTCXNoise, Word16 *infoTCXNoise, const int16_t element_mode /* i : IVAS element mode */ ); Loading lib_com/tcx_utils.c +1 −1 Original line number Diff line number Diff line Loading @@ -840,7 +840,7 @@ void tcx_noise_filling_flt( const int16_t L_frame, const float tiltCompFactor, float fac_ns, uint8_t *infoTCXNoise, Word16 *infoTCXNoise, const int16_t element_mode /* i : IVAS element mode */ ) { Loading lib_dec/dec_tcx.c +1 −1 Original line number Diff line number Diff line Loading @@ -1178,7 +1178,7 @@ void decoder_tcx_noisefilling( nf_seed += (int16_t) ( abs( prm_sqQ[i] ) * i * 2 ); } } tcx_noise_filling_flt( x, nf_seed, firstLine, noiseFillingSize, noiseTransWidth, L_frame, noiseTiltFactor, fac_ns, st->igf ? st->hIGFDec->infoTCXNoise : NULL, st->element_mode ); tcx_noise_filling_flt( x, nf_seed, firstLine, noiseFillingSize, noiseTransWidth, L_frame, noiseTiltFactor, fac_ns, st->igf ? st->hIGFDec->infoTCXNoise_ptr : NULL, st->element_mode ); st->seed_tcx_plc = nf_seed; } Loading lib_dec/igf_dec.c +23 −23 Original line number Diff line number Diff line Loading @@ -58,7 +58,7 @@ #ifndef IVAS_FLOAT_FIXED static int16_t IGF_replaceTCXNoise_1_flr( const float *in, /* i : MDCT spectrum */ const uint8_t *TCXNoise, /* i : tcx noise indicator vector */ const int16_t *TCXNoise, /* i : tcx noise indicator vector */ const int16_t start, /* i : start MDCT subband index */ const int16_t stop, /* i : stop MDCT subband index */ float *totalNoiseNrg /* o : measured noise energy */ Loading Loading @@ -95,7 +95,7 @@ static int16_t IGF_replaceTCXNoise_1_flr( #ifndef IVAS_FLOAT_FIXED static void IGF_replaceTCXNoise_2_flt( float *in, /* i/o: MDCT spectrum */ const uint8_t *TCXNoise, /* i : tcx noise indicator vector */ const int16_t *TCXNoise, /* i : tcx noise indicator vector */ const int16_t start, /* i : start MDCT subband index */ const int16_t stop, /* i : stop MDCT subband index */ float totalNoiseNrg, /* i : measured noise energy */ Loading Loading @@ -141,7 +141,7 @@ static void IGF_replaceTCXNoise_2_flt( #ifndef IVAS_FLOAT_FIXED static void IGF_replaceTCXNoise_2_new_flt( float *in, /* i/o: MDCT spectrum */ const uint8_t *TCXNoise, /* i : tcx noise indicator vector */ const int16_t *TCXNoise, /* i : tcx noise indicator vector */ const int16_t start, /* i : start MDCT subband index */ const int16_t stop, /* i : stop MDCT subband index */ float totalNoiseNrg, /* i : measured noise energy */ Loading Loading @@ -326,7 +326,7 @@ static void IGF_setLinesToZero_flt( static void IGF_prep_flt( IGF_DEC_PRIVATE_DATA_HANDLE hPrivateData, /* i : IGF private data handle */ const int16_t igfGridIdx, /* i : in case of CELP->TCX switching, use 1.25 framelength */ const uint8_t *TCXNoise, /* i : TCX noise vector */ const int16_t *TCXNoise, /* i : TCX noise vector */ float *igf_spec, /* o : prepared IGF spectrum */ float *src_spec, /* i : source spectrum */ const int16_t element_mode /* i : IVAS element mode */ Loading Loading @@ -450,8 +450,8 @@ static void IGF_prepStereo_flt( IGF_DEC_PRIVATE_DATA_HANDLE hPrivateDataL, /* i : IGF private data handle */ IGF_DEC_PRIVATE_DATA_HANDLE hPrivateDataR, /* i : IGF private data handle */ const int16_t igfGridIdx, /* i : in case of CELP->TCX switching, use 1.25 framelength */ const uint8_t *TCXNoiseL, /* i : TCX noise vector */ const uint8_t *TCXNoiseR, /* i : TCX noise vector */ const int16_t *TCXNoiseL, /* i : TCX noise vector */ const int16_t *TCXNoiseR, /* i : TCX noise vector */ float *igf_specL, /* o : prepared IGF spectrum */ float *igf_specR, /* o : prepared IGF spectrum */ float *src_specL, /* i : source spectrum */ Loading Loading @@ -1214,7 +1214,7 @@ void IGFDecApplyMono_flt( mvr2r( hPrivateData->pSpecFlat_float, igf_spec, hGrid->startLine ); } hPrivateData->n_noise_bands = IGF_replaceTCXNoise_1_flr( igf_spec, hIGFDec->infoTCXNoise, hGrid->minSrcSubband, hGrid->startLine, &hPrivateData->totalNoiseNrg_float ); hPrivateData->n_noise_bands = IGF_replaceTCXNoise_1_flr( igf_spec, hIGFDec->infoTCXNoise_ptr, hGrid->minSrcSubband, hGrid->startLine, &hPrivateData->totalNoiseNrg_float ); break; } } Loading @@ -1223,13 +1223,13 @@ void IGFDecApplyMono_flt( { if ( hPrivateData->currWhiteningLevel[i] == IGF_WHITENING_OFF ) { hPrivateData->n_noise_bands_off = IGF_replaceTCXNoise_1_flr( hPrivateData->pSpecFlat_float, hIGFDec->infoTCXNoise, hGrid->minSrcSubband, hGrid->startLine, &hPrivateData->totalNoiseNrg_off_float ); hPrivateData->n_noise_bands_off = IGF_replaceTCXNoise_1_flr( hPrivateData->pSpecFlat_float, hIGFDec->infoTCXNoise_ptr, hGrid->minSrcSubband, hGrid->startLine, &hPrivateData->totalNoiseNrg_off_float ); break; } } /* apply IGF in three steps: */ IGF_prep_flt( hPrivateData, igfGridIdx, hIGFDec->infoTCXNoise, igf_spec, hPrivateData->pSpecFlat_float, element_mode ); IGF_prep_flt( hPrivateData, igfGridIdx, hIGFDec->infoTCXNoise_ptr, igf_spec, hPrivateData->pSpecFlat_float, element_mode ); IGF_calc_flt( hPrivateData, igfGridIdx, spectrum, igf_spec ); IGF_appl_flt( hPrivateData, igfGridIdx, spectrum, igf_spec, hIGFDec->virtualSpec_float, hIGFDec->flag_sparse, 1 ); } Loading @@ -1237,7 +1237,7 @@ void IGFDecApplyMono_flt( /* reset TCX noise indicator vector */ nLinesToReset = igfGridIdx == IGF_GRID_LB_SHORT ? 2 : 1; nLinesToReset = IGF_START_MX / nLinesToReset; set_c( (int8_t *) ( hIGFDec->infoTCXNoise ), 0, nLinesToReset ); set_s( (int16_t *) ( hIGFDec->infoTCXNoise_ptr ), 0, nLinesToReset ); return; } Loading Loading @@ -1327,7 +1327,7 @@ void IGFDecApplyStereo_flt( mvr2r( hPrivateDataL->pSpecFlat_float, igf_specL, hGrid->startLine ); } hPrivateDataL->n_noise_bands = IGF_replaceTCXNoise_1_flr( igf_specL, hIGFDecL->infoTCXNoise, hGrid->minSrcSubband, hGrid->startLine, &hPrivateDataL->totalNoiseNrg_float ); hPrivateDataL->n_noise_bands = IGF_replaceTCXNoise_1_flr( igf_specL, hIGFDecL->infoTCXNoise_ptr, hGrid->minSrcSubband, hGrid->startLine, &hPrivateDataL->totalNoiseNrg_float ); if ( !bfi ) { Loading @@ -1338,7 +1338,7 @@ void IGFDecApplyStereo_flt( mvr2r( hPrivateDataR->pSpecFlat_float, igf_specR, hGrid->startLine ); } hPrivateDataR->n_noise_bands = IGF_replaceTCXNoise_1_flr( igf_specR, hIGFDecR->infoTCXNoise, hGrid->minSrcSubband, hGrid->startLine, &hPrivateDataR->totalNoiseNrg_float ); hPrivateDataR->n_noise_bands = IGF_replaceTCXNoise_1_flr( igf_specR, hIGFDecR->infoTCXNoise_ptr, hGrid->minSrcSubband, hGrid->startLine, &hPrivateDataR->totalNoiseNrg_float ); break; } Loading @@ -1348,15 +1348,15 @@ void IGFDecApplyStereo_flt( { if ( hPrivateDataL->currWhiteningLevel[i] == IGF_WHITENING_OFF || hPrivateDataR->currWhiteningLevel[i] == IGF_WHITENING_OFF ) { hPrivateDataL->n_noise_bands_off = IGF_replaceTCXNoise_1_flr( hPrivateDataL->pSpecFlat_float, hIGFDecL->infoTCXNoise, hGrid->minSrcSubband, hGrid->startLine, &hPrivateDataL->totalNoiseNrg_off_float ); hPrivateDataL->n_noise_bands_off = IGF_replaceTCXNoise_1_flr( hPrivateDataL->pSpecFlat_float, hIGFDecL->infoTCXNoise_ptr, hGrid->minSrcSubband, hGrid->startLine, &hPrivateDataL->totalNoiseNrg_off_float ); hPrivateDataR->n_noise_bands_off = IGF_replaceTCXNoise_1_flr( hPrivateDataR->pSpecFlat_float, hIGFDecR->infoTCXNoise, hGrid->minSrcSubband, hGrid->startLine, &hPrivateDataR->totalNoiseNrg_off_float ); hPrivateDataR->n_noise_bands_off = IGF_replaceTCXNoise_1_flr( hPrivateDataR->pSpecFlat_float, hIGFDecR->infoTCXNoise_ptr, hGrid->minSrcSubband, hGrid->startLine, &hPrivateDataR->totalNoiseNrg_off_float ); break; } } /* apply IGF in three steps: */ IGF_prepStereo_flt( hPrivateDataL, hPrivateDataR, igfGridIdx, hIGFDecL->infoTCXNoise, hIGFDecR->infoTCXNoise, igf_specL, igf_specR, hPrivateDataL->pSpecFlat_float, hPrivateDataR->pSpecFlat_float, coreMsMask ); IGF_prepStereo_flt( hPrivateDataL, hPrivateDataR, igfGridIdx, hIGFDecL->infoTCXNoise_ptr, hIGFDecR->infoTCXNoise_ptr, igf_specL, igf_specR, hPrivateDataL->pSpecFlat_float, hPrivateDataR->pSpecFlat_float, coreMsMask ); IGF_calc_flt( hPrivateDataL, igfGridIdx, spectrumL, igf_specL ); IGF_calc_flt( hPrivateDataR, igfGridIdx, spectrumR, igf_specR ); Loading @@ -1367,8 +1367,8 @@ void IGFDecApplyStereo_flt( /* reset TCX noise indicator vector */ nLinesToReset = ( igfGridIdx == IGF_GRID_LB_SHORT ) ? 2 : 1; nLinesToReset = IGF_START_MX / nLinesToReset; set_c( (int8_t *) ( hIGFDecL->infoTCXNoise ), 0, nLinesToReset ); set_c( (int8_t *) ( hIGFDecR->infoTCXNoise ), 0, nLinesToReset ); set_s( (int16_t *) ( hIGFDecL->infoTCXNoise_ptr ), 0, nLinesToReset ); set_s( (int16_t *) ( hIGFDecR->infoTCXNoise_ptr ), 0, nLinesToReset ); return; } Loading Loading @@ -1426,7 +1426,7 @@ void IGFDecSetMode_flt( } hIGFDec->flag_sparse = &hIGFDec->flag_sparseBuf[0]; hIGFDec->infoTCXNoise = &hIGFDec->infoTCXNoiseBuf[0]; hIGFDec->infoTCXNoise_ptr = &hIGFDec->infoTCXNoise_evs[0]; hIGFDec->virtualSpec_float = &hIGFDec->virtualSpecBuf[0]; #ifdef IVAS_FLOAT_FIXED hIGFDec->virtualSpec_fx = &hIGFDec->virtualSpec[0]; Loading Loading @@ -1457,7 +1457,7 @@ void IGFDecUpdateInfo_flt( H_IGF_GRID hGrid; hIGFDec->flag_sparse = &hIGFDec->flag_sparseBuf[0]; hIGFDec->infoTCXNoise = &hIGFDec->infoTCXNoiseBuf[0]; hIGFDec->infoTCXNoise_ptr = &hIGFDec->infoTCXNoise_evs[0]; hIGFDec->virtualSpec_float = &hIGFDec->virtualSpecBuf[0]; hIGFDec->igfData.pSpecFlat_float = &hIGFDec->igfData.pSpecFlatBuf[0]; hIGFDec->igfData.igfInfo.nfSeed = &hIGFDec->igfData.igfInfo.nfSeedBuf[0]; Loading Loading @@ -1493,7 +1493,7 @@ void IGFDecReplicateTCX10State_flt( ) { mvs2s( &hIGFDec->flag_sparseBuf[( N_MAX_TCX - IGF_START_MN ) / 2], &hIGFDec->flag_sparseBuf[0], ( N_MAX_TCX - IGF_START_MN ) / 2 ); mvc2c( &hIGFDec->infoTCXNoiseBuf[( IGF_START_MX ) / 2], &hIGFDec->infoTCXNoiseBuf[0], ( IGF_START_MX ) / 2 ); mvs2s( &hIGFDec->infoTCXNoise_evs[( IGF_START_MX ) / 2], &hIGFDec->infoTCXNoise_evs[0], ( IGF_START_MX ) / 2 ); mvr2r( &hIGFDec->virtualSpecBuf[( N_MAX_TCX - IGF_START_MN ) / 2], &hIGFDec->virtualSpecBuf[0], ( N_MAX_TCX - IGF_START_MN ) / 2 ); mvr2r( &hIGFDec->igfData.pSpecFlatBuf[IGF_START_MX / 2], &hIGFDec->igfData.pSpecFlatBuf[0], IGF_START_MX / 2 ); #ifdef IVAS_FLOAT_FIXED Loading Loading @@ -1594,7 +1594,7 @@ void IGFDecRestoreTCX10SubFrameData_flt( /* restore flattening trigger for current subframe */ hIGFDec->flatteningTrigger = hPrivateData->igf_flatteningTrigger_subframe[subFrameIdx]; hIGFDec->flag_sparse = &hIGFDec->flag_sparseBuf[subFrameIdx * ( N_MAX_TCX - IGF_START_MN ) / 2]; hIGFDec->infoTCXNoise = &hIGFDec->infoTCXNoiseBuf[subFrameIdx * ( IGF_START_MX ) / 2]; hIGFDec->infoTCXNoise_ptr = &hIGFDec->infoTCXNoise_evs[subFrameIdx * ( IGF_START_MX ) / 2]; hIGFDec->virtualSpec_float = &hIGFDec->virtualSpecBuf[subFrameIdx * ( N_MAX_TCX - IGF_START_MN ) / 2]; hIGFDec->igfData.pSpecFlat_float = &hIGFDec->igfData.pSpecFlatBuf[subFrameIdx * IGF_START_MX / 2]; hIGFDec->igfData.igfInfo.nfSeed = &hIGFDec->igfData.igfInfo.nfSeedBuf[subFrameIdx]; Loading @@ -1612,14 +1612,14 @@ void init_igf_dec_flt( IGF_DEC_INSTANCE_HANDLE hIGFDec /* i/o: IGF decoder handle */ ) { set_c( (int8_t *) ( hIGFDec->infoTCXNoiseBuf ), 0, IGF_START_MX ); set_s( (int16_t *) ( hIGFDec->infoTCXNoise_evs ), 0, IGF_START_MX ); set_f( hIGFDec->igfData.pSpecFlatBuf, 0, IGF_START_MX ); hIGFDec->igfData.igfInfo.nfSeedBuf[0] = 9733; hIGFDec->igfData.igfInfo.nfSeedBuf[1] = 9733; hIGFDec->igfData.igfInfo.nfSeed = &hIGFDec->igfData.igfInfo.nfSeedBuf[0]; hIGFDec->igfData.pSpecFlat_float = &hIGFDec->igfData.pSpecFlatBuf[0]; hIGFDec->flag_sparse = &hIGFDec->flag_sparseBuf[0]; hIGFDec->infoTCXNoise = &hIGFDec->infoTCXNoiseBuf[0]; hIGFDec->infoTCXNoise_ptr = &hIGFDec->infoTCXNoise_evs[0]; hIGFDec->virtualSpec_float = &hIGFDec->virtualSpecBuf[0]; return; Loading lib_dec/igf_dec_fx.c +5 −14 Original line number Diff line number Diff line Loading @@ -3987,7 +3987,7 @@ void IGFDecSetMode_ivas_fx( } hIGFDec->flag_sparse = &hIGFDec->flag_sparseBuf[0]; hIGFDec->infoTCXNoise = &hIGFDec->infoTCXNoiseBuf[0]; hIGFDec->infoTCXNoise_ptr = &hIGFDec->infoTCXNoise_evs[0]; return; } /**********************************************************************/ /* Loading Loading @@ -4032,7 +4032,7 @@ void IGFDecUpdateInfo_ivas_fx( H_IGF_GRID hGrid; hIGFDec->flag_sparse = &hIGFDec->flag_sparseBuf[0]; hIGFDec->infoTCXNoise = &hIGFDec->infoTCXNoiseBuf[0]; hIGFDec->infoTCXNoise_ptr = &hIGFDec->infoTCXNoise_evs[0]; hIGFDec->virtualSpec_fx = &hIGFDec->virtualSpec[0]; hIGFDec->igfData.pSpecFlat = &hIGFDec->igfData.pSpecFlatBuf_fx[0]; Loading @@ -4057,15 +4057,6 @@ void IGFDecUpdateInfo_ivas_fx( hIGFDec->infoIGFStopLine = hGrid->stopLine; move16(); } /* TODO: this was added to keep the EVS 16-bit noise info in sync. */ FOR( Word16 l = 0; l < IGF_START_MX; l++ ) { // u8bit to 16bit hIGFDec->infoTCXNoise_evs[l] = (Word16) hIGFDec->infoTCXNoise[l]; move16(); } return; } Loading @@ -4074,7 +4065,7 @@ void IGFDecReplicateTCX10State_fx( ) { Copy( &hIGFDec->flag_sparseBuf[( N_MAX_TCX - IGF_START_MN ) / 2], &hIGFDec->flag_sparseBuf[0], ( N_MAX_TCX - IGF_START_MN ) / 2 ); mvc2c( &hIGFDec->infoTCXNoiseBuf[( IGF_START_MX ) / 2], &hIGFDec->infoTCXNoiseBuf[0], ( IGF_START_MX ) / 2 ); mvs2s( &hIGFDec->infoTCXNoise_evs[( IGF_START_MX ) / 2], &hIGFDec->infoTCXNoise_evs[0], ( IGF_START_MX ) / 2 ); /* TODO: remove float dependency */ // mvr2r( &hIGFDec->virtualSpecBuf[( N_MAX_TCX - IGF_START_MN ) / 2], &hIGFDec->virtualSpecBuf[0], ( N_MAX_TCX - IGF_START_MN ) / 2 ); Loading Loading @@ -4209,7 +4200,7 @@ void IGFDecRestoreTCX10SubFrameData_fx( /* restore flattening trigger for current subframe */ hIGFDec->flatteningTrigger = hPrivateData->igf_flatteningTrigger_subframe[subFrameIdx]; hIGFDec->flag_sparse = &hIGFDec->flag_sparseBuf[subFrameIdx * ( N_MAX_TCX - IGF_START_MN ) / 2]; hIGFDec->infoTCXNoise = &hIGFDec->infoTCXNoiseBuf[subFrameIdx * ( IGF_START_MX ) / 2]; hIGFDec->infoTCXNoise_ptr = &hIGFDec->infoTCXNoise_evs[subFrameIdx * ( IGF_START_MX ) / 2]; hIGFDec->virtualSpec_fx = &hIGFDec->virtualSpec[subFrameIdx * ( N_MAX_TCX - IGF_START_MN ) / 2]; hIGFDec->igfData.pSpecFlat = &hIGFDec->igfData.pSpecFlatBuf_fx[subFrameIdx * IGF_START_MX / 2]; Loading Loading @@ -4257,7 +4248,7 @@ void init_igf_dec( set32_fx( hIGFDec->igfData.pSpecFlatBuf_fx, 0, IGF_START_MX ); hIGFDec->igfData.pSpecFlat = &hIGFDec->igfData.pSpecFlatBuf_fx[0]; hIGFDec->flag_sparse = &hIGFDec->flag_sparseBuf[0]; hIGFDec->infoTCXNoise = &hIGFDec->infoTCXNoiseBuf[0]; hIGFDec->infoTCXNoise_ptr = &hIGFDec->infoTCXNoise_evs[0]; hIGFDec->virtualSpec_fx = &hIGFDec->virtualSpec[0]; return; Loading Loading
lib_com/prot.h +1 −1 Original line number Diff line number Diff line Loading @@ -7718,7 +7718,7 @@ void tcx_noise_filling_flt( const int16_t L_frame, const float tiltCompFactor, float fac_ns, uint8_t *infoTCXNoise, Word16 *infoTCXNoise, const int16_t element_mode /* i : IVAS element mode */ ); Loading
lib_com/tcx_utils.c +1 −1 Original line number Diff line number Diff line Loading @@ -840,7 +840,7 @@ void tcx_noise_filling_flt( const int16_t L_frame, const float tiltCompFactor, float fac_ns, uint8_t *infoTCXNoise, Word16 *infoTCXNoise, const int16_t element_mode /* i : IVAS element mode */ ) { Loading
lib_dec/dec_tcx.c +1 −1 Original line number Diff line number Diff line Loading @@ -1178,7 +1178,7 @@ void decoder_tcx_noisefilling( nf_seed += (int16_t) ( abs( prm_sqQ[i] ) * i * 2 ); } } tcx_noise_filling_flt( x, nf_seed, firstLine, noiseFillingSize, noiseTransWidth, L_frame, noiseTiltFactor, fac_ns, st->igf ? st->hIGFDec->infoTCXNoise : NULL, st->element_mode ); tcx_noise_filling_flt( x, nf_seed, firstLine, noiseFillingSize, noiseTransWidth, L_frame, noiseTiltFactor, fac_ns, st->igf ? st->hIGFDec->infoTCXNoise_ptr : NULL, st->element_mode ); st->seed_tcx_plc = nf_seed; } Loading
lib_dec/igf_dec.c +23 −23 Original line number Diff line number Diff line Loading @@ -58,7 +58,7 @@ #ifndef IVAS_FLOAT_FIXED static int16_t IGF_replaceTCXNoise_1_flr( const float *in, /* i : MDCT spectrum */ const uint8_t *TCXNoise, /* i : tcx noise indicator vector */ const int16_t *TCXNoise, /* i : tcx noise indicator vector */ const int16_t start, /* i : start MDCT subband index */ const int16_t stop, /* i : stop MDCT subband index */ float *totalNoiseNrg /* o : measured noise energy */ Loading Loading @@ -95,7 +95,7 @@ static int16_t IGF_replaceTCXNoise_1_flr( #ifndef IVAS_FLOAT_FIXED static void IGF_replaceTCXNoise_2_flt( float *in, /* i/o: MDCT spectrum */ const uint8_t *TCXNoise, /* i : tcx noise indicator vector */ const int16_t *TCXNoise, /* i : tcx noise indicator vector */ const int16_t start, /* i : start MDCT subband index */ const int16_t stop, /* i : stop MDCT subband index */ float totalNoiseNrg, /* i : measured noise energy */ Loading Loading @@ -141,7 +141,7 @@ static void IGF_replaceTCXNoise_2_flt( #ifndef IVAS_FLOAT_FIXED static void IGF_replaceTCXNoise_2_new_flt( float *in, /* i/o: MDCT spectrum */ const uint8_t *TCXNoise, /* i : tcx noise indicator vector */ const int16_t *TCXNoise, /* i : tcx noise indicator vector */ const int16_t start, /* i : start MDCT subband index */ const int16_t stop, /* i : stop MDCT subband index */ float totalNoiseNrg, /* i : measured noise energy */ Loading Loading @@ -326,7 +326,7 @@ static void IGF_setLinesToZero_flt( static void IGF_prep_flt( IGF_DEC_PRIVATE_DATA_HANDLE hPrivateData, /* i : IGF private data handle */ const int16_t igfGridIdx, /* i : in case of CELP->TCX switching, use 1.25 framelength */ const uint8_t *TCXNoise, /* i : TCX noise vector */ const int16_t *TCXNoise, /* i : TCX noise vector */ float *igf_spec, /* o : prepared IGF spectrum */ float *src_spec, /* i : source spectrum */ const int16_t element_mode /* i : IVAS element mode */ Loading Loading @@ -450,8 +450,8 @@ static void IGF_prepStereo_flt( IGF_DEC_PRIVATE_DATA_HANDLE hPrivateDataL, /* i : IGF private data handle */ IGF_DEC_PRIVATE_DATA_HANDLE hPrivateDataR, /* i : IGF private data handle */ const int16_t igfGridIdx, /* i : in case of CELP->TCX switching, use 1.25 framelength */ const uint8_t *TCXNoiseL, /* i : TCX noise vector */ const uint8_t *TCXNoiseR, /* i : TCX noise vector */ const int16_t *TCXNoiseL, /* i : TCX noise vector */ const int16_t *TCXNoiseR, /* i : TCX noise vector */ float *igf_specL, /* o : prepared IGF spectrum */ float *igf_specR, /* o : prepared IGF spectrum */ float *src_specL, /* i : source spectrum */ Loading Loading @@ -1214,7 +1214,7 @@ void IGFDecApplyMono_flt( mvr2r( hPrivateData->pSpecFlat_float, igf_spec, hGrid->startLine ); } hPrivateData->n_noise_bands = IGF_replaceTCXNoise_1_flr( igf_spec, hIGFDec->infoTCXNoise, hGrid->minSrcSubband, hGrid->startLine, &hPrivateData->totalNoiseNrg_float ); hPrivateData->n_noise_bands = IGF_replaceTCXNoise_1_flr( igf_spec, hIGFDec->infoTCXNoise_ptr, hGrid->minSrcSubband, hGrid->startLine, &hPrivateData->totalNoiseNrg_float ); break; } } Loading @@ -1223,13 +1223,13 @@ void IGFDecApplyMono_flt( { if ( hPrivateData->currWhiteningLevel[i] == IGF_WHITENING_OFF ) { hPrivateData->n_noise_bands_off = IGF_replaceTCXNoise_1_flr( hPrivateData->pSpecFlat_float, hIGFDec->infoTCXNoise, hGrid->minSrcSubband, hGrid->startLine, &hPrivateData->totalNoiseNrg_off_float ); hPrivateData->n_noise_bands_off = IGF_replaceTCXNoise_1_flr( hPrivateData->pSpecFlat_float, hIGFDec->infoTCXNoise_ptr, hGrid->minSrcSubband, hGrid->startLine, &hPrivateData->totalNoiseNrg_off_float ); break; } } /* apply IGF in three steps: */ IGF_prep_flt( hPrivateData, igfGridIdx, hIGFDec->infoTCXNoise, igf_spec, hPrivateData->pSpecFlat_float, element_mode ); IGF_prep_flt( hPrivateData, igfGridIdx, hIGFDec->infoTCXNoise_ptr, igf_spec, hPrivateData->pSpecFlat_float, element_mode ); IGF_calc_flt( hPrivateData, igfGridIdx, spectrum, igf_spec ); IGF_appl_flt( hPrivateData, igfGridIdx, spectrum, igf_spec, hIGFDec->virtualSpec_float, hIGFDec->flag_sparse, 1 ); } Loading @@ -1237,7 +1237,7 @@ void IGFDecApplyMono_flt( /* reset TCX noise indicator vector */ nLinesToReset = igfGridIdx == IGF_GRID_LB_SHORT ? 2 : 1; nLinesToReset = IGF_START_MX / nLinesToReset; set_c( (int8_t *) ( hIGFDec->infoTCXNoise ), 0, nLinesToReset ); set_s( (int16_t *) ( hIGFDec->infoTCXNoise_ptr ), 0, nLinesToReset ); return; } Loading Loading @@ -1327,7 +1327,7 @@ void IGFDecApplyStereo_flt( mvr2r( hPrivateDataL->pSpecFlat_float, igf_specL, hGrid->startLine ); } hPrivateDataL->n_noise_bands = IGF_replaceTCXNoise_1_flr( igf_specL, hIGFDecL->infoTCXNoise, hGrid->minSrcSubband, hGrid->startLine, &hPrivateDataL->totalNoiseNrg_float ); hPrivateDataL->n_noise_bands = IGF_replaceTCXNoise_1_flr( igf_specL, hIGFDecL->infoTCXNoise_ptr, hGrid->minSrcSubband, hGrid->startLine, &hPrivateDataL->totalNoiseNrg_float ); if ( !bfi ) { Loading @@ -1338,7 +1338,7 @@ void IGFDecApplyStereo_flt( mvr2r( hPrivateDataR->pSpecFlat_float, igf_specR, hGrid->startLine ); } hPrivateDataR->n_noise_bands = IGF_replaceTCXNoise_1_flr( igf_specR, hIGFDecR->infoTCXNoise, hGrid->minSrcSubband, hGrid->startLine, &hPrivateDataR->totalNoiseNrg_float ); hPrivateDataR->n_noise_bands = IGF_replaceTCXNoise_1_flr( igf_specR, hIGFDecR->infoTCXNoise_ptr, hGrid->minSrcSubband, hGrid->startLine, &hPrivateDataR->totalNoiseNrg_float ); break; } Loading @@ -1348,15 +1348,15 @@ void IGFDecApplyStereo_flt( { if ( hPrivateDataL->currWhiteningLevel[i] == IGF_WHITENING_OFF || hPrivateDataR->currWhiteningLevel[i] == IGF_WHITENING_OFF ) { hPrivateDataL->n_noise_bands_off = IGF_replaceTCXNoise_1_flr( hPrivateDataL->pSpecFlat_float, hIGFDecL->infoTCXNoise, hGrid->minSrcSubband, hGrid->startLine, &hPrivateDataL->totalNoiseNrg_off_float ); hPrivateDataL->n_noise_bands_off = IGF_replaceTCXNoise_1_flr( hPrivateDataL->pSpecFlat_float, hIGFDecL->infoTCXNoise_ptr, hGrid->minSrcSubband, hGrid->startLine, &hPrivateDataL->totalNoiseNrg_off_float ); hPrivateDataR->n_noise_bands_off = IGF_replaceTCXNoise_1_flr( hPrivateDataR->pSpecFlat_float, hIGFDecR->infoTCXNoise, hGrid->minSrcSubband, hGrid->startLine, &hPrivateDataR->totalNoiseNrg_off_float ); hPrivateDataR->n_noise_bands_off = IGF_replaceTCXNoise_1_flr( hPrivateDataR->pSpecFlat_float, hIGFDecR->infoTCXNoise_ptr, hGrid->minSrcSubband, hGrid->startLine, &hPrivateDataR->totalNoiseNrg_off_float ); break; } } /* apply IGF in three steps: */ IGF_prepStereo_flt( hPrivateDataL, hPrivateDataR, igfGridIdx, hIGFDecL->infoTCXNoise, hIGFDecR->infoTCXNoise, igf_specL, igf_specR, hPrivateDataL->pSpecFlat_float, hPrivateDataR->pSpecFlat_float, coreMsMask ); IGF_prepStereo_flt( hPrivateDataL, hPrivateDataR, igfGridIdx, hIGFDecL->infoTCXNoise_ptr, hIGFDecR->infoTCXNoise_ptr, igf_specL, igf_specR, hPrivateDataL->pSpecFlat_float, hPrivateDataR->pSpecFlat_float, coreMsMask ); IGF_calc_flt( hPrivateDataL, igfGridIdx, spectrumL, igf_specL ); IGF_calc_flt( hPrivateDataR, igfGridIdx, spectrumR, igf_specR ); Loading @@ -1367,8 +1367,8 @@ void IGFDecApplyStereo_flt( /* reset TCX noise indicator vector */ nLinesToReset = ( igfGridIdx == IGF_GRID_LB_SHORT ) ? 2 : 1; nLinesToReset = IGF_START_MX / nLinesToReset; set_c( (int8_t *) ( hIGFDecL->infoTCXNoise ), 0, nLinesToReset ); set_c( (int8_t *) ( hIGFDecR->infoTCXNoise ), 0, nLinesToReset ); set_s( (int16_t *) ( hIGFDecL->infoTCXNoise_ptr ), 0, nLinesToReset ); set_s( (int16_t *) ( hIGFDecR->infoTCXNoise_ptr ), 0, nLinesToReset ); return; } Loading Loading @@ -1426,7 +1426,7 @@ void IGFDecSetMode_flt( } hIGFDec->flag_sparse = &hIGFDec->flag_sparseBuf[0]; hIGFDec->infoTCXNoise = &hIGFDec->infoTCXNoiseBuf[0]; hIGFDec->infoTCXNoise_ptr = &hIGFDec->infoTCXNoise_evs[0]; hIGFDec->virtualSpec_float = &hIGFDec->virtualSpecBuf[0]; #ifdef IVAS_FLOAT_FIXED hIGFDec->virtualSpec_fx = &hIGFDec->virtualSpec[0]; Loading Loading @@ -1457,7 +1457,7 @@ void IGFDecUpdateInfo_flt( H_IGF_GRID hGrid; hIGFDec->flag_sparse = &hIGFDec->flag_sparseBuf[0]; hIGFDec->infoTCXNoise = &hIGFDec->infoTCXNoiseBuf[0]; hIGFDec->infoTCXNoise_ptr = &hIGFDec->infoTCXNoise_evs[0]; hIGFDec->virtualSpec_float = &hIGFDec->virtualSpecBuf[0]; hIGFDec->igfData.pSpecFlat_float = &hIGFDec->igfData.pSpecFlatBuf[0]; hIGFDec->igfData.igfInfo.nfSeed = &hIGFDec->igfData.igfInfo.nfSeedBuf[0]; Loading Loading @@ -1493,7 +1493,7 @@ void IGFDecReplicateTCX10State_flt( ) { mvs2s( &hIGFDec->flag_sparseBuf[( N_MAX_TCX - IGF_START_MN ) / 2], &hIGFDec->flag_sparseBuf[0], ( N_MAX_TCX - IGF_START_MN ) / 2 ); mvc2c( &hIGFDec->infoTCXNoiseBuf[( IGF_START_MX ) / 2], &hIGFDec->infoTCXNoiseBuf[0], ( IGF_START_MX ) / 2 ); mvs2s( &hIGFDec->infoTCXNoise_evs[( IGF_START_MX ) / 2], &hIGFDec->infoTCXNoise_evs[0], ( IGF_START_MX ) / 2 ); mvr2r( &hIGFDec->virtualSpecBuf[( N_MAX_TCX - IGF_START_MN ) / 2], &hIGFDec->virtualSpecBuf[0], ( N_MAX_TCX - IGF_START_MN ) / 2 ); mvr2r( &hIGFDec->igfData.pSpecFlatBuf[IGF_START_MX / 2], &hIGFDec->igfData.pSpecFlatBuf[0], IGF_START_MX / 2 ); #ifdef IVAS_FLOAT_FIXED Loading Loading @@ -1594,7 +1594,7 @@ void IGFDecRestoreTCX10SubFrameData_flt( /* restore flattening trigger for current subframe */ hIGFDec->flatteningTrigger = hPrivateData->igf_flatteningTrigger_subframe[subFrameIdx]; hIGFDec->flag_sparse = &hIGFDec->flag_sparseBuf[subFrameIdx * ( N_MAX_TCX - IGF_START_MN ) / 2]; hIGFDec->infoTCXNoise = &hIGFDec->infoTCXNoiseBuf[subFrameIdx * ( IGF_START_MX ) / 2]; hIGFDec->infoTCXNoise_ptr = &hIGFDec->infoTCXNoise_evs[subFrameIdx * ( IGF_START_MX ) / 2]; hIGFDec->virtualSpec_float = &hIGFDec->virtualSpecBuf[subFrameIdx * ( N_MAX_TCX - IGF_START_MN ) / 2]; hIGFDec->igfData.pSpecFlat_float = &hIGFDec->igfData.pSpecFlatBuf[subFrameIdx * IGF_START_MX / 2]; hIGFDec->igfData.igfInfo.nfSeed = &hIGFDec->igfData.igfInfo.nfSeedBuf[subFrameIdx]; Loading @@ -1612,14 +1612,14 @@ void init_igf_dec_flt( IGF_DEC_INSTANCE_HANDLE hIGFDec /* i/o: IGF decoder handle */ ) { set_c( (int8_t *) ( hIGFDec->infoTCXNoiseBuf ), 0, IGF_START_MX ); set_s( (int16_t *) ( hIGFDec->infoTCXNoise_evs ), 0, IGF_START_MX ); set_f( hIGFDec->igfData.pSpecFlatBuf, 0, IGF_START_MX ); hIGFDec->igfData.igfInfo.nfSeedBuf[0] = 9733; hIGFDec->igfData.igfInfo.nfSeedBuf[1] = 9733; hIGFDec->igfData.igfInfo.nfSeed = &hIGFDec->igfData.igfInfo.nfSeedBuf[0]; hIGFDec->igfData.pSpecFlat_float = &hIGFDec->igfData.pSpecFlatBuf[0]; hIGFDec->flag_sparse = &hIGFDec->flag_sparseBuf[0]; hIGFDec->infoTCXNoise = &hIGFDec->infoTCXNoiseBuf[0]; hIGFDec->infoTCXNoise_ptr = &hIGFDec->infoTCXNoise_evs[0]; hIGFDec->virtualSpec_float = &hIGFDec->virtualSpecBuf[0]; return; Loading
lib_dec/igf_dec_fx.c +5 −14 Original line number Diff line number Diff line Loading @@ -3987,7 +3987,7 @@ void IGFDecSetMode_ivas_fx( } hIGFDec->flag_sparse = &hIGFDec->flag_sparseBuf[0]; hIGFDec->infoTCXNoise = &hIGFDec->infoTCXNoiseBuf[0]; hIGFDec->infoTCXNoise_ptr = &hIGFDec->infoTCXNoise_evs[0]; return; } /**********************************************************************/ /* Loading Loading @@ -4032,7 +4032,7 @@ void IGFDecUpdateInfo_ivas_fx( H_IGF_GRID hGrid; hIGFDec->flag_sparse = &hIGFDec->flag_sparseBuf[0]; hIGFDec->infoTCXNoise = &hIGFDec->infoTCXNoiseBuf[0]; hIGFDec->infoTCXNoise_ptr = &hIGFDec->infoTCXNoise_evs[0]; hIGFDec->virtualSpec_fx = &hIGFDec->virtualSpec[0]; hIGFDec->igfData.pSpecFlat = &hIGFDec->igfData.pSpecFlatBuf_fx[0]; Loading @@ -4057,15 +4057,6 @@ void IGFDecUpdateInfo_ivas_fx( hIGFDec->infoIGFStopLine = hGrid->stopLine; move16(); } /* TODO: this was added to keep the EVS 16-bit noise info in sync. */ FOR( Word16 l = 0; l < IGF_START_MX; l++ ) { // u8bit to 16bit hIGFDec->infoTCXNoise_evs[l] = (Word16) hIGFDec->infoTCXNoise[l]; move16(); } return; } Loading @@ -4074,7 +4065,7 @@ void IGFDecReplicateTCX10State_fx( ) { Copy( &hIGFDec->flag_sparseBuf[( N_MAX_TCX - IGF_START_MN ) / 2], &hIGFDec->flag_sparseBuf[0], ( N_MAX_TCX - IGF_START_MN ) / 2 ); mvc2c( &hIGFDec->infoTCXNoiseBuf[( IGF_START_MX ) / 2], &hIGFDec->infoTCXNoiseBuf[0], ( IGF_START_MX ) / 2 ); mvs2s( &hIGFDec->infoTCXNoise_evs[( IGF_START_MX ) / 2], &hIGFDec->infoTCXNoise_evs[0], ( IGF_START_MX ) / 2 ); /* TODO: remove float dependency */ // mvr2r( &hIGFDec->virtualSpecBuf[( N_MAX_TCX - IGF_START_MN ) / 2], &hIGFDec->virtualSpecBuf[0], ( N_MAX_TCX - IGF_START_MN ) / 2 ); Loading Loading @@ -4209,7 +4200,7 @@ void IGFDecRestoreTCX10SubFrameData_fx( /* restore flattening trigger for current subframe */ hIGFDec->flatteningTrigger = hPrivateData->igf_flatteningTrigger_subframe[subFrameIdx]; hIGFDec->flag_sparse = &hIGFDec->flag_sparseBuf[subFrameIdx * ( N_MAX_TCX - IGF_START_MN ) / 2]; hIGFDec->infoTCXNoise = &hIGFDec->infoTCXNoiseBuf[subFrameIdx * ( IGF_START_MX ) / 2]; hIGFDec->infoTCXNoise_ptr = &hIGFDec->infoTCXNoise_evs[subFrameIdx * ( IGF_START_MX ) / 2]; hIGFDec->virtualSpec_fx = &hIGFDec->virtualSpec[subFrameIdx * ( N_MAX_TCX - IGF_START_MN ) / 2]; hIGFDec->igfData.pSpecFlat = &hIGFDec->igfData.pSpecFlatBuf_fx[subFrameIdx * IGF_START_MX / 2]; Loading Loading @@ -4257,7 +4248,7 @@ void init_igf_dec( set32_fx( hIGFDec->igfData.pSpecFlatBuf_fx, 0, IGF_START_MX ); hIGFDec->igfData.pSpecFlat = &hIGFDec->igfData.pSpecFlatBuf_fx[0]; hIGFDec->flag_sparse = &hIGFDec->flag_sparseBuf[0]; hIGFDec->infoTCXNoise = &hIGFDec->infoTCXNoiseBuf[0]; hIGFDec->infoTCXNoise_ptr = &hIGFDec->infoTCXNoise_evs[0]; hIGFDec->virtualSpec_fx = &hIGFDec->virtualSpec[0]; return; Loading