Commit 76c2bbd8 authored by emerit's avatar emerit
Browse files

fix bugs

parent c257c8e3
Loading
Loading
Loading
Loading
+9 −8
Original line number Diff line number Diff line
@@ -774,7 +774,7 @@ int main(
            }
            else
            {
                free( *hHrtfTD );
                dealloc_HRTF_binary( *hHrtfTD );
                *hHrtfTD = NULL;
            }
        }
@@ -819,8 +819,11 @@ int main(
                fprintf( stderr, "\nError in loading HRTF binary file %s \n\n", arg.hrtfFileName );
                goto cleanup;
            }
            fprintf( stderr, "\nError in loading HRTF binary file %s \n\n", arg.hrtfFileName );
            goto cleanup;
            else
            {
                destroy_SetOfHRTF( *hSetOfHRTF );
                *hSetOfHRTF = NULL;
            }
        }
#else
        if ( ( error = create_SetOfHRTF_from_binary( *hSetOfHRTF, hrtfReader, arg.output_Fs ) ) != IVAS_ERR_OK )
@@ -851,8 +854,7 @@ int main(
            }
            else
            {
                free( *hHrtfFastConv );
                *hHrtfFastConv = NULL;
                destroy_fastconv_hrtf( hHrtfFastConv );
            }
        }
#else
@@ -885,8 +887,7 @@ int main(
            }
            else
            {
                free( *hHrtfParambin );
                *hHrtfParambin = NULL;
                destroy_parambin_hrtf( hHrtfParambin );
            }
        }
#else
+4 −6
Original line number Diff line number Diff line
@@ -1074,7 +1074,7 @@ int main(
                }
                else
                {
                    free( *hHrtfTD );
                    dealloc_HRTF_binary( *hHrtfTD );
                    *hHrtfTD = NULL;
                }
            }
@@ -1105,7 +1105,7 @@ int main(
                }
                else
                {
                    free( *hSetOfHRTF );
                    destroy_SetOfHRTF( *hSetOfHRTF );
                    *hSetOfHRTF = NULL;
                }
            }
@@ -1125,8 +1125,7 @@ int main(
                }
                else
                {
                    free( *hHrtfFastConv );
                    *hHrtfFastConv = NULL;
                    destroy_fastconv_hrtf( hHrtfFastConv );
                }
            }

@@ -1145,8 +1144,7 @@ int main(
                }
                else
                {
                    free( *hHrtfParambin );
                    *hHrtfParambin = NULL;
                    destroy_parambin_hrtf( hHrtfParambin );
                }
            }
        }
+0 −3
Original line number Diff line number Diff line
@@ -119,9 +119,6 @@ typedef enum
    RENDERER_OSBA_STEREO,
    RENDERER_OSBA_AMBI,
    RENDERER_OSBA_LS,
 #ifdef FIX_638_ENERGIE_IAC_ROM_TABLES   
    RENDERER_BINAURAL_REVERB_ALL,
#endif    
} RENDERER_TYPE;

#ifdef SPLIT_REND_WITH_HEAD_ROT
+1 −4
Original line number Diff line number Diff line
@@ -56,9 +56,6 @@ ivas_error ivas_HRTF_binary_open(
    {
        return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for HRTF binary!" );
    }
#ifdef FIX_BINARY_BINAURAL_READING
    memset( *hHrtfTD, 0, sizeof( TDREND_HRFILT_FiltSet_t ) );
#endif
    return IVAS_ERR_OK;
}

@@ -188,7 +185,7 @@ ivas_error ivas_HRTF_parambin_binary_open(
        return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for parametric binauralizer HRTF tables!" );
    }
#ifdef FIX_BINARY_BINAURAL_READING
    memset( *hHrtfParambin, 0, sizeof( HRTFS_PARAMBIN ) );
    ( *hHrtfParambin )->allocatedFromFile = 1;
