Commit 8ed96806 authored by Sandesh Venkatesh's avatar Sandesh Venkatesh
Browse files

ivas_core_enc complete fixed point clearing

parent ed2a4075
Loading
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -299,6 +299,7 @@ ivas_error pre_proc_ivas(
    Word16 *new_inp_resamp16k_fx,                                   /* o  : new input signal @16kHz, non pre-emphasised, used by the WB TBE/BWE */
    int16_t *Voicing_flag,                                      /* o  : voicing flag for HQ FEC                 */
    Word16 old_wsp_fx[],                                      /* i  : weighted input signal buffer            */
    Word16 e_old_wsp,
    const int16_t loc_harm,                                     /* i  : harmonicity flag                        */
#ifndef IVAS_FLOAT_FIXED
    const float cor_map_sum,                                    /* i  : speech/music clasif. parameter          */
@@ -528,8 +529,8 @@ ivas_error ivas_core_enc(
    CPE_ENC_HANDLE hCPE,                                         /* i/o: CPE encoder structure                  */
    MCT_ENC_HANDLE hMCT,                                         /* i/o: MCT encoder structure                  */
    const int16_t n_CoreChannels,                                /* i  : number of core channels to be coded    */
    float old_inp_12k8[][L_INP_12k8],                            /* i  : buffer of old input signal             */
    float old_inp_16k[][L_INP],                                  /* i  : buffer of old input signal             */
    Word16 old_inp_12k8_fx[][L_INP_12k8],                            /* i  : buffer of old input signal             */
    Word16 old_inp_16k_fx[][L_INP],                                  /* i  : buffer of old input signal             */
    Word32 ener_fx[],                                            /* i  : residual energy from Levinson-Durbin Q6*/
    Word16 A_fx[][NB_SUBFR16k * ( M + 1 )],                      /* i  : A(z) unquantized for the 4 subframes   */
    Word16 Aw_fx[][NB_SUBFR16k * ( M + 1 )],                     /* i  : weighted A(z) unquantized for subframes*/
@@ -542,7 +543,8 @@ ivas_error ivas_core_enc(
    Word32 realBuffer_fx[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i/o: real buffer                            */
    Word32 imagBuffer_fx[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i/o: imag buffer                            */
    Word16 *q_re_im_buf,
    float old_wsp[][L_WSP],                                      /* i  : weighted input signal buffer           */
    Word16 old_wsp_fx[][L_WSP],                                      /* i  : weighted input signal buffer           */
    Word16 e_old_wsp[],
    const int16_t loc_harm[],                                    /* i  : harmonicity flag                       */
    const Word16 cor_map_sum[],                                   /* i  : speech/music clasif. parameter     Q8 */
    const int16_t vad_flag_dtx[],                                /* i  : HE-SAD flag with additional DTX HO     */
+98 −133

File changed.

Preview size limit exceeded, changes collapsed.

+7 −6
Original line number Diff line number Diff line
@@ -70,6 +70,7 @@ ivas_error pre_proc_ivas(
    Word16 *new_inp_resamp16k_fx,          /* o  : new input signal @16kHz, non pre-emphasised, used by the WB TBE/BWE */
    Word16 *Voicing_flag,                  /* o  : voicing flag for HQ FEC                 */
    Word16 old_wsp_fx[],                   /* i  : weighted input signal buffer            */
    Word16 e_old_wsp,
    const Word16 loc_harm,       /* i  : harmonicity flag                        */
    const Word16 vad_flag_dtx,   /* i  : HE-SAD flag with additional DTX HO      */
    const Word16 MCT_flag,       /* i  : hMCT handle allocated (1) or not (0)    */
@@ -615,7 +616,7 @@ ivas_error pre_proc_ivas(

    /* update old weighted speech buffer - for OL pitch analysis */
    Copy( &old_wsp_fx[L_FRAME], st->old_wsp_fx, L_WSP_MEM );
    st->exp_old_wsp = Q16;
    st->exp_old_wsp = e_old_wsp;
    move16();
    st->exp_buf_speech_enc_pe = sub( Q15, *Q_new - 1 );
    move16();
+14 −1
Original line number Diff line number Diff line
@@ -1181,7 +1181,20 @@ ivas_error ivas_cpe_enc_fx(
    /*----------------------------------------------------------------*
     * Core Encoder
     *----------------------------------------------------------------*/
    if ( ( error = ivas_core_enc( NULL, hCPE, st_ivas->hMCT, n_CoreChannels, old_inp_12k8, old_inp_16k, ener_fx, A_fx, Aw_fx, epsP_fx, epsP_fx_q, lsp_new_fx, lsp_mid_fx, vad_hover_flag, attack_flag, realBuffer_fx, imagBuffer_fx, q_re_im_buf, old_wsp, loc_harm, cor_map_sum_fx, vad_flag_dtx, enerBuffer_fx, enerBuffer_fx_exp, fft_buff_fx, tdm_SM_or_LRTD_Pri, ivas_format, 0 ) ) != IVAS_ERR_OK )

#ifdef IVAS_FLOAT_FIXED_CONVERSIONS
    Word16 old_wsp_fx[CPE_CHANNELS][L_WSP];
    Word16 e_old_wsp[CPE_CHANNELS];
    Word16 old_inp_16k_16fx[CPE_CHANNELS][L_INP];
    for ( n = 0; n < n_CoreChannels; n++ )
    {
        floatToFixed_arr( old_inp_16k[n], old_inp_16k_16fx[n], -1, L_INP );
        floatToFixed_arr( old_inp_12k8[n], old_inp_12k8_16fx[n], -1, L_INP_12k8 );
        floatToFixed_arr( old_wsp[n], old_wsp_fx[n], -1, L_WSP );
        e_old_wsp[n] = 16;
    }
#endif
    if ( ( error = ivas_core_enc( NULL, hCPE, st_ivas->hMCT, n_CoreChannels, old_inp_12k8_16fx, old_inp_16k_16fx, ener_fx, A_fx, Aw_fx, epsP_fx, epsP_fx_q, lsp_new_fx, lsp_mid_fx, vad_hover_flag, attack_flag, realBuffer_fx, imagBuffer_fx, q_re_im_buf, old_wsp_fx, e_old_wsp, loc_harm, cor_map_sum_fx, vad_flag_dtx, enerBuffer_fx, enerBuffer_fx_exp, fft_buff_fx, tdm_SM_or_LRTD_Pri, ivas_format, 0 ) ) != IVAS_ERR_OK )
    {
        return error;
    }
+14 −1
Original line number Diff line number Diff line
@@ -778,7 +778,20 @@ ivas_error ivas_ism_enc_fx(
        test();
        IF( !dtx_flag || ( dtx_flag && EQ_16( sce_id, st_ivas->hISMDTX->sce_id_dtx ) ) )
        {
            IF( ( error = ivas_core_enc( hSCE, NULL, NULL, 1, old_inp_12k8[sce_id], old_inp_16k[sce_id], ener_fx[sce_id], A_fx[sce_id], Aw_fx[sce_id], epsP_fx[sce_id], epsP_fx_q[sce_id], lsp_new_fx[sce_id], lsp_mid_fx[sce_id], vad_hover_flag[sce_id], attack_flag[sce_id], realBuffer_fx[sce_id], imagBuffer_fx[sce_id], &q_re_im_buf[sce_id], old_wsp[sce_id], loc_harm[sce_id], cor_map_sum_fx[sce_id], vad_flag_dtx[sce_id], enerBuffer_fx[sce_id], enerBuffer_fx_exp[sce_id], fft_buff_fx[sce_id], 0, ISM_FORMAT, 0 ) ) != IVAS_ERR_OK )

#ifdef IVAS_FLOAT_FIXED_CONVERSIONS
            Word16 old_wsp_fx[MAX_NUM_OBJECTS][CPE_CHANNELS][L_WSP];
            Word16 e_old_wsp[MAX_NUM_OBJECTS][CPE_CHANNELS];
            Word16 old_inp_16k_fx[MAX_NUM_OBJECTS][CPE_CHANNELS][L_INP];
            for ( int n = 0; n < 1; n++ )
            {
                floatToFixed_arr( old_inp_16k[sce_id][n], old_inp_16k_fx[sce_id][n], -1, L_INP );
                floatToFixed_arr( old_inp_12k8[sce_id][n], old_inp_12k8_fx[sce_id][n], -1, L_INP_12k8 );
                floatToFixed_arr( old_wsp[sce_id][n], old_wsp_fx[sce_id][n], -1, L_WSP );
                e_old_wsp[sce_id][n] = 16;
            }
#endif
            IF( ( error = ivas_core_enc( hSCE, NULL, NULL, 1, old_inp_12k8_fx[sce_id], old_inp_16k_fx[sce_id], ener_fx[sce_id], A_fx[sce_id], Aw_fx[sce_id], epsP_fx[sce_id], epsP_fx_q[sce_id], lsp_new_fx[sce_id], lsp_mid_fx[sce_id], vad_hover_flag[sce_id], attack_flag[sce_id], realBuffer_fx[sce_id], imagBuffer_fx[sce_id], &q_re_im_buf[sce_id], old_wsp_fx[sce_id], e_old_wsp[sce_id], loc_harm[sce_id], cor_map_sum_fx[sce_id], vad_flag_dtx[sce_id], enerBuffer_fx[sce_id], enerBuffer_fx_exp[sce_id], fft_buff_fx[sce_id], 0, ISM_FORMAT, 0 ) ) != IVAS_ERR_OK )
            {
                return error;
            }
Loading