Loading lib_com/ivas_prot.h +3 −0 Original line number Diff line number Diff line Loading @@ -5174,6 +5174,9 @@ void ivas_binaural_cldfb( void ivas_binaural_cldfb_sf( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ const int16_t n_samples_to_render, /* i : output frame length per channel */ #ifdef JBM_PARAMUPMIX const int16_t slot_size, /* i : JBM slot size */ #endif float *output_f[] /* i/o: synthesized core-coder transport channels/DirAC output */ ); Loading lib_dec/ivas_binRenderer_internal.c +9 −0 Original line number Diff line number Diff line Loading @@ -1027,6 +1027,9 @@ void ivas_binaural_cldfb( void ivas_binaural_cldfb_sf( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ const int16_t n_samples_to_render, /* i : output frame length per channel */ #ifdef JBM_PARAMUPMIX const int16_t slot_size, /* i : JBM slot size */ #endif float *output_f[] /* i/o: synthesized core-coder transport channels/DirAC output */ ) { Loading @@ -1035,12 +1038,18 @@ void ivas_binaural_cldfb_sf( float Cldfb_RealBuffer_Binaural[BINAURAL_CHANNELS][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX]; float Cldfb_ImagBuffer_Binaural[BINAURAL_CHANNELS][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX]; int16_t slot_idx, subframeIdx, index_slot, idx_in, idx_lfe, maxBand, ch; #ifdef JBM_PARAMUPMIX int16_t slots_to_render, first_sf, last_sf; #else int16_t slot_size, slots_to_render, first_sf, last_sf; #endif int16_t slot_index_start, slot_index_start_cldfb; /* Implement a 5 msec loops */ maxBand = (int16_t) ( ( CLDFB_NO_CHANNELS_MAX * st_ivas->hDecoderConfig->output_Fs ) / 48000 ); #ifndef JBM_PARAMUPMIX slot_size = st_ivas->hTcBuffer->nb_subframes; #endif /* loop for synthesis, assume we always have to render in multiples of 5ms subframes with spills */ slots_to_render = min( st_ivas->hTcBuffer->num_slots - st_ivas->hTcBuffer->slots_rendered, n_samples_to_render / slot_size ); Loading lib_dec/ivas_jbm_dec.c +4 −0 Original line number Diff line number Diff line Loading @@ -797,7 +797,11 @@ ivas_error ivas_jbm_dec_render( #ifdef DEBUGGING else if ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM ) { #ifdef JBM_PARAMUPMIX ivas_binaural_cldfb_sf( st_ivas, *nSamplesRendered, st_ivas->hTcBuffer->nb_subframes, p_output ); #else ivas_binaural_cldfb_sf( st_ivas, *nSamplesRendered, p_output ); #endif } #endif } Loading lib_dec/ivas_mc_paramupmix_dec.c +1 −1 Original line number Diff line number Diff line Loading @@ -387,7 +387,7 @@ void ivas_mc_paramupmix_dec_render( /* Implement binaural rendering */ if ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM ) { ivas_binaural_cldfb_sf( st_ivas, *nSamplesRendered, output_f_local ); ivas_binaural_cldfb_sf( st_ivas, *nSamplesRendered, slot_size, output_f_local ); } else { Loading Loading
lib_com/ivas_prot.h +3 −0 Original line number Diff line number Diff line Loading @@ -5174,6 +5174,9 @@ void ivas_binaural_cldfb( void ivas_binaural_cldfb_sf( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ const int16_t n_samples_to_render, /* i : output frame length per channel */ #ifdef JBM_PARAMUPMIX const int16_t slot_size, /* i : JBM slot size */ #endif float *output_f[] /* i/o: synthesized core-coder transport channels/DirAC output */ ); Loading
lib_dec/ivas_binRenderer_internal.c +9 −0 Original line number Diff line number Diff line Loading @@ -1027,6 +1027,9 @@ void ivas_binaural_cldfb( void ivas_binaural_cldfb_sf( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ const int16_t n_samples_to_render, /* i : output frame length per channel */ #ifdef JBM_PARAMUPMIX const int16_t slot_size, /* i : JBM slot size */ #endif float *output_f[] /* i/o: synthesized core-coder transport channels/DirAC output */ ) { Loading @@ -1035,12 +1038,18 @@ void ivas_binaural_cldfb_sf( float Cldfb_RealBuffer_Binaural[BINAURAL_CHANNELS][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX]; float Cldfb_ImagBuffer_Binaural[BINAURAL_CHANNELS][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX]; int16_t slot_idx, subframeIdx, index_slot, idx_in, idx_lfe, maxBand, ch; #ifdef JBM_PARAMUPMIX int16_t slots_to_render, first_sf, last_sf; #else int16_t slot_size, slots_to_render, first_sf, last_sf; #endif int16_t slot_index_start, slot_index_start_cldfb; /* Implement a 5 msec loops */ maxBand = (int16_t) ( ( CLDFB_NO_CHANNELS_MAX * st_ivas->hDecoderConfig->output_Fs ) / 48000 ); #ifndef JBM_PARAMUPMIX slot_size = st_ivas->hTcBuffer->nb_subframes; #endif /* loop for synthesis, assume we always have to render in multiples of 5ms subframes with spills */ slots_to_render = min( st_ivas->hTcBuffer->num_slots - st_ivas->hTcBuffer->slots_rendered, n_samples_to_render / slot_size ); Loading
lib_dec/ivas_jbm_dec.c +4 −0 Original line number Diff line number Diff line Loading @@ -797,7 +797,11 @@ ivas_error ivas_jbm_dec_render( #ifdef DEBUGGING else if ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM ) { #ifdef JBM_PARAMUPMIX ivas_binaural_cldfb_sf( st_ivas, *nSamplesRendered, st_ivas->hTcBuffer->nb_subframes, p_output ); #else ivas_binaural_cldfb_sf( st_ivas, *nSamplesRendered, p_output ); #endif } #endif } Loading
lib_dec/ivas_mc_paramupmix_dec.c +1 −1 Original line number Diff line number Diff line Loading @@ -387,7 +387,7 @@ void ivas_mc_paramupmix_dec_render( /* Implement binaural rendering */ if ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM ) { ivas_binaural_cldfb_sf( st_ivas, *nSamplesRendered, output_f_local ); ivas_binaural_cldfb_sf( st_ivas, *nSamplesRendered, slot_size, output_f_local ); } else { Loading