Commit 8e6c4d1b authored by kulgod's avatar kulgod
Browse files

initial commit

parent b4a8a48f
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1536,6 +1536,7 @@ enum
#define SHB_OVERLAP_LEN                     ( L_FRAME16k - L_SHB_LAHEAD ) / ( NUM_SHB_SUBFR - 1 )
#define QUANT_DIST_INIT                     ( 10000000000.0f )      /* Quantiser search distance initialisation */
#define HIBND_ACB_L_FAC                     5 / 2                   /* SHB Interpolation Factor */
#define HIBND_ACB_L_FAC_Q1                  ( 5 )                   /* SHB Interpolation Factor Q1 */
#define NUM_HILBERTS                        2
#define HILBERT_ORDER1                      5
#define HILBERT_ORDER2                      4
+10 −9
Original line number Diff line number Diff line
@@ -3346,8 +3346,9 @@ void mctStereoIGF_enc_fx(
    Word32 *orig_spectrum_fx[MCT_MAX_CHANNELS][2],       /* i  : MDCT spectrum for ITF                      */
    Word16 q_origSpec,                                   /* i  : Q for MDCT spectrum                        */
    Word32 powerSpec_fx[MCT_MAX_CHANNELS][L_FRAME48k],   /* i/o: MDCT^2 + MDST^2 spectrum,or estimate       */
    Word32 *powerSpecMsInv_fx[MCT_MAX_CHANNELS][NB_DIV], /* i  : same as above but for inverse spect.*/
    Word16 q_powerSpec[MCT_MAX_CHANNELS],                /* i  : Q for powSpec_fx and powSpecMsInv_fx*/
    Word16 q_powerSpec[MCT_MAX_CHANNELS],                /* i  : Q for powSpec_fx                           */
    Word32 *powerSpecMsInv_fx[MCT_MAX_CHANNELS][NB_DIV], /* i  : same as powerSpec_fx but for inverse spect.*/
    Word16 q_powerSpecMsInv[MCT_MAX_CHANNELS],           /* i  : Q for powSpecMsInv_fx                      */
    Word32 *inv_spectrum_fx[MCT_MAX_CHANNELS][NB_DIV],   /* i  : inverse spectrum                           */
    const Word16 sp_aud_decision0[MCT_MAX_CHANNELS]      /* i  : speech audio decision                      */
);
+1 −0
Original line number Diff line number Diff line
@@ -156,6 +156,7 @@
#define FIX_ISSUE_1214                          /* Ittiam: Fix for issue 1214: Energy leakage in IGF tiles for MDCT-stereo @64kbps SWB*/
#define FIX_881_HILBERT_FILTER                  /* VA: improve the precision of the Hilbert filter to remove 2kHz unwanted tone */
#define FIX_ISSUE_1245                          /* Ittiam: Fix for issue 1245: Basop Encoder: Audible noise for silent Stereo input DTX on @24.4 kbps, @32 kbps*/
#define FIX_ISSUE_1291                          /* Ittiam: Wrong use of imult1616() in ACELP rescaling */
#define FIX_920_IGF_INIT_ERROR                  /* FhG: issue 920: fix bitrate mismatch in initial IGF config to avoid error message in same cases */
#define FIX_MINOR_SVD_WMOPS_MR1010X             /* FhG: Minor WMOPS tuning, bit-exact to previous version, saves about 8.2 WMOPS for MR1010 */
#define SVD_WMOPS_OPT                           /* Ittiam : SVD related optimizations */
+5 −1
Original line number Diff line number Diff line
@@ -748,7 +748,11 @@ ivas_error acelp_core_dec_ivas_fx(
            IF( st->hMusicPF && st->hGSCDec )
            {
                Rescale_exc( st->hMusicPF->dct_post_old_exc_fx, exc_fx, bwe_exc_fx, st->hGSCDec->last_exc_dct_in_fx, st->L_frame,
#ifdef FIX_ISSUE_1291
                             shr( imult1616( st->L_frame, HIBND_ACB_L_FAC_Q1 ), 1 ), 0, &( st->Q_exc ), st->Q_subfr, NULL, 0, INACTIVE );
#else
                             imult1616( st->L_frame, HIBND_ACB_L_FAC ), 0, &( st->Q_exc ), st->Q_subfr, NULL, 0, INACTIVE );
#endif
            }
            IF( st->hPFstat != NULL )
            {
@@ -799,7 +803,7 @@ ivas_error acelp_core_dec_ivas_fx(
            Copy( syn1_fx + st->L_frame - L_SYN_MEM_CLAS_ESTIM, st->mem_syn_clas_estim_fx, L_SYN_MEM_CLAS_ESTIM );

            /* save and delay synthesis to be used by SWB BWE */
            Copy_Scale_sig( syn1_fx, temp_buf_fx, st->L_frame, sub( -1, st->Q_syn ) ); // Q_syn
            Copy_Scale_sig( syn1_fx, temp_buf_fx, st->L_frame, sub( -1, st->Q_syn ) ); // Q_syn -> Q(-1)
            IF( st->hBWE_FD != NULL )
            {
#ifdef FIX_ISSUE_1290
+10 −0
Original line number Diff line number Diff line
@@ -782,6 +782,7 @@ ivas_error ivas_core_dec_fx(
        /* for inactive frames with mono output, copy and (if necessary) downmix buffers */
        ELSE IF( EQ_16( hCPE->nchan_out, 1 ) )
        {
            Word16 shift1, shift2;
            sts[0] = hCPE->hCoreCoder[0];
            sts[1] = hCPE->hCoreCoder[1];

@@ -800,6 +801,15 @@ ivas_error ivas_core_dec_fx(
                move16();
                sts[1]->hHQ_core->Q_old_wtda = sub( 15, sts[1]->hHQ_core->exp_old_out );
                move16();

                shift1 = norm_arr( sts[0]->hHQ_core->old_out_fx, L_FRAME48k );
                shift2 = norm_arr( sts[1]->hHQ_core->old_out_fx, L_FRAME48k );
                scale_sig( sts[0]->hHQ_core->old_out_fx, L_FRAME48k, shift1 );
                scale_sig( sts[1]->hHQ_core->old_out_fx, L_FRAME48k, shift2 );
                sts[0]->hHQ_core->Q_old_wtda = add( sts[0]->hHQ_core->Q_old_wtda, shift1 );
                sts[1]->hHQ_core->Q_old_wtda = add( sts[1]->hHQ_core->Q_old_wtda, shift2 );
                move16();
                move16();
            }
        }

Loading