Commit 2c41155a authored by thomas dettbarn's avatar thomas dettbarn
Browse files

inside ivas_dirac_dec_output_synthesis_process_slot_fx(), die FOR-IF clause...

inside ivas_dirac_dec_output_synthesis_process_slot_fx(), die FOR-IF clause was changed to IF-FOR, improving WMOPS performance.
parent f5aed6ae
Loading
Loading
Loading
Loading
Loading
+16 −11
Original line number Diff line number Diff line
@@ -43,7 +43,7 @@
#include "ivas_rom_dec.h"
#include "wmc_auto.h"
#include "ivas_prot_fx.h"

#include "ivas_rom_com_fx.h"

/*-------------------------------------------------------------------------
 * Local constants
@@ -1072,8 +1072,6 @@ void ivas_dirac_dec_output_synthesis_process_slot_fx(
            free( exp_temp_cy_cross_dir_smooth_fx );

            Word16 temp_q1 = sub( h_dirac_output_synthesis_state->q_cy_cross_dir_smooth, temp_q );
            FOR( ch_idx = s_min( 4, nchan_transport ); ch_idx < num_channels_dir; ch_idx++ )
            {
            IF( NE_16( temp_q, h_dirac_output_synthesis_state->q_cy_cross_dir_smooth ) )
            {
                Word16 i;
@@ -1081,6 +1079,8 @@ void ivas_dirac_dec_output_synthesis_process_slot_fx(
                IF( temp_q1 < 0 )
                {
                    Word32 temp_q1_equiv = L_lshl( (Word32) 0x80000000, temp_q1 );
                    FOR( ch_idx = s_min( 4, nchan_transport ); ch_idx < num_channels_dir; ch_idx++ )
                    {
                        FOR( i = 0; i < num_freq_bands; i++ )
                        {
                            aux = Mpy_32_32( h_dirac_output_synthesis_state->direct_power_factor_fx[i], h_dirac_output_synthesis_state->direct_responses_fx[ch_idx * num_freq_bands + i] );
@@ -1088,7 +1088,10 @@ void ivas_dirac_dec_output_synthesis_process_slot_fx(
                            move32();
                        }
                    }
                }
                ELSE
                {
                    FOR( ch_idx = s_min( 4, nchan_transport ); ch_idx < num_channels_dir; ch_idx++ )
                    {
                        FOR( i = 0; i < num_freq_bands; i++ )
                        {
@@ -1099,9 +1102,12 @@ void ivas_dirac_dec_output_synthesis_process_slot_fx(
                        }
                    }
                }
            }
            ELSE
            {
                Word16 i;
                FOR( ch_idx = s_min( 4, nchan_transport ); ch_idx < num_channels_dir; ch_idx++ )
                {
                    FOR( i = 0; i < num_freq_bands; i++ )
                    {
                        h_dirac_output_synthesis_state->cy_cross_dir_smooth_fx[ch_idx * num_freq_bands + i] = Madd_32_32( h_dirac_output_synthesis_state->cy_cross_dir_smooth_fx[ch_idx * num_freq_bands + i], h_dirac_output_synthesis_state->direct_power_factor_fx[i], h_dirac_output_synthesis_state->direct_responses_fx[ch_idx * num_freq_bands + i] );
@@ -1110,7 +1116,6 @@ void ivas_dirac_dec_output_synthesis_process_slot_fx(
                }
            }


            /*Diffuse gain*/
            FOR( ch_idx = s_min( 4, nchan_transport ); ch_idx < num_channels_diff; ch_idx++ )
            {