Commit 6bcd66e0 authored by liksonov's avatar liksonov
Browse files

Add correcting code

parent a20eb24b
Loading
Loading
Loading
Loading
Loading
+26 −0
Original line number Diff line number Diff line
@@ -5200,12 +5200,22 @@ ivas_error ivas_render_config_init_from_rom(
 * Reverberator
 *----------------------------------------------------------------------------------*/

#ifdef FIX_I68_MC_REVERB_FOR_514
ivas_error ivas_reverb_open( 
    REVERB_HANDLE *hReverb,                                     /* i/o: Reverberator handle                     */
    const AUDIO_CONFIG transport_config,                        /* i  : reverb. input audio configuration       */
    const HRTFS_HANDLE hHrtf,                                   /* i  : HRTF handle                             */
    RENDER_CONFIG_DATA *pConfig,                                /* i  : Reverb configuration                    */
    const int32_t output_Fs                                     /* i  : output sampling rate                    */
);
#else /* FIX_I68_MC_REVERB_FOR_514 */
ivas_error ivas_reverb_open( 
    REVERB_HANDLE *hReverb,                                     /* i/o: Reverberator handle                     */
    const HRTFS_HANDLE hHrtf,                                   /* i  : HRTF handle                             */
    RENDER_CONFIG_DATA *pConfig,                                /* i  : Reverb configuration                    */
    const int32_t output_Fs                                     /* i  : output sampling rate                    */
);
#endif /* FIX_I68_MC_REVERB_FOR_514 */

void ivas_reverb_close(
    REVERB_HANDLE *hReverb                                      /* i/o: Reverberator handle                     */
@@ -5378,6 +5388,21 @@ void ivas_reverb_interpolate_acoustic_data(
    float *pOutput_dsr 
);

#ifdef FIX_I68_MC_REVERB_FOR_514
void ivas_reverb_get_hrtf_set_properties(
    float **ppHrtf_set_L_re,
    float **ppHrtf_set_L_im,
    float **ppHrtf_set_R_re,
    float **ppHrtf_set_R_im,
    const AUDIO_CONFIG inp_audio_format,
    const int16_t hrtf_count,
    const int16_t in_freq_count,
    const int16_t out_freq_count,
    float *pOut_avg_pwr_L,
    float *pOut_avg_pwr_R,
    float *pOut_i_a_coherence 
);
#else /* FIX_I68_MC_REVERB_FOR_514 */
void ivas_reverb_get_hrtf_set_properties(
    float **ppHrtf_set_L_re,
    float **ppHrtf_set_L_im,
@@ -5390,6 +5415,7 @@ void ivas_reverb_get_hrtf_set_properties(
    float *pOut_avg_pwr_R,
    float *pOut_i_a_coherence 
);
#endif /* FIX_I68_MC_REVERB_FOR_514 */

/* Orientation tracking */
void ivas_orient_trk_Init( 
+2 −0
Original line number Diff line number Diff line
@@ -155,6 +155,8 @@

#define FIX_34                                          /* Nokia: Fix bug in MASA format EXT output spherical indexing */

#define FIX_I68_MC_REVERB_FOR_514                       /* Fix HRTF processing for Jot reverb in case of 5.1.4 input format */

#define FIX_I54_LS_CONVERSION                           /* FhG: fix incorrect downmix matrix for 5_1_4 to 5_1_2 and upmix matrix for 7_1 to 7_1_4 */

/* ################## End DEVELOPMENT switches ######################### */
+4 −0
Original line number Diff line number Diff line
@@ -784,7 +784,11 @@ ivas_error ivas_crend_open(

        if ( ( ( st_ivas->hRenderConfig != NULL ) && st_ivas->hRenderConfig->roomAcoustics.late_reverb_on ) )
        {
#ifdef FIX_I68_MC_REVERB_FOR_514
            if ( ( error = ivas_reverb_open( &( hCrend->hReverb ), st_ivas->intern_config, hHrtf, st_ivas->hRenderConfig, st_ivas->hDecoderConfig->output_Fs ) ) != IVAS_ERR_OK )
#else /* FIX_I68_MC_REVERB_FOR_514 */
            if ( ( error = ivas_reverb_open( &( hCrend->hReverb ), hHrtf, st_ivas->hRenderConfig, st_ivas->hDecoderConfig->output_Fs ) ) != IVAS_ERR_OK )
#endif /* FIX_I68_MC_REVERB_FOR_514 */
            {
                return error;
            }
+4 −0
Original line number Diff line number Diff line
@@ -308,7 +308,11 @@ ivas_error ObjRenderIVASFrame(
        {
            if ( st_ivas->ini_frame == 0 )
            {
#ifdef FIX_I68_MC_REVERB_FOR_514
                ivas_reverb_open( &st_ivas->hCrend->hReverb, st_ivas->transport_config, NULL, st_ivas->hRenderConfig, st_ivas->hDecoderConfig->output_Fs );
#else /* FIX_I68_MC_REVERB_FOR_514 */
                ivas_reverb_open( &st_ivas->hCrend->hReverb, NULL, st_ivas->hRenderConfig, st_ivas->hDecoderConfig->output_Fs );
#endif /* FIX_I68_MC_REVERB_FOR_514 */
            }
            for ( subframe_idx = 0; subframe_idx < 4; subframe_idx++ )
            {
+23 −0
Original line number Diff line number Diff line
@@ -778,7 +778,11 @@ static void set_fft_and_datablock_sizes( REVERB_HANDLE pState, int16_t subframe_
 * Sets reverb acoustic data (room acoustics and HRTF), interpolating it to the filter grid
 *-----------------------------------------------------------------------------------------*/

#ifdef FIX_I68_MC_REVERB_FOR_514
static void set_reverb_acoustic_data( ivas_reverb_params_t *pParams, const AUDIO_CONFIG inp_audio_config, const HRTFS_HANDLE hHrtf, ivas_roomAcoustics_t *pRoomAcoustics, int16_t subframe_len, int16_t nr_fc_input, int16_t nr_fc_fft_filter )
#else /* FIX_I68_MC_REVERB_FOR_514 */
static void set_reverb_acoustic_data( ivas_reverb_params_t *pParams, const HRTFS_HANDLE hHrtf, ivas_roomAcoustics_t *pRoomAcoustics, int16_t subframe_len, int16_t nr_fc_input, int16_t nr_fc_fft_filter )
#endif /* FIX_I68_MC_REVERB_FOR_514 */
{
    int16_t nr_out_ch, hrtf_idx, offset, iter_idx, bin_idx;
    float ln_1e6_inverted, delay_diff, exp_argument;
@@ -816,8 +820,13 @@ static void set_reverb_acoustic_data( ivas_reverb_params_t *pParams, const HRTFS
        }

        /* Compute HRTF set properties using frequency-domain HRTF data */
#ifdef FIX_I68_MC_REVERB_FOR_514
        ivas_reverb_get_hrtf_set_properties( pHrtf_set_l_re, pHrtf_set_l_im, pHrtf_set_r_re, pHrtf_set_r_im, inp_audio_config, hHrtf->max_num_ir, subframe_len,
                                             nr_fc_fft_filter, pParams->pHrtf_avg_pwr_response_l, pParams->pHrtf_avg_pwr_response_r, pParams->pHrtf_inter_aural_coherence );
#else /* FIX_I68_MC_REVERB_FOR_514 */
        ivas_reverb_get_hrtf_set_properties( pHrtf_set_l_re, pHrtf_set_l_im, pHrtf_set_r_re, pHrtf_set_r_im, hHrtf->max_num_ir, subframe_len,
                                             nr_fc_fft_filter, pParams->pHrtf_avg_pwr_response_l, pParams->pHrtf_avg_pwr_response_r, pParams->pHrtf_inter_aural_coherence );
#endif /* FIX_I68_MC_REVERB_FOR_514 */

        pParams->pHrtf_avg_pwr_response_l_const = (const float *) pParams->pHrtf_avg_pwr_response_l;
        pParams->pHrtf_avg_pwr_response_r_const = (const float *) pParams->pHrtf_avg_pwr_response_r;
@@ -917,12 +926,22 @@ static ivas_error setup_FDN_branches( REVERB_HANDLE pState, ivas_reverb_params_t
 * Allocate and initialize Crend reverberation handle
 *------------------------------------------------------------------------*/

#ifdef FIX_I68_MC_REVERB_FOR_514
ivas_error ivas_reverb_open(
    REVERB_HANDLE *hReverb,             /* i/o: Reverberator handle               */
    const AUDIO_CONFIG transport_config,/* i  : reverb. input audio configuration */
    const HRTFS_HANDLE hHrtf,           /* i  : HRTF handle                       */
    RENDER_CONFIG_HANDLE hRenderConfig, /* i  : Renderer configuration handle     */
    const int32_t output_Fs             /* i  : output sampling rate              */
)
#else /* FIX_I68_MC_REVERB_FOR_514 */
ivas_error ivas_reverb_open(
    REVERB_HANDLE *hReverb,             /* i/o: Reverberator handle             */
    const HRTFS_HANDLE hHrtf,           /* i  : HRTF handle                     */
    RENDER_CONFIG_HANDLE hRenderConfig, /* i  : Renderer configuration handle   */
    const int32_t output_Fs             /* i  : output sampling rate            */
)
#endif /* FIX_I68_MC_REVERB_FOR_514 */
{
    ivas_error error;
    REVERB_HANDLE pState = NULL;
@@ -994,7 +1013,11 @@ ivas_error ivas_reverb_open(
    }

    /* set up reverb acoustic data on the basis of HRTF data and renderer config  */
#ifdef FIX_I68_MC_REVERB_FOR_514
    set_reverb_acoustic_data( &params, transport_config, hHrtf, &hRenderConfig->roomAcoustics, subframe_len, nr_fc_input, nr_fc_fft_filter );
#else /* FIX_I68_MC_REVERB_FOR_514 */
    set_reverb_acoustic_data( &params, hHrtf, &hRenderConfig->roomAcoustics, subframe_len, nr_fc_input, nr_fc_fft_filter );
#endif /* FIX_I68_MC_REVERB_FOR_514 */

    /*  set up input downmix  */
    pState->dmx_gain = calc_dmx_gain();
Loading