Commit 55c77097 authored by kulgod's avatar kulgod
Browse files

changes v1

parent 969ec18e
Loading
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -3747,7 +3747,7 @@ void QuantizeTCXSpectrum_fx(
            }

            /* Quantize original spectrum */
            sqGain_fx = SQ_gain_ivas_fx( spectrum_fx, *spectrum_e, shl( mult( hTcxEnc->tcx_target_bits_fac, sqTargetBits ), 1 ), L_spec, &sqGain_e );
            sqGain_fx = SQ_gain_ivas_fx( spectrum_fx, *spectrum_e, ( mult( hTcxEnc->tcx_target_bits_fac, shl( sqTargetBits, 1 ) ) ), L_spec, &sqGain_e );

            tcx_scalar_quantization_ivas_fx( spectrum_fx, *spectrum_e, sqQ, L_spec, sqGain_fx, sqGain_e, st->hTcxCfg->sq_rounding, hTcxEnc->memQuantZeros, st->tcxonly );

@@ -4742,7 +4742,7 @@ void InternalTCXDecoder_fx(
    }
    ELSE
    {
        mdct_shaping( spectrum_fx, L_frame, gainlpc_fx, gainlpc_e );
        mdct_noiseShaping_ivas_fx( spectrum_fx, spectrum_e, L_frame, gainlpc_fx, gainlpc_e );
    }
    /*-----------------------------------------------------------*
     * Apply gain                                                *
+8 −0
Original line number Diff line number Diff line
@@ -1569,6 +1569,11 @@ static void init_acelp_ivas_fx( Encoder_State *st, Word16 L_frame_old, Word16 sh
        {
            set16_fx( hLPDmem->syn, 0, 1 + M );
            set16_fx( hLPDmem->mem_syn_r, 0, L_SYN_MEM );
            hLPDmem->q_lpd_syn = Q15;
            hLPDmem->q_mem_syn = Q15;
            move16();
            move16();

        }

        IF( st->hTcxEnc != NULL )
@@ -1600,6 +1605,9 @@ static void init_acelp_ivas_fx( Encoder_State *st, Word16 L_frame_old, Word16 sh
                set16_fx( hLPDmem->syn, 0, M );
                hLPDmem->q_lpd_syn = Q15;
                move16();
                hLPDmem->q_mem_syn = Q15;
                move16();

            }
            IF( st->hTcxEnc != NULL )
            {
+2 −13
Original line number Diff line number Diff line
@@ -562,6 +562,7 @@ void stereo_tcx_core_enc(
    }
    Scale_sig( st->synth, st->L_frame, s );  /* st->Q_syn + s */
    Scale_sig( st->hLPDmem->syn, M + 1, s ); /* st->Q_syn + s */
    st->hLPDmem->q_lpd_syn = add( st->hLPDmem->q_lpd_syn, s );
    Q_new = add( Q_new, s );
    move16();
    move16();
@@ -688,19 +689,7 @@ void stereo_tcx_core_enc(
    {
        set16_fx( pitch_buf_fx, L_SUBFR * ONE_IN_Q6, NB_SUBFR16k ); /* Q6 */
    }
    /* Memory scaling to keep everything in common q */
    Word16 curr_q_syn = sub( shl( Q_new, 1 ), 1 );
    Scale_sig( st->hLPDmem->mem_syn_r, L_SYN_MEM, sub( s_min( curr_q_syn, st->hLPDmem->q_mem_syn ), curr_q_syn ) ); /* s_min( curr_q_syn, st->hLPDmem->q_mem_syn ) */
    Scale_sig( st->hLPDmem->mem_syn, M, sub( s_min( curr_q_syn, st->hLPDmem->q_mem_syn ), curr_q_syn ) );           /* s_min( curr_q_syn, st->hLPDmem->q_mem_syn ) */
    Scale_sig( st->hLPDmem->mem_syn2, M, sub( s_min( curr_q_syn, st->hLPDmem->q_mem_syn ), curr_q_syn ) );          /* s_min( curr_q_syn, st->hLPDmem->q_mem_syn ) */
    st->hLPDmem->mem_w0 = shl_sat( st->hLPDmem->mem_w0, sub( s_min( Q_new, st->hLPDmem->q_mem_syn ), Q_new ) );     /* s_min( Q_new, st->hLPDmem->q_mem_syn ) */
    move16();
    Scale_sig( st->hLPDmem->mem_syn1_fx, M, sub( s_min( curr_q_syn, st->hLPDmem->q_mem_syn ), st->hLPDmem->q_mem_syn ) ); /* s_min( curr_q_syn, st->hLPDmem->q_mem_syn ) */
    Scale_sig( st->hLPDmem->mem_syn3, M, sub( s_min( curr_q_syn, st->hLPDmem->q_mem_syn ), st->hLPDmem->q_mem_syn ) );    /* s_min( curr_q_syn, st->hLPDmem->q_mem_syn ) */
    st->hLPDmem->q_mem_syn = s_min( curr_q_syn, st->hLPDmem->q_mem_syn );
    move16();
    st->hLPDmem->q_lpd_syn = Q_new;
    move16();

    IF( st->hTdCngEnc != NULL )
    {
        FOR( Word16 ii = 0; ii < HO_HIST_SIZE; ii++ )
+1 −1
Original line number Diff line number Diff line
@@ -158,7 +158,7 @@ void tdm_low_rate_enc(
        E_UTIL_synthesis( 0, p_Aq, &exc_wo_nf_fx[i_subfr], &synth[i_subfr], L_SUBFR, hLPDmem->mem_syn, 1, M ); /* Q_new */
        p_Aq += ( M + 1 );
    }

    scale_sig( hLPDmem->mem_syn, M, sub( hLPDmem->q_mem_syn, Q_new ) ); // Q_new -> hLPDmem->q_mem_syn
    /*--------------------------------------------------------------------------------------*
     * Updates
     *--------------------------------------------------------------------------------------*/
+7 −0
Original line number Diff line number Diff line
@@ -2799,6 +2799,8 @@ void tcx_encoder_memory_update_ivas_fx(

    Copy( xn_buf, synth, L_frame_glob );
    Copy( synth + sub( L_frame_glob, M + 1 ), LPDmem->syn, M + 1 );
    LPDmem->q_lpd_syn = Q_new;
    move16();

    IF( st->tcxonly == 0 )
    {
@@ -2817,6 +2819,11 @@ void tcx_encoder_memory_update_ivas_fx(
    Copy( synth + sub( L_frame_glob, M ), LPDmem->mem_syn, M );
    Copy( synth + sub( L_frame_glob, M ), LPDmem->mem_syn2, M );
    Copy( synth + sub( L_frame_glob, L_SYN_MEM ), LPDmem->mem_syn_r, L_SYN_MEM );

    /* Aligning the Q-factor of the remaining synthesis memory buffers */
    Scale_sig( LPDmem->mem_syn1_fx, M, sub(Q_new, LPDmem->q_mem_syn) );
    Scale_sig( LPDmem->mem_syn3, M, sub(Q_new, LPDmem->q_mem_syn) );

    LPDmem->q_mem_syn = Q_new; // resultant q of synth after E_UTIL_f_preemph2
    move16();