Commit 6dc017c8 authored by Sandesh Venkatesh's avatar Sandesh Venkatesh
Browse files

Merge branch 'renderer_crash_fix' into 'main'

Fix for LTV renderer crashes

See merge request !1087
parents 610e9393 bc4349ed
Loading
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -1854,8 +1854,8 @@ static ivas_error ivas_rend_crendConvolver(

                    FOR( k = 0; k < pCrend->hHrtfCrend->pIndex_frequency_max[i][j][m]; k++ )
                    {
                        tmp_out_re[k] = L_add( L_shl( Msub_32_32( Mpy_32_32( pFreq_buf_re[k], pFreq_filt_re[k] ), pFreq_buf_im[k], pFreq_filt_im[k] ), 2 ), tmp_out_re[k] ); // Qx
                        tmp_out_im[k] = L_add( L_shl( Madd_32_32( Mpy_32_32( pFreq_buf_re[k], pFreq_filt_im[k] ), pFreq_buf_im[k], pFreq_filt_re[k] ), 2 ), tmp_out_im[k] ); // Qx
                        tmp_out_re[k] = L_add( Msub_32_32( Mpy_32_32( pFreq_buf_re[k], pFreq_filt_re[k] ), pFreq_buf_im[k], pFreq_filt_im[k] ), tmp_out_re[k] ); // Qx - 2
                        tmp_out_im[k] = L_add( Madd_32_32( Mpy_32_32( pFreq_buf_re[k], pFreq_filt_im[k] ), pFreq_buf_im[k], pFreq_filt_re[k] ), tmp_out_im[k] ); // Qx - 2
                        move32();
                        move32();
                    }
@@ -1879,8 +1879,8 @@ static ivas_error ivas_rend_crendConvolver(
            pFreq_filt_im = &pCrend->hHrtfCrend->pOut_to_bin_diffuse_im_fx[j][offset]; // Q31
            FOR( k = 0; k < pCrend->hHrtfCrend->pIndex_frequency_max_diffuse[j][m]; k++ )
            {
                tmp_out_re[k] = L_add( Msub_32_32( Mpy_32_32( pFreq_buf_re[k], pFreq_filt_re[k] ), pFreq_buf_im[k], pFreq_filt_im[k] ), tmp_out_re[k] ); // Qx
                tmp_out_im[k] = L_add( Madd_32_32( Mpy_32_32( pFreq_buf_re[k], pFreq_filt_im[k] ), pFreq_buf_im[k], pFreq_filt_re[k] ), tmp_out_im[k] ); // Qx
                tmp_out_re[k] = L_add( L_shr( Msub_32_32( Mpy_32_32( pFreq_buf_re[k], pFreq_filt_re[k] ), pFreq_buf_im[k], pFreq_filt_im[k] ), 2 ), tmp_out_re[k] ); // Qx - 2
                tmp_out_im[k] = L_add( L_shr( Madd_32_32( Mpy_32_32( pFreq_buf_re[k], pFreq_filt_im[k] ), pFreq_buf_im[k], pFreq_filt_re[k] ), 2 ), tmp_out_im[k] ); // Qx - 2
                move32();
                move32();
            }
@@ -1888,7 +1888,7 @@ static ivas_error ivas_rend_crendConvolver(
        }

        ivas_imdft_fx( tmp_out_re, tmp_out_im, pOut, subframe_length );

        scale_sig32( pOut, shl( subframe_length, 1 ), 2 );
#ifdef DEBUGGING
        dbgwrite_txt( (const float *) pOut, subframe_length << 1, "Fixed_imdft_out.txt", NULL );
#endif
+0 −14
Original line number Diff line number Diff line
@@ -4014,20 +4014,6 @@ static void ivas_masa_ext_dirac_render_sf_fx(
            move16();
        }

        /*Buffer Scaling*/
        FOR( ch = 0; ch < hDirACRend->hOutSetup.nchan_out_woLFE; ch++ )
        {
            FOR( slot_idx = 0; slot_idx < hSpatParamRendCom->subframe_nbslots[subframe_idx]; slot_idx++ )
            {
                scale_sig32( Cldfb_RealBuffer_fx[ch][slot_idx],
                             hSpatParamRendCom->num_freq_bands, sub( 11, q_cldfb ) ); // q11
                scale_sig32( Cldfb_ImagBuffer_fx[ch][slot_idx],
                             hSpatParamRendCom->num_freq_bands, sub( 11, q_cldfb ) ); // q11
            }
        }
        q_cldfb = 11;
        move16();

        Word16 reference_power_temp_q = getScaleFactor32( DirAC_mem.reference_power_fx, DirAC_mem.reference_power_len );
        scale_sig32( DirAC_mem.reference_power_fx, DirAC_mem.reference_power_len, reference_power_temp_q ); /*DirAC_mem.reference_power_q + reference_power_temp_q*/
        DirAC_mem.reference_power_q = add( DirAC_mem.reference_power_q, reference_power_temp_q );