Loading lib_dec/dec_tcx.c +9 −12 Original line number Diff line number Diff line Loading @@ -107,8 +107,7 @@ void decoder_tcx( decoder_tcx_tns( st, L_frame_glob, L_spec, L_frame, L_frameTCX, &x[0], fUseTns, &tnsData, bfi, frame_cnt, 0 ); decoder_tcx_imdct( st, L_frame_glob, L_frameTCX_glob, L_spec, tcx_offset, tcx_offsetFB, L_frame, L_frameTCX, left_rect, &x[0], &xn_buf[0], MDCT_IV, fUseTns, &synth[0], &synthFB[0], bfi, frame_cnt, sba_dirac_stereo_flag ); fUseTns, &synth[0], &synthFB[0], bfi, frame_cnt, sba_dirac_stereo_flag ); return; } Loading Loading @@ -286,6 +285,7 @@ void decoder_tcx_post( return; } /*-------------------------------------------------------------------* * IMDCT() * Loading Loading @@ -336,8 +336,7 @@ void IMDCT( v_multc( old_syn_overl, hTcxDec->conceal_eof_gain * st->last_concealed_gain_syn_deemph, old_syn_overl, overlap ); } if ( ( L_frameTCX == hTcxDec->L_frameTCX >> 1 ) && ( st->tcxonly ) ) if ( ( L_frameTCX == hTcxDec->L_frameTCX >> 1 ) && st->tcxonly ) { /* Mode decision in PLC Loading Loading @@ -374,7 +373,9 @@ void IMDCT( TCX_MDXT_Inverse( x + w * L_spec_TCX5, win, L_ola, L_win - L_ola, L_ola, kernel_type ); } else { TCX_MDCT_Inverse( x + w * L_spec_TCX5, win, L_ola, L_win - L_ola, L_ola, st->element_mode ); } tcx_windowing_synthesis_current_frame( win, tcx_aldo_window_2, tcx_mdct_window_half, tcx_mdct_window_minimum, L_ola, tcx_mdct_window_half_length, tcx_mdct_window_min_length, ( w > 0 ) ? 0 : left_rect, ( w > 0 ) || ( w == 0 && index == 2 ) ? MIN_OVERLAP : hTcxCfg->tcx_last_overlap_mode, acelp_zir, hTcxDec->old_syn_Overl, syn_Overl_TDAC, st->old_Aq_12_8, tcx_mdct_window_trans, L_win, tcx_offset < 0 ? -tcx_offset : 0, ( w > 0 ) || ( frame_cnt > 0 ) ? 1 : st->last_core_bfi, ( w > 0 ) || ( frame_cnt > 0 ) ? 0 : st->last_is_cng, fullbandScale ); Loading Loading @@ -554,8 +555,7 @@ void IMDCT( /* Window and overlap-add past frame if past frame is TCX */ if ( ( frame_cnt != 0 ) || ( st->last_core_bfi > ACELP_CORE ) ) { if ( ( ( L_frameTCX == hTcxDec->L_frameTCX >> 1 ) && ( st->tcxonly ) ) || if ( ( ( L_frameTCX == hTcxDec->L_frameTCX >> 1 ) && ( st->tcxonly ) ) || ( hTcxCfg->tcx_last_overlap_mode == TRANSITION_OVERLAP ) ) { if ( !bfi && ( frame_cnt > 0 ) && ( index == 0 ) && ( hTcxCfg->tcx_curr_overlap_mode == FULL_OVERLAP ) && ( st->last_core != ACELP_CORE ) ) Loading Loading @@ -723,7 +723,6 @@ void decoder_tcx_invQ( TCX_DEC_HANDLE hTcxDec = st->hTcxDec; TCX_CONFIG_HANDLE hTcxCfg = st->hTcxCfg; tnsSize = 0; prm_target = NULL; /* just to suppress MSVC warnigs */ Loading Loading @@ -1692,9 +1691,7 @@ void decoder_tcx_imdct( if ( st->element_mode != IVAS_CPE_DFT && !sba_dirac_stereo_flag ) { IMDCT( xn_bufFB, hTcxDec->syn_Overl, hTcxDec->syn_Overl_TDAC, xn_buf, hTcxCfg->tcx_aldo_window_1_trunc, hTcxCfg->tcx_aldo_window_2, IMDCT( xn_bufFB, hTcxDec->syn_Overl, hTcxDec->syn_Overl_TDAC, xn_buf, hTcxCfg->tcx_aldo_window_1_trunc, hTcxCfg->tcx_aldo_window_2, hTcxCfg->tcx_mdct_window_half, hTcxCfg->tcx_mdct_window_minimum, hTcxCfg->tcx_mdct_window_trans, hTcxCfg->tcx_mdct_window_half_length, hTcxCfg->tcx_mdct_window_min_length, index, kernelType, left_rect, tcx_offset, overlap, L_frame, L_frameTCX, max( L_frameTCX, L_spec ) >> 1, L_frame_glob, frame_cnt, bfi, st->hHQ_core->old_outLB, 0, st, 0, acelp_zir ); } Loading @@ -1715,8 +1712,7 @@ void decoder_tcx_imdct( if ( st->element_mode != EVS_MONO ) { IMDCT( x_tmp, hTcxDec->syn_OverlFB, hTcxDec->syn_Overl_TDACFB, xn_bufFB, hTcxCfg->tcx_aldo_window_1_FB_trunc, hTcxCfg->tcx_aldo_window_2_FB, IMDCT( x_tmp, hTcxDec->syn_OverlFB, hTcxDec->syn_Overl_TDACFB, xn_bufFB, hTcxCfg->tcx_aldo_window_1_FB_trunc, hTcxCfg->tcx_aldo_window_2_FB, hTcxCfg->tcx_mdct_window_halfFB, hTcxCfg->tcx_mdct_window_minimumFB, hTcxCfg->tcx_mdct_window_transFB, hTcxCfg->tcx_mdct_window_half_lengthFB, hTcxCfg->tcx_mdct_window_min_lengthFB, index, kernelType, left_rect, tcx_offsetFB, overlapFB, L_frameTCX, L_frameTCX, max( L_frameTCX, L_spec ) >> 1, L_frameTCX_glob, frame_cnt, bfi, st->hHQ_core->old_out, 1, st, FSCALE_DENOM * L_frameTCX_glob / L_frame_glob, acelp_zir ); } Loading Loading @@ -1948,6 +1944,7 @@ void decoder_tcx_IGF_stereo( { sfbConf = &hStereoMdct->stbParamsTCX20afterACELP; } /* create line wise ms mask for the core bands */ set_s( coreMsMask, 0, N_MAX ); Loading lib_dec/ivas_mdct_core_dec.c +5 −4 Original line number Diff line number Diff line Loading @@ -328,6 +328,7 @@ void ivas_mdct_dec_side_bits_frame_channel( { continue; } st = sts[ch]; if ( MCT_flag ) { Loading Loading @@ -421,6 +422,7 @@ void ivas_mdct_dec_side_bits_frame_channel( nStages = SNS_MSVQ_NSTAGES_SIDE; bits = ( nSubframes == 1 ) ? ivas_sns_cdbks_side_tcx20_bits : ivas_sns_cdbks_side_tcx10_bits; } for ( int16_t j = 0; j < nStages; ++j ) { /* plus one in index for stereo mode storage! */ Loading Loading @@ -661,6 +663,7 @@ void ivas_mdct_core_invQ( sts[1]->core = sts[1]->last_core; } } mvr2r( tmp_ms_sig[0], sts[0]->hTonalMDCTConc->lastBlockData.spectralData, L_frameTCX[0] ); mvr2r( tmp_ms_sig[1], sts[1]->hTonalMDCTConc->lastBlockData.spectralData, L_frameTCX[0] ); } Loading Loading @@ -854,11 +857,9 @@ void ivas_mdct_core_reconstruct( if ( !skip_decoding ) { decoder_tcx_imdct( st, L_frame_global[ch], L_frame_globalTCX[ch], L_spec[ch], tcx_offset[ch], tcx_offsetFB[ch], L_frame[ch], L_frameTCX[ch], left_rect[ch], &x[ch][k][0], xn_buf, decoder_tcx_imdct( st, L_frame_global[ch], L_frame_globalTCX[ch], L_spec[ch], tcx_offset[ch], tcx_offsetFB[ch], L_frame[ch], L_frameTCX[ch], left_rect[ch], &x[ch][k][0], xn_buf, ( ( hCPE->nchan_out == 1 && st->hTcxDec->kernel_type[k] == MDST_IV ) || st->hTcxCfg->tcx_last_overlap_mode == TRANSITION_OVERLAP ) ? MDCT_IV : st->hTcxDec->kernel_type[k], fUseTns[ch][k], &synth[k * L_frame[ch]], &synthFB[k * L_frameTCX[ch]], bfi, k, 0 ); fUseTns[ch][k], &synth[k * L_frame[ch]], &synthFB[k * L_frameTCX[ch]], bfi, k, 0 ); } else { Loading lib_dec/ivas_spar_decoder.c +1 −2 Original line number Diff line number Diff line Loading @@ -321,8 +321,7 @@ ivas_error ivas_spar_dec( if ( st_ivas->hQMetaData != NULL ) { ivas_dirac_dec_read_BS( hDecoderConfig->ivas_total_brate, st0, st_ivas->hDirAC, st_ivas->hQMetaData, nb_bits_read, ivas_get_hodirac_flag( hDecoderConfig->ivas_total_brate, st_ivas->sba_analysis_order ), st_ivas->hSpar->dirac_to_spar_md_bands ); ivas_get_hodirac_flag( hDecoderConfig->ivas_total_brate, st_ivas->sba_analysis_order ), st_ivas->hSpar->dirac_to_spar_md_bands ); } last_bit_pos = (int16_t) ( ( hDecoderConfig->ivas_total_brate / FRAMES_PER_SEC ) - 1 ); Loading lib_dec/ivas_stereo_mdct_core_dec.c +2 −1 Original line number Diff line number Diff line Loading @@ -126,7 +126,6 @@ static void stereo_mdct_dec_stereo( sts[0]->bits_frame_channel += sts[0]->core * SMDCT_MINIMUM_ARITH_BITS; sts[1]->bits_frame_channel += sts[1]->core * SMDCT_MINIMUM_ARITH_BITS; sts[1]->bit_stream = &sts[0]->bit_stream[sts[0]->next_bit_pos + sts[0]->bits_frame_channel + sts[0]->core * NF_GAIN_BITS]; return; Loading Loading @@ -513,6 +512,7 @@ static void apply_dmx_weights( } } } /* apply weights to channels with their original frequency resolutions */ for ( ch = 0; ch < CPE_CHANNELS; ch++ ) { Loading Loading @@ -571,6 +571,7 @@ static void apply_dmx_weights( return; } /*-------------------------------------------------------------------* * run_min_stats() * Loading lib_dec/ivas_stereo_mdct_stereo_dec.c +1 −1 Original line number Diff line number Diff line Loading @@ -139,7 +139,6 @@ void parse_stereo_from_bitstream( if ( st0->igf ) { mdct_stereo_mode = get_next_indice( st0, 1 ); if ( mdct_stereo_mode ) { Loading Loading @@ -469,6 +468,7 @@ ivas_error initMdctStereoDtxData( /* Init FD-CNG */ initFdCngDec( st ); } if ( st->first_CNG == 0 ) { if ( ch == 1 && st->cng_sba_flag ) Loading Loading
lib_dec/dec_tcx.c +9 −12 Original line number Diff line number Diff line Loading @@ -107,8 +107,7 @@ void decoder_tcx( decoder_tcx_tns( st, L_frame_glob, L_spec, L_frame, L_frameTCX, &x[0], fUseTns, &tnsData, bfi, frame_cnt, 0 ); decoder_tcx_imdct( st, L_frame_glob, L_frameTCX_glob, L_spec, tcx_offset, tcx_offsetFB, L_frame, L_frameTCX, left_rect, &x[0], &xn_buf[0], MDCT_IV, fUseTns, &synth[0], &synthFB[0], bfi, frame_cnt, sba_dirac_stereo_flag ); fUseTns, &synth[0], &synthFB[0], bfi, frame_cnt, sba_dirac_stereo_flag ); return; } Loading Loading @@ -286,6 +285,7 @@ void decoder_tcx_post( return; } /*-------------------------------------------------------------------* * IMDCT() * Loading Loading @@ -336,8 +336,7 @@ void IMDCT( v_multc( old_syn_overl, hTcxDec->conceal_eof_gain * st->last_concealed_gain_syn_deemph, old_syn_overl, overlap ); } if ( ( L_frameTCX == hTcxDec->L_frameTCX >> 1 ) && ( st->tcxonly ) ) if ( ( L_frameTCX == hTcxDec->L_frameTCX >> 1 ) && st->tcxonly ) { /* Mode decision in PLC Loading Loading @@ -374,7 +373,9 @@ void IMDCT( TCX_MDXT_Inverse( x + w * L_spec_TCX5, win, L_ola, L_win - L_ola, L_ola, kernel_type ); } else { TCX_MDCT_Inverse( x + w * L_spec_TCX5, win, L_ola, L_win - L_ola, L_ola, st->element_mode ); } tcx_windowing_synthesis_current_frame( win, tcx_aldo_window_2, tcx_mdct_window_half, tcx_mdct_window_minimum, L_ola, tcx_mdct_window_half_length, tcx_mdct_window_min_length, ( w > 0 ) ? 0 : left_rect, ( w > 0 ) || ( w == 0 && index == 2 ) ? MIN_OVERLAP : hTcxCfg->tcx_last_overlap_mode, acelp_zir, hTcxDec->old_syn_Overl, syn_Overl_TDAC, st->old_Aq_12_8, tcx_mdct_window_trans, L_win, tcx_offset < 0 ? -tcx_offset : 0, ( w > 0 ) || ( frame_cnt > 0 ) ? 1 : st->last_core_bfi, ( w > 0 ) || ( frame_cnt > 0 ) ? 0 : st->last_is_cng, fullbandScale ); Loading Loading @@ -554,8 +555,7 @@ void IMDCT( /* Window and overlap-add past frame if past frame is TCX */ if ( ( frame_cnt != 0 ) || ( st->last_core_bfi > ACELP_CORE ) ) { if ( ( ( L_frameTCX == hTcxDec->L_frameTCX >> 1 ) && ( st->tcxonly ) ) || if ( ( ( L_frameTCX == hTcxDec->L_frameTCX >> 1 ) && ( st->tcxonly ) ) || ( hTcxCfg->tcx_last_overlap_mode == TRANSITION_OVERLAP ) ) { if ( !bfi && ( frame_cnt > 0 ) && ( index == 0 ) && ( hTcxCfg->tcx_curr_overlap_mode == FULL_OVERLAP ) && ( st->last_core != ACELP_CORE ) ) Loading Loading @@ -723,7 +723,6 @@ void decoder_tcx_invQ( TCX_DEC_HANDLE hTcxDec = st->hTcxDec; TCX_CONFIG_HANDLE hTcxCfg = st->hTcxCfg; tnsSize = 0; prm_target = NULL; /* just to suppress MSVC warnigs */ Loading Loading @@ -1692,9 +1691,7 @@ void decoder_tcx_imdct( if ( st->element_mode != IVAS_CPE_DFT && !sba_dirac_stereo_flag ) { IMDCT( xn_bufFB, hTcxDec->syn_Overl, hTcxDec->syn_Overl_TDAC, xn_buf, hTcxCfg->tcx_aldo_window_1_trunc, hTcxCfg->tcx_aldo_window_2, IMDCT( xn_bufFB, hTcxDec->syn_Overl, hTcxDec->syn_Overl_TDAC, xn_buf, hTcxCfg->tcx_aldo_window_1_trunc, hTcxCfg->tcx_aldo_window_2, hTcxCfg->tcx_mdct_window_half, hTcxCfg->tcx_mdct_window_minimum, hTcxCfg->tcx_mdct_window_trans, hTcxCfg->tcx_mdct_window_half_length, hTcxCfg->tcx_mdct_window_min_length, index, kernelType, left_rect, tcx_offset, overlap, L_frame, L_frameTCX, max( L_frameTCX, L_spec ) >> 1, L_frame_glob, frame_cnt, bfi, st->hHQ_core->old_outLB, 0, st, 0, acelp_zir ); } Loading @@ -1715,8 +1712,7 @@ void decoder_tcx_imdct( if ( st->element_mode != EVS_MONO ) { IMDCT( x_tmp, hTcxDec->syn_OverlFB, hTcxDec->syn_Overl_TDACFB, xn_bufFB, hTcxCfg->tcx_aldo_window_1_FB_trunc, hTcxCfg->tcx_aldo_window_2_FB, IMDCT( x_tmp, hTcxDec->syn_OverlFB, hTcxDec->syn_Overl_TDACFB, xn_bufFB, hTcxCfg->tcx_aldo_window_1_FB_trunc, hTcxCfg->tcx_aldo_window_2_FB, hTcxCfg->tcx_mdct_window_halfFB, hTcxCfg->tcx_mdct_window_minimumFB, hTcxCfg->tcx_mdct_window_transFB, hTcxCfg->tcx_mdct_window_half_lengthFB, hTcxCfg->tcx_mdct_window_min_lengthFB, index, kernelType, left_rect, tcx_offsetFB, overlapFB, L_frameTCX, L_frameTCX, max( L_frameTCX, L_spec ) >> 1, L_frameTCX_glob, frame_cnt, bfi, st->hHQ_core->old_out, 1, st, FSCALE_DENOM * L_frameTCX_glob / L_frame_glob, acelp_zir ); } Loading Loading @@ -1948,6 +1944,7 @@ void decoder_tcx_IGF_stereo( { sfbConf = &hStereoMdct->stbParamsTCX20afterACELP; } /* create line wise ms mask for the core bands */ set_s( coreMsMask, 0, N_MAX ); Loading
lib_dec/ivas_mdct_core_dec.c +5 −4 Original line number Diff line number Diff line Loading @@ -328,6 +328,7 @@ void ivas_mdct_dec_side_bits_frame_channel( { continue; } st = sts[ch]; if ( MCT_flag ) { Loading Loading @@ -421,6 +422,7 @@ void ivas_mdct_dec_side_bits_frame_channel( nStages = SNS_MSVQ_NSTAGES_SIDE; bits = ( nSubframes == 1 ) ? ivas_sns_cdbks_side_tcx20_bits : ivas_sns_cdbks_side_tcx10_bits; } for ( int16_t j = 0; j < nStages; ++j ) { /* plus one in index for stereo mode storage! */ Loading Loading @@ -661,6 +663,7 @@ void ivas_mdct_core_invQ( sts[1]->core = sts[1]->last_core; } } mvr2r( tmp_ms_sig[0], sts[0]->hTonalMDCTConc->lastBlockData.spectralData, L_frameTCX[0] ); mvr2r( tmp_ms_sig[1], sts[1]->hTonalMDCTConc->lastBlockData.spectralData, L_frameTCX[0] ); } Loading Loading @@ -854,11 +857,9 @@ void ivas_mdct_core_reconstruct( if ( !skip_decoding ) { decoder_tcx_imdct( st, L_frame_global[ch], L_frame_globalTCX[ch], L_spec[ch], tcx_offset[ch], tcx_offsetFB[ch], L_frame[ch], L_frameTCX[ch], left_rect[ch], &x[ch][k][0], xn_buf, decoder_tcx_imdct( st, L_frame_global[ch], L_frame_globalTCX[ch], L_spec[ch], tcx_offset[ch], tcx_offsetFB[ch], L_frame[ch], L_frameTCX[ch], left_rect[ch], &x[ch][k][0], xn_buf, ( ( hCPE->nchan_out == 1 && st->hTcxDec->kernel_type[k] == MDST_IV ) || st->hTcxCfg->tcx_last_overlap_mode == TRANSITION_OVERLAP ) ? MDCT_IV : st->hTcxDec->kernel_type[k], fUseTns[ch][k], &synth[k * L_frame[ch]], &synthFB[k * L_frameTCX[ch]], bfi, k, 0 ); fUseTns[ch][k], &synth[k * L_frame[ch]], &synthFB[k * L_frameTCX[ch]], bfi, k, 0 ); } else { Loading
lib_dec/ivas_spar_decoder.c +1 −2 Original line number Diff line number Diff line Loading @@ -321,8 +321,7 @@ ivas_error ivas_spar_dec( if ( st_ivas->hQMetaData != NULL ) { ivas_dirac_dec_read_BS( hDecoderConfig->ivas_total_brate, st0, st_ivas->hDirAC, st_ivas->hQMetaData, nb_bits_read, ivas_get_hodirac_flag( hDecoderConfig->ivas_total_brate, st_ivas->sba_analysis_order ), st_ivas->hSpar->dirac_to_spar_md_bands ); ivas_get_hodirac_flag( hDecoderConfig->ivas_total_brate, st_ivas->sba_analysis_order ), st_ivas->hSpar->dirac_to_spar_md_bands ); } last_bit_pos = (int16_t) ( ( hDecoderConfig->ivas_total_brate / FRAMES_PER_SEC ) - 1 ); Loading
lib_dec/ivas_stereo_mdct_core_dec.c +2 −1 Original line number Diff line number Diff line Loading @@ -126,7 +126,6 @@ static void stereo_mdct_dec_stereo( sts[0]->bits_frame_channel += sts[0]->core * SMDCT_MINIMUM_ARITH_BITS; sts[1]->bits_frame_channel += sts[1]->core * SMDCT_MINIMUM_ARITH_BITS; sts[1]->bit_stream = &sts[0]->bit_stream[sts[0]->next_bit_pos + sts[0]->bits_frame_channel + sts[0]->core * NF_GAIN_BITS]; return; Loading Loading @@ -513,6 +512,7 @@ static void apply_dmx_weights( } } } /* apply weights to channels with their original frequency resolutions */ for ( ch = 0; ch < CPE_CHANNELS; ch++ ) { Loading Loading @@ -571,6 +571,7 @@ static void apply_dmx_weights( return; } /*-------------------------------------------------------------------* * run_min_stats() * Loading
lib_dec/ivas_stereo_mdct_stereo_dec.c +1 −1 Original line number Diff line number Diff line Loading @@ -139,7 +139,6 @@ void parse_stereo_from_bitstream( if ( st0->igf ) { mdct_stereo_mode = get_next_indice( st0, 1 ); if ( mdct_stereo_mode ) { Loading Loading @@ -469,6 +468,7 @@ ivas_error initMdctStereoDtxData( /* Init FD-CNG */ initFdCngDec( st ); } if ( st->first_CNG == 0 ) { if ( ch == 1 && st->cng_sba_flag ) Loading