Commit bb7690c1 authored by Fabian Bauer's avatar Fabian Bauer
Browse files

checkin configureFdCngDec_fx harmonized

parent 7897b35e
Loading
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -1616,6 +1616,7 @@ void ivas_dirac_dec_output_synthesis_cov_param_mc_collect_slot_fx(
    const Word16 nchan_in                                                           /* i  : number of input channels                              */
);

#ifndef HARMONIZE_2499_CONFIGUREFDCNGDEC
void configureFdCngDec_ivas_fx(
    HANDLE_FD_CNG_DEC hFdCngDec,                                /* i/o: Contains the variables related to the FD-based CNG process */
    const Word16 bwidth,
@@ -1624,6 +1625,7 @@ void configureFdCngDec_ivas_fx(
    const Word16 last_L_frame,
    const Word16 element_mode 
);
#endif

void synchonize_channels_mdct_sid_fx(
    Decoder_State *sts[CPE_CHANNELS],                           /* i/o: decoder state structure                 */
+1 −0
Original line number Diff line number Diff line
@@ -90,6 +90,7 @@
#define FIX_2479_HARM_PITCH_GAIN                        /* FhG: basop issue 2479: Harmonize tcx_ltp_pitch_search_*(), tcx_ltp_find_gain_*fx() */
#define HARMONIZE_2481_EXTEND_SHRINK                    /* FhG: basop issue 2481: Harmonize extend_frm_*fx() and shrink_frm_*fx() */
#define FIX_FLOAT_ISSUE_1546_DEAD_CODE                  /* FhG: remove dead code reported in the issue*/
#define HARMONIZE_2499_CONFIGUREFDCNGDEC                /* FhG: basop issue 2499: harmonoize configureFdCngDec */

/* #################### End BE switches ################################## */

+12 −0
Original line number Diff line number Diff line
@@ -6547,6 +6547,7 @@ void initFdCngDec_fx(
void deleteFdCngDec_fx(
    HANDLE_FD_CNG_DEC *hFdCngDec );

#ifndef HARMONIZE_2499_CONFIGUREFDCNGDEC
/* Configure CLDFB-CNG */
void configureFdCngDec_fx(
    HANDLE_FD_CNG_DEC hFdCngDec, /* i/o: Contains the variables related to the CLDFB-based CNG process */
@@ -6555,6 +6556,15 @@ void configureFdCngDec_fx(
    Word16 L_frame,
    const Word16 Last_L_frame,
    const Word16 element_mode );
#else
void configureFdCngDec_fx(
    HANDLE_FD_CNG_DEC hFdCngDec, /* i/o: Contains the variables related to the FD-based CNG process */
    const Word16 bwidth,
    const Word32 total_brate,
    const Word16 L_frame,
    const Word16 last_L_frame,
    const Word16 element_mode );
#endif

Word16 ApplyFdCng_fx(
    Word16 *timeDomainInput, /* i  : pointer to time domain input */
@@ -8543,6 +8553,7 @@ void v_mult16_fx(
    const Word16 N     /* i  : Vector length                                    */
);

#ifndef HARMONIZE_2499_CONFIGUREFDCNGDEC
void configureFdCngDec_fx(
    HANDLE_FD_CNG_DEC hFdCngDec, /* i/o: Contains the variables related to the FD-based CNG process */
    const Word16 bwidth,
@@ -8550,6 +8561,7 @@ void configureFdCngDec_fx(
    const Word16 L_frame,
    const Word16 last_L_frame,
    const Word16 element_mode );
#endif

Word32 sum2_f_16_fx(
    const Word16 *vec, /* i  : input vector                          */
+4 −0
Original line number Diff line number Diff line
@@ -1893,7 +1893,11 @@ ivas_error core_switching_pre_dec_fx(
            }
            ELSE
            {
#ifdef HARMONIZE_2499_CONFIGUREFDCNGDEC
                configureFdCngDec_fx( st->hFdCngDec, st->bwidth, st->total_brate, st->L_frame, st->last_L_frame, st->element_mode );
#else
                configureFdCngDec_ivas_fx( st->hFdCngDec, st->bwidth, st->total_brate, st->L_frame, st->last_L_frame, st->element_mode );
#endif
            }
        }
        ELSE
+29 −8
Original line number Diff line number Diff line
@@ -199,6 +199,7 @@ void initFdCngDec_fx(
    return;
}

#ifndef HARMONIZE_2499_CONFIGUREFDCNGDEC
/*
   configureFdCngDec_fx

@@ -424,6 +425,7 @@ void configureFdCngDec_fx(
    hsCom->frameSize = shr( hsCom->fftlen, 1 );
    move16();
}
#endif


/*
@@ -4097,7 +4099,11 @@ void generate_masking_noise_mdct_ivas_fx(
 *
 * Initialize an instance of type FD_CNG
 *-------------------------------------------------------------------*/
#ifdef HARMONIZE_2499_CONFIGUREFDCNGDEC
void configureFdCngDec_fx(
#else
void configureFdCngDec_ivas_fx(
#endif
    HANDLE_FD_CNG_DEC hFdCngDec, /* i/o: Contains the variables related to the FD-based CNG process */
    const Word16 bwidth,         /*Q0*/
    const Word32 total_brate,    /*Q0*/
@@ -4282,24 +4288,39 @@ void configureFdCngDec_ivas_fx(
    hFdCngDec->nFFTpart_shaping = hFdCngDec->npart_shaping; /*Q0*/
    move16();

#ifdef HARMONIZE_2499_CONFIGUREFDCNGDEC
    IF( element_mode > EVS_MONO )
    {
        BASOP_getTables( &hsCom->olapWinAna, NULL, NULL, shr( hsCom->fftlen, 1 ) );
        BASOP_getTables( &hsCom->olapWinSyn, NULL, NULL, shr( hsCom->fftlen, 2 ) );
    }
#endif

    SWITCH( hsCom->fftlen )
    {
        case 512:
#ifdef HARMONIZE_2499_CONFIGUREFDCNGDEC
            IF( element_mode > EVS_MONO )
            {
                hsCom->olapWinAna_fx = olapWinAna512_fx; /*Q30*/
                hsCom->fftSineTab_fx = NULL;
                hsCom->olapWinSyn_fx = olapWinSyn256_fx; /*Q15*/
            }
#endif
            hsCom->fftlenShift = 8;
            move16();
            hsCom->fftlenFac = 32767 /*1.0 Q15*/;
            move16();
            BREAK;
        case 640:
#ifdef HARMONIZE_2499_CONFIGUREFDCNGDEC
                IF( element_mode > EVS_MONO )
                {
                    hsCom->olapWinAna_fx = olapWinAna640_fx; /*Q30*/
                    hsCom->fftSineTab_fx = fftSineTab640_fx; /*Q15*/
                    hsCom->olapWinSyn_fx = olapWinSyn320_fx; /*Q15*/
                }
#endif
            hsCom->fftlenShift = 9;
            move16();
            hsCom->fftlenFac = 20480 /*0.625 Q15*/;
Loading