#endif
    return IVAS_ERR_OK;
}
+29 −33
Original line number Diff line number Diff line
@@ -232,7 +232,7 @@ typedef struct


#ifdef FIX_BINARY_BINAURAL_READING
struct hrtf_handles
typedef struct hrtf_handles
{
    IVAS_DEC_HRTF_CREND_HANDLE hSetOfHRTF;
    IVAS_DEC_HRTF_FASTCONV_HANDLE hHrtfFastConv;
@@ -280,6 +280,8 @@ struct IVAS_REND

    int16_t num_subframes;
#ifdef FIX_BINARY_BINAURAL_READING
    hrtf_handles hHrtfs;
#else
    IVAS_DEC_HRTF_CREND_HANDLE hSetOfHRTF;
    IVAS_DEC_HRTF_FASTCONV_HANDLE hHrtfFastConv;
    IVAS_DEC_HRTF_PARAMBIN_HANDLE hHrtfParambin;
@@ -1412,7 +1414,7 @@ static ivas_error setRendInputActiveIsm(
    {
#ifndef SPLIT_REND_WITH_HEAD_ROT
#ifdef FIX_BINARY_BINAURAL_READING
        if ( ( error = ivas_rend_openCrend( &inputIsm->crendWrapper, IVAS_AUDIO_CONFIG_7_1_4, outConfig, hRendCfg, hrtf_handles.hSetOfHRTF, *rendCtx.pOutSampleRate ) ) != IVAS_ERR_OK )
        if ( ( error = ivas_rend_openCrend( &inputIsm->crendWrapper, IVAS_AUDIO_CONFIG_7_1_4, outConfig, hRendCfg, hrtfs.hSetOfHRTF, *rendCtx.pOutSampleRate ) ) != IVAS_ERR_OK )
#else
        if ( ( error = ivas_rend_openCrend( &inputIsm->crendWrapper, IVAS_AUDIO_CONFIG_7_1_4, outConfig, hRendCfg, NULL, *rendCtx.pOutSampleRate ) ) != IVAS_ERR_OK )
#endif
@@ -3854,25 +3856,25 @@ ivas_error IVAS_REND_Open(
#endif

#ifdef FIX_BINARY_BINAURAL_READING
    hIvasRend->hHrtfFastConv = NULL;
    hIvasRend->hHrtfParambin = NULL;
    hIvasRend->hHrtfTD = NULL;
    hIvasRend->hSetOfHRTF = NULL;
    hIvasRend->hHrtfs.hHrtfFastConv = NULL;
    hIvasRend->hHrtfs.hHrtfParambin = NULL;
    hIvasRend->hHrtfs.hHrtfTD = NULL;
    hIvasRend->hHrtfs.hSetOfHRTF = NULL;
    if ( asHrtfBinary )
    {
        if ( ( error = ivas_HRTF_binary_open( &( hIvasRend->hHrtfTD ) ) ) != IVAS_ERR_OK )
        if ( ( error = ivas_HRTF_binary_open( &( hIvasRend->hHrtfs.hHrtfTD ) ) ) != IVAS_ERR_OK )
        {
            return error;
        }
        if ( ( error = ivas_HRTF_CRend_binary_open( &( hIvasRend->hSetOfHRTF ) ) ) != IVAS_ERR_OK )
        if ( ( error = ivas_HRTF_CRend_binary_open( &( hIvasRend->hHrtfs.hSetOfHRTF ) ) ) != IVAS_ERR_OK )
        {
            return error;
        }
        if ( ( error = ivas_HRTF_fastconv_binary_open( &( hIvasRend->hHrtfFastConv ) ) ) != IVAS_ERR_OK )
        if ( ( error = ivas_HRTF_fastconv_binary_open( &( hIvasRend->hHrtfs.hHrtfFastConv ) ) ) != IVAS_ERR_OK )
        {
            return error;
        }
        if ( ( error = ivas_HRTF_parambin_binary_open( &( hIvasRend->hHrtfParambin ) ) ) != IVAS_ERR_OK )
        if ( ( error = ivas_HRTF_parambin_binary_open( &( hIvasRend->hHrtfs.hHrtfParambin ) ) ) != IVAS_ERR_OK )
        {
            return error;
        }
@@ -4358,7 +4360,6 @@ ivas_error IVAS_REND_AddInput(
    ivas_error ( *activateInput )( void *, AUDIO_CONFIG, IVAS_REND_InputId, RENDER_CONFIG_DATA * );
#endif
    int32_t inputIndex;
    struct hrtf_handles hrtfs;

    /* Validate function arguments */
    if ( hIvasRend == NULL || inputId == NULL )
@@ -4384,11 +4385,6 @@ ivas_error IVAS_REND_AddInput(
    }
#endif

    hrtfs.hSetOfHRTF = hIvasRend->hSetOfHRTF;
    hrtfs.hHrtfFastConv = hIvasRend->hHrtfFastConv;
    hrtfs.hHrtfParambin = hIvasRend->hHrtfParambin;
    hrtfs.hHrtfTD = hIvasRend->hHrtfTD;

    switch ( getAudioConfigType( inConfig ) )
    {
        case IVAS_REND_AUDIO_CONFIG_TYPE_OBJECT_BASED:
@@ -4435,7 +4431,7 @@ ivas_error IVAS_REND_AddInput(

    *inputId = makeInputId( inConfig, inputIndex );
#ifdef FIX_BINARY_BINAURAL_READING
    if ( ( error = activateInput( (uint8_t *) inputsArray + inputStructSize * inputIndex, inConfig, *inputId, hIvasRend->hRendererConfig, hrtfs ) ) != IVAS_ERR_OK )
    if ( ( error = activateInput( (uint8_t *) inputsArray + inputStructSize * inputIndex, inConfig, *inputId, hIvasRend->hRendererConfig, hIvasRend->hHrtfs ) ) != IVAS_ERR_OK )
#else
    if ( ( error = activateInput( (uint8_t *) inputsArray + inputStructSize * inputIndex, inConfig, *inputId, hIvasRend->hRendererConfig ) ) != IVAS_ERR_OK )
#endif
@@ -4509,7 +4505,7 @@ ivas_error IVAS_REND_ConfigureCustomInputLoudspeakerLayout(
                                                hIvasRend->hRendererConfig
#ifdef FIX_BINARY_BINAURAL_READING
                                                ,
                                                hIvasRend->hSetOfHRTF
                                                hIvasRend->hHrtfs.hSetOfHRTF
#endif
                                                ,
                                                FALSE ) ) != IVAS_ERR_OK )
@@ -5356,7 +5352,7 @@ ivas_error IVAS_REND_SetHeadRotation(
                                                    hIvasRend->outputConfig,
                                                    hIvasRend->hRendererConfig,
#ifdef FIX_BINARY_BINAURAL_READING
                                                    hIvasRend->hSetOfHRTF
                                                    hIvasRend->hHrtfs.hSetOfHRTF
#endif
                                                    ,
                                                    TRUE ) ) != IVAS_ERR_OK )
@@ -5424,7 +5420,7 @@ ivas_error IVAS_REND_DisableHeadRotation(
                                                        hIvasRend->outputConfig,
                                                        hIvasRend->hRendererConfig,
#ifdef FIX_BINARY_BINAURAL_READING
                                                        hIvasRend->hSetOfHRTF
                                                        hIvasRend->hHrtfs.hSetOfHRTF
#endif
                                                        ,
                                                        TRUE ) ) != IVAS_ERR_OK )
@@ -9198,13 +9194,13 @@ void IVAS_REND_Close(

#ifdef FIX_BINARY_BINAURAL_READING
    /* Fastconv HRTF memories */
    ivas_binaural_hrtf_close( &hIvasRend->hHrtfFastConv );
    ivas_binaural_hrtf_close( &hIvasRend->hHrtfs.hHrtfFastConv );

    /* Parametric binauralizer HRTF filters */
    ivas_HRTF_binary_close( &( hIvasRend->hHrtfTD ) );
    ivas_HRTF_CRend_binary_close( &( hIvasRend->hSetOfHRTF ) );
    ivas_HRTF_fastconv_binary_close( &( hIvasRend->hHrtfFastConv ) );
    ivas_HRTF_parambin_binary_close( &( hIvasRend->hHrtfParambin ) );
    ivas_HRTF_binary_close( &( hIvasRend->hHrtfs.hHrtfTD ) );
    ivas_HRTF_CRend_binary_close( &( hIvasRend->hHrtfs.hSetOfHRTF ) );
    ivas_HRTF_fastconv_binary_close( &( hIvasRend->hHrtfs.hHrtfFastConv ) );
    ivas_HRTF_parambin_binary_close( &( hIvasRend->hHrtfs.hHrtfParambin ) );
#endif

    free( hIvasRend );
@@ -9371,12 +9367,12 @@ ivas_error IVAS_REND_GetHrtfHandle(
    IVAS_DEC_HRTF_HANDLE **hHrtfTD /* o  : HRTF handle              */
)
{
    if ( hIvasRend == NULL || hIvasRend->hHrtfTD == NULL )
    if ( hIvasRend == NULL || hIvasRend->hHrtfs.hHrtfTD == NULL )
    {
        return IVAS_ERR_UNEXPECTED_NULL_POINTER;
    }

    *hHrtfTD = &hIvasRend->hHrtfTD;
    *hHrtfTD = &hIvasRend->hHrtfs.hHrtfTD;

    return IVAS_ERR_OK;
}
@@ -9392,12 +9388,12 @@ ivas_error IVAS_REND_GetHrtfCRendHandle(
    IVAS_DEC_HRTF_CREND_HANDLE **hSetOfHRTF /* o  : Set of HRTF handle       */
)
{
    if ( hIvasRend == NULL || hIvasRend->hSetOfHRTF == NULL )
    if ( hIvasRend == NULL || hIvasRend->hHrtfs.hSetOfHRTF == NULL )
    {
        return IVAS_ERR_WRONG_PARAMS;
    }

    *hSetOfHRTF = &hIvasRend->hSetOfHRTF;
    *hSetOfHRTF = &hIvasRend->hHrtfs.hSetOfHRTF;

    return IVAS_ERR_OK;
}
@@ -9414,12 +9410,12 @@ ivas_error IVAS_REND_GetHrtfFastConvHandle(
    IVAS_DEC_HRTF_FASTCONV_HANDLE **hHrtfFastConv /* o  : FASTCONV HRTF handle   */
)
{
    if ( hIvasRend == NULL || hIvasRend->hHrtfFastConv == NULL )
    if ( hIvasRend == NULL || hIvasRend->hHrtfs.hHrtfFastConv == NULL )
    {
        return IVAS_ERR_WRONG_PARAMS;
    }

    *hHrtfFastConv = &hIvasRend->hHrtfFastConv;
    *hHrtfFastConv = &hIvasRend->hHrtfs.hHrtfFastConv;

    return IVAS_ERR_OK;
}
@@ -9436,12 +9432,12 @@ ivas_error IVAS_REND_GetHrtfParamBinHandle(
    IVAS_DEC_HRTF_PARAMBIN_HANDLE **hHrtfParambin /* o  : Parametric binauralizer HRTF handle */
)
{
    if ( hIvasRend == NULL || hIvasRend->hHrtfParambin == NULL )
    if ( hIvasRend == NULL || hIvasRend->hHrtfs.hHrtfParambin == NULL )
    {
        return IVAS_ERR_WRONG_PARAMS;
    }

    *hHrtfParambin = &hIvasRend->hHrtfParambin;
    *hHrtfParambin = &hIvasRend->hHrtfs.hHrtfParambin;

    return IVAS_ERR_OK;
}
Loading