Commit 95a672a3 authored by Jan Kiene's avatar Jan Kiene
Browse files

Merge branch 'main' into ci/improve-be-and-regression-checks

parents 97826814 fd8bc4cd
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -263,7 +263,7 @@ void ivas_fill_spectrum_fx(
    }
    ELSE IF( EQ_16( HQ_mode, HQ_GEN_SWB ) || EQ_16( HQ_mode, HQ_GEN_FB ) )
    {
        hq_bwe_fx( HQ_mode, L_coeff_out1, hq_generic_fenv, L_coeff_out, hq_generic_offset, prev_L_swb_norm, hq_generic_exc_clas, sfm_end, num_sfm, num_env_bands, R );
        hq_bwe_ivas_fx( HQ_mode, L_coeff_out1, hq_generic_fenv, L_coeff_out, hq_generic_offset, prev_L_swb_norm, hq_generic_exc_clas, sfm_end, num_sfm, num_env_bands, R );
    }

    /*----------------------------------------------------------------*
+30 −0
Original line number Diff line number Diff line
@@ -2102,6 +2102,36 @@ void hq_bwe_fx(
    return;
}

void hq_bwe_ivas_fx(
    const Word16 HQ_mode,             /* i  : HQ mode                                     Q0*/
    Word32 *coeff_out1,               /* i/o: BWE input & temporary buffer                Q12*/
    const Word16 *hq_generic_fenv,    /* i  : SWB frequency envelopes                     Q1*/
    Word32 *coeff_out,                /* o  : SWB signal in MDCT domain                   Q12*/
    const Word16 hq_generic_offset,   /* i  : frequency offset for representing hq generic Q0*/
    Word16 *prev_L_swb_norm,          /* i/o: last normalize length                       Q0*/
    const Word16 hq_generic_exc_clas, /* i  : hq generic hf excitation class              Q0*/
    const Word16 *sfm_end,            /* i  : End of bands                                Q0*/
    const Word16 num_sfm,             /* i  : Number of bands                             Q0*/
    const Word16 num_env_bands,       /* i  : Number of coded envelope bands              Q0*/
    const Word16 *R                   /* i  : Bit allocation                              Q0*/
)
{
    Word16 n_swb_overlap_offset, n_swb_overlap;
    Word32 hq_swb_overlap_buf_fx[L_FRAME32k];

    n_swb_overlap_offset = add( swb_bwe_subband[0], hq_generic_offset );
    n_swb_overlap = sub( sfm_end[( num_env_bands - 1 )], n_swb_overlap_offset ); /*Q0*/


    Copy32( &coeff_out[n_swb_overlap_offset], hq_swb_overlap_buf_fx, sub( add( n_swb_overlap, sfm_end[( num_sfm - 1 )] ), sfm_end[( num_env_bands - 1 )] ) ); /*Q12*/

    hq_generic_decoding_ivas_fx( HQ_mode, coeff_out1, hq_generic_fenv, coeff_out, hq_generic_offset, prev_L_swb_norm, hq_generic_exc_clas, R );

    overlap_hq_bwe_fx( hq_swb_overlap_buf_fx, coeff_out, n_swb_overlap_offset, n_swb_overlap, R, num_env_bands, num_sfm, sfm_end );

    return;
}

/*--------------------------------------------------------------------------*
 * hq_wb_nf_bwe()
 *
+2 −0
Original line number Diff line number Diff line
@@ -162,4 +162,6 @@
#define NONBE_FIX_1087_OOB_SBA_DTX_RS           /* VA: issue 1087: Extend the length of the buffer for MCT decoding to avoid out-of-bound writing in SBA SID bitrate switching decoding */
#define FIX_ISSUE_1279                          /* VA: correction of wrong scaling update */
#define FIX_ISSUE_1247
#define NONBE_FIX_1087_OOB_SBA_DTX_RS                   /* VA: issue 1087: Extend the length of the buffer for MCT decoding to avoid out-of-bound writing in SBA SID bitrate switching decoding */
#define FIX_1285_DECODER_CRASH
#endif
+23 −0
Original line number Diff line number Diff line
@@ -434,6 +434,16 @@ void hq_generic_decoding_fx(
    const Word16 hq_generic_exc_clas, /* i  : bwe excitation class                        */
    const Word16 *R );
void hq_generic_decoding_ivas_fx(
    const Word16 HQ_mode,             /* i  : HQ mode                                     */
    Word32 *coeff_out1_fx,            /* i/o: BWE i   & temporary buffer                */
    const Word16 *hq_generic_fenv_fx, /* i  : SWB frequency envelopes                     */
    Word32 *coeff_out_fx,             /* o  : SWB signal in MDCT domain                   */
    const Word16 hq_generic_offset,   /* i  : frequency offset for representing hq generic*/
    Word16 *prev_L_swb_norm,          /* i/o: last normalize length                       */
    const Word16 hq_generic_exc_clas, /* i  : bwe excitation class                        */
    const Word16 *R );
void save_old_syn_fx(
    const Word16 L_frame,     /* i  : frame length                */
    const Word16 syn[],       /* i  : ACELP synthesis             */
@@ -706,6 +716,19 @@ void hq_bwe_fx(
    const Word16 num_env_bands,
    const Word16 *R );
void hq_bwe_ivas_fx(
    const Word16 HQ_mode,             /* i  : HQ mode                                     */
    Word32 *coeff_out1,               /* i/o: BWE i   & temporary buffer                */
    const Word16 *hq_generic_fenv,    /* i  : SWB frequency envelopes                     */
    Word32 *coeff_out,                /* o  : SWB signal in MDCT domain                   */
    const Word16 hq_generic_offset,   /* i  : frequency offset for representing hq generic bwe*/
    Word16 *prev_L_swb_norm,          /*i/o : last normalize length                       */
    const Word16 hq_generic_exc_clas, /* i  : bwe excitation class                        */
    const Word16 *sfm_end,            /* i  : End of bands                                */
    const Word16 num_sfm,
    const Word16 num_env_bands,
    const Word16 *R );
void hq_wb_nf_bwe_fx(
    const Word16 *coeff_fx, /* i  : coded/noisefilled normalized spectrum */
    const Word16 is_transient,
+556 −0

File changed.

Preview size limit exceeded, changes collapsed.