Commit bb8276e5 authored by Dominik Weckbecker's avatar Dominik Weckbecker 💬
Browse files

improve object panning code in DirAC decoder

parent 7b879bdb
Loading
Loading
Loading
Loading
+10 −6
Original line number Diff line number Diff line
@@ -2467,21 +2467,25 @@ void ivas_dirac_dec_render_sf(
                        if ( fabsf( gain ) > 0.0f || fabsf( prev_gain ) > 0.0f )
                        {
                            float *tc_re, *tc_im;
                            float *g1, g2;
                            float *w1, w2;

                            g1 = &st_ivas->hIsmRendererData->interpolator[interp_offset];
                            w1 = &st_ivas->hIsmRendererData->interpolator[interp_offset];
                            tc_re = pppQMfFrame_ts_re[nchan_transport + i][0];
                            tc_im = pppQMfFrame_ts_im[nchan_transport + i][0];

                            for ( k = 0; k < n_slots_to_render; k++ )
                            {
                                g2 = 1.0f - *g1;
                                float g;

                                w2 = 1.0f - *w1;
                                g = ( *w1 * gain + w2 * prev_gain );

                                for ( l = 0; l < hSpatParamRendCom->num_freq_bands; l++ )
                                {
                                    Cldfb_RealBuffer[j2][0][k * hSpatParamRendCom->num_freq_bands + l] += ( *g1 * gain + g2 * prev_gain ) * *( tc_re++ );
                                    Cldfb_ImagBuffer[j2][0][k * hSpatParamRendCom->num_freq_bands + l] += ( *g1 * gain + g2 * prev_gain ) * *( tc_im++ );
                                    Cldfb_RealBuffer[j2][0][k * hSpatParamRendCom->num_freq_bands + l] += g * *( tc_re++ );
                                    Cldfb_ImagBuffer[j2][0][k * hSpatParamRendCom->num_freq_bands + l] += g * *( tc_im++ );
                                }
                                g1 += hSpatParamRendCom->num_freq_bands;
                                w1 += hSpatParamRendCom->num_freq_bands;
                            }
                        }