Commit db481591 authored by multrus's avatar multrus
Browse files

port float MR1736 to ivas-float-update

parent d221e2a1
Loading
Loading
Loading
Loading
Loading
+26 −9
Original line number Diff line number Diff line
@@ -2241,11 +2241,16 @@ void ivas_dirac_dec_render_sf(
        /* render objects in combined format onto the CICP19 channels for BINAURAL_ROOM_IR */
        if ( st_ivas->ivas_format == SBA_ISM_FORMAT && st_ivas->ism_mode == ISM_SBA_MODE_DISC && st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM )
        {
#ifndef NONBE_FIX_1141_OSBA_ROOM_RENDERING
            int16_t in_ch;
            for ( in_ch = 0; in_ch < st_ivas->nchan_ism; in_ch++ )
            {
                int16_t j, k, j2, l;
                int16_t num_objects, nchan_out_woLFE, lfe_index;
#endif
                int16_t j, k, l;
#ifndef NONBE_FIX_1141_OSBA_ROOM_RENDERING
                int16_t j2, lfe_index;
#endif
                int16_t num_objects, nchan_out_woLFE;
                int16_t az1, el1;
                int16_t n_slots_to_render;
                int16_t n_samples_to_render;
@@ -2284,14 +2289,19 @@ void ivas_dirac_dec_render_sf(
                        }
                    }

#ifdef NONBE_FIX_1141_OSBA_ROOM_RENDERING
                    for ( j = 0; j < nchan_out_woLFE; j++ )
#else
                lfe_index = 0;
                for ( j = 0, j2 = 0; j < nchan_out_woLFE; j++, j2++ )
#endif
                    {
#ifndef NONBE_FIX_1141_OSBA_ROOM_RENDERING
                        if ( ( st_ivas->hIntSetup.num_lfe > 0 ) && ( st_ivas->hIntSetup.index_lfe[lfe_index] == j ) )
                        {
                            ( lfe_index < ( st_ivas->hIntSetup.num_lfe - 1 ) ) ? ( lfe_index++, j2++ ) : j2++;
                        }

#endif
                        gain = st_ivas->hIsmRendererData->gains[i][j];
                        prev_gain = st_ivas->hIsmRendererData->prev_gains[i][j];
                        if ( fabsf( gain ) > 0.0f || fabsf( prev_gain ) > 0.0f )
@@ -2317,8 +2327,13 @@ void ivas_dirac_dec_render_sf(

                                for ( l = 0; l < hSpatParamRendCom->num_freq_bands; l++ )
                                {
#ifdef NONBE_FIX_1141_OSBA_ROOM_RENDERING
                                    Cldfb_RealBuffer[j][k][l] += g * *( tc_re++ );
                                    Cldfb_ImagBuffer[j][k][l] += g * *( tc_im++ );
#else
                                Cldfb_RealBuffer[j2][k][l] += g * *( tc_re++ );
                                Cldfb_ImagBuffer[j2][k][l] += g * *( tc_im++ );
#endif
                                }
                                w1 += hSpatParamRendCom->num_freq_bands;
                            }
@@ -2331,7 +2346,9 @@ void ivas_dirac_dec_render_sf(
                        }
                    }
                }
#ifndef NONBE_FIX_1141_OSBA_ROOM_RENDERING
            }
#endif
#ifdef NONBE_FIX_1141_OSBA_ROOM_RENDERING
            st_ivas->hIsmRendererData->interp_offset += hSpatParamRendCom->num_freq_bands * st_ivas->hSpar->subframe_nbslots[st_ivas->hSpar->subframes_rendered];
#endif