Loading lib_com/fd_cng_com_fx.c +10 −3 Original line number Diff line number Diff line Loading @@ -169,7 +169,7 @@ void initFdCngCom( #ifndef FIX_BASOP_2262_OLAP_BUFFER_SYNTH_SWITCHING set32_fx( hFdCngCom->olapBufferSynth_fx, 0, FFTLEN ); #endif set32_fx( hFdCngCom->olapBufferSynth2_fx, 0, FFTLEN ); //set32_fx( hFdCngCom->olapBufferSynth2_fx, 0, FFTLEN ); set32_fx( hFdCngCom->exc_cng_32fx, 0, L_FRAME16k ); set16_fx( hFdCngCom->exc_cng, 0, L_FRAME16k ); Loading Loading @@ -3241,7 +3241,8 @@ void SynthesisSTFT_fx( void SynthesisSTFT_dirac_fx( Word32 *fftBuffer, /* i : FFT bins */ // hFdCngCom->fftBuffer_exp Word32 *timeDomainOutput, Word16 *timeDomainOutput, //Word32 *timeDomainOutput, Word32 *olapBuffer, // Q_in const Word16 *olapWin, const Word16 samples_out, Loading Loading @@ -3298,7 +3299,13 @@ void SynthesisSTFT_dirac_fx( } /* Get time-domain signal */ v_multc_fx( olapBuffer + shr( hFdCngCom->frameSize, 2 ), fftScale, timeDomainOutput, samples_out ); // Q_in - 9 Copy_Scale_sig_32_16( olapBuffer + shr( hFdCngCom->frameSize, 2 ), timeDomainOutput, samples_out, -Q15 ); // Q_in - 15 FOR( i = 0; i < samples_out; i++ ) { timeDomainOutput[i] = extract_l(Mpy_32_16_1( fftScale, timeDomainOutput[i] )); move16(); } //v_multc_fx( olapBuffer + shr( hFdCngCom->frameSize, 2 ), fftScale, timeDomainOutput, samples_out ); // Q_in - 9 /* Get excitation */ v_multc_fx( olapBuffer + sub( shr( hFdCngCom->frameSize, 2 ), ( M + 1 ) ), fftScale, buf, add( M + 1, hFdCngCom->frameSize ) ); Loading lib_com/prot_fx.h +2 −1 Original line number Diff line number Diff line Loading @@ -9814,7 +9814,8 @@ void generate_masking_noise_ivas_fx( void SynthesisSTFT_dirac_fx( Word32 *fftBuffer, /* i : FFT bins */ Word32 *timeDomainOutput, Word16 *timeDomainOutput, //Word32 *timeDomainOutput, Word32 *olapBuffer, const Word16 *olapWin, const Word16 samples_out, Loading lib_com/stat_com.h +1 −1 Original line number Diff line number Diff line Loading @@ -370,7 +370,7 @@ typedef struct #ifndef FIX_BASOP_2262_OLAP_BUFFER_SYNTH_SWITCHING Word32 olapBufferSynth_fx[FFTLEN]; /*Q_olapBufferSynth*/ #endif Word32 olapBufferSynth2_fx[FFTLEN]; /*Q_olapBufferSynth2*/ //Word32 olapBufferSynth2_fx[FFTLEN]; /*Q_olapBufferSynth2*/ const Word32 *olapWinAna_fx; /* Q30 */ const Word16 *olapWinSyn_fx; /* Q15 */ Loading lib_dec/acelp_core_dec_fx.c +3 −3 Original line number Diff line number Diff line Loading @@ -1635,7 +1635,7 @@ ivas_error acelp_core_dec_fx( IF( NE_16( st->element_mode, last_element_mode ) ) { set16_fx( st->hFdCngDec->hFdCngCom->olapBufferSynth2, 0, st->hFdCngDec->hFdCngCom->fftlen ); set32_fx( st->hFdCngDec->hFdCngCom->olapBufferSynth2_fx, 0, st->hFdCngDec->hFdCngCom->fftlen ); //set32_fx( st->hFdCngDec->hFdCngCom->olapBufferSynth2_fx, 0, st->hFdCngDec->hFdCngCom->fftlen ); } Word32 psyn_32_fx[L_FRAME16k]; Loading @@ -1643,7 +1643,7 @@ ivas_error acelp_core_dec_fx( generate_masking_noise_ivas_fx( psyn_32_fx, &exp, st->hFdCngDec->hFdCngCom, st->hFdCngDec->hFdCngCom->frameSize, 0, 0, 0, st->element_mode, hStereoCng, nchan_out ); Copy_Scale_sig_32_16( psyn_32_fx, psyn_fx, st->hFdCngDec->hFdCngCom->frameSize, sub( st->Q_syn, exp ) ); // Q = st->Q_syn Copy_Scale_sig_32_16( st->hFdCngDec->hFdCngCom->olapBufferSynth2_fx, st->hFdCngDec->hFdCngCom->olapBufferSynth2, shl( st->hFdCngDec->hFdCngCom->frameSize, 1 ), -Q15 ); // Q0 //Copy_Scale_sig_32_16( st->hFdCngDec->hFdCngCom->olapBufferSynth2_fx, st->hFdCngDec->hFdCngCom->olapBufferSynth2, shl( st->hFdCngDec->hFdCngCom->frameSize, 1 ), -Q15 ); // Q0 } } } Loading Loading @@ -1731,7 +1731,7 @@ ivas_error acelp_core_dec_fx( IF( st->idchan == 0 ) { set16_fx( st->hFdCngDec->hFdCngCom->olapBufferSynth2, 0, st->hFdCngDec->hFdCngCom->fftlen ); set32_fx( st->hFdCngDec->hFdCngCom->olapBufferSynth2_fx, 0, st->hFdCngDec->hFdCngCom->fftlen ); //set32_fx( st->hFdCngDec->hFdCngCom->olapBufferSynth2_fx, 0, st->hFdCngDec->hFdCngCom->fftlen ); } IF( hStereoCng != NULL && ( st->idchan == 0 ) ) { Loading lib_dec/core_switching_dec_fx.c +3 −1 Original line number Diff line number Diff line Loading @@ -1949,7 +1949,9 @@ ivas_error core_switching_pre_dec_fx( } ELSE { L_lerp_fx( st->hFdCngDec->hFdCngCom->olapBufferSynth2_fx, st->hFdCngDec->hFdCngCom->olapBufferSynth2_fx, shl( st->L_frame, 1 ), shl( st->last_L_frame, 1 ), Q_olapBufferSynth2 ); //L_lerp_fx( st->hFdCngDec->hFdCngCom->olapBufferSynth2_fx, st->hFdCngDec->hFdCngCom->olapBufferSynth2_fx, shl( st->L_frame, 1 ), shl( st->last_L_frame, 1 ), Q_olapBufferSynth2 ); lerp( st->hFdCngDec->hFdCngCom->olapBufferSynth2, st->hFdCngDec->hFdCngCom->olapBufferSynth2, shl( st->L_frame, 1 ), shl( st->last_L_frame, 1 ) ); (void)Q_olapBufferSynth2; test(); IF( LE_32( st->total_brate, SID_2k40 ) && LE_32( st->last_total_brate, SID_2k40 ) ) Loading Loading
lib_com/fd_cng_com_fx.c +10 −3 Original line number Diff line number Diff line Loading @@ -169,7 +169,7 @@ void initFdCngCom( #ifndef FIX_BASOP_2262_OLAP_BUFFER_SYNTH_SWITCHING set32_fx( hFdCngCom->olapBufferSynth_fx, 0, FFTLEN ); #endif set32_fx( hFdCngCom->olapBufferSynth2_fx, 0, FFTLEN ); //set32_fx( hFdCngCom->olapBufferSynth2_fx, 0, FFTLEN ); set32_fx( hFdCngCom->exc_cng_32fx, 0, L_FRAME16k ); set16_fx( hFdCngCom->exc_cng, 0, L_FRAME16k ); Loading Loading @@ -3241,7 +3241,8 @@ void SynthesisSTFT_fx( void SynthesisSTFT_dirac_fx( Word32 *fftBuffer, /* i : FFT bins */ // hFdCngCom->fftBuffer_exp Word32 *timeDomainOutput, Word16 *timeDomainOutput, //Word32 *timeDomainOutput, Word32 *olapBuffer, // Q_in const Word16 *olapWin, const Word16 samples_out, Loading Loading @@ -3298,7 +3299,13 @@ void SynthesisSTFT_dirac_fx( } /* Get time-domain signal */ v_multc_fx( olapBuffer + shr( hFdCngCom->frameSize, 2 ), fftScale, timeDomainOutput, samples_out ); // Q_in - 9 Copy_Scale_sig_32_16( olapBuffer + shr( hFdCngCom->frameSize, 2 ), timeDomainOutput, samples_out, -Q15 ); // Q_in - 15 FOR( i = 0; i < samples_out; i++ ) { timeDomainOutput[i] = extract_l(Mpy_32_16_1( fftScale, timeDomainOutput[i] )); move16(); } //v_multc_fx( olapBuffer + shr( hFdCngCom->frameSize, 2 ), fftScale, timeDomainOutput, samples_out ); // Q_in - 9 /* Get excitation */ v_multc_fx( olapBuffer + sub( shr( hFdCngCom->frameSize, 2 ), ( M + 1 ) ), fftScale, buf, add( M + 1, hFdCngCom->frameSize ) ); Loading
lib_com/prot_fx.h +2 −1 Original line number Diff line number Diff line Loading @@ -9814,7 +9814,8 @@ void generate_masking_noise_ivas_fx( void SynthesisSTFT_dirac_fx( Word32 *fftBuffer, /* i : FFT bins */ Word32 *timeDomainOutput, Word16 *timeDomainOutput, //Word32 *timeDomainOutput, Word32 *olapBuffer, const Word16 *olapWin, const Word16 samples_out, Loading
lib_com/stat_com.h +1 −1 Original line number Diff line number Diff line Loading @@ -370,7 +370,7 @@ typedef struct #ifndef FIX_BASOP_2262_OLAP_BUFFER_SYNTH_SWITCHING Word32 olapBufferSynth_fx[FFTLEN]; /*Q_olapBufferSynth*/ #endif Word32 olapBufferSynth2_fx[FFTLEN]; /*Q_olapBufferSynth2*/ //Word32 olapBufferSynth2_fx[FFTLEN]; /*Q_olapBufferSynth2*/ const Word32 *olapWinAna_fx; /* Q30 */ const Word16 *olapWinSyn_fx; /* Q15 */ Loading
lib_dec/acelp_core_dec_fx.c +3 −3 Original line number Diff line number Diff line Loading @@ -1635,7 +1635,7 @@ ivas_error acelp_core_dec_fx( IF( NE_16( st->element_mode, last_element_mode ) ) { set16_fx( st->hFdCngDec->hFdCngCom->olapBufferSynth2, 0, st->hFdCngDec->hFdCngCom->fftlen ); set32_fx( st->hFdCngDec->hFdCngCom->olapBufferSynth2_fx, 0, st->hFdCngDec->hFdCngCom->fftlen ); //set32_fx( st->hFdCngDec->hFdCngCom->olapBufferSynth2_fx, 0, st->hFdCngDec->hFdCngCom->fftlen ); } Word32 psyn_32_fx[L_FRAME16k]; Loading @@ -1643,7 +1643,7 @@ ivas_error acelp_core_dec_fx( generate_masking_noise_ivas_fx( psyn_32_fx, &exp, st->hFdCngDec->hFdCngCom, st->hFdCngDec->hFdCngCom->frameSize, 0, 0, 0, st->element_mode, hStereoCng, nchan_out ); Copy_Scale_sig_32_16( psyn_32_fx, psyn_fx, st->hFdCngDec->hFdCngCom->frameSize, sub( st->Q_syn, exp ) ); // Q = st->Q_syn Copy_Scale_sig_32_16( st->hFdCngDec->hFdCngCom->olapBufferSynth2_fx, st->hFdCngDec->hFdCngCom->olapBufferSynth2, shl( st->hFdCngDec->hFdCngCom->frameSize, 1 ), -Q15 ); // Q0 //Copy_Scale_sig_32_16( st->hFdCngDec->hFdCngCom->olapBufferSynth2_fx, st->hFdCngDec->hFdCngCom->olapBufferSynth2, shl( st->hFdCngDec->hFdCngCom->frameSize, 1 ), -Q15 ); // Q0 } } } Loading Loading @@ -1731,7 +1731,7 @@ ivas_error acelp_core_dec_fx( IF( st->idchan == 0 ) { set16_fx( st->hFdCngDec->hFdCngCom->olapBufferSynth2, 0, st->hFdCngDec->hFdCngCom->fftlen ); set32_fx( st->hFdCngDec->hFdCngCom->olapBufferSynth2_fx, 0, st->hFdCngDec->hFdCngCom->fftlen ); //set32_fx( st->hFdCngDec->hFdCngCom->olapBufferSynth2_fx, 0, st->hFdCngDec->hFdCngCom->fftlen ); } IF( hStereoCng != NULL && ( st->idchan == 0 ) ) { Loading
lib_dec/core_switching_dec_fx.c +3 −1 Original line number Diff line number Diff line Loading @@ -1949,7 +1949,9 @@ ivas_error core_switching_pre_dec_fx( } ELSE { L_lerp_fx( st->hFdCngDec->hFdCngCom->olapBufferSynth2_fx, st->hFdCngDec->hFdCngCom->olapBufferSynth2_fx, shl( st->L_frame, 1 ), shl( st->last_L_frame, 1 ), Q_olapBufferSynth2 ); //L_lerp_fx( st->hFdCngDec->hFdCngCom->olapBufferSynth2_fx, st->hFdCngDec->hFdCngCom->olapBufferSynth2_fx, shl( st->L_frame, 1 ), shl( st->last_L_frame, 1 ), Q_olapBufferSynth2 ); lerp( st->hFdCngDec->hFdCngCom->olapBufferSynth2, st->hFdCngDec->hFdCngCom->olapBufferSynth2, shl( st->L_frame, 1 ), shl( st->last_L_frame, 1 ) ); (void)Q_olapBufferSynth2; test(); IF( LE_32( st->total_brate, SID_2k40 ) && LE_32( st->last_total_brate, SID_2k40 ) ) Loading