Commit 9ab12acf authored by Fabian Bauer's avatar Fabian Bauer
Browse files

Some more push/pop wmops

parent 7ffce0ac
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -969,7 +969,7 @@ void computeDiffuseness_fixed(
        q_tmp = add( q_factor_energy[i], min_q_shift1 );


#ifdef FIX_1072_SPEEDUP_COMPUTEDIFUSENESSB
#ifdef FIX_1072_SPEEDUP_COMPUTEDIFUSENESS
        Word16 shift_q = sub( q_tmp, q_ene );
        Word32 shiftEquiv;
        Word16 shift_qtotal;
@@ -1019,7 +1019,7 @@ void computeDiffuseness_fixed(
        q_tmp = add( q_factor_intensity[i], min_q_shift2 );

        shift_q = sub( q_tmp, q_intensity );
#ifdef FIX_1072_SPEEDUP_COMPUTEDIFUSENESSB
#ifdef FIX_1072_SPEEDUP_COMPUTEDIFUSENESS
        if( shift_q >= 0 )
        {
            shiftEquiv = L_lshl( 0x7FFFFFFF, 0 );
+1 −1
Original line number Diff line number Diff line
@@ -169,6 +169,6 @@


#define FIX_1072_SPEEDUP_gainpanning            /* FhG: WMOPS tuning, in development*/
#define FIX_1072_SPEEDUP_COMPUTEDIFUSENESSB     /* "-" */
#define FIX_1072_SPEEDUP_COMPUTEDIFUSENESS     /* "-" */

#endif
 No newline at end of file
+12 −4
Original line number Diff line number Diff line
@@ -623,7 +623,6 @@ void ivas_dirac_dec_output_synthesis_close_fx(
 *
 *
 *------------------------------------------------------------------------*/

void ivas_dirac_dec_output_synthesis_process_slot_fx(
    const Word32 *reference_power,  /* i  : Estimated power             Q(q_reference_power)*/
    const Word16 q_reference_power, /* i  : Estimated power Q            */
@@ -756,7 +755,6 @@ void ivas_dirac_dec_output_synthesis_process_slot_fx(
    ELSE IF( EQ_16( dec_param_estim, TRUE ) )
    {
        push_wmops( "(IDR) LOOP1 PSDs PATH3 B3<<<-|" );
        push_wmops( "(IDR) LOOP1 PSDs PATH3 B3.1<<<<-|" );
        /* compute direct responses */
        ivas_dirac_dec_compute_directional_responses_fx( hSpatParamRendCom,
                                                         hDirACRend,
@@ -771,7 +769,6 @@ void ivas_dirac_dec_output_synthesis_process_slot_fx(
                                                         sh_rot_max_order,
                                                         p_Rmat,
                                                         hodirac_flag );
        pop_wmops(); /*push_wmops( "(IDR) LOOP1 PSDs PATH3 B3.1<<<<-|" );*/
        {
            IF( h_dirac_output_synthesis_state->direct_responses_square_fx )
            {
@@ -945,7 +942,6 @@ 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( 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_c = sub( q_diffuseness, 4 );

@@ -2974,6 +2970,8 @@ void ivas_dirac_dec_compute_directional_responses_fx(
    Word16 dipole_freq_range[2];
    MASA_TRANSPORT_SIGNAL_TYPE transport_signal_type;

    push_wmops( "(IDR PATH3 B3.1)" );

    Q_direct_response_ls = Q31;
    move16();
    exp_direct_response_ls = 0;
@@ -3035,6 +3033,7 @@ void ivas_dirac_dec_compute_directional_responses_fx(
            LT_16( k, MASA_band_grouping_24[masa_band_mapping[add( codingBand, 1 )]] ) &&
            NE_16( k, hDirACRend->h_output_synthesis_psd_params.max_band_decorr ) )
        {
            push_wmops( "(IDR PATH3 B3.1) mvr2r_inc_fixed " );
            /* Panning gains have to be computed only for the first bin of the coding band in MASA, for other bins the previous values can be used */
            IF( NE_16( hDirACRend->synthesisConf, DIRAC_SYNTHESIS_GAIN_SHD ) )
            {
@@ -3046,12 +3045,15 @@ void ivas_dirac_dec_compute_directional_responses_fx(
                             hSpatParamRendCom->num_freq_bands,
                             &hDirACRend->h_output_synthesis_psd_state.direct_responses_fx[k],
                             hSpatParamRendCom->num_freq_bands, num_channels_dir ); /*direct_response_q*/
            pop_wmops();/*push_wmops( "(IDR PATH3 B3.1) mvr2r_inc_fixed " );*/
        }
        ELSE
        {
            push_wmops( "(IDR PATH3 B3.1) HOA3 PANNING " );
            /* HOA3 PANNING */
            IF( EQ_16( hDirACRend->panningConf, DIRAC_PANNING_HOA3 ) )
            {
                push_wmops( "(IDR PATH3 B3.1) HOA3 PANNING IF" );
                set32_fx( direct_response_hoa_fx, ONE_IN_Q29, MAX_OUTPUT_CHANNELS );  /*q29*/
                set32_fx( direct_response_dir2_fx, ONE_IN_Q29, MAX_OUTPUT_CHANNELS ); /*q29*/

@@ -3350,9 +3352,11 @@ void ivas_dirac_dec_compute_directional_responses_fx(
                {
                    assert( 0 && "Not supported synthesis method!" );
                }
                pop_wmops(); /*push_wmops( "(IDR PATH3 B3.1) HOA3 PANNING IF" );*/
            }
            ELSE IF( EQ_16( hDirACRend->panningConf, DIRAC_PANNING_VBAP ) ) /*VBAP*/
            {
                push_wmops( "(IDR PATH3 B3.1) HOA3 PANNING ELSE" );
                /* Synthesize the first direction */
                spreadCoherencePanningVbap_fx( azimuth[k], elevation[k], hSpatParamRendCom->spreadCoherence_fx[md_idx][k],
                                               direct_response_ls_fx, &Q_direct_response_ls, num_channels_dir, hVBAPdata );
@@ -3604,11 +3608,13 @@ void ivas_dirac_dec_compute_directional_responses_fx(

                mvr2r_inc_fixed( direct_response_square_fx, 1, &hDirACRend->h_output_synthesis_psd_state.direct_responses_square_fx[k], hSpatParamRendCom->num_freq_bands, num_channels_dir ); /*direct_response_square_q*/
                mvr2r_inc_fixed( direct_response_fx, 1, &hDirACRend->h_output_synthesis_psd_state.direct_responses_fx[k], hSpatParamRendCom->num_freq_bands, num_channels_dir );               /*direct_response_q*/
                pop_wmops(); /*push_wmops( "(IDR PATH3 B3.1) HOA3 PANNING ELSE" );*/
            }
            ELSE
            {
                assert( 0 && "Not supported panning method!" );
            }
              pop_wmops(); /*push_wmops( "(IDR PATH3 B3.1) HOA3 PANNING " );*/
        }
    }

@@ -3617,6 +3623,8 @@ void ivas_dirac_dec_compute_directional_responses_fx(
    hDirACRend->h_output_synthesis_psd_state.direct_responses_square_q = direct_response_square_q;
    move16();


    pop_wmops();
    return;
}