Loading lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -98,6 +98,7 @@ #define FIX_2385_GETTCXONLY /* FhG: issue 2385 : harmonizing getTcxonly_ivas_fx() and getTcxonly_ivas_fx() functions */ #define FIX_2196_UNREACHABLE_CODE_IN_OSBA_STEREO_OUTPUT /* FhG: remove unreachable code in ivas_osba_stereo_add_channels */ #define FIX_OUTPUT_FRAME /* VA: harmonize "output_frame" parameter usage to correspond to FLP */ #define HARMONIZE_ISSUE_2435_WRITETNSDATA /* FhG basop 2435: Harmonize WriteTnsData*_fx(), EncodeTnsData*_fx() */ /* #################### End BE switches ################################## */ Loading lib_com/prot_fx.h +13 −0 Original line number Diff line number Diff line Loading @@ -8188,6 +8188,7 @@ void GetParameters_fx( Word16 *pnBits // Q0 ); #ifndef HARMONIZE_ISSUE_2435_WRITETNSDATA void EncodeTnsData_ivas_fx( STnsConfig const *pTnsConfig, /* i : TNS Configuration struct */ STnsData const *pTnsData, /* i : TNS data struct (quantized param) */ Loading @@ -8195,6 +8196,15 @@ void EncodeTnsData_ivas_fx( Word16 *pnSize, /* o : number of written parameters Q0*/ Word16 *pnBits /* o : number of written bits Q0*/ ); #else void EncodeTnsData_ivas_fx( STnsConfig const *pTnsConfig, /* i : TNS Configuration struct */ STnsData const *pTnsData, /* i : TNS data struct (quantized param) */ Word16 *stream, /* o : internal data stream Q0 */ Word16 *pnSize, /* o : number of written parameters Q0 */ Word16 *pnBits /* o : number of written bits Q0 */ ); #endif void SetParameters( ParamsBitMap const *paramsBitMap, Loading Loading @@ -10808,6 +10818,7 @@ void ResetTnsData_flt( void ClearTnsFilterCoefficients_flt( STnsFilter *pTnsFilter ); #ifndef HARMONIZE_ISSUE_2435_WRITETNSDATA void EncodeTnsData( STnsConfig const *pTnsConfig, /* i : TNS Configuration struct */ STnsData const *pTnsData, /* i : TNS data struct (quantized param) */ Loading @@ -10815,6 +10826,7 @@ void EncodeTnsData( Word16 *pnSize, /* o : number of written parameters */ Word16 *pnBits /* o : number of written bits */ ); #endif void WriteTnsData( const STnsConfig *pTnsConfig, /* i : TNS Configuration struct */ Loading @@ -10823,6 +10835,7 @@ void WriteTnsData( BSTR_ENC_HANDLE hBstr, /* o : bitstream */ Word16 *pnBits /* o : number of written bits */ ); #ifndef HARMONIZE_READ_DECODE_TNS void ReadTnsData_ivas( STnsConfig const *pTnsConfig, Loading lib_enc/cod_tcx_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -5506,7 +5506,11 @@ void TNSAnalysisStereo_fx( st->hTcxEnc->tnsData[k].tnsOnWhitenedSpectra = st->hTcxEnc->bTnsOnWhithenedSpectra[k]; move16(); #ifdef HARMONIZE_ISSUE_2435_WRITETNSDATA EncodeTnsData_fx( st->hTcxCfg->pCurrentTnsConfig, &st->hTcxEnc->tnsData[k], param_core[ch] + k * NPRM_DIV + 1 + NOISE_FILL_RANGES + LTPSIZE, tnsSize[ch] + k, tnsBits[ch] + k ); #else EncodeTnsData_ivas_fx( st->hTcxCfg->pCurrentTnsConfig, &st->hTcxEnc->tnsData[k], param_core[ch] + k * NPRM_DIV + 1 + NOISE_FILL_RANGES + LTPSIZE, tnsSize[ch] + k, tnsBits[ch] + k ); #endif } IF( EQ_16( st->hTcxEnc->transform_type[k], TCX_5 ) ) Loading lib_enc/enc_prm_fx.c +16 −1 Original line number Diff line number Diff line Loading @@ -749,7 +749,13 @@ void enc_prm_fx( IF( st->hTcxCfg->fIsTNSAllowed ) { #ifndef HARMONIZE_ISSUE_2435_WRITETNSDATA WriteTnsData_fx( st->hTcxCfg->pCurrentTnsConfig, prm + j, &nTnsParams, st, &nTnsBits ); #else WriteTnsData_fx( st->hTcxCfg->pCurrentTnsConfig, prm + j, &nTnsParams, st->hBstr, &nTnsBits ); #endif // !HARMONIZE_ISSUE_2435_WRITETNSDATA j = add( j, nTnsParams ); /* Q0 */ } Loading Loading @@ -899,8 +905,13 @@ void enc_prm_fx( { SetTnsConfig( st->hTcxCfg, 0, ( last_core == ACELP_CORE ) && ( k == 0 ) ); #ifndef HARMONIZE_ISSUE_2435_WRITETNSDATA WriteTnsData_fx( st->hTcxCfg->pCurrentTnsConfig, prm + j, &nTnsParams, st, &nTnsBits ); #else WriteTnsData_fx( st->hTcxCfg->pCurrentTnsConfig, prm + j, &nTnsParams, st->hBstr, &nTnsBits ); #endif // !HARMONIZE_ISSUE_2435_WRITETNSDATA j = add( j, nTnsParams ); } Loading Loading @@ -1208,7 +1219,11 @@ void writeTCXparam_fx( } ELSE { #ifndef HARMONIZE_ISSUE_2435_WRITETNSDATA WriteTnsData_ivas_fx( st->hTcxCfg->pCurrentTnsConfig, prm + j, &nTnsParams, hBstr, &nTnsBits ); #else WriteTnsData_fx( st->hTcxCfg->pCurrentTnsConfig, prm + j, &nTnsParams, hBstr, &nTnsBits ); #endif // !HARMONIZE_ISSUE_2435_WRITETNSDATA } IF( no_param_tns ) { Loading lib_enc/prot_fx_enc.h +20 −3 Original line number Diff line number Diff line Loading @@ -1486,28 +1486,45 @@ Word16 DetectTnsFilt_ivas_fx( Word16 *predictionGain /* o : TNS prediction gain Q=7 */ ); #ifdef HARMONIZE_ISSUE_2435_WRITETNSDATA void EncodeTnsData_fx( STnsConfig const *pTnsConfig, STnsData const *pTnsData, Word16 *stream, Word16 *pnSize, Word16 *pnBits ); #else Word16 EncodeTnsData_fx( STnsConfig const *pTnsConfig, STnsData const *pTnsData, Word16 *stream, Word16 *pnSize, Word16 *pnBits ); #endif #ifdef HARMONIZE_ISSUE_2435_WRITETNSDATA Word16 WriteTnsData_fx( STnsConfig const *pTnsConfig, Word16 const *stream, Word16 *pnSize, Encoder_State *st, BSTR_ENC_HANDLE hBstr, Word16 *pnBits ); #endif // HARMONIZE_ISSUE_2435_WRITETNSDATA #ifndef HARMONIZE_ISSUE_2435_WRITETNSDATA Word16 WriteTnsData_fx( STnsConfig const *pTnsConfig, Word16 const *stream, Word16 *pnSize, Encoder_State *st, Word16 *pnBits ); Word16 WriteTnsData_ivas_fx( STnsConfig const *pTnsConfig, Word16 const *stream, Word16 *pnSize, BSTR_ENC_HANDLE hBstr, Word16 *pnBits ); #endif // !HARMONIZE_ISSUE_2435_WRITETNSDATA void subband_FFT_fx( Word32 **Sr, /*(i) real part of the CLDFB*/ Word32 **Si, /*(i) imag part of the CLDFB*/ Loading Loading
lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -98,6 +98,7 @@ #define FIX_2385_GETTCXONLY /* FhG: issue 2385 : harmonizing getTcxonly_ivas_fx() and getTcxonly_ivas_fx() functions */ #define FIX_2196_UNREACHABLE_CODE_IN_OSBA_STEREO_OUTPUT /* FhG: remove unreachable code in ivas_osba_stereo_add_channels */ #define FIX_OUTPUT_FRAME /* VA: harmonize "output_frame" parameter usage to correspond to FLP */ #define HARMONIZE_ISSUE_2435_WRITETNSDATA /* FhG basop 2435: Harmonize WriteTnsData*_fx(), EncodeTnsData*_fx() */ /* #################### End BE switches ################################## */ Loading
lib_com/prot_fx.h +13 −0 Original line number Diff line number Diff line Loading @@ -8188,6 +8188,7 @@ void GetParameters_fx( Word16 *pnBits // Q0 ); #ifndef HARMONIZE_ISSUE_2435_WRITETNSDATA void EncodeTnsData_ivas_fx( STnsConfig const *pTnsConfig, /* i : TNS Configuration struct */ STnsData const *pTnsData, /* i : TNS data struct (quantized param) */ Loading @@ -8195,6 +8196,15 @@ void EncodeTnsData_ivas_fx( Word16 *pnSize, /* o : number of written parameters Q0*/ Word16 *pnBits /* o : number of written bits Q0*/ ); #else void EncodeTnsData_ivas_fx( STnsConfig const *pTnsConfig, /* i : TNS Configuration struct */ STnsData const *pTnsData, /* i : TNS data struct (quantized param) */ Word16 *stream, /* o : internal data stream Q0 */ Word16 *pnSize, /* o : number of written parameters Q0 */ Word16 *pnBits /* o : number of written bits Q0 */ ); #endif void SetParameters( ParamsBitMap const *paramsBitMap, Loading Loading @@ -10808,6 +10818,7 @@ void ResetTnsData_flt( void ClearTnsFilterCoefficients_flt( STnsFilter *pTnsFilter ); #ifndef HARMONIZE_ISSUE_2435_WRITETNSDATA void EncodeTnsData( STnsConfig const *pTnsConfig, /* i : TNS Configuration struct */ STnsData const *pTnsData, /* i : TNS data struct (quantized param) */ Loading @@ -10815,6 +10826,7 @@ void EncodeTnsData( Word16 *pnSize, /* o : number of written parameters */ Word16 *pnBits /* o : number of written bits */ ); #endif void WriteTnsData( const STnsConfig *pTnsConfig, /* i : TNS Configuration struct */ Loading @@ -10823,6 +10835,7 @@ void WriteTnsData( BSTR_ENC_HANDLE hBstr, /* o : bitstream */ Word16 *pnBits /* o : number of written bits */ ); #ifndef HARMONIZE_READ_DECODE_TNS void ReadTnsData_ivas( STnsConfig const *pTnsConfig, Loading
lib_enc/cod_tcx_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -5506,7 +5506,11 @@ void TNSAnalysisStereo_fx( st->hTcxEnc->tnsData[k].tnsOnWhitenedSpectra = st->hTcxEnc->bTnsOnWhithenedSpectra[k]; move16(); #ifdef HARMONIZE_ISSUE_2435_WRITETNSDATA EncodeTnsData_fx( st->hTcxCfg->pCurrentTnsConfig, &st->hTcxEnc->tnsData[k], param_core[ch] + k * NPRM_DIV + 1 + NOISE_FILL_RANGES + LTPSIZE, tnsSize[ch] + k, tnsBits[ch] + k ); #else EncodeTnsData_ivas_fx( st->hTcxCfg->pCurrentTnsConfig, &st->hTcxEnc->tnsData[k], param_core[ch] + k * NPRM_DIV + 1 + NOISE_FILL_RANGES + LTPSIZE, tnsSize[ch] + k, tnsBits[ch] + k ); #endif } IF( EQ_16( st->hTcxEnc->transform_type[k], TCX_5 ) ) Loading
lib_enc/enc_prm_fx.c +16 −1 Original line number Diff line number Diff line Loading @@ -749,7 +749,13 @@ void enc_prm_fx( IF( st->hTcxCfg->fIsTNSAllowed ) { #ifndef HARMONIZE_ISSUE_2435_WRITETNSDATA WriteTnsData_fx( st->hTcxCfg->pCurrentTnsConfig, prm + j, &nTnsParams, st, &nTnsBits ); #else WriteTnsData_fx( st->hTcxCfg->pCurrentTnsConfig, prm + j, &nTnsParams, st->hBstr, &nTnsBits ); #endif // !HARMONIZE_ISSUE_2435_WRITETNSDATA j = add( j, nTnsParams ); /* Q0 */ } Loading Loading @@ -899,8 +905,13 @@ void enc_prm_fx( { SetTnsConfig( st->hTcxCfg, 0, ( last_core == ACELP_CORE ) && ( k == 0 ) ); #ifndef HARMONIZE_ISSUE_2435_WRITETNSDATA WriteTnsData_fx( st->hTcxCfg->pCurrentTnsConfig, prm + j, &nTnsParams, st, &nTnsBits ); #else WriteTnsData_fx( st->hTcxCfg->pCurrentTnsConfig, prm + j, &nTnsParams, st->hBstr, &nTnsBits ); #endif // !HARMONIZE_ISSUE_2435_WRITETNSDATA j = add( j, nTnsParams ); } Loading Loading @@ -1208,7 +1219,11 @@ void writeTCXparam_fx( } ELSE { #ifndef HARMONIZE_ISSUE_2435_WRITETNSDATA WriteTnsData_ivas_fx( st->hTcxCfg->pCurrentTnsConfig, prm + j, &nTnsParams, hBstr, &nTnsBits ); #else WriteTnsData_fx( st->hTcxCfg->pCurrentTnsConfig, prm + j, &nTnsParams, hBstr, &nTnsBits ); #endif // !HARMONIZE_ISSUE_2435_WRITETNSDATA } IF( no_param_tns ) { Loading
lib_enc/prot_fx_enc.h +20 −3 Original line number Diff line number Diff line Loading @@ -1486,28 +1486,45 @@ Word16 DetectTnsFilt_ivas_fx( Word16 *predictionGain /* o : TNS prediction gain Q=7 */ ); #ifdef HARMONIZE_ISSUE_2435_WRITETNSDATA void EncodeTnsData_fx( STnsConfig const *pTnsConfig, STnsData const *pTnsData, Word16 *stream, Word16 *pnSize, Word16 *pnBits ); #else Word16 EncodeTnsData_fx( STnsConfig const *pTnsConfig, STnsData const *pTnsData, Word16 *stream, Word16 *pnSize, Word16 *pnBits ); #endif #ifdef HARMONIZE_ISSUE_2435_WRITETNSDATA Word16 WriteTnsData_fx( STnsConfig const *pTnsConfig, Word16 const *stream, Word16 *pnSize, Encoder_State *st, BSTR_ENC_HANDLE hBstr, Word16 *pnBits ); #endif // HARMONIZE_ISSUE_2435_WRITETNSDATA #ifndef HARMONIZE_ISSUE_2435_WRITETNSDATA Word16 WriteTnsData_fx( STnsConfig const *pTnsConfig, Word16 const *stream, Word16 *pnSize, Encoder_State *st, Word16 *pnBits ); Word16 WriteTnsData_ivas_fx( STnsConfig const *pTnsConfig, Word16 const *stream, Word16 *pnSize, BSTR_ENC_HANDLE hBstr, Word16 *pnBits ); #endif // !HARMONIZE_ISSUE_2435_WRITETNSDATA void subband_FFT_fx( Word32 **Sr, /*(i) real part of the CLDFB*/ Word32 **Si, /*(i) imag part of the CLDFB*/ Loading