diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index d05817443d721c58f7474044e547beb201260aaf..5a3d62745498bb25433a1fff343581d377324e87 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -1148,7 +1148,7 @@ void ivas_param_ism_dec_render( const uint16_t nSamplesAsked, /* i : number of CLDFB slots requested */ uint16_t *nSamplesRendered, /* o : number of CLDFB slots rendered */ uint16_t *nSamplesAvailable, /* o : number of CLDFB slots still to render */ - float *output_f[] /* o : rendered time signal */ + float *output_f[] /* i/o: synthesized core-coder TCs / rendered signal*/ ); void ivas_param_ism_params_to_masa_param_mapping( diff --git a/lib_dec/ivas_ism_param_dec.c b/lib_dec/ivas_ism_param_dec.c index 0c51b5216bf6c8cfacb4e031ff114a5e675ae013..0e27f96377878582759985e1b3ebc60bd1b4f817 100644 --- a/lib_dec/ivas_ism_param_dec.c +++ b/lib_dec/ivas_ism_param_dec.c @@ -1165,11 +1165,11 @@ static void ivas_ism_param_dec_render_sf( *-------------------------------------------------------------------------*/ void ivas_param_ism_dec_render( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ - const uint16_t nSamplesAsked, /* i : number of CLDFB slots requested */ - uint16_t *nSamplesRendered, /* o : number of CLDFB slots rendered */ - uint16_t *nSamplesAvailableNext, /* o : number of CLDFB slots still to render */ - float *output_f[] /* o : rendered time signal */ + Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ + const uint16_t nSamplesAsked, /* i : number of CLDFB slots requested */ + uint16_t *nSamplesRendered, /* o : number of CLDFB slots rendered */ + uint16_t *nSamplesAvailableNext, /* o : number of CLDFB slots still to render */ + float *output_f[] /* i/o: synthesized core-coder TCs / rendered signal */ ) { int16_t ch, slots_to_render, first_sf, last_sf, subframe_idx; diff --git a/lib_dec/ivas_mc_param_dec.c b/lib_dec/ivas_mc_param_dec.c index fb1acc52aeffdee21169fa25a13a4fc00a5e0016..18c8fe37219bdd89a5fd49a8acec0b4e759fb5c7 100644 --- a/lib_dec/ivas_mc_param_dec.c +++ b/lib_dec/ivas_mc_param_dec.c @@ -654,7 +654,6 @@ ivas_error ivas_param_mc_dec_reconfig( float *ild_q_old = hParamMC->icld_q; float *icc_q_old = hParamMC->icc_q; - /* init arrays for the quantized parameters */ if ( ( hParamMC->icc_q = (float *) malloc( hParamMC->hMetadataPMC->num_parameter_bands * hParamMC->hMetadataPMC->icc_mapping_conf->icc_map_size_lfe * sizeof( float ) ) ) == NULL ) { @@ -724,7 +723,6 @@ ivas_error ivas_param_mc_dec_reconfig( *-----------------------------------------------------------------*/ /* prototype signal computation */ - if ( hParamMC->synthesis_conf == PARAM_MC_SYNTH_MONO_STEREO ) { if ( nchan_transport_old != nchan_transport ) @@ -750,8 +748,8 @@ ivas_error ivas_param_mc_dec_reconfig( mvr2r( st_ivas->hLsSetUpConversion->dmxMtx[k], &hParamMC->ls_conv_dmx_matrix[k * nchan_out_cov], nchan_out_cov ); } } - /* convert ParamMC parameter bands to SFB */ + /* convert ParamMC parameter bands to SFB */ st_ivas->hLsSetUpConversion->sfbCnt = hParamMC->num_param_bands_synth; for ( k = 0; k <= hParamMC->num_param_bands_synth; k++ ) { @@ -956,7 +954,6 @@ ivas_error ivas_param_mc_dec_reconfig( set_zero( hParamMC->proto_frame_f, 2 * hParamMC->diff_proto_info->num_protos_diff * hParamMC->num_freq_bands ); } - if ( nchan_transport_old != nchan_transport ) { if ( hParamMC->synthesis_conf != PARAM_MC_SYNTH_MONO_STEREO ) @@ -1005,6 +1002,7 @@ ivas_error ivas_param_mc_dec_reconfig( } } } + return error; } @@ -1391,8 +1389,6 @@ void ivas_param_mc_dec_prepare_renderer( hParamMC = st_ivas->hParamMC; assert( hParamMC ); - push_wmops( "param_mc_dec_digest_tc" ); - set_s( channel_active, 0, MAX_LS_CHANNELS ); nchan_transport = st_ivas->nchan_transport; nchan_out_transport = st_ivas->hTransSetup.nchan_out_woLFE + st_ivas->hTransSetup.num_lfe; @@ -1508,7 +1504,6 @@ void ivas_param_mc_dec_prepare_renderer( mvr2r( cx, cx_next_band, nchan_transport * nchan_transport ); } - for ( is_next_band = 0; is_next_band < 2; is_next_band++ ) { if ( is_next_band && skip_next_band ) @@ -1530,8 +1525,6 @@ void ivas_param_mc_dec_prepare_renderer( } } - pop_wmops(); - return; } @@ -2434,6 +2427,7 @@ static void ivas_param_mc_get_mixing_matrices( diag_matrix_product( Cy_diag, nY_band, proto_matrix_ptr, nY_band, nX, 0, mixing_matrix_local ); } + if ( remove_lfe ) { set_zero( mixing_matrix[param_band_idx], nX * nY_cov ); diff --git a/lib_dec/lib_dec.c b/lib_dec/lib_dec.c index d8a602beb091edc727cf3211d122c4be7c22f721..ff312ddfe416163aa791761b8eaab1fcf6f5c4c6 100644 --- a/lib_dec/lib_dec.c +++ b/lib_dec/lib_dec.c @@ -1501,11 +1501,6 @@ ivas_error IVAS_DEC_SetEditableParameters( return IVAS_ERROR( IVAS_ERR_OBJECTS_EDITING_NOT_SUPPORTED, "Object editing no supported in this operation mode." ); } - if ( hIvasDec == NULL || hIvasDec->st_ivas == NULL ) - { - return IVAS_ERR_UNEXPECTED_NULL_POINTER; - } - if ( st_ivas->ivas_format == ISM_FORMAT || st_ivas->ivas_format == SBA_ISM_FORMAT ) { if ( ism_mode == ISM_MODE_DISC || ism_mode == ISM_SBA_MODE_DISC )