Commit 46b594e4 authored by emerit's avatar emerit
Browse files

simplify code

parent c939ee8b
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -118,10 +118,9 @@
#define FIX_CREND_SIMPLIFY_CODE   
#ifdef FIX_CREND_SIMPLIFY_CODE
#define FIX_989_TD_REND_ROM                             /* Eri: Clean-up for TD renderer and completion of ROM generation tool */
#define USE_CREND_16BIT_ROM
//#define USE_REVERB_16BIT_ROM
//#define USE_TDREND_16BIT_ROM                           /* when active some tests case with 4 ISM fail due to owerflow in round_fixed function */
//#define USE_FASTCONV_PARAMBIN_16BIT_ROM
#define USE_REVERB_16BIT_ROM
#define USE_TDREND_16BIT_ROM                           /* when active some tests case with 4 ISM fail due to owerflow in round_fixed function */
#define USE_FASTCONV_PARAMBIN_16BIT_ROM
#endif
#define NONBE_1377_REND_DIRATT_CONF                     /* Eri: Issue 1377: Error in directivity attenuation configuration for both IVAS_dec and IVAS_rend */

+37 −37
Original line number Diff line number Diff line
@@ -349,8 +349,8 @@ static ivas_error ivas_rend_initCrend_fx(
                    hHrtf->max_num_iterations = CRendBin_Combined_BRIR_max_num_iterations_48kHz;                   // Q0
                    hHrtf->index_frequency_max_diffuse = CRendBin_Combined_BRIR_index_frequency_max_diffuse_48kHz; // Q0
#ifdef FIX_CREND_SIMPLIFY_CODE
                    hHrtf->factor_Q_latency_s_fx = CRendBin_Combined_BRIR_Q_latency_s_fx;
                    hHrtf->factor_Q_inv_diffuse_weight = CRendBin_Combined_BRIR_inv_diffuse_weight_Q_48kHz_fx;
                    hHrtf->factor_Q_latency_s_fx = Q31 - CRendBin_Combined_BRIR_Q_latency_s_fx;
                    hHrtf->factor_Q_inv_diffuse_weight = Q15 - CRendBin_Combined_BRIR_inv_diffuse_weight_Q_48kHz_fx;
                    hHrtf->factor_Q_pOut_to_bin = Q15 - CRendBin_Combined_BRIR_coeff_Q_48kHz_fx;
                    move16();
                    move16();
@@ -363,8 +363,8 @@ static ivas_error ivas_rend_initCrend_fx(
                    hHrtf->max_num_iterations = CRendBin_Combined_HRIR_max_num_iterations_48kHz;                   // Q0
                    hHrtf->index_frequency_max_diffuse = CRendBin_Combined_HRIR_index_frequency_max_diffuse_48kHz; // Q0
#ifdef FIX_CREND_SIMPLIFY_CODE
                    hHrtf->factor_Q_latency_s_fx = CRendBin_Combined_HRIR_Q_latency_s_fx;
                    hHrtf->factor_Q_inv_diffuse_weight = CRendBin_Combined_HRIR_inv_diffuse_weight_Q_48kHz_fx;
                    hHrtf->factor_Q_latency_s_fx = Q31 - CRendBin_Combined_HRIR_Q_latency_s_fx;
                    hHrtf->factor_Q_inv_diffuse_weight = Q15 - CRendBin_Combined_HRIR_inv_diffuse_weight_Q_48kHz_fx;
                    hHrtf->factor_Q_pOut_to_bin = Q15 - CRendBin_Combined_HRIR_coeff_Q_48kHz_fx;
                    move16();
                    move16();
@@ -406,8 +406,8 @@ static ivas_error ivas_rend_initCrend_fx(
                    hHrtf->max_num_iterations = CRendBin_Combined_BRIR_max_num_iterations_32kHz;                   // Q0
                    hHrtf->index_frequency_max_diffuse = CRendBin_Combined_BRIR_index_frequency_max_diffuse_32kHz; // Q0
#ifdef FIX_CREND_SIMPLIFY_CODE
                    hHrtf->factor_Q_latency_s_fx = CRendBin_Combined_BRIR_Q_latency_s_fx;
                    hHrtf->factor_Q_inv_diffuse_weight = CRendBin_Combined_BRIR_inv_diffuse_weight_Q_32kHz_fx;
                    hHrtf->factor_Q_latency_s_fx = Q31 - CRendBin_Combined_BRIR_Q_latency_s_fx;
                    hHrtf->factor_Q_inv_diffuse_weight = Q15 - CRendBin_Combined_BRIR_inv_diffuse_weight_Q_32kHz_fx;
                    hHrtf->factor_Q_pOut_to_bin = Q15 - CRendBin_Combined_BRIR_coeff_Q_32kHz_fx;
                    move16();
                    move16();
@@ -420,8 +420,8 @@ static ivas_error ivas_rend_initCrend_fx(
                    hHrtf->max_num_iterations = CRendBin_Combined_HRIR_max_num_iterations_32kHz;                   // Q0
                    hHrtf->index_frequency_max_diffuse = CRendBin_Combined_HRIR_index_frequency_max_diffuse_32kHz; // Q0
#ifdef FIX_CREND_SIMPLIFY_CODE
                    hHrtf->factor_Q_latency_s_fx = CRendBin_Combined_HRIR_Q_latency_s_fx;
                    hHrtf->factor_Q_inv_diffuse_weight = CRendBin_Combined_HRIR_inv_diffuse_weight_Q_32kHz_fx;
                    hHrtf->factor_Q_latency_s_fx = Q31 - CRendBin_Combined_HRIR_Q_latency_s_fx;
                    hHrtf->factor_Q_inv_diffuse_weight = Q15 - CRendBin_Combined_HRIR_inv_diffuse_weight_Q_32kHz_fx;
                    hHrtf->factor_Q_pOut_to_bin = Q15 - CRendBin_Combined_HRIR_coeff_Q_32kHz_fx;
                    move16();
                    move16();
@@ -464,8 +464,8 @@ static ivas_error ivas_rend_initCrend_fx(
                    hHrtf->max_num_iterations = CRendBin_Combined_BRIR_max_num_iterations_16kHz;
                    hHrtf->index_frequency_max_diffuse = CRendBin_Combined_BRIR_index_frequency_max_diffuse_16kHz;
#ifdef FIX_CREND_SIMPLIFY_CODE
                    hHrtf->factor_Q_latency_s_fx = CRendBin_Combined_BRIR_Q_latency_s_fx;
                    hHrtf->factor_Q_inv_diffuse_weight = CRendBin_Combined_BRIR_inv_diffuse_weight_Q_16kHz_fx;
                    hHrtf->factor_Q_latency_s_fx = Q31 - CRendBin_Combined_BRIR_Q_latency_s_fx;
                    hHrtf->factor_Q_inv_diffuse_weight = Q15 - CRendBin_Combined_BRIR_inv_diffuse_weight_Q_16kHz_fx;
                    hHrtf->factor_Q_pOut_to_bin = Q15 - CRendBin_Combined_BRIR_coeff_Q_16kHz_fx;
                    move16();
                    move16();
@@ -478,8 +478,8 @@ static ivas_error ivas_rend_initCrend_fx(
                    hHrtf->max_num_iterations = CRendBin_Combined_HRIR_max_num_iterations_16kHz;
                    hHrtf->index_frequency_max_diffuse = CRendBin_Combined_HRIR_index_frequency_max_diffuse_16kHz;
#ifdef FIX_CREND_SIMPLIFY_CODE
                    hHrtf->factor_Q_latency_s_fx = CRendBin_Combined_HRIR_Q_latency_s_fx;
                    hHrtf->factor_Q_inv_diffuse_weight = CRendBin_Combined_HRIR_inv_diffuse_weight_Q_16kHz_fx;
                    hHrtf->factor_Q_latency_s_fx = Q31 - CRendBin_Combined_HRIR_Q_latency_s_fx;
                    hHrtf->factor_Q_inv_diffuse_weight = Q15 - CRendBin_Combined_HRIR_inv_diffuse_weight_Q_16kHz_fx;
                    hHrtf->factor_Q_pOut_to_bin = Q15 - CRendBin_Combined_HRIR_coeff_Q_16kHz_fx;
                    move16();
                    move16();
@@ -647,8 +647,8 @@ static ivas_error ivas_rend_initCrend_fx(
                    hHrtf->max_num_iterations = CRendBin_HOA3_HRIR_max_num_iterations_48kHz;
                    hHrtf->index_frequency_max_diffuse = CRendBin_HOA3_HRIR_index_frequency_max_diffuse_48kHz;
#ifdef FIX_CREND_SIMPLIFY_CODE
                    hHrtf->factor_Q_latency_s_fx = CRendBin_HOA3_HRIR_Q_latency_s_fx;
                    hHrtf->factor_Q_inv_diffuse_weight = CRendBin_HOA3_HRIR_inv_diffuse_weight_Q_48kHz_fx;
                    hHrtf->factor_Q_latency_s_fx = Q31 - CRendBin_HOA3_HRIR_Q_latency_s_fx;
                    hHrtf->factor_Q_inv_diffuse_weight = Q15 - CRendBin_HOA3_HRIR_inv_diffuse_weight_Q_48kHz_fx;
                    hHrtf->factor_Q_pOut_to_bin = Q15 - CRendBin_HOA3_HRIR_coeff_Q_48kHz_fx;
                    move16();
                    move16();
@@ -694,8 +694,8 @@ static ivas_error ivas_rend_initCrend_fx(
                    hHrtf->max_num_iterations = CRendBin_HOA3_HRIR_max_num_iterations_32kHz;
                    hHrtf->index_frequency_max_diffuse = CRendBin_HOA3_HRIR_index_frequency_max_diffuse_32kHz;
#ifdef FIX_CREND_SIMPLIFY_CODE
                    hHrtf->factor_Q_latency_s_fx = CRendBin_HOA3_HRIR_Q_latency_s_fx;
                    hHrtf->factor_Q_inv_diffuse_weight = CRendBin_HOA3_HRIR_inv_diffuse_weight_Q_32kHz_fx;
                    hHrtf->factor_Q_latency_s_fx = Q31 - CRendBin_HOA3_HRIR_Q_latency_s_fx;
                    hHrtf->factor_Q_inv_diffuse_weight = Q15 - CRendBin_HOA3_HRIR_inv_diffuse_weight_Q_32kHz_fx;
                    hHrtf->factor_Q_pOut_to_bin = Q15 - CRendBin_HOA3_HRIR_coeff_Q_32kHz_fx;
                    move16();
                    move16();
@@ -745,8 +745,8 @@ static ivas_error ivas_rend_initCrend_fx(
                    move16();
                    move16();
#ifdef FIX_CREND_SIMPLIFY_CODE
                    hHrtf->factor_Q_latency_s_fx = CRendBin_HOA3_HRIR_Q_latency_s_fx;
                    hHrtf->factor_Q_inv_diffuse_weight = CRendBin_HOA3_HRIR_inv_diffuse_weight_Q_16kHz_fx;
                    hHrtf->factor_Q_latency_s_fx = Q31 - CRendBin_HOA3_HRIR_Q_latency_s_fx;
                    hHrtf->factor_Q_inv_diffuse_weight = Q15 - CRendBin_HOA3_HRIR_inv_diffuse_weight_Q_16kHz_fx;
                    hHrtf->factor_Q_pOut_to_bin = Q15 - CRendBin_HOA3_HRIR_coeff_Q_16kHz_fx;
                    move16();
                    move16();
@@ -801,8 +801,8 @@ static ivas_error ivas_rend_initCrend_fx(
                    move16();
                    move16();
#ifdef FIX_CREND_SIMPLIFY_CODE
                    hHrtf->factor_Q_latency_s_fx = CRendBin_HOA2_HRIR_Q_latency_s_fx;
                    hHrtf->factor_Q_inv_diffuse_weight = CRendBin_HOA2_HRIR_inv_diffuse_weight_Q_48kHz_fx;
                    hHrtf->factor_Q_latency_s_fx = Q31 - CRendBin_HOA2_HRIR_Q_latency_s_fx;
                    hHrtf->factor_Q_inv_diffuse_weight = Q15 - CRendBin_HOA2_HRIR_inv_diffuse_weight_Q_48kHz_fx;
                    hHrtf->factor_Q_pOut_to_bin = Q15 - CRendBin_HOA2_HRIR_coeff_Q_48kHz_fx;
                    move16();
                    move16();
@@ -849,8 +849,8 @@ static ivas_error ivas_rend_initCrend_fx(
                    move16();
                    move16();
#ifdef FIX_CREND_SIMPLIFY_CODE
                    hHrtf->factor_Q_latency_s_fx = CRendBin_HOA2_HRIR_Q_latency_s_fx;
                    hHrtf->factor_Q_inv_diffuse_weight = CRendBin_HOA2_HRIR_inv_diffuse_weight_Q_32kHz_fx;
                    hHrtf->factor_Q_latency_s_fx = Q31 - CRendBin_HOA2_HRIR_Q_latency_s_fx;
                    hHrtf->factor_Q_inv_diffuse_weight = Q15 - CRendBin_HOA2_HRIR_inv_diffuse_weight_Q_32kHz_fx;
                    hHrtf->factor_Q_pOut_to_bin = Q15 - CRendBin_HOA2_HRIR_coeff_Q_32kHz_fx;
                    move16();
                    move16();
@@ -897,8 +897,8 @@ static ivas_error ivas_rend_initCrend_fx(
                    move16();
                    move16();
#ifdef FIX_CREND_SIMPLIFY_CODE
                    hHrtf->factor_Q_latency_s_fx = CRendBin_HOA2_HRIR_Q_latency_s_fx;
                    hHrtf->factor_Q_inv_diffuse_weight = CRendBin_HOA2_HRIR_inv_diffuse_weight_Q_16kHz_fx;
                    hHrtf->factor_Q_latency_s_fx = Q31 - CRendBin_HOA2_HRIR_Q_latency_s_fx;
                    hHrtf->factor_Q_inv_diffuse_weight = Q15 - CRendBin_HOA2_HRIR_inv_diffuse_weight_Q_16kHz_fx;
                    hHrtf->factor_Q_pOut_to_bin = Q15 - CRendBin_HOA2_HRIR_coeff_Q_16kHz_fx;
                    move16();
                    move16();
@@ -953,8 +953,8 @@ static ivas_error ivas_rend_initCrend_fx(
                    move16();
                    move16();
#ifdef FIX_CREND_SIMPLIFY_CODE
                    hHrtf->factor_Q_latency_s_fx = CRendBin_FOA_HRIR_Q_latency_s_fx;
                    hHrtf->factor_Q_inv_diffuse_weight = CRendBin_FOA_HRIR_inv_diffuse_weight_Q_48kHz_fx;
                    hHrtf->factor_Q_latency_s_fx = Q31 - CRendBin_FOA_HRIR_Q_latency_s_fx;
                    hHrtf->factor_Q_inv_diffuse_weight = Q15 - CRendBin_FOA_HRIR_inv_diffuse_weight_Q_48kHz_fx;
                    hHrtf->factor_Q_pOut_to_bin = Q15 - CRendBin_FOA_HRIR_coeff_Q_48kHz_fx;
                    move16();
                    move16();
@@ -1000,8 +1000,8 @@ static ivas_error ivas_rend_initCrend_fx(
                    move16();
                    move16();
#ifdef FIX_CREND_SIMPLIFY_CODE
                    hHrtf->factor_Q_latency_s_fx = CRendBin_FOA_HRIR_Q_latency_s_fx;
                    hHrtf->factor_Q_inv_diffuse_weight = CRendBin_FOA_HRIR_inv_diffuse_weight_Q_32kHz_fx;
                    hHrtf->factor_Q_latency_s_fx = Q31 - CRendBin_FOA_HRIR_Q_latency_s_fx;
                    hHrtf->factor_Q_inv_diffuse_weight = Q15 - CRendBin_FOA_HRIR_inv_diffuse_weight_Q_32kHz_fx;
                    hHrtf->factor_Q_pOut_to_bin = Q15 - CRendBin_FOA_HRIR_coeff_Q_32kHz_fx;
                    move16();
                    move16();
@@ -1047,8 +1047,8 @@ static ivas_error ivas_rend_initCrend_fx(
                    move16();
                    move16();
#ifdef FIX_CREND_SIMPLIFY_CODE
                    hHrtf->factor_Q_latency_s_fx = CRendBin_FOA_HRIR_Q_latency_s_fx;
                    hHrtf->factor_Q_inv_diffuse_weight = CRendBin_FOA_HRIR_inv_diffuse_weight_Q_16kHz_fx;
                    hHrtf->factor_Q_latency_s_fx = Q31 - CRendBin_FOA_HRIR_Q_latency_s_fx;
                    hHrtf->factor_Q_inv_diffuse_weight = Q15 - CRendBin_FOA_HRIR_inv_diffuse_weight_Q_16kHz_fx;
                    hHrtf->factor_Q_pOut_to_bin = Q15 - CRendBin_FOA_HRIR_coeff_Q_16kHz_fx;
                    move16();
                    move16();
@@ -2057,7 +2057,7 @@ ivas_error ivas_rend_openCrend(
                hCrend->hReverb = NULL;
            }
#ifdef FIX_CREND_SIMPLIFY_CODE
            ( *pCrend )->binaural_latency_ns = L_shr_r( Mpy_32_32_r( ( *pCrend )->hHrtfCrend->latency_s_fx, 1000000000 ), Q31 - ( *pCrend )->hHrtfCrend->factor_Q_latency_s_fx );
            ( *pCrend )->binaural_latency_ns = L_shr_r( Mpy_32_32_r( ( *pCrend )->hHrtfCrend->latency_s_fx, 1000000000 ), ( *pCrend )->hHrtfCrend->factor_Q_latency_s_fx );
#else
            ( *pCrend )->binaural_latency_ns = Mult_32_32( ( *pCrend )->hHrtfCrend->latency_s_fx, (Word32) 1000000000 );
#endif
@@ -2334,17 +2334,17 @@ static ivas_error ivas_rend_crendConvolver(
    {
        FOR( k = 0; k < pCrend->hHrtfCrend->index_frequency_max_diffuse; k++ )
        {
            pFreq_buf2_re[k] = L_shl( pFreq_buf2_re[k], Q15 - pCrend->hHrtfCrend->factor_Q_inv_diffuse_weight );
            pFreq_buf2_im[k] = L_shl( pFreq_buf2_im[k], Q15 - pCrend->hHrtfCrend->factor_Q_inv_diffuse_weight );
            pFreq_buf2_re[k] = L_shl( pFreq_buf2_re[k], pCrend->hHrtfCrend->factor_Q_inv_diffuse_weight );
            pFreq_buf2_im[k] = L_shl( pFreq_buf2_im[k], pCrend->hHrtfCrend->factor_Q_inv_diffuse_weight );
        }
        IF( pCrend->hHrtfCrend->same_inv_diffuse_weight == 0 )
        {
            FOR( k = 0; k < pCrend->hHrtfCrend->index_frequency_max_diffuse; k++ )
            {
                pFreq_buf2_re[k] = L_shl( pFreq_buf2_re[k], Q15 - pCrend->hHrtfCrend->factor_Q_inv_diffuse_weight );
                pFreq_buf2_im[k] = L_shl( pFreq_buf2_im[k], Q15 - pCrend->hHrtfCrend->factor_Q_inv_diffuse_weight );
                pFreq_buf3_re[k] = L_shl( pFreq_buf3_re[k], Q15 - pCrend->hHrtfCrend->factor_Q_inv_diffuse_weight );
                pFreq_buf3_im[k] = L_shl( pFreq_buf3_im[k], Q15 - pCrend->hHrtfCrend->factor_Q_inv_diffuse_weight );
                pFreq_buf2_re[k] = L_shl( pFreq_buf2_re[k], pCrend->hHrtfCrend->factor_Q_inv_diffuse_weight );
                pFreq_buf2_im[k] = L_shl( pFreq_buf2_im[k], pCrend->hHrtfCrend->factor_Q_inv_diffuse_weight );
                pFreq_buf3_re[k] = L_shl( pFreq_buf3_re[k], pCrend->hHrtfCrend->factor_Q_inv_diffuse_weight );
                pFreq_buf3_im[k] = L_shl( pFreq_buf3_im[k], pCrend->hHrtfCrend->factor_Q_inv_diffuse_weight );
            }
        }
    }
+3 −3
Original line number Diff line number Diff line
@@ -50,7 +50,7 @@
extern Word32 sine_table_Q31 [361];
extern Word32 cosine_table_Q31 [181];

#ifdef USE_CREND_16BIT_ROM
#ifdef FIX_CREND_SIMPLIFY_CODE

/********************** CRendBin_Combined_HRIR **********************/

@@ -368,7 +368,7 @@ extern float defaultHRIR_right_avg_power_16kHz_fx[LR_IAC_LENGTH_NR_FC_16KHZ];
#endif


#else /* USE_CREND_16BIT_ROM */
#else /* FIX_CREND_SIMPLIFY_CODE */

/********************** CRendBin_Combined_HRIR **********************/

@@ -620,5 +620,5 @@ extern float defaultHRIR_coherence_16kHz_fx[LR_IAC_LENGTH_NR_FC_16KHZ];
extern   float defaultHRIR_left_avg_power_16kHz_fx[LR_IAC_LENGTH_NR_FC_16KHZ];  /*Q-23*/
extern   float defaultHRIR_right_avg_power_16kHz_fx[LR_IAC_LENGTH_NR_FC_16KHZ]; /*Q-23*/

#endif /* USE_CREND_16BIT_ROM */
#endif /* FIX_CREND_SIMPLIFY_CODE */
#endif /* _IVAS_ROM_BINAURAL_CREND_HEAD_ */
+1 −1
Original line number Diff line number Diff line
@@ -45,7 +45,7 @@
#define WMC_TOOL_SKIP
#ifdef USE_CREND_16BIT_ROM
#ifdef FIX_CREND_SIMPLIFY_CODE
/********************** CRendBin_Combined_HRIR **********************/
+2 −2
Original line number Diff line number Diff line
@@ -1643,7 +1643,7 @@ static ivas_error create_Crend_HRTF_from_rawdata(
    hrtf_data_rptr = hrtf_data;

    /* latency_s Q factor*/
    ( *hHRTF )->factor_Q_latency_s_fx = *( (Word16 *) ( hrtf_data_rptr ) );
    ( *hHRTF )->factor_Q_latency_s_fx = Q31 - *( (Word16 *) ( hrtf_data_rptr ) );
    hrtf_data_rptr += sizeof( Word16 );
    /* latency_s */
    ( *hHRTF )->latency_s_fx = ( *( (Word32 *) ( hrtf_data_rptr ) ) );
@@ -1723,7 +1723,7 @@ static ivas_error create_Crend_HRTF_from_rawdata(
    hrtf_data_rptr += sizeof( uint16_t );

    /* inv_diffuse_weight Q factor*/
    ( *hHRTF )->factor_Q_inv_diffuse_weight = *( (Word16 *) ( hrtf_data_rptr ) );
    ( *hHRTF )->factor_Q_inv_diffuse_weight = Q15 - *( (Word16 *) ( hrtf_data_rptr ) );
    hrtf_data_rptr += sizeof( Word16 );

    /* inv_diffuse_weight */