Commit da62e16d authored by Fabian Bauer's avatar Fabian Bauer
Browse files

some cleaning

parent 2b317eb4
Loading
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -4995,11 +4995,12 @@ void ivas_dirac_dec_get_response_fx(
    const Word16 ambisonics_order,
    Word16 Q_out );

#ifdef FIX_1072_SPEEDUP_ivas_dirac_dec_get_response_fx
#ifdef FIX_1310_SPEEDUP_ivas_dirac_dec_get_response_fx
/*This is a derivate to ivas_dirac_dec_get_response_fx with fixed Q_out=29*/
void ivas_dirac_dec_get_response_fx_29(
    const Word16 azimuth,
    const Word16 elevation,
    Word32 *response_fx, /*Q_out*/
    Word32 *response_fx, /*Q_out=29*/
    const Word16 ambisonics_order );
#endif

+3 −2
Original line number Diff line number Diff line
@@ -7173,7 +7173,8 @@ void ivas_dirac_dec_get_response_fx(
    return;
}

#ifdef FIX_1072_SPEEDUP_ivas_dirac_dec_get_response_fx
#ifdef FIX_1310_SPEEDUP_ivas_dirac_dec_get_response_fx
/*This is a derivate to ivas_dirac_dec_get_response_fx with fixed Q_out=29*/
void ivas_dirac_dec_get_response_fx_29(
    const Word16 azimuth,
    const Word16 elevation,
@@ -7307,7 +7308,7 @@ void ivas_dirac_dec_get_response_fx_29(
    pop_wmops(); /*push_wmops( "ivas_dirac_dec_get_response_fx_29" );*/
    return;
}
#endif /*FIX_1072_SPEEDUP_ivas_dirac_dec_get_response_fx*/
#endif /*FIX_1310_SPEEDUP_ivas_dirac_dec_get_response_fx*/
/*-----------------------------------------------------------------------------------------*
 * Function ivas_get_bits_to_encode
 *
+3 −4
Original line number Diff line number Diff line
@@ -56,7 +56,7 @@

#define SUPPORT_JBM_TRACEFILE                   /* Support for JBM tracefile, which is needed for 3GPP objective/subjective testing, but not relevant for real-world implementations */

#define WMOPS                                   /* Activate complexity and memory counters */
//#define WMOPS                                   /* Activate complexity and memory counters */
#ifdef WMOPS
/*#define WMOPS_PER_FRAME*/                     /* Output per-frame complexity (writes one float value per frame to the file "wmops_analysis") */
/*#define WMOPS_DETAIL*/                        /* Output detailed complexity printout for every function. Increases runtime overhead */
@@ -171,9 +171,8 @@
#define FIX_1297_OVERFLOW                       /* VA: fixes issue with overflows in pre-processing */
#define FIX_1298                                /* VA: fix possible assert in gaus_enc */
#define FIX_1300_ICA_SHIFT_QUANT_IMPROV         /* VA: Fix to 1300 to improve precision of the lag quantizer */

#define FIX_1072_SPEEDUP_ivas_dirac_dec_get_response_fx /*FhG: WMOPS tuning, in development*/ // -1.5 WMOPS
#define FIX1072_SPEEDUP_ivas_dirac_dec_output_synthesis_process_slot /*FhG: WMOPS tuning, in development*/ // -1 WMOPS
#define FIX_1310_SPEEDUP_ivas_dirac_dec_get_response_fx                 /*FhG: WMOPS tuning, nonbe*/
#define FIX_1310_SPEEDUP_ivas_dirac_dec_output_synthesis_process_slot   /*FhG: WMOPS tuning, nonbe*/


#endif
+3 −9
Original line number Diff line number Diff line
@@ -914,7 +914,7 @@ void ivas_dirac_dec_output_synthesis_process_slot_fx(
                    c = Madd_32_16( ONE_IN_Q27 /*1 Q27*/, L_sub( h_dirac_output_synthesis_params->diffuse_compensation_factor_fx, ONE_IN_Q27 /*1 Q27*/ ), 5461 ); /*Diffuseness modellling nrg compensation*/ /* 1.0 / 6.0  = 5461 in Q15*/ /*Q27*/

                    push_wmops( "(IDR) LOOP1 PSDs PATH3 B3.3 bigloop B <<<<<-|" );
#ifdef FIX1072_SPEEDUP_ivas_dirac_dec_output_synthesis_process_slot
#ifdef FIX_1310_SPEEDUP_ivas_dirac_dec_output_synthesis_process_slot
                    FOR( ; k < num_freq_bands; k++ )
                    {
                        a = h_dirac_output_synthesis_state->direct_responses_fx[ch_idx * num_freq_bands + k]; // Q = h_dirac_output_synthesis_state->q_direct_responses
@@ -933,10 +933,7 @@ void ivas_dirac_dec_output_synthesis_process_slot_fx(
                                mpy_a_a_b = Mpy_32_32( a, a );                                                             // Q = (h_dirac_output_synthesis_state->q_direct_responses + (15 - b_exp) - 15) + (h_dirac_output_synthesis_state->q_direct_responses) - 31
                                mpy_diff_aab = Mpy_32_32( L_sub( L_shl( 1, q_diffuseness ), diffuseness[k] ), mpy_a_a_b ); // Q = 2*(h_dirac_output_synthesis_state->q_direct_responses) - b_exp - 31 + q_diffuseness -31
                                mpy_diff_c = Mpy_32_32( diffuseness[k], c );                                               // Q = q_diffuseness - 4
                                // q_diff_aab = add( h_dirac_output_synthesis_state->direct_responses_q, add( sub( h_dirac_output_synthesis_state->direct_responses_q, 31 ), sub( q_diffuseness, 31 ) ) );
                                // q_diff_aab = sub( add( h_dirac_output_synthesis_state->direct_responses_q, add( h_dirac_output_synthesis_state->direct_responses_q, q_diffuseness ) ), 62 );
                                diff_aab_exp = sub( 31 + 62, add( h_dirac_output_synthesis_state->direct_responses_q, add( h_dirac_output_synthesis_state->direct_responses_q, q_diffuseness ) ) );
                                // q_diff_c = sub( q_diffuseness, 4 );
                                diff_c_exp = sub( 31 + 4, q_diffuseness );

                                sqr_inp = BASOP_Util_Add_Mant32Exp( mpy_diff_c, diff_c_exp, mpy_diff_aab, diff_aab_exp, &sqr_exp ); /*q(31-sqr_exp)*/
@@ -948,10 +945,7 @@ void ivas_dirac_dec_output_synthesis_process_slot_fx(
                                mpy_a_a_b = Mpy_32_32( a, Mpy_32_16_1( a, b ) );                                           // Q = (h_dirac_output_synthesis_state->q_direct_responses + (15 - b_exp) - 15) + (h_dirac_output_synthesis_state->q_direct_responses) - 31
                                mpy_diff_aab = Mpy_32_32( L_sub( L_shl( 1, q_diffuseness ), diffuseness[k] ), mpy_a_a_b ); // Q = 2*(h_dirac_output_synthesis_state->q_direct_responses) - b_exp - 31 + q_diffuseness -31
                                mpy_diff_c = Mpy_32_32( diffuseness[k], c );                                               // Q = q_diffuseness - 4
                                // q_diff_aab = add( add(h_dirac_output_synthesis_state->direct_responses_q , sub( sub( 15, b_exp ), 15 )), add( sub( h_dirac_output_synthesis_state->direct_responses_q, 31 ), sub( q_diffuseness, 31 ) ) );
                                // q_diff_aab = add( sub( h_dirac_output_synthesis_state->direct_responses_q, b_exp ), ( sub( add( h_dirac_output_synthesis_state->direct_responses_q, q_diffuseness ), 62 ) ) );
                                diff_aab_exp = sub( sub( add( sub( 31 + 62, h_dirac_output_synthesis_state->direct_responses_q ), b_exp ), h_dirac_output_synthesis_state->direct_responses_q ), q_diffuseness );
                                // q_diff_c = sub( q_diffuseness, 4 );
                                diff_c_exp = sub( 31 + 4, q_diffuseness );

                                sqr_inp = BASOP_Util_Add_Mant32Exp( mpy_diff_c, diff_c_exp, mpy_diff_aab, diff_aab_exp, &sqr_exp ); /*q(31-sqr_exp)*/
@@ -3149,7 +3143,7 @@ void ivas_dirac_dec_compute_directional_responses_fx(
                ELSE
                {
                    push_wmops( "(IDR PATH3 B3.1) HOA3 PANNING IF -- getResponse__FX" );
#ifdef FIX_1072_SPEEDUP_ivas_dirac_dec_get_response_fx
#ifdef FIX_1310_SPEEDUP_ivas_dirac_dec_get_response_fx
                    ivas_dirac_dec_get_response_fx_29( azimuth[k], elevation[k], direct_response_hoa_fx, hDirACRend->hOutSetup.ambisonics_order );
#else
                    ivas_dirac_dec_get_response_fx( azimuth[k], elevation[k], direct_response_hoa_fx, hDirACRend->hOutSetup.ambisonics_order, Q_direct_response_hoa );
@@ -3157,7 +3151,7 @@ void ivas_dirac_dec_compute_directional_responses_fx(

                    IF( hodirac_flag )
                    {
#ifdef FIX_1072_SPEEDUP_ivas_dirac_dec_get_response_fx
#ifdef FIX_1310_SPEEDUP_ivas_dirac_dec_get_response_fx
                        ivas_dirac_dec_get_response_fx_29( azimuth2[k], elevation2[k], direct_response_dir2_fx, hDirACRend->hOutSetup.ambisonics_order );
#else
                        ivas_dirac_dec_get_response_fx( azimuth2[k], elevation2[k], direct_response_dir2_fx, hDirACRend->hOutSetup.ambisonics_order, Q_direct_response_dir2 );