Loading lib_com/cnst.h +3 −2 Original line number Diff line number Diff line Loading @@ -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 Loading lib_com/ivas_cnst.h +1 −0 Original line number Diff line number Diff line Loading @@ -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 Loading lib_com/ivas_prot_fx.h +29 −0 Original line number Diff line number Diff line Loading @@ -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 */ Loading @@ -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 */ Loading lib_com/ivas_rom_com_fx.c +5 −0 Original line number Diff line number Diff line Loading @@ -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, Loading lib_com/ivas_rom_com_fx.h +1 −0 Original line number Diff line number Diff line Loading @@ -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 Loading
lib_com/cnst.h +3 −2 Original line number Diff line number Diff line Loading @@ -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 Loading
lib_com/ivas_cnst.h +1 −0 Original line number Diff line number Diff line Loading @@ -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 Loading
lib_com/ivas_prot_fx.h +29 −0 Original line number Diff line number Diff line Loading @@ -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 */ Loading @@ -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 */ Loading
lib_com/ivas_rom_com_fx.c +5 −0 Original line number Diff line number Diff line Loading @@ -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, Loading
lib_com/ivas_rom_com_fx.h +1 −0 Original line number Diff line number Diff line Loading @@ -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