Commit e8e5ef05 authored by multrus's avatar multrus
Browse files

Merge branch 'main' into basop-2618-residual-plc-attenuation-ignores-q_fac-sqrt32-exponent

parents a0ce80ed 5440e481
Loading
Loading
Loading
Loading
Loading
+2 −164
Original line number Diff line number Diff line
@@ -825,11 +825,7 @@ Word16 getTcxLpcShapedAri(
 * Initialization of TCX
 *-----------------------------------------------------------------------*/

#ifdef HARMONIZE_2567_init_functions
void init_tcx_cfg_fx(
#else
void init_tcx_cfg_ivas_fx(
#endif
    TCX_CONFIG_HANDLE hTcxCfg,
    const Word32 total_brate,     /*Q0*/
    const Word32 sr_core,         /*Q0*/
@@ -845,12 +841,8 @@ void init_tcx_cfg_ivas_fx(
    const Word16 infoIGFStopFreq, /*Q0*/
    const Word16 element_mode,    /*Q0*/
    const Word16 ini_frame,       /*Q0*/
#ifdef HARMONIZE_2567_init_functions
    const Word16 MCT_flag,        /*Q0*/
    const Word16 fscaleFB /*Q0*/ )
#else
    const Word16 MCT_flag /*Q0*/ )
#endif
{
    Word16 i;
    Word16 mdctWindowLength;
@@ -868,11 +860,7 @@ void init_tcx_cfg_ivas_fx(
    hTcxCfg->tcx_mdct_window_length_old = hTcxCfg->tcx_mdct_window_length; /*Q0*/
    move16();
    mdctWindowLength = getMdctWindowLength_fx( fscale );            /*Q0*/
#ifdef HARMONIZE_2567_init_functions
    mdctWindowLengthFB = getMdctWindowLength_fx( fscaleFB ); /*Q0*/ /* this replaces (int16_t) ( mdctWindowLength * input_Fs / sr_core ) as used in float */
#else
    mdctWindowLengthFB = (Word16) ( mdctWindowLength * input_Fs / sr_core );
#endif

    init_tcx_window_cfg_fx( hTcxCfg, sr_core, input_Fs, L_frame, L_frameTCX, mdctWindowLength, mdctWindowLengthFB, element_mode );
    /* SQ deadzone & memory quantization*/
@@ -1092,153 +1080,3 @@ void init_tcx_window_cfg_fx(

    return;
}

#ifndef HARMONIZE_2567_init_functions
void init_tcx_cfg_fx(
    TCX_CONFIG_HANDLE hTcxCfg,
    const Word32 total_brate,     /*Q0*/
    const Word32 sr_core,         /*Q0*/
    const Word32 input_Fs,        /*Q0*/
    const Word16 L_frame,         /*Q0*/
    const Word16 bwidth,          /*Q0*/
    const Word16 L_frameTCX,      /*Q0*/
    const Word16 fscale,          /*Q0*/
    const Word16 preemph_fac,     /*Q15*/
    const Word16 tcxonly,         /*Q0*/
    const Word16 rf_mode,         /*Q0*/
    const Word16 igf,             /*Q0*/
    const Word16 infoIGFStopFreq, /*Q0*/
    const Word16 element_mode,    /*Q0*/
    const Word16 ini_frame,       /*Q0*/
    const Word16 MCT_flag,        /*Q0*/
    const Word16 fscaleFB /*Q0*/ )
{
    Word16 i;
    Word16 mdctWindowLength;
    Word16 mdctWindowLengthFB;
    Word16 na_scale_bwidth;

    hTcxCfg->preemph_fac = preemph_fac;
    move16();

    hTcxCfg->tcx5Size = shr( L_frame, 2 );      /* Always 5 ms Q0*/
    hTcxCfg->tcx5SizeFB = shr( L_frameTCX, 2 ); /* Always 5 ms Q0*/
    move16();
    move16();

    hTcxCfg->tcx_mdct_window_length_old = hTcxCfg->tcx_mdct_window_length; /*Q0*/
    move16();
    mdctWindowLength = getMdctWindowLength_fx( fscale );     /*Q0*/
    mdctWindowLengthFB = getMdctWindowLength_fx( fscaleFB ); /*Q0*/
    init_tcx_window_cfg_fx( hTcxCfg, sr_core, input_Fs, L_frame, L_frameTCX, mdctWindowLength, mdctWindowLengthFB, element_mode );
    /* SQ deadzone & memory quantization*/
    hTcxCfg->sq_rounding = 12288 /*0.375f Q15*/; /*deadzone of 1.25->rounding=1-1.25/2 (No deadzone=0.5)*/
    move16();

    /* TCX rate loop */
    hTcxCfg->tcxRateLoopOpt = 0;
    move16();

    if ( tcxonly != 0 )
    {
        hTcxCfg->tcxRateLoopOpt = 2;
        move16();
    }
    if ( EQ_16( element_mode, IVAS_CPE_MDCT ) )
    {
        hTcxCfg->tcxRateLoopOpt = 3;
        move16();
    }
    hTcxCfg->bandwidth = getTcxBandwidth( bwidth ); /*Q15*/
    move16();

    /* set number of coded lines */
    hTcxCfg->tcx_coded_lines = getNumTcxCodedLines( bwidth ); /*Q0*/
    move16();

    /* TNS in TCX */
    hTcxCfg->pCurrentTnsConfig = NULL;
    hTcxCfg->fIsTNSAllowed = getTnsAllowed( total_brate, igf, element_mode ); /*Q0*/
    move16();

    IF( hTcxCfg->fIsTNSAllowed )
    {
        InitTnsConfigs_fx( bwidth, hTcxCfg->tcx_coded_lines, hTcxCfg->tnsConfig, infoIGFStopFreq, total_brate, element_mode, MCT_flag );

        SetAllowTnsOnWhite( hTcxCfg->tnsConfig, (Word8) EQ_16( element_mode, IVAS_CPE_MDCT ) );
    }

    IF( ini_frame == 0 )
    {
        hTcxCfg->tcx_curr_overlap_mode = hTcxCfg->tcx_last_overlap_mode = ALDO_WINDOW;
        hTcxCfg->last_aldo = 1;
        move16();
        move16();
        move16();
    }

    /* Context HM*/
    hTcxCfg->ctx_hm = getCtxHm( element_mode, total_brate, rf_mode ); /*Q0*/
    move16();

    /* Residual Coding*/
    hTcxCfg->resq = getResq( total_brate ); /*Q0*/
    move16();
    test();
    if ( hTcxCfg->resq && !tcxonly )
    {
        hTcxCfg->tcxRateLoopOpt = 1;
        move16();
    }

    /*Set bandwidth scale*/
    IF( EQ_16( bwidth, NB ) )
    {
        na_scale_bwidth = NB;
    }
    ELSE IF( LE_32( sr_core, INT_FS_16k ) )
    {
        na_scale_bwidth = WB;
    }
    ELSE
    {
        na_scale_bwidth = SWB;
    }
    move16();
    hTcxCfg->na_scale = 32767 /*1.0f Q15*/;
    move16();

    test();
    IF( LT_16( na_scale_bwidth, SWB ) && !tcxonly )
    {
        FOR( i = 0; i < SIZE_SCALE_TABLE_TCX; i++ )
        {
            test();
            test();
            IF( ( EQ_16( na_scale_bwidth, scaleTcxTable[i].bwmode ) ) &&
                ( GE_32( total_brate, scaleTcxTable[i].bitrateFrom ) ) &&
                ( LT_32( total_brate, scaleTcxTable[i].bitrateTo ) ) )
            {
                if ( rf_mode )
                {
                    i = sub( i, 1 );
                }
                hTcxCfg->na_scale = scaleTcxTable[i].scale; /*Q15*/
                move16();
                BREAK;
            }
        }
    }

    IF( tcxonly )
    {
        InitPsychLPC_fx( sr_core, L_frame, hTcxCfg );
    }
    ELSE
    {
        hTcxCfg->psychParamsCurrent = NULL;
    }

    return;
}
#endif
+0 −12
Original line number Diff line number Diff line
@@ -86,16 +86,6 @@
#define FIX_1990_SANITIZER_IN_REVERB_LOAD               /* Nokia: Fix issue part of issue 1990 by introducing missing free of structure - keep until #2059 is addressed */
#define TMP_1342_WORKAROUND_DEC_FLUSH_BROKEN_IN_SR      /* FhG: Temporary workaround for incorrect implementation of decoder flush with split rendering */
#define NONBE_1122_KEEP_EVS_MODE_UNCHANGED              /* FhG: Disables fix for issue 1122 in EVS mode to keep BE tests green. This switch should be removed once the 1122 fix is added to EVS via a CR.  */
#define HARMONIZE_2595_reconfig_decoder_LPD             /* FhG: Harmonize reconfig_decoder_LPD with its ivas derivate */
#define HARMONIZE_2596_SetModeIndex                     /* FhG: Harmonize SetModeIndex with its ivas derivate */
#define HARMONIZE_2597_ShapeSpectrum                    /* FhG: Harmonize ShapeSpectrum with its ivas derivate */
#define HARMONIZE_2567_init_functions                   /* FhG: harmonize derivates for evs/ivas regarding functions init_acelp*(),init_tcx_cfg*(), init_tcx*(), init_coder_ace_plus*(), init_core_sig_ana*() and init_modes*() */
#define HARMONIZE_2607_GetFilterParameters              /* FhG: Harmonize GetFilterParameters with its ivas derivate */
#define HAMRONIZE_2606_ENC_PRM                          /* FhG: Harmonize enc_prm_fx(), to match floating-point code */
#define HARMONIZE_2604_decoder_tcx_post                 /* FhG: Harmonize decoder_tcx_post with its ivas derivate */
#define HARMONIZE_2598_tcx_arith_decode_envelope        /* FhG: harmonize tcx_arith_decode_envelope between EVS and IVAS versions */
#define HARMONIZE_2598_tcx_arith_encode_envelope        /* FhG: harmonize tcx_arith_encode_envelope between EVS and IVAS versions */
#define FIX_ISSUE_2594_FALSE_COMMENT                    /* FhG: basop issue 2594: fixing false comments about Q value*/
#define FIX_ISSUE_2616_BOUNDARY_CONDITION               /* FhG: basop issue 2616: Inconsistent boundary conditions in function stereo_dft_dequantize_res_gains*/
#define FIX_ISSUE_2613_WRONG_COMP_MACRO                 /* FhG: basop issue 2613: Inconsistent comparison macros in function tdm_SCh_LSF_intra_pred_fx*/
#define FIX_ISSUE_2611_WRONG_COMMENT                    /* FhG: basop issue 2611: Wrong Q value comment in fucntion stereo_dft_sg_recovery_fx()*/
@@ -107,8 +97,6 @@
/* any switch which is non-be wrt. TS 26.251 V3.0 */

#define FIX_1576_LCLD_CRASH_DIFFERENT_CODEC_ISAR_FRAME_SIZE  /* Dolby: float issue 1576: fix for crash in LCLD mode when codec frame size is less than isar frame size */
#define FIX_BASOP_2599_TCA_OVERFLOW                     /* VA: issue 2599, Fix TCA overflow */
#define FIX_2588_MISSING_CONDITIONS                     /* VA: Proposed fix to 2588, addition of a condition in lsf_dec */
#define FIX_BASOP_2442_MASA2TC_TO_MONO_AND_AMBI         /* Nokia: BASOP issue 2442: Increase accuracy of computations and add additional gain clamp for low energy decorrelated signal rendering. */
#define FIX_FMSW_DEC_EXT                                /* float issue 1566: fix EXT output in format switching */
#define FIX_ISSUE_2618_PLC_RES_ATT_SCALING              /* FhG: BASOP #2618: residual PLC burst attenuation, apply divide/Sqrt32 exponent so fac tracks exponent correctly */
+3 −124
Original line number Diff line number Diff line
@@ -3794,14 +3794,6 @@ void tcx_get_gain(
    Word16 *en_y_e  /* o: energy of y exponent (optional) */
);

#ifndef HARMONIZE_2567_init_functions
void init_TCX_config(
    TCX_CONFIG_HANDLE hTcxCfg,
    Word16 L_frame,
    Word16 fscale,
    Word16 L_frameTCX,
    Word16 fscaleFB );
#endif

void resetTecDec_Fx(
    TEC_DEC_HANDLE hTecDec );
@@ -5723,26 +5715,6 @@ void init_tcx_window_cfg_fx(
    const Word16 element_mode        /* i  : mode of CPE/SCE          */
);

#ifndef HARMONIZE_2567_init_functions
void init_tcx_cfg_fx(
    TCX_CONFIG_HANDLE hTcxCfg,
    const Word32 total_brate,
    const Word32 sr_core,
    const Word32 input_Fs,
    const Word16 L_frame,
    const Word16 bwidth,
    const Word16 L_frameTCX,
    const Word16 fscale,
    const Word16 preemph_fac, /*Q15*/
    const Word16 tcxonly,
    const Word16 rf_mode,
    const Word16 igf,
    const Word16 infoIGFStopFreq,
    const Word16 element_mode,
    const Word16 ini_frame,
    const Word16 MCT_flag /* i  : hMCT handle allocated (1) or not (0)  */,
    const Word16 fscaleFB );
#endif

void syn_output_fx(
    const Word16 codec_mode,   /* i  : MODE1 or MODE2                       */
@@ -7821,21 +7793,8 @@ Word16 RCcontextMapping_decode2_no_mem_s17_LCS_fx(
    CONTEXT_HM_CONFIG *hm_cfg /* i  : context-based harmonic model configuration*/
);

#ifndef HARMONIZE_2595_reconfig_decoder_LPD
void reconfig_decoder_LPD_fx(
    Decoder_State *st,  /* i/o: decoder state structure    */
    Word16 bits_frame,  /* i  : bit budget               Q0*/
    Word16 bwidth,      /* i  : audio bandwidth          Q0*/
    Word32 total_brate, /* i  : total bitrate            Q0*/
    Word16 L_frame_old  /* i  : frame length             Q0*/
);
#endif

#ifdef HARMONIZE_2595_reconfig_decoder_LPD
void reconfig_decoder_LPD_fx(
#else
void reconfig_decoder_LPD_ivas_fx(
#endif
    Decoder_State *st,        /* i/o: decoder state structure     */
    const Word16 bits_frame,  /* i  : bit budget               Q0*/
    const Word16 bwidth,      /* i  : audio bandwidth          Q0*/
@@ -7996,34 +7955,6 @@ void decoder_tcx_ivas_fx(
    const Word16 frame_cnt,
    const Word16 sba_dirac_stereo_flag );

#ifndef HARMONIZE_2604_decoder_tcx_post
void decoder_tcx_post_fx(
    Decoder_State *st_fx,
    Word16 *synth,
    Word16 *synthFB,
    Word16 *A,
    Word16 bfi );
#endif

#ifndef HARMONIZE_2598_tcx_arith_decode_envelope
void tcx_arith_decode_envelope_fx(
    Word32 q_spectrum[],  /* o: quantised MDCT coefficients     Q31-e */
    Word16 *q_spectrum_e, /* o: MDCT exponent                   Q0 */
    Word16 L_frame,       /* i: frame or MDCT length          */
    Word16 L_frame_orig,  /* i: length w/o BW limitation      */
    Decoder_State *st,
    const Word16 A_ind[],   /* i: quantised LPC coefficients    */
    Word16 target_bits,     /* i: number of available bits      */
    Word16 prm[],           /* i: bitstream parameters          */
    Word8 use_hm,           /* i: use HM in current frame?      */
    Word16 prm_hm[],        /* i: HM parameter area             */
    Word16 tcxltp_pitch,    /* i: TCX LTP pitch in FD, -1 if n/a*/
    Word16 *arith_bits,     /* o: bits used for ari. coding     */
    Word16 *signaling_bits, /* o: bits used for signaling       */
    Word16 *nf_seed,        /* o: noise filling seed              Q0 */
    Word16 low_complexity   /* i: low-complexity flag           Q0 */
);
#endif

void tcx_decoder_memory_update(
    Word16 *xn_buf,    /* i/o: mdct output buffer used also as temporary buffer  : Q0 */
@@ -8429,7 +8360,6 @@ UWord32 mvl2s_r(
    const Word16 n /* i  : vector size   */
);

#ifdef HARMONIZE_2604_decoder_tcx_post
void decoder_tcx_post_fx( Decoder_State *st_fx,
                          Word16 *synth,   // Q_syn
                          Word16 *synthFB, // Q_syn
@@ -8437,15 +8367,6 @@ void decoder_tcx_post_fx( Decoder_State *st_fx,
                          Word16 *A, // Q: 14 - norm_s(A[0])
                          Word16 bfi,
                          Word16 MCT_flag );
#else
void decoder_tcx_post_ivas_fx( Decoder_State *st_fx,
                               Word16 *synth,   // Q_syn
                               Word16 *synthFB, // Q_syn
                               Word16 Q_syn,
                               Word16 *A, // Q: 14 - norm_s(A[0])
                               Word16 bfi,
                               Word16 MCT_flag );
#endif

void con_tcx_fx(
    Decoder_State *st,      /* i/o: coder memory state          */
@@ -9538,20 +9459,12 @@ void writeTCXparam_fx(
    const Word16 target_bitsTCX10[2],
    const Word16 pre_past_flag );

#ifdef HARMONIZE_2567_init_functions
void init_coder_ace_plus_fx(
    Encoder_State *st,             /* i  : Encoder state                          */
    const Word32 last_total_brate, /* i  : last total bitrate                     */
    const Word32 igf_brate,        /* i  : IGF configuration bitrate           */
    const Word16 shift,
    const Word16 MCT_flag /* i  : hMCT handle allocated (1) or not (0)   */
#else
void init_coder_ace_plus_ivas_fx(
    Encoder_State *st,             /* i  : Encoder state                          */
    const Word32 last_total_brate, /* i  : last total bitrate                     */
    const Word32 igf_brate,        /* i  : IGF configuration bitrate           */
    const Word16 MCT_flag          /* i  : hMCT handle allocated (1) or not (0)   */
#endif
);

void core_coder_reconfig_ivas_fx(
@@ -9565,26 +9478,14 @@ void core_coder_mode_switch_ivas_fx(
);


#ifdef HARMONIZE_2596_SetModeIndex
void SetModeIndex_fx(
#else
void SetModeIndex_ivas_fx(
#endif
    Encoder_State *st,              /* i  : Encoder state                          */
    const Word32 last_total_brate,  /* i  : last total bitrate                     Q0*/
    const Word16 last_element_mode, /* i  : last IVAS element mode                 Q0*/
    const Word16 MCT_flag           /* i  : hMCT handle allocated (1) or not (0)   Q0*/
#ifdef HARMONIZE_2596_SetModeIndex
    ,
    const Word16 shift
#endif
);
    const Word16 MCT_flag,          /* i  : hMCT handle allocated (1) or not (0)   Q0*/
    const Word16 shift );

#ifdef HARMONIZE_2567_init_functions
void init_tcx_cfg_fx(
#else
void init_tcx_cfg_ivas_fx(
#endif
    TCX_CONFIG_HANDLE hTcxCfg,
    const Word32 total_brate,     /*Q0*/
    const Word32 sr_core,         /*Q0*/
@@ -9600,12 +9501,8 @@ void init_tcx_cfg_ivas_fx(
    const Word16 infoIGFStopFreq, /*Q0*/
    const Word16 element_mode,    /*Q0*/
    const Word16 ini_frame,       /*Q0*/
#ifdef HARMONIZE_2567_init_functions
    const Word16 MCT_flag,        /*Q0*/
    const Word16 fscaleFB /*Q0*/ );
#else
    const Word16 MCT_flag /*Q0*/ );
#endif

Word16 msvq_stage1_dct_search_fx(
    const Word32 *u_fx,                       /* i  : target                                        exp : u_e */
@@ -9999,7 +9896,6 @@ void tcx_arith_render_envelope_ivas_fx(
    Word32 env[]              /* o  : shaped signal envelope                     Q16*/
);

#ifdef HARMONIZE_2598_tcx_arith_decode_envelope
void tcx_arith_decode_envelope_fx(
    Decoder_State *st,
    /* i/o: coder state                   */ /*EVS: move argument 5->1 */
@@ -10017,23 +9913,6 @@ void tcx_arith_decode_envelope_fx(
    Word16 *signaling_bits,                  /* o  : bits used for signaling       */
    Word16 *nf_seed,                         /* o  : noise filling seed         Q0 */
    const Word16 low_complexity              /* i  : low-complexity flag           */
#else
void tcx_arith_decode_envelope_ivas_fx(
    Decoder_State *st,          /* i/o: coder state                   */
    Word32 q_spectrum[],        /* o  : quantised MDCT coefficients Q(31-q_spectrum_e)  */
    Word16 *q_spectrum_e,       /* o  : MDCT exponent                 */
    const Word16 L_frame,       /* i  : frame or MDCT length          */
    Word16 L_spec,              /* i  : length w/o BW limitation      */
    const Word16 A_ind[],       /* i  : quantised LPC coefficients    */
    const Word16 target_bits,   /* i  : number of available bits      */
    Word16 prm[],               /* i  : bitstream parameters          */
    const Word16 use_hm,        /* i  : use HM in current frame?      */
    Word16 prm_hm[],            /* i  : HM parameter area             */
    Word16 tcxltp_pitch,        /* i  : TCX LTP pitch in FD, -1 if n/a*/
    Word16 *arith_bits,         /* o  : bits used for ari. coding     */
    Word16 *signaling_bits,     /* o  : bits used for signaling       */
    const Word16 low_complexity /* i  : low-complexity flag           */
#endif
);

void UnmapIndex_fx(
+0 −54
Original line number Diff line number Diff line
@@ -2155,57 +2155,3 @@ void tcx_get_gain(

    return;
}


#ifndef HARMONIZE_2567_init_functions
void init_TCX_config(
    TCX_CONFIG_HANDLE hTcxCfg,
    Word16 L_frame,    /*Q0*/
    Word16 fscale,     /*Q0*/
    Word16 L_frameTCX, /*Q0*/
    Word16 fscaleFB /*Q0*/ )
{
    /* Initialize the TCX MDCT windows */
    hTcxCfg->tcx_mdct_window_length = extract_l( L_shr( L_mult0( L_LOOK_12k8, fscale ), LD_FSCALE_DENOM ) ); /*Q0*/
    move16();
    hTcxCfg->tcx_mdct_window_delay = hTcxCfg->tcx_mdct_window_length; /*Q0*/
    move16();

    hTcxCfg->tcx_mdct_window_half_length = extract_l( L_shr( L_mult0( L_LOOK_12k8 - NS2SA( 12800, 5000000L ), fscale ), LD_FSCALE_DENOM ) );
    move16();
    hTcxCfg->tcx_mdct_window_min_length = shr( L_frame, 4 ); /* 1.25ms Q0*/
    move16();
    hTcxCfg->tcx_mdct_window_trans_length = shr( L_frame, 4 ); /* 1.25ms Q0*/
    move16();
    hTcxCfg->tcx5Size = shr( L_frame, 2 ); /* 5ms Q0*/
    move16();
    hTcxCfg->tcx_mdct_window_lengthFB = extract_l( L_shr( L_mult0( L_LOOK_12k8, fscaleFB ), LD_FSCALE_DENOM ) ); /*Q0*/
    move16();
    hTcxCfg->tcx_mdct_window_delayFB = hTcxCfg->tcx_mdct_window_lengthFB; /*Q0*/
    move16();

    hTcxCfg->tcx_mdct_window_half_lengthFB = extract_l( L_shr( L_mult0( L_LOOK_12k8 - NS2SA( 12800, 5000000L ), fscaleFB ), LD_FSCALE_DENOM ) ); /*Q0*/
    move16();
    hTcxCfg->tcx_mdct_window_min_lengthFB = shr( L_frameTCX, 4 ); /* 1.25ms Q0*/
    move16();
    hTcxCfg->tcx_mdct_window_trans_lengthFB = shr( L_frameTCX, 4 ); /* 1.25ms Q0*/
    move16();
    hTcxCfg->tcx5SizeFB = shr( L_frameTCX, 2 ); /* 5ms Q0*/
    move16();
    mdct_window_sine( hTcxCfg->tcx_mdct_window, hTcxCfg->tcx_mdct_window_length );
    mdct_window_sine( hTcxCfg->tcx_mdct_window_half, hTcxCfg->tcx_mdct_window_half_length );
    mdct_window_sine( hTcxCfg->tcx_mdct_window_minimum, hTcxCfg->tcx_mdct_window_min_length );
    mdct_window_sine( hTcxCfg->tcx_mdct_window_trans, hTcxCfg->tcx_mdct_window_trans_length );

    mdct_window_sine( hTcxCfg->tcx_mdct_windowFB, hTcxCfg->tcx_mdct_window_lengthFB );
    mdct_window_sine( hTcxCfg->tcx_mdct_window_halfFB, hTcxCfg->tcx_mdct_window_half_lengthFB );
    mdct_window_sine( hTcxCfg->tcx_mdct_window_minimumFB, hTcxCfg->tcx_mdct_window_min_lengthFB );
    mdct_window_sine( hTcxCfg->tcx_mdct_window_transFB, hTcxCfg->tcx_mdct_window_trans_lengthFB );

    /*ALDO windows for MODE2*/
    mdct_window_aldo( hTcxCfg->tcx_aldo_window_1, hTcxCfg->tcx_aldo_window_1_trunc, hTcxCfg->tcx_aldo_window_2, L_frame );
    mdct_window_aldo( hTcxCfg->tcx_aldo_window_1_FB, hTcxCfg->tcx_aldo_window_1_FB_trunc, hTcxCfg->tcx_aldo_window_2_FB, L_frameTCX );

    return;
}
#endif
+23 −28
Original line number Diff line number Diff line
@@ -408,8 +408,7 @@ static void GetF0(
    Word32 /*int*/ const pitchLag,   /*i   -  Q16*/
    Word16 /*short*/ *const pOrigF0, /*o   -  Q10*/
    Word32 *const pOrigF0_32,        /*o   -  Q10+16*/
    Word16 /*short*/ *const pF0      /*o   -  Q10*/
    ,
    Word16 /*short*/ *const pF0,     /*o   -  Q10*/
    Word32 *const pF0_32,            /*o   -  Q10+16*/
    const Word16 element_mode        /*i EVS_MONO or anything else */
)
@@ -587,8 +586,7 @@ static void findStrongestHarmonics(
static void CorrectF0(
    const Word16 /*short*/ *pHarmonicIndexes, /*I    - Q0  */
    const Word16 /*short*/ nHarmonics,        /*I    - Q0  */
    Word16 /*short*/ *pF0                     /*I/O  - Q10 range: {0}, [4..18) */
    ,
    Word16 /*short*/ *pF0,                    /*I/O  - Q10 range: {0}, [4..18) */
    Word32 /*long*/ *pF0_32,                  /*I/O  - Q10+16 range: {0}, [4..18), NULL for EVS_MONO */
    const Word16 element_mode                 /*I  EVS_MONO or anything else */
)
@@ -802,8 +800,7 @@ static void modifyThreshold(
    Word32 F0_32,                              /*I   - Q26*/
    Word16 /*short*/ threshold,                /*I   - Q10*/
    Word32 threshold_32,                       /*I   - Q26*/
    Word16 * /*short*/ thresholdModification /*I   - Q10*/
    ,
    Word16 * /*short*/ thresholdModification,  /*I   - Q10*/
    Word32 * /*long*/ thresholdModification32, /*I   - Q26*/
    const Word16 element_mode                  /*I/O - Q10*/
)
@@ -851,8 +848,7 @@ static void modifyThresholds(
    Word32 F0_32,                              /*I   - Q26*/
    Word16 /*short*/ origF0,                   /*I   - Q10*/
    Word32 origF0_32,                          /*I   - Q26*/
    Word16 * /*short*/ thresholdModification /*Q10*/
    ,
    Word16 * /*short*/ thresholdModification,  /*Q10*/
    Word32 * /*long*/ thresholdModification32, /*Q26*/
    const Word16 element_mode                  /*I EVS_MONO or anything else */
)
@@ -1269,8 +1265,7 @@ static void RefineThresholdsUsingPitch_fx(
    const Word32 currentPitchLag,    /*Qx*/
    Word16 *pF0,                     /*Q10*/
    Word32 *pF0_32,                  /*Q10+Q16, NULL in EVS_MONO mode */
    Word16 *thresholdModification /*Q10*/
    ,
    Word16 *thresholdModification,   /*Q10*/
    Word32 *thresholdModification32, /*Q10+Q16, NULL in EVS_MONO mode */
    const Word16 element_mode        /*Q0 EVS_MONO or anything else */
)
Loading