diff --git a/lib_com/options.h b/lib_com/options.h index 3536ef9cc62776750e94101eceb8d6540f8e88ac..793d8e74ec98a84c72b888e5a1898318e1c3646c 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -113,6 +113,8 @@ #define CR_2109_to_2112_cd0_ce0 /* This is related to the CRs include in the 26.444 package of 21-12. Concerns lead_deindexing and */ +#define FIX_ISSUE_723_INFO_TCX_NOISE /*FhG: Issue 723: fix for IGF that introduces wrong noise filling behavion*/ + /* ##################### End NON-BE switches ########################### */ /* ################## End DEVELOPMENT switches ######################### */ diff --git a/lib_dec/dec_tcx_fx.c b/lib_dec/dec_tcx_fx.c index acdba363cb93ced038341a801a070934ff048882..380fa67346d1cef4c24f1a12d02833a3f16535ef 100644 --- a/lib_dec/dec_tcx_fx.c +++ b/lib_dec/dec_tcx_fx.c @@ -4353,6 +4353,7 @@ void decoder_tcx_noisefilling_fx( } pInfoTCXNoise = NULL; +#ifndef FIX_ISSUE_723_INFO_TCX_NOISE Word16 tmp_infoTCXNoiseBuf[IGF_START_MX]; if ( st->igf ) { @@ -4363,14 +4364,28 @@ void decoder_tcx_noisefilling_fx( pInfoTCXNoise = tmp_infoTCXNoiseBuf; move16(); } +#else + if ( st->igf ) + { + pInfoTCXNoise = st->hIGFDec->infoTCXNoise_evs; + move16(); + } +#endif tcx_noise_filling_with_shift( x, x_e, nf_seed, firstLine, noiseFillingSize, noiseTransWidth, L_frame, noiseTiltFactor, fac_ns, pInfoTCXNoise, st->element_mode ); + +#ifndef FIX_ISSUE_723_INFO_TCX_NOISE if ( pInfoTCXNoise ) { for ( int j = 0; j < IGF_START_MX; j++ ) { +#ifndef FIX_ISSUE_723_INFO_TCX_NOISE st->hIGFDec->infoTCXNoise[j] = (UWord8) tmp_infoTCXNoiseBuf[j]; +#else + st->hIGFDec->infoTCXNoise_evs[j] = (UWord8) tmp_infoTCXNoiseBuf[j]; +#endif } } +#endif st->seed_tcx_plc = nf_seed; move16();