Commit eb82bc34 authored by vaclav's avatar vaclav
Browse files

fix + activate FIX_2280_REDUCTION_UNNECESSARY_SCALING_NONBE

parent ae4e680d
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -109,7 +109,7 @@
#define FIX_BASOP_2350_HARM_0B_BWE                      /* VA: basop issue 2350: harmonization of the 0b BWE */
#define FIX_2349_HARM_FIND_UV                           /* VA: basop issue 2349: harmonization of find_uv() function */
#define FIX_2280_REDUCTION_UNNECESSARY_SCALING          /* VA: reduction of unnecessary scaling */
//#define FIX_2280_REDUCTION_UNNECESSARY_SCALING_NONBE
#define FIX_2280_REDUCTION_UNNECESSARY_SCALING_NONBE
#define FIX_2280_REDUCTION_UNNECESSARY_SCALING2

/* #################### End BE switches ################################## */
+21 −3
Original line number Diff line number Diff line
@@ -172,7 +172,6 @@ void bw_switching_pre_proc_fx(
        }
    }


    test();
    test();
    test();
@@ -835,7 +834,6 @@ ivas_error core_switching_post_dec_fx(
        test();
        test();
        test();

        IF( ( ( EQ_16( st_fx->extl, SWB_TBE ) || EQ_16( st_fx->extl, FB_TBE ) || EQ_16( st_fx->extl, SWB_CNG ) ) &&
              ( NE_16( st_fx->L_frame, st_fx->last_L_frame ) || ( NE_16( st_fx->last_extl, SWB_TBE ) && NE_16( st_fx->last_extl, FB_TBE ) && NE_16( st_fx->last_core, TCX_20_CORE ) && NE_16( st_fx->last_core, TCX_10_CORE ) ) || EQ_16( st_fx->last_core, HQ_CORE ) ) ) ||
            ( LT_16( st_fx->bwidth, st_fx->last_bwidth ) && NE_16( st_fx->last_extl, SWB_TBE ) ) || st_fx->old_ppp_mode || ( ( EQ_16( st_fx->prev_coder_type, AUDIO ) || EQ_16( st_fx->prev_coder_type, INACTIVE ) ) && st_fx->bws_cnt > 0 ) || ( st_fx->bws_cnt == 0 && EQ_16( st_fx->prev_bws_cnt, N_WS2N_FRAMES ) ) )
@@ -911,6 +909,7 @@ ivas_error core_switching_post_dec_fx(
    return error;
}


/*---------------------------------------------------------------------*
 * core_switching_hq_prepare_dec()
 *
@@ -994,9 +993,17 @@ void core_switching_hq_prepare_dec_fx(

    /* reset state of old_out if switching */
    set16_fx( st_fx->hHQ_core->old_out_fx, 0, output_frame );

    return;
}


/*---------------------------------------------------------------------*
 * core_switch_lb_upsamp()
 *
 * Resample HQ/TCX-LB to the output sampling rate (8/16/32/48 kHz)
 *---------------------------------------------------------------------*/

static void core_switch_lb_upsamp_fx(
    Decoder_State *st, /* i/o: Decoder state                  */
    Word32 *output     /* i/o: LB synth/upsampled LB synth Q10*/
@@ -1072,17 +1079,28 @@ static void core_switch_lb_upsamp_fx(
        no_col = s_min( no_col, temp );
    }

#ifdef FIX_2280_REDUCTION_UNNECESSARY_SCALING
    Scale_sig32( output + imult1616( no_col, st->cldfbSyn->no_channels ), sub( st->hTcxDec->L_frameTCX, imult1616( no_col, st->cldfbSyn->no_channels ) ), Q4 - Q10 ); /* Q4 */
#else
    Scale_sig32( output + imult1616( no_col, st->cldfbSyn->no_channels ), sub( L_FRAME48k, imult1616( no_col, st->cldfbSyn->no_channels ) ), 4 - 10 ); /* Q4 */
#endif

    /* save synthesis - needed in case of core switching */
    IF( st->hTcxDec != NULL )
    {
        Copy_Scale_sig_32_16( output, st->previoussynth_fx, st->hTcxDec->L_frameTCX, -4 ); /* Q0 */
        Copy_Scale_sig_32_16( output, st->previoussynth_fx, st->hTcxDec->L_frameTCX, -Q4 ); /* Q0 */
    }

    return;
}


/*---------------------------------------------------------------------*
 * smoothTransitionDtxToTcx()
 *
 * apply smoothing to the transition part for inactive to active transitions in DTX
 *---------------------------------------------------------------------*/

#define TRANSITION_SMOOTHING_LEN_16k 15
#define TRANSITION_SMOOTHING_LEN_32k 31
#define TRANSITION_SMOOTHING_LEN_48k 47