Commit 27045914 authored by emerit's avatar emerit
Browse files

bug fix

parent ccb045cd
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1500,7 +1500,7 @@ ivas_error ivas_binRenderer_open_fx(

        hBinRenderer->hoa_dec_mtx = st_ivas->hoa_dec_mtx;
#ifdef FIX_CREND_SIMPLIFY_CODE
        st_ivas->binaural_latency_ns = (Word32) ( st_ivas->hHrtfFastConv->FASTCONV_latency_s_fx * 1000000000.f );
        st_ivas->binaural_latency_ns = st_ivas->hHrtfFastConv->FASTCONV_latency_s_fx;
#else
        st_ivas->binaural_latency_ns = st_ivas->hHrtfFastConv->FASTCONV_BRIR_latency_s_fx;
#endif
@@ -1515,7 +1515,7 @@ ivas_error ivas_binRenderer_open_fx(
        }

#ifdef FIX_CREND_SIMPLIFY_CODE
        st_ivas->binaural_latency_ns = (Word32) ( st_ivas->hHrtfFastConv->FASTCONV_latency_s_fx * 1000000000.f );
        st_ivas->binaural_latency_ns = st_ivas->hHrtfFastConv->FASTCONV_latency_s_fx;
        move32();
#else
        IF( EQ_32( st_ivas->renderer_type, RENDERER_BINAURAL_FASTCONV ) )
+0 −4
Original line number Diff line number Diff line
@@ -1452,11 +1452,7 @@ ivas_error ivas_init_decoder_front(
        {
            return error;
        }
#ifdef FIX_CREND_SIMPLIFY_CODE
        IF( NE_32( ( error = ivas_HRTF_CRend_binary_open_fx( &( st_ivas->hHrtfCrend ) ) ), IVAS_ERR_OK ) )
#else
        IF( NE_32( ( error = ivas_HRTF_CRend_binary_open_fx( &( st_ivas->hSetOfHRTF ) ) ), IVAS_ERR_OK ) )
#endif
        {
            return error;
        }
+0 −3
Original line number Diff line number Diff line
@@ -493,9 +493,6 @@ ivas_error ivas_dirac_dec_binaural_copy_hrtfs_fx(
        Copy32( parametricReverberationEneCorrections_fx, hrtfParambin->parametricReverberationEneCorrections_fx, CLDFB_NO_CHANNELS_MAX ); /*Q31*/
        Copy32( parametricEarlyPartEneCorrection_fx, hrtfParambin->parametricEarlyPartEneCorrection_fx, CLDFB_NO_CHANNELS_MAX );           /*Q28*/

#ifndef FIX_CREND_SIMPLIFY_CODE
        hrtfParambin->allocatedFromFile = 0;
#endif
        *hHrtfParambin = hrtfParambin;
    }

+37 −34
Original line number Diff line number Diff line
@@ -94,12 +94,12 @@ ivas_error ivas_HRTF_CRend_binary_open_fx(
{
    ivas_error error;

    if ( ( *hHrtfCrend = (HRTFS_CREND_HANDLE) malloc( sizeof( HRTFS_CREND_DATA ) ) ) == NULL )
    IF( ( *hHrtfCrend = (HRTFS_CREND_HANDLE) malloc( sizeof( HRTFS_CREND_DATA ) ) ) == NULL )
    {
        return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" );
    }

    if ( ( error = ivas_Crend_hrtf_init( *hHrtfCrend ) ) != IVAS_ERR_OK )
    IF( ( error = ivas_Crend_hrtf_init( *hHrtfCrend ) ) != IVAS_ERR_OK )
    {
        return error;
    }
@@ -115,11 +115,11 @@ ivas_error ivas_HRTF_CRend_binary_open_fx(
 *-----------------------------------------------------------------------*/

ivas_error ivas_HRTF_CRend_binary_open_buffers_uint16(
    uint16_t **buffer,      /* o  : buffer to allocate      */
    const uint32_t mem_size /* i  : size of buffer          */
    UWord16 **buffer,      /* o  : buffer to allocate      */
    const UWord32 mem_size /* i  : size of buffer          */
)
{
    *buffer = (uint16_t *) malloc( mem_size );
    *buffer = (UWord16 *) malloc( mem_size );

    if ( *buffer == NULL )
    {
@@ -136,11 +136,11 @@ ivas_error ivas_HRTF_CRend_binary_open_buffers_uint16(
 *-----------------------------------------------------------------------*/

ivas_error ivas_HRTF_CRend_binary_open_buffers_int16(
    int16_t **buffer,       /* o  : buffer to allocate      */
    const uint32_t mem_size /* i  : size of buffer          */
    Word16 **buffer,       /* o  : buffer to allocate      */
    const UWord32 mem_size /* i  : size of buffer          */
)
{
    *buffer = (int16_t *) malloc( mem_size );
    *buffer = (Word16 *) malloc( mem_size );

    if ( *buffer == NULL )
    {
@@ -159,12 +159,12 @@ ivas_error ivas_HRTF_CRend_binary_open_buffers_int16(

ivas_error ivas_HRTF_CRend_binary_open_buffers_float(
    float **buffer,        /* o  : buffer to allocate      */
    const uint32_t mem_size /* i  : size of buffer          */
    const UWord32 mem_size /* i  : size of buffer          */
)
{
    *buffer = (float *) malloc( mem_size );

    if ( *buffer == NULL )
    IF( *buffer == NULL )
    {
        return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for HRTF binary data\n" );
    }
@@ -179,13 +179,13 @@ ivas_error ivas_HRTF_CRend_binary_open_buffers_float(
 *-----------------------------------------------------------------------*/

ivas_error ivas_HRTF_CRend_binary_open_buffers_int32(
    int32_t **buffer,       /* o  : buffer to allocate      */
    const uint32_t mem_size /* i  : size of buffer          */
    Word32 **buffer,       /* o  : buffer to allocate      */
    const UWord32 mem_size /* i  : size of buffer          */
)
{
    *buffer = (int32_t *) malloc( mem_size );
    *buffer = (Word32 *) malloc( mem_size );

    if ( *buffer == NULL )
    IF( *buffer == NULL )
    {
        return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for HRTF binary data\n" );
    }
@@ -231,42 +231,43 @@ ivas_error ivas_HRTF_CRend_binary_open_fx(
void ivas_HRTF_CRend_binary_close_fx(
    HRTFS_CREND_DATA **hHrtfCrend )
{
    uint16_t i, j;
    UWord16 i, j;

    if ( *hHrtfCrend == NULL || hHrtfCrend == NULL )
    test();
    IF( *hHrtfCrend == NULL || hHrtfCrend == NULL )
    {
        return;
    }

    for ( i = 0; i < MAX_INTERN_CHANNELS; i++ )
    FOR( i = 0; i < MAX_INTERN_CHANNELS; i++ )
    {
        for ( j = 0; j < BINAURAL_CHANNELS; j++ )
        FOR( j = 0; j < BINAURAL_CHANNELS; j++ )
        {
            if ( ( *hHrtfCrend )->pIndex_frequency_max[i][j] != NULL )
            IF( ( *hHrtfCrend )->pIndex_frequency_max[i][j] != NULL )
            {
                free( ( *hHrtfCrend )->pIndex_frequency_max_dyn_fx[i][j] );
            }
            if ( ( *hHrtfCrend )->pOut_to_bin_re_fx[i][j] != NULL )
            IF( ( *hHrtfCrend )->pOut_to_bin_re_fx[i][j] != NULL )
            {
                free( ( *hHrtfCrend )->pOut_to_bin_re_dyn_fx[i][j] );
            }
            if ( ( *hHrtfCrend )->pOut_to_bin_im_fx[i][j] != NULL )
            IF( ( *hHrtfCrend )->pOut_to_bin_im_fx[i][j] != NULL )
            {
                free( ( *hHrtfCrend )->pOut_to_bin_im_dyn_fx[i][j] );
            }
        }
    }
    for ( j = 0; j < BINAURAL_CHANNELS; j++ )
    FOR( j = 0; j < BINAURAL_CHANNELS; j++ )
    {
        if ( ( *hHrtfCrend )->pIndex_frequency_max_diffuse[j] != NULL )
        IF( ( *hHrtfCrend )->pIndex_frequency_max_diffuse[j] != NULL )
        {
            free( ( *hHrtfCrend )->pIndex_frequency_max_diffuse_dyn_fx[j] );
        }
        if ( ( *hHrtfCrend )->pOut_to_bin_diffuse_re_fx[j] != NULL )
        IF( ( *hHrtfCrend )->pOut_to_bin_diffuse_re_fx[j] != NULL )
        {
            free( ( *hHrtfCrend )->pOut_to_bin_diffuse_re_dyn_fx[j] );
        }
        if ( ( *hHrtfCrend )->pOut_to_bin_diffuse_im_fx[j] != NULL )
        IF( ( *hHrtfCrend )->pOut_to_bin_diffuse_im_fx[j] != NULL )
        {
            free( ( *hHrtfCrend )->pOut_to_bin_diffuse_im_dyn_fx[j] );
        }
@@ -392,7 +393,7 @@ ivas_error ivas_HRTF_statistics_binary_open(
    HRTFS_STATISTICS **hHrtfStatistics )
{
    *hHrtfStatistics = (HRTFS_STATISTICS *) malloc( sizeof( HRTFS_STATISTICS ) );
    if ( *hHrtfStatistics == NULL )
    IF( *hHrtfStatistics == NULL )
    {
        return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for statistics HRTF tables!" );
    }
@@ -410,7 +411,8 @@ ivas_error ivas_HRTF_statistics_binary_open(
void ivas_HRTF_statistics_close(
    HRTFS_STATISTICS **hHrtfStatistics )
{
    if ( hHrtfStatistics == NULL || *hHrtfStatistics == NULL )
    test();
    IF( hHrtfStatistics == NULL || *hHrtfStatistics == NULL )
    {
        return;
    }
@@ -439,14 +441,15 @@ ivas_error ivas_HRTF_statistics_init(
{
    HRTFS_STATISTICS *HrtfStatistics;

    if ( hHrtfStatistics != NULL && *hHrtfStatistics != NULL )
    test();
    IF( hHrtfStatistics != NULL && *hHrtfStatistics != NULL )
    {
        /* Tables already loaded from file */
        return IVAS_ERR_OK;
    }

    /* Initialise tables from ROM */
    if ( ( HrtfStatistics = (HRTFS_STATISTICS *) malloc( sizeof( HRTFS_STATISTICS ) ) ) == NULL )
    IF( ( HrtfStatistics = (HRTFS_STATISTICS *) malloc( sizeof( HRTFS_STATISTICS ) ) ) == NULL )
    {
        return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for statistics HRTF tables!" );
    }
@@ -455,7 +458,7 @@ ivas_error ivas_HRTF_statistics_init(
    HrtfStatistics->average_energy_r = NULL;
    HrtfStatistics->inter_aural_coherence = NULL;

    switch ( sampleRate )
    SWITCH( sampleRate )
    {
        case 48000:
            HrtfStatistics->average_energy_l_dyn = (Word32 *) malloc( LR_IAC_LENGTH_NR_FC * sizeof( Word32 ) );
@@ -517,17 +520,17 @@ ivas_error ivas_HRTF_statistics_init(
            break;
        case 16000:
            HrtfStatistics->average_energy_l_dyn = (Word32 *) malloc( LR_IAC_LENGTH_NR_FC_16KHZ * sizeof( Word32 ) );
            if ( HrtfStatistics->average_energy_l_dyn == NULL )
            IF( HrtfStatistics->average_energy_l_dyn == NULL )
            {
                return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" );
            }
            HrtfStatistics->average_energy_r_dyn = (Word32 *) malloc( LR_IAC_LENGTH_NR_FC_16KHZ * sizeof( Word32 ) );
            if ( HrtfStatistics->average_energy_r_dyn == NULL )
            IF( HrtfStatistics->average_energy_r_dyn == NULL )
            {
                return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" );
            }
            HrtfStatistics->inter_aural_coherence_dyn = (Word32 *) malloc( LR_IAC_LENGTH_NR_FC_16KHZ * sizeof( Word32 ) );
            if ( HrtfStatistics->inter_aural_coherence_dyn == NULL )
            IF( HrtfStatistics->inter_aural_coherence_dyn == NULL )
            {
                return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" );
            }
+0 −4
Original line number Diff line number Diff line
@@ -1124,10 +1124,6 @@ typedef struct
    Word16 elevDim3;
    Word16 azimDim2;
    Word16 azimDim3;
    const Word32 *elevKSeq_fx; /* Array, length elevDim3-2       */
    const Word32 *azimKSeq_fx; /* Array, length azimDim3-2            */
    const Word32 *W_fx;        /* Array, size (elevDim3*azimDim3) x K */
    Word16 W_e;
#endif

#ifdef FIX_989_TD_REND_ROM
Loading