Loading lib_dec/ivas_ism_renderer_fx.c +5 −4 Original line number Diff line number Diff line Loading @@ -172,10 +172,11 @@ void ivas_ism_render_sf_fx( Word32 tc_local_fx[MAX_NUM_OBJECTS][L_FRAME48k]; Word32 *p_tc_fx[MAX_NUM_OBJECTS]; #ifdef NONBE_FIX_968_ISM_BRIR_WITH_HEADROTATION_5MS_FIX Word16 slots_to_render; Word16 ism_md_subframe_update_jbm, slots_to_render, first_sf, last_sf, subframe_idx; Word16 n_samples_rendered_loop; /* loop for synthesis, assume we always have to render in multiples of 5ms subframes with spills */ slots_to_render = MIN( sub( st_ivas->hTcBuffer->num_slots, st_ivas->hTcBuffer->slots_rendered ), n_samples_to_render / st_ivas->hTcBuffer->n_samples_granularity ); slots_to_render = s_min( sub( st_ivas->hTcBuffer->num_slots, st_ivas->hTcBuffer->slots_rendered ), n_samples_to_render / st_ivas->hTcBuffer->n_samples_granularity ); first_sf = st_ivas->hTcBuffer->subframes_rendered; move16(); last_sf = first_sf; Loading Loading @@ -210,7 +211,7 @@ void ivas_ism_render_sf_fx( /* Number of subframes to delay metadata to sync with audio */ IF( st_ivas->hDecoderConfig->Opt_delay_comp ) { ism_md_subframe_update_jbm = MAX( 0, sub( st_ivas->hTcBuffer->nb_subframes, 3 ) ); ism_md_subframe_update_jbm = s_max( 0, sub( st_ivas->hTcBuffer->nb_subframes, 3 ) ); } ELSE { Loading Loading @@ -266,7 +267,7 @@ void ivas_ism_render_sf_fx( IF( st_ivas->hCombinedOrientationData != NULL && EQ_16( st_ivas->hCombinedOrientationData->enableCombinedOrientation[st_ivas->hCombinedOrientationData->subframe_idx], 1 ) ) { #ifdef NONBE_FIX_968_ISM_BRIR_WITH_HEADROTATION_5MS_FIX if ( GE_16( subframe_idxm ism_md_subframe_update_jbm ) ) if ( GE_16( subframe_idx, ism_md_subframe_update_jbm ) ) { rotateAziEle_fx( extract_l( L_shr( st_ivas->hIsmMetaData[i]->azimuth_fx, 22 ) ), extract_l( L_shr( st_ivas->hIsmMetaData[i]->elevation_fx, 22 ) ), &azimuth, &elevation, st_ivas->hCombinedOrientationData->Rmat_fx[st_ivas->hCombinedOrientationData->subframe_idx], st_ivas->hIntSetup.is_planar_setup ); } Loading Loading
lib_dec/ivas_ism_renderer_fx.c +5 −4 Original line number Diff line number Diff line Loading @@ -172,10 +172,11 @@ void ivas_ism_render_sf_fx( Word32 tc_local_fx[MAX_NUM_OBJECTS][L_FRAME48k]; Word32 *p_tc_fx[MAX_NUM_OBJECTS]; #ifdef NONBE_FIX_968_ISM_BRIR_WITH_HEADROTATION_5MS_FIX Word16 slots_to_render; Word16 ism_md_subframe_update_jbm, slots_to_render, first_sf, last_sf, subframe_idx; Word16 n_samples_rendered_loop; /* loop for synthesis, assume we always have to render in multiples of 5ms subframes with spills */ slots_to_render = MIN( sub( st_ivas->hTcBuffer->num_slots, st_ivas->hTcBuffer->slots_rendered ), n_samples_to_render / st_ivas->hTcBuffer->n_samples_granularity ); slots_to_render = s_min( sub( st_ivas->hTcBuffer->num_slots, st_ivas->hTcBuffer->slots_rendered ), n_samples_to_render / st_ivas->hTcBuffer->n_samples_granularity ); first_sf = st_ivas->hTcBuffer->subframes_rendered; move16(); last_sf = first_sf; Loading Loading @@ -210,7 +211,7 @@ void ivas_ism_render_sf_fx( /* Number of subframes to delay metadata to sync with audio */ IF( st_ivas->hDecoderConfig->Opt_delay_comp ) { ism_md_subframe_update_jbm = MAX( 0, sub( st_ivas->hTcBuffer->nb_subframes, 3 ) ); ism_md_subframe_update_jbm = s_max( 0, sub( st_ivas->hTcBuffer->nb_subframes, 3 ) ); } ELSE { Loading Loading @@ -266,7 +267,7 @@ void ivas_ism_render_sf_fx( IF( st_ivas->hCombinedOrientationData != NULL && EQ_16( st_ivas->hCombinedOrientationData->enableCombinedOrientation[st_ivas->hCombinedOrientationData->subframe_idx], 1 ) ) { #ifdef NONBE_FIX_968_ISM_BRIR_WITH_HEADROTATION_5MS_FIX if ( GE_16( subframe_idxm ism_md_subframe_update_jbm ) ) if ( GE_16( subframe_idx, ism_md_subframe_update_jbm ) ) { rotateAziEle_fx( extract_l( L_shr( st_ivas->hIsmMetaData[i]->azimuth_fx, 22 ) ), extract_l( L_shr( st_ivas->hIsmMetaData[i]->elevation_fx, 22 ) ), &azimuth, &elevation, st_ivas->hCombinedOrientationData->Rmat_fx[st_ivas->hCombinedOrientationData->subframe_idx], st_ivas->hIntSetup.is_planar_setup ); } Loading