Commit 56078410 authored by Sandesh Venkatesh's avatar Sandesh Venkatesh
Browse files

Merge branch 'dec_tcx_updates' into 'main'

Converted few functions in dec_tcx.

See merge request !61
parents 4f548526 29beaeb5
Loading
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -1087,7 +1087,8 @@ enum
#define NF_GAIN_BITS                        ( NBITS_TCX_GAIN + NOISE_FILL_RANGES * NBITS_NOISE_FILL_LEVEL )
#define MIN_NOISE_FILLING_HOLE              8
#define HOLE_SIZE_FROM_LTP_FLT( gain )      ( 4 + ( int16_t )( 2.0f * gain * ( 4.0f / 0.625f ) ) )
#define HOLE_SIZE_FROM_LTP(gain)   (add(4, extract_h(L_shr(L_mult0(gain, 0x6666), 10)))) /* 0x6666 -> 2.0*(4.0/0.625) (4Q11) */
#define HOLE_SIZE_FROM_LTP( gain )          (add(4, extract_h(L_shr(L_mult0(gain, 0x6666), 10)))) /* gain (Q15), 0x6666 = 2.0*(4.0/0.625) (4Q11) */
#define HOLE_SIZE_FROM_LTP32( gain )        (add(4, extract_h(L_shr(Mpy_32_32(gain, 0x66666667), 11))))  /* gain (Q31), 0x66666667 = 2.0*(4.0/0.625) (4Q27) */

#define FDNS_NPTS                           64
#define AVG_TCX20_LSF_BITS                  40
+1 −0
Original line number Diff line number Diff line
@@ -848,6 +848,7 @@ enum fea_names
#define SNS_MEANS_BITS_4_FRAC                   14

#define MDCT_ST_PLC_FADEOUT_MIN_NOISE_NRG       0.001f
#define MDCT_ST_PLC_FADEOUT_MIN_NOISE_NRG_Q31   2147483
#define MDCT_ST_PLC_FADEOUT_MAX_CONC_FRAME      2 * FRAMES_PER_SEC
#define MDCT_ST_PLC_FADEOUT_TO_ZERO_LEN         20
#define MDCT_ST_PLC_FADEOUT_DELAY_4_LSP_FADE    3
+29 −0
Original line number Diff line number Diff line
@@ -262,6 +262,29 @@ void decoder_tcx_invQ_fx(
    const Word16 frame_cnt /* i  : frame counter in the super frame        */
);

void decoder_tcx_noisefilling_fx(
    Decoder_State *st, /* i/o: coder memory state          */
    const Word32 concealment_noise[L_FRAME48k],
    const Word16 concealment_noise_exp,
    const Word16 A[], /* i  :  coefficients NxAz[M+1]     */
    const Word16 L_frameTCX_glob,
    const Word16 L_spec,
    const Word16 L_frame,
    const Word16 L_frameTCX,
    Word32 x[],
    Word16 *x_e,
    Word16 *gainlpc2,
    Word16 *gainlpc2_e,
    int16_t *temp_concealment_method,
    const Word16 gain_tcx,
    const Word16 gain_tcx_e,
    const Word16 *prm_sqQ,
    Word16 nf_seed,
    const Word16 bfi, /* i  :  Bad frame indicator            */
    const Word16 MCT_flag,
    const Word16 frame_cnt /* i  : frame counter in the super frame*/
);

void init_tcx_info_fx(
    Decoder_State *st,            /* i/o: coder memory state                                               */
    const Word16 L_frame_glob,    /* i  : global frame length                                              */
@@ -280,6 +303,12 @@ void IGFDecReplicateTCX10State_fx(
    IGF_DEC_INSTANCE_HANDLE hIGFDec /* i/o: instance handle of IGF Decoder          */
);

Word16 get_igf_startline(
    Decoder_State *st,      /* i  : decoder state                  */
    const Word16 L_frame,   /* i  : length of the frame            */
    const Word16 L_frameTCX /* i  : full band frame length         */
);

void stereo_dft_dec_analyze_fx(
    CPE_DEC_HANDLE hCPE,                                 /* i/o: CPE decoder structure               */
    const Word32 *input_fx,                              /* i  : input signal                        */
+5 −0
Original line number Diff line number Diff line
@@ -195,6 +195,11 @@ const Word16 ivas_cos_twiddle_80_fx[ IVAS_80_PT_LEN >> 1 ] = {
  SHC( 0x26f4 ), SHC( 0x2223 ), SHC( 0x1d45 ), SHC( 0x185a ), SHC( 0x1367 ), SHC( 0x0e6b ), SHC( 0x096a ), SHC( 0x0465 ),
};

const Word16 nf_tw_smoothing_coeffs_fx[N_LTP_GAIN_MEMS] =
{
    13107, 6553, 6553, 6553
};

const Word16 dft_trigo_12k8_fx[STEREO_DFT_N_12k8_ENC / 4 + 1] =
{
	0, 402, 804, 1206, 1607, 2009, 2410, 2811, 3211, 3611, 4011, 4409, 4808, 5205, 5602, 5997, 6392, 6786, 7179, 7571, 7961, 8351, 8739, 9126, 9512, 9896, 10278, 10659,
+1 −0
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@ extern const Word16 ivas_sin_twiddle_160_fx[ IVAS_160_PT_LEN >> 1 ];
extern const Word16 ivas_cos_twiddle_160_fx[ IVAS_160_PT_LEN >> 1 ];
extern const Word16 ivas_sin_twiddle_80_fx[ IVAS_80_PT_LEN >> 1 ];
extern const Word16 ivas_cos_twiddle_80_fx[ IVAS_80_PT_LEN >> 1 ];
extern const Word16 nf_tw_smoothing_coeffs_fx[N_LTP_GAIN_MEMS];
extern const Word16 dft_trigo_12k8_fx[STEREO_DFT_N_12k8_ENC / 4 + 1];
extern const Word16 dft_trigo_32k_fx[STEREO_DFT_N_32k_ENC / 4 + 1];
extern const Word16 dft_trigo_48k_fx[STEREO_DFT_N_MAX_ENC / 4 + 1];
Loading