Loading lib_com/ivas_prot.h +4 −14 Original line number Diff line number Diff line Loading @@ -283,7 +283,7 @@ uint32_t ivas_syn_output( int16_t *synth_out /* o : integer 16 bits synthesis signal */ ); #ifdef FLOAT_TSM #ifdef JBM_TSM_ON_TCS void ivas_syn_output_f( float *synth[], /* i/o: float synthesis signal */ const int16_t output_frame, /* i : output frame length (one channel) */ Loading Loading @@ -818,11 +818,7 @@ void dtx_read_padding_bits( ivas_error ivas_jbm_dec_tc( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ #ifdef FLOAT_TSM float *data /* o : output synthesis signal */ #else int16_t *data /* o : output synthesis signal */ #endif ); ivas_error ivas_jbm_dec_render( Loading @@ -830,8 +826,7 @@ ivas_error ivas_jbm_dec_render( const uint16_t nSamplesAsked, /* i : number of samples wanted */ uint16_t *nSamplesRendered, /* o : number of samples rendered */ uint16_t *nSamplesAvailableNext, /* o : number of samples still available in the rendering pipeline */ int16_t *data, /* o : output synthesis signal */ float *cldfbData /* o : synthesis signal in the CLDFB domain */ int16_t *data /* o : output synthesis signal */ ); ivas_error ivas_jbm_dec_flush_renderer( Loading @@ -850,16 +845,11 @@ ivas_error ivas_jbm_dec_feed_tc_to_renderer( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ const int16_t nSamplesForRendering, /* i: : number of TC samples available for rendering */ int16_t *nSamplesResidual, /* o: : number of samples not fitting into the renderer grid and buffer for the next call*/ #ifdef FLOAT_TSM float *data /* i/o: transport channels/output synthesis signal */ #else int16_t *data /* i/o: transport channels/output synthesis signal */ #endif ); ivas_error ivas_jbm_dec_set_discard_samples( Decoder_Struct *st_ivas, /* i/o: main IVAS decoder structre */ const int16_t tc_granularity_new /* i : new renderer granularitx */ Decoder_Struct *st_ivas /* i/o: main IVAS decoder structre */ ); void ivas_jbm_dec_get_adapted_linear_interpolator( Loading lib_com/ivas_tools.c +2 −2 Original line number Diff line number Diff line Loading @@ -163,9 +163,9 @@ uint32_t ivas_syn_output( return noClipping; } #ifdef FLOAT_TSM #ifdef JBM_TSM_ON_TCS /*-------------------------------------------------------------------* * ivas_syn_output() * ivas_syn_output_f() * * Output ivas synthesis signal with compensation for saturation * returns number of clipped samples Loading lib_com/options.h +2 −1 Original line number Diff line number Diff line Loading @@ -159,12 +159,13 @@ #define FIX_310_TD_REND_DELAY /* Adding HRTF delay being read from ROM/Binary file, fix rounding for delay compensation in renderer */ #define FIX_334_DEBUG_BE_STEREO_SWITCHING /* FhG: Fix non-BE issue for stereo switching when DEBUGGING is enabled */ #define FIX_XXX_JBM_FIFO_BUFFER /* FhG: prevent wraparound of a length identifier in cause of large frames and many channels*/ #define VARIABLE_SPEED_DECODING /* FhG: variable speed decoding employing the JBM functioniality */ #define JBM_TSM_ON_TCS /* FhG: run the TSM part of JBM on the TCs instead of the final output pcm waveforms */ #ifdef JBM_TSM_ON_TCS #define TEST_BIN_RENDERER_BE #define TMP_FIX_ISM_BR_SWITCHING /* */ /*#define JBM_DIRAC_DEBUG_BE*/ #define FLOAT_TSM /* FhG: WSOLA TSM on float values instead of 16 bit PCM */ #endif /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ Loading lib_com/tools.c +1 −1 Original line number Diff line number Diff line Loading @@ -391,7 +391,7 @@ uint32_t mvr2s( return 0; } #ifdef FLOAT_TSM #ifdef JBM_TSM_ON_TCS if ( (void *) y <= (const void *) x ) #else if ( (void *) y < (const void *) x ) Loading lib_dec/ivas_ism_param_dec.c +14 −1 Original line number Diff line number Diff line Loading @@ -1691,12 +1691,19 @@ static ivas_error ivas_ism_bitrate_switching( IVAS_OUTPUT_SETUP hIntSetupOld; RENDERER_TYPE renderer_type_old; #endif #ifdef TMP_FIX_ISM_BR_SWITCHING int16_t numCldfbAnalyses_old, numCldfbSyntheses_old; #endif error = IVAS_ERR_OK; nCPE_old = st_ivas->nCPE; nSCE_old = st_ivas->nSCE; #ifdef TMP_FIX_ISM_BR_SWITCHING ivas_init_dec_get_num_cldfb_instances( st_ivas, &numCldfbAnalyses_old, &numCldfbSyntheses_old ); #endif ivas_ism_config( st_ivas->hDecoderConfig->ivas_total_brate, st_ivas->nchan_transport, num_obj, NULL, NULL, NULL, element_brate_tmp, NULL, NULL ); st_ivas->nSCE = st_ivas->nchan_transport; Loading Loading @@ -1747,7 +1754,7 @@ static ivas_error ivas_ism_bitrate_switching( /* JBM: when granularity goes up set samples to discard at the beginning of the frame */ else if ( tc_granularity_new > st_ivas->hTcBuffer->n_samples_granularity ) { if ( ( error = ivas_jbm_dec_set_discard_samples( st_ivas, tc_granularity_new ) ) != IVAS_ERR_OK ) if ( ( error = ivas_jbm_dec_set_discard_samples( st_ivas ) ) != IVAS_ERR_OK ) { return error; } Loading Loading @@ -1878,7 +1885,13 @@ static ivas_error ivas_ism_bitrate_switching( #endif } } #ifdef TMP_FIX_ISM_BR_SWITCHING /*-----------------------------------------------------------------* * CLDFB instances *-----------------------------------------------------------------*/ ivas_cldfb_dec_reconfig( st_ivas, nchan_transport_old, numCldfbAnalyses_old, numCldfbSyntheses_old ); #endif #ifdef JBM_TSM_ON_TCS /*-----------------------------------------------------------------* * Reconfigure TC buffer Loading Loading
lib_com/ivas_prot.h +4 −14 Original line number Diff line number Diff line Loading @@ -283,7 +283,7 @@ uint32_t ivas_syn_output( int16_t *synth_out /* o : integer 16 bits synthesis signal */ ); #ifdef FLOAT_TSM #ifdef JBM_TSM_ON_TCS void ivas_syn_output_f( float *synth[], /* i/o: float synthesis signal */ const int16_t output_frame, /* i : output frame length (one channel) */ Loading Loading @@ -818,11 +818,7 @@ void dtx_read_padding_bits( ivas_error ivas_jbm_dec_tc( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ #ifdef FLOAT_TSM float *data /* o : output synthesis signal */ #else int16_t *data /* o : output synthesis signal */ #endif ); ivas_error ivas_jbm_dec_render( Loading @@ -830,8 +826,7 @@ ivas_error ivas_jbm_dec_render( const uint16_t nSamplesAsked, /* i : number of samples wanted */ uint16_t *nSamplesRendered, /* o : number of samples rendered */ uint16_t *nSamplesAvailableNext, /* o : number of samples still available in the rendering pipeline */ int16_t *data, /* o : output synthesis signal */ float *cldfbData /* o : synthesis signal in the CLDFB domain */ int16_t *data /* o : output synthesis signal */ ); ivas_error ivas_jbm_dec_flush_renderer( Loading @@ -850,16 +845,11 @@ ivas_error ivas_jbm_dec_feed_tc_to_renderer( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ const int16_t nSamplesForRendering, /* i: : number of TC samples available for rendering */ int16_t *nSamplesResidual, /* o: : number of samples not fitting into the renderer grid and buffer for the next call*/ #ifdef FLOAT_TSM float *data /* i/o: transport channels/output synthesis signal */ #else int16_t *data /* i/o: transport channels/output synthesis signal */ #endif ); ivas_error ivas_jbm_dec_set_discard_samples( Decoder_Struct *st_ivas, /* i/o: main IVAS decoder structre */ const int16_t tc_granularity_new /* i : new renderer granularitx */ Decoder_Struct *st_ivas /* i/o: main IVAS decoder structre */ ); void ivas_jbm_dec_get_adapted_linear_interpolator( Loading
lib_com/ivas_tools.c +2 −2 Original line number Diff line number Diff line Loading @@ -163,9 +163,9 @@ uint32_t ivas_syn_output( return noClipping; } #ifdef FLOAT_TSM #ifdef JBM_TSM_ON_TCS /*-------------------------------------------------------------------* * ivas_syn_output() * ivas_syn_output_f() * * Output ivas synthesis signal with compensation for saturation * returns number of clipped samples Loading
lib_com/options.h +2 −1 Original line number Diff line number Diff line Loading @@ -159,12 +159,13 @@ #define FIX_310_TD_REND_DELAY /* Adding HRTF delay being read from ROM/Binary file, fix rounding for delay compensation in renderer */ #define FIX_334_DEBUG_BE_STEREO_SWITCHING /* FhG: Fix non-BE issue for stereo switching when DEBUGGING is enabled */ #define FIX_XXX_JBM_FIFO_BUFFER /* FhG: prevent wraparound of a length identifier in cause of large frames and many channels*/ #define VARIABLE_SPEED_DECODING /* FhG: variable speed decoding employing the JBM functioniality */ #define JBM_TSM_ON_TCS /* FhG: run the TSM part of JBM on the TCs instead of the final output pcm waveforms */ #ifdef JBM_TSM_ON_TCS #define TEST_BIN_RENDERER_BE #define TMP_FIX_ISM_BR_SWITCHING /* */ /*#define JBM_DIRAC_DEBUG_BE*/ #define FLOAT_TSM /* FhG: WSOLA TSM on float values instead of 16 bit PCM */ #endif /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ Loading
lib_com/tools.c +1 −1 Original line number Diff line number Diff line Loading @@ -391,7 +391,7 @@ uint32_t mvr2s( return 0; } #ifdef FLOAT_TSM #ifdef JBM_TSM_ON_TCS if ( (void *) y <= (const void *) x ) #else if ( (void *) y < (const void *) x ) Loading
lib_dec/ivas_ism_param_dec.c +14 −1 Original line number Diff line number Diff line Loading @@ -1691,12 +1691,19 @@ static ivas_error ivas_ism_bitrate_switching( IVAS_OUTPUT_SETUP hIntSetupOld; RENDERER_TYPE renderer_type_old; #endif #ifdef TMP_FIX_ISM_BR_SWITCHING int16_t numCldfbAnalyses_old, numCldfbSyntheses_old; #endif error = IVAS_ERR_OK; nCPE_old = st_ivas->nCPE; nSCE_old = st_ivas->nSCE; #ifdef TMP_FIX_ISM_BR_SWITCHING ivas_init_dec_get_num_cldfb_instances( st_ivas, &numCldfbAnalyses_old, &numCldfbSyntheses_old ); #endif ivas_ism_config( st_ivas->hDecoderConfig->ivas_total_brate, st_ivas->nchan_transport, num_obj, NULL, NULL, NULL, element_brate_tmp, NULL, NULL ); st_ivas->nSCE = st_ivas->nchan_transport; Loading Loading @@ -1747,7 +1754,7 @@ static ivas_error ivas_ism_bitrate_switching( /* JBM: when granularity goes up set samples to discard at the beginning of the frame */ else if ( tc_granularity_new > st_ivas->hTcBuffer->n_samples_granularity ) { if ( ( error = ivas_jbm_dec_set_discard_samples( st_ivas, tc_granularity_new ) ) != IVAS_ERR_OK ) if ( ( error = ivas_jbm_dec_set_discard_samples( st_ivas ) ) != IVAS_ERR_OK ) { return error; } Loading Loading @@ -1878,7 +1885,13 @@ static ivas_error ivas_ism_bitrate_switching( #endif } } #ifdef TMP_FIX_ISM_BR_SWITCHING /*-----------------------------------------------------------------* * CLDFB instances *-----------------------------------------------------------------*/ ivas_cldfb_dec_reconfig( st_ivas, nchan_transport_old, numCldfbAnalyses_old, numCldfbSyntheses_old ); #endif #ifdef JBM_TSM_ON_TCS /*-----------------------------------------------------------------* * Reconfigure TC buffer Loading