Commit 5c45d51c authored by Manuel Jander's avatar Manuel Jander
Browse files

Add macro FIX_1348_BIT_PRECISION_IMPROVEMENT_QWIN to make q_win value variable...

Add macro FIX_1348_BIT_PRECISION_IMPROVEMENT_QWIN to make q_win value variable for the ivas_mdct_core_reconstruct_fx() data path, but not decoder_tcx_ivas_fx() for now.
parent aecbdde8
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -1582,7 +1582,11 @@ void decoder_tcx_imdct_fx(
    Word32 x_fx[N_MAX],
    Word16 q_x,
    Word16 xn_buf_fx[],
#ifdef FIX_1348_BIT_PRECISION_IMPROVEMENT_QWIN
    Word16 *q_win,
#else
    Word16 q_win,
#endif
    const UWord16 kernelType, /* i  : TCX transform kernel type               */
    const Word16 fUseTns,     /* i  : flag that is set if TNS data is present */
    Word16 synth_fx[],        /* i/o: synth[-M..L_frame]                      */
+1 −0
Original line number Diff line number Diff line
@@ -100,6 +100,7 @@
#define REMOVE_EVS_DUPLICATES                   /* remove core-coder duplicated functions, ACELP low-band decoder */

#define FIX_1348_BIT_PRECISION_IMPROVEMENT
#define FIX_1348_BIT_PRECISION_IMPROVEMENT_QWIN
#define FIX_1348_BIT_PRECISION_IMPROVEMENT_DYNAMIC_QOLD
//#define FIX_1348_BIT_PRECISION_IMPROVEMENT_ROUND_OLD_BUFF
#endif
+12 −1
Original line number Diff line number Diff line
@@ -9886,8 +9886,15 @@ void IMDCT_fx( Word32 *x, Word16 x_e, Word16 *old_syn_overl, Word16 *syn_Overl_T
void IMDCT_ivas_fx(
    Word32 *x_fx,
    Word16 q_x,
#ifdef FIX_1348_BIT_PRECISION_IMPROVEMENT_QWIN
    Word16 *old_syn_overl_fx,
    Word16 *Q_old_syn_overl_fx,
    Word16 *syn_Overl_TDAC_fx,
    Word16 *Q_syn_Overl_TDAC_fx,
#else
    Word16 *old_syn_overl_fx,
    Word16 *syn_Overl_TDAC_fx,
#endif
    Word16 *xn_buf_fx,
    const Word16 *tcx_aldo_window_1_fx,
    const PWord16 *tcx_aldo_window_1_trunc_fx,
@@ -9916,7 +9923,11 @@ void IMDCT_ivas_fx(
    Decoder_State *st,
    const Word16 fullbandScale,
    Word16 *acelp_zir_fx,
#ifdef FIX_1348_BIT_PRECISION_IMPROVEMENT_QWIN
    Word16 *q_win);
#else
    Word16 q_win );
#endif
void v_mult16_fixed(
    const Word16 x1[], /* i  : Input vector 1                                   */
@@ -10022,7 +10033,7 @@ void ivas_mdct_core_reconstruct_fx(
    /* o  : synthesis @output_FS                */ // e_sig
    Word16 fUseTns[CPE_CHANNELS][NB_DIV],          /* i  : flage TNS enabled                   */
    const Word16 MCT_flag,                         /* i  : hMCT handle allocated (1) or not (0)*/
#ifdef FIX_1348_BIT_PRECISION_IMPROVEMENT
#if defined( FIX_1348_BIT_PRECISION_IMPROVEMENT ) && !defined( FIX_1348_BIT_PRECISION_IMPROVEMENT_QWIN )
    const Word16 isParamMC,
#endif
    Word16 q_x,
+541 −4

File changed.

Preview size limit exceeded, changes collapsed.

+6 −2
Original line number Diff line number Diff line
@@ -1057,10 +1057,10 @@ void con_acelp_fx(
        move16();
    }
    set16_fx( &hHQ_core->old_out_LB_fx[( W1 + n )], 0, n );

#ifndef FIX_1348_BIT_PRECISION_IMPROVEMENT
    hHQ_core->Q_old_wtda = hHQ_core->Q_old_wtda_LB;
    move16();

#endif

    FOR( i = 0; i < W2; i++ )
    {
@@ -1105,6 +1105,10 @@ void con_acelp_fx(
    move16();
    lerp( hTcxDec->syn_Overl, hTcxDec->syn_OverlFB, shr( hTcxDec->L_frameTCX, 1 ), shr( st->L_frame, 1 ) );
    lerp( hHQ_core->old_out_LB_fx, hHQ_core->old_out_fx, hTcxDec->L_frameTCX, st->L_frame );
#ifdef FIX_1348_BIT_PRECISION_IMPROVEMENT
    hHQ_core->Q_old_wtda = hHQ_core->Q_old_wtda_LB;
    move16();
#endif

    /* copy total excitation exc2 as 16kHz for acelp mode1 decoding */
    IF( st->hWIDec != NULL )
Loading