Commit ca389073 authored by vaillancour's avatar vaillancour
Browse files

Merge branch 'basop-2435-harmonize-writetnsdata_ivas_fx-writetnsdata_fx' into 'main'

Issue #2435 "Harmonize WriteTnsData*_fx(), EncodeTnsData*_fx()"

Closes #2435

See merge request !2827
parents 880e808b ae161f30
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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 ################################## */

+13 −0
Original line number Diff line number Diff line
@@ -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) */
@@ -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,
@@ -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) */
@@ -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          */
@@ -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,
+4 −0
Original line number Diff line number Diff line
@@ -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 ) )
+16 −1
Original line number Diff line number Diff line
@@ -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 */
        }

@@ -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 );
            }

@@ -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 )
                {
+20 −3
Original line number Diff line number Diff line
@@ -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