Loading lib_dec/ivas_dirac_dec_fx.c +41 −12 Original line number Diff line number Diff line Loading @@ -3706,11 +3706,16 @@ void ivas_dirac_dec_render_sf_fx( test(); IF( ( ( EQ_16( st_ivas->ivas_format, SBA_ISM_FORMAT ) && EQ_16( st_ivas->ism_mode, ISM_SBA_MODE_DISC ) ) && EQ_16( st_ivas->renderer_type, RENDERER_BINAURAL_FASTCONV_ROOM ) ) ) { #ifndef NONBE_FIX_1141_OSBA_ROOM_RENDERING Word16 in_ch; FOR( in_ch = 0; in_ch < st_ivas->nchan_ism; in_ch++ ) { Word16 j, k, j2, l; Word16 num_objects, nchan_out_woLFE, lfe_index; #endif Word16 j, k, l; #ifndef NONBE_FIX_1141_OSBA_ROOM_RENDERING Word16 j2, lfe_index; #endif Word16 num_objects, nchan_out_woLFE; Word16 n_slots_to_render; Word16 n_samples_to_render; #ifndef NONBE_FIX_1141_OSBA_ROOM_RENDERING Loading Loading @@ -3761,10 +3766,15 @@ void ivas_dirac_dec_render_sf_fx( } } #ifdef NONBE_FIX_1141_OSBA_ROOM_RENDERING FOR( j = 0; j < nchan_out_woLFE; j++ ) #else lfe_index = 0; move16(); for ( j = 0, j2 = 0; j < nchan_out_woLFE; j++, j2++ ) #endif { #ifndef NONBE_FIX_1141_OSBA_ROOM_RENDERING test(); IF( ( st_ivas->hIntSetup.num_lfe > 0 && ( EQ_16( st_ivas->hIntSetup.index_lfe[lfe_index], j ) ) ) ) { Loading @@ -3778,6 +3788,7 @@ void ivas_dirac_dec_render_sf_fx( j2 = add( j2, 1 ); } } #endif gain_fx = st_ivas->hIsmRendererData->gains_fx[i][j]; move32(); prev_gain_fx = st_ivas->hIsmRendererData->prev_gains_fx[i][j]; Loading @@ -3804,17 +3815,33 @@ void ivas_dirac_dec_render_sf_fx( g_fx = Madd_32_16( Mpy_32_16_1( gain_fx, *w1_fx ), prev_gain_fx, w2_fx ); // Q15 FOR( l = 0; l < hSpatParamRendCom->num_freq_bands; l++ ) { #ifdef NONBE_FIX_1141_OSBA_ROOM_RENDERING #ifdef FIX_CDLFB_BUFFER_SCALING Cldfb_RealBuffer_fx[j][k][l] = Madd_32_32( Cldfb_RealBuffer_fx[j][k][l], g_fx, L_shl( *tc_re_fx, 1 ) ); #else Cldfb_RealBuffer_fx[j][k][l] = Madd_32_32( Cldfb_RealBuffer_fx[j][k][l], g_fx, *tc_re_fx ); #endif #else #ifdef FIX_CDLFB_BUFFER_SCALING Cldfb_RealBuffer_fx[j2][k][l] = Madd_32_32( Cldfb_RealBuffer_fx[j2][k][l], g_fx, L_shl( *tc_re_fx, 1 ) ); #else Cldfb_RealBuffer_fx[j2][k][l] = Madd_32_32( Cldfb_RealBuffer_fx[j2][k][l], g_fx, *tc_re_fx ); #endif #endif move32(); tc_re_fx++; #ifdef NONBE_FIX_1141_OSBA_ROOM_RENDERING #ifdef FIX_CDLFB_BUFFER_SCALING Cldfb_ImagBuffer_fx[j][k][l] = Madd_32_32( Cldfb_ImagBuffer_fx[j][k][l], g_fx, L_shl( *tc_im_fx, 1 ) ); #else Cldfb_ImagBuffer_fx[j][k][l] = Madd_32_32( Cldfb_ImagBuffer_fx[j][k][l], g_fx, *tc_im_fx ); #endif #else #ifdef FIX_CDLFB_BUFFER_SCALING Cldfb_ImagBuffer_fx[j2][k][l] = Madd_32_32( Cldfb_ImagBuffer_fx[j2][k][l], g_fx, L_shl( *tc_im_fx, 1 ) ); #else Cldfb_ImagBuffer_fx[j2][k][l] = Madd_32_32( Cldfb_ImagBuffer_fx[j2][k][l], g_fx, *tc_im_fx ); #endif #endif move32(); #ifdef FIX_1917_DIRAC_RENDER_PTR_INCR Loading @@ -3835,7 +3862,9 @@ void ivas_dirac_dec_render_sf_fx( } } } #ifndef NONBE_FIX_1141_OSBA_ROOM_RENDERING } #endif #ifdef NONBE_FIX_1141_OSBA_ROOM_RENDERING st_ivas->hIsmRendererData->interp_offset_fx = add( st_ivas->hIsmRendererData->interp_offset_fx, i_mult( hSpatParamRendCom->num_freq_bands, st_ivas->hSpar->subframe_nbslots[st_ivas->hSpar->subframes_rendered] ) ); #endif Loading Loading
lib_dec/ivas_dirac_dec_fx.c +41 −12 Original line number Diff line number Diff line Loading @@ -3706,11 +3706,16 @@ void ivas_dirac_dec_render_sf_fx( test(); IF( ( ( EQ_16( st_ivas->ivas_format, SBA_ISM_FORMAT ) && EQ_16( st_ivas->ism_mode, ISM_SBA_MODE_DISC ) ) && EQ_16( st_ivas->renderer_type, RENDERER_BINAURAL_FASTCONV_ROOM ) ) ) { #ifndef NONBE_FIX_1141_OSBA_ROOM_RENDERING Word16 in_ch; FOR( in_ch = 0; in_ch < st_ivas->nchan_ism; in_ch++ ) { Word16 j, k, j2, l; Word16 num_objects, nchan_out_woLFE, lfe_index; #endif Word16 j, k, l; #ifndef NONBE_FIX_1141_OSBA_ROOM_RENDERING Word16 j2, lfe_index; #endif Word16 num_objects, nchan_out_woLFE; Word16 n_slots_to_render; Word16 n_samples_to_render; #ifndef NONBE_FIX_1141_OSBA_ROOM_RENDERING Loading Loading @@ -3761,10 +3766,15 @@ void ivas_dirac_dec_render_sf_fx( } } #ifdef NONBE_FIX_1141_OSBA_ROOM_RENDERING FOR( j = 0; j < nchan_out_woLFE; j++ ) #else lfe_index = 0; move16(); for ( j = 0, j2 = 0; j < nchan_out_woLFE; j++, j2++ ) #endif { #ifndef NONBE_FIX_1141_OSBA_ROOM_RENDERING test(); IF( ( st_ivas->hIntSetup.num_lfe > 0 && ( EQ_16( st_ivas->hIntSetup.index_lfe[lfe_index], j ) ) ) ) { Loading @@ -3778,6 +3788,7 @@ void ivas_dirac_dec_render_sf_fx( j2 = add( j2, 1 ); } } #endif gain_fx = st_ivas->hIsmRendererData->gains_fx[i][j]; move32(); prev_gain_fx = st_ivas->hIsmRendererData->prev_gains_fx[i][j]; Loading @@ -3804,17 +3815,33 @@ void ivas_dirac_dec_render_sf_fx( g_fx = Madd_32_16( Mpy_32_16_1( gain_fx, *w1_fx ), prev_gain_fx, w2_fx ); // Q15 FOR( l = 0; l < hSpatParamRendCom->num_freq_bands; l++ ) { #ifdef NONBE_FIX_1141_OSBA_ROOM_RENDERING #ifdef FIX_CDLFB_BUFFER_SCALING Cldfb_RealBuffer_fx[j][k][l] = Madd_32_32( Cldfb_RealBuffer_fx[j][k][l], g_fx, L_shl( *tc_re_fx, 1 ) ); #else Cldfb_RealBuffer_fx[j][k][l] = Madd_32_32( Cldfb_RealBuffer_fx[j][k][l], g_fx, *tc_re_fx ); #endif #else #ifdef FIX_CDLFB_BUFFER_SCALING Cldfb_RealBuffer_fx[j2][k][l] = Madd_32_32( Cldfb_RealBuffer_fx[j2][k][l], g_fx, L_shl( *tc_re_fx, 1 ) ); #else Cldfb_RealBuffer_fx[j2][k][l] = Madd_32_32( Cldfb_RealBuffer_fx[j2][k][l], g_fx, *tc_re_fx ); #endif #endif move32(); tc_re_fx++; #ifdef NONBE_FIX_1141_OSBA_ROOM_RENDERING #ifdef FIX_CDLFB_BUFFER_SCALING Cldfb_ImagBuffer_fx[j][k][l] = Madd_32_32( Cldfb_ImagBuffer_fx[j][k][l], g_fx, L_shl( *tc_im_fx, 1 ) ); #else Cldfb_ImagBuffer_fx[j][k][l] = Madd_32_32( Cldfb_ImagBuffer_fx[j][k][l], g_fx, *tc_im_fx ); #endif #else #ifdef FIX_CDLFB_BUFFER_SCALING Cldfb_ImagBuffer_fx[j2][k][l] = Madd_32_32( Cldfb_ImagBuffer_fx[j2][k][l], g_fx, L_shl( *tc_im_fx, 1 ) ); #else Cldfb_ImagBuffer_fx[j2][k][l] = Madd_32_32( Cldfb_ImagBuffer_fx[j2][k][l], g_fx, *tc_im_fx ); #endif #endif move32(); #ifdef FIX_1917_DIRAC_RENDER_PTR_INCR Loading @@ -3835,7 +3862,9 @@ void ivas_dirac_dec_render_sf_fx( } } } #ifndef NONBE_FIX_1141_OSBA_ROOM_RENDERING } #endif #ifdef NONBE_FIX_1141_OSBA_ROOM_RENDERING st_ivas->hIsmRendererData->interp_offset_fx = add( st_ivas->hIsmRendererData->interp_offset_fx, i_mult( hSpatParamRendCom->num_freq_bands, st_ivas->hSpar->subframe_nbslots[st_ivas->hSpar->subframes_rendered] ) ); #endif Loading