Commit fd90f3d7 authored by multrus's avatar multrus
Browse files

fix wrong buffer scaling

parent b7717f1b
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -89,6 +89,7 @@

#define NONBE_FIX_TCX5_INTERLEAVING_FOR_FS_IN_UNEQUAL_FS_OUT /* FhG: apply correct TCX5 grouping/interleaving when input_fs != output_fs */
#define FIX_1917_DIRAC_RENDER_PTR_INCR                       /* FhG: fix wrong pointer increment in ivas_dirac_dec_render_sf_fx() for object rendering */
#define FIX_CDLFB_BUFFER_SCALING                             /* FhG: fix wrong buffer scaling in ivas_dirac_dec_render_sf_fx() for object rendering */

#define FIX_1824
#define FIX_1822
+8 −0
Original line number Diff line number Diff line
@@ -3804,10 +3804,18 @@ 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 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
                                    move32();
                                    tc_re_fx++;
#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
                                    move32();
#ifdef FIX_1917_DIRAC_RENDER_PTR_INCR
                                    tc_im_fx++;