Commit 413b14d1 authored by emerit's avatar emerit
Browse files

remove parambin diff Eq, new binary file to test custom brir ins fastconv, fix...

remove parambin diff Eq, new binary file to test custom brir ins fastconv, fix fastconv float reader
parent c796d46a
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@
/* Generated on 28-Jun-2024 with Matlab version 24.1.0.2578822 (R2024a) Update 2 by marcemerit on MACA64 */
/* clang-format off */
#include <stdint.h>
+238 −238

File changed.

Preview size limit exceeded, changes collapsed.

+120 −0
Original line number Diff line number Diff line
@@ -2743,42 +2743,66 @@ static ivas_error create_fastconv_HRTF_from_rawdata(
        }
        hrtf_data_rptr += sizeof( uint16_t );

#ifdef FIX_1123_FASTCONV_16BIT_ROM
        ( *hHRTF )->ntaps_hrir = *( (uint16_t *) ( hrtf_data_rptr ) );
#else
        if ( BINAURAL_NTAPS != *( (uint16_t *) ( hrtf_data_rptr ) ) )
        {
            return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "HRTF binary file not compliant (BINAURAL_NTAPS)" );
        }
#endif
        hrtf_data_rptr += sizeof( uint16_t );

        for ( i = 0; i < BINAURAL_CONVBANDS; i++ )
        {
            for ( j = 0; j < HRTF_LS_CHANNELS; j++ )
            {
#ifdef FIX_1123_FASTCONV_16BIT_ROM
                memcpy( ( *hHRTF )->leftHRIRReal[i][j], hrtf_data_rptr, ( *hHRTF )->ntaps_hrir * sizeof( float ) );
                hrtf_data_rptr += ( *hHRTF )->ntaps_hrir * sizeof( float );
#else
                memcpy( ( *hHRTF )->leftHRIRReal[i][j], hrtf_data_rptr, BINAURAL_NTAPS * sizeof( float ) );
                hrtf_data_rptr += BINAURAL_NTAPS * sizeof( float );
#endif
            }
        }
        for ( i = 0; i < BINAURAL_CONVBANDS; i++ )
        {
            for ( j = 0; j < HRTF_LS_CHANNELS; j++ )
            {
#ifdef FIX_1123_FASTCONV_16BIT_ROM
                memcpy( ( *hHRTF )->leftHRIRImag[i][j], hrtf_data_rptr, ( *hHRTF )->ntaps_hrir * sizeof( float ) );
                hrtf_data_rptr += ( *hHRTF )->ntaps_hrir * sizeof( float );
#else
                memcpy( ( *hHRTF )->leftHRIRImag[i][j], hrtf_data_rptr, BINAURAL_NTAPS * sizeof( float ) );
                hrtf_data_rptr += BINAURAL_NTAPS * sizeof( float );
#endif
            }
        }
        for ( i = 0; i < BINAURAL_CONVBANDS; i++ )
        {
            for ( j = 0; j < HRTF_LS_CHANNELS; j++ )
            {
#ifdef FIX_1123_FASTCONV_16BIT_ROM
                memcpy( ( *hHRTF )->rightHRIRReal[i][j], hrtf_data_rptr, ( *hHRTF )->ntaps_hrir * sizeof( float ) );
                hrtf_data_rptr += ( *hHRTF )->ntaps_hrir * sizeof( float );
#else
                memcpy( ( *hHRTF )->rightHRIRReal[i][j], hrtf_data_rptr, BINAURAL_NTAPS * sizeof( float ) );
                hrtf_data_rptr += BINAURAL_NTAPS * sizeof( float );
#endif
            }
        }
        for ( i = 0; i < BINAURAL_CONVBANDS; i++ )
        {
            for ( j = 0; j < HRTF_LS_CHANNELS; j++ )
            {
#ifdef FIX_1123_FASTCONV_16BIT_ROM
                memcpy( ( *hHRTF )->rightHRIRImag[i][j], hrtf_data_rptr, ( *hHRTF )->ntaps_hrir * sizeof( float ) );
                hrtf_data_rptr += ( *hHRTF )->ntaps_hrir * sizeof( float );
#else
                memcpy( ( *hHRTF )->rightHRIRImag[i][j], hrtf_data_rptr, BINAURAL_NTAPS * sizeof( float ) );
                hrtf_data_rptr += BINAURAL_NTAPS * sizeof( float );
#endif
            }
        }
    }
@@ -2800,41 +2824,65 @@ static ivas_error create_fastconv_HRTF_from_rawdata(
        }
        hrtf_data_rptr += sizeof( uint16_t );

#ifdef FIX_1123_FASTCONV_16BIT_ROM
        ( *hHRTF )->ntaps_hrir_hoa3 = *( (uint16_t *) ( hrtf_data_rptr ) );
#else
        if ( BINAURAL_NTAPS_SBA != *( (uint16_t *) ( hrtf_data_rptr ) ) )
        {
            return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "HRTF binary file not compliant (BINAURAL_NTAPS_SBA)" );
        }
#endif
        hrtf_data_rptr += sizeof( uint16_t );
        for ( i = 0; i < BINAURAL_CONVBANDS; i++ )
        {
            for ( j = 0; j < HOA3_CHANNELS; j++ )
            {
#ifdef FIX_1123_FASTCONV_16BIT_ROM
                memcpy( ( *hHRTF )->leftHRIRReal_HOA3[i][j], hrtf_data_rptr, ( *hHRTF )->ntaps_hrir_hoa3 * sizeof( float ) );
                hrtf_data_rptr += ( *hHRTF )->ntaps_hrir_hoa3 * sizeof( float );
#else
                memcpy( ( *hHRTF )->leftHRIRReal_HOA3[i][j], hrtf_data_rptr, BINAURAL_NTAPS_SBA * sizeof( float ) );
                hrtf_data_rptr += BINAURAL_NTAPS_SBA * sizeof( float );
#endif
            }
        }
        for ( i = 0; i < BINAURAL_CONVBANDS; i++ )
        {
            for ( j = 0; j < HOA3_CHANNELS; j++ )
            {
#ifdef FIX_1123_FASTCONV_16BIT_ROM
                memcpy( ( *hHRTF )->leftHRIRImag_HOA3[i][j], hrtf_data_rptr, ( *hHRTF )->ntaps_hrir_hoa3 * sizeof( float ) );
                hrtf_data_rptr += ( *hHRTF )->ntaps_hrir_hoa3 * sizeof( float );
#else
                memcpy( ( *hHRTF )->leftHRIRImag_HOA3[i][j], hrtf_data_rptr, BINAURAL_NTAPS_SBA * sizeof( float ) );
                hrtf_data_rptr += BINAURAL_NTAPS_SBA * sizeof( float );
#endif
            }
        }
        for ( i = 0; i < BINAURAL_CONVBANDS; i++ )
        {
            for ( j = 0; j < HOA3_CHANNELS; j++ )
            {
#ifdef FIX_1123_FASTCONV_16BIT_ROM
                memcpy( ( *hHRTF )->rightHRIRReal_HOA3[i][j], hrtf_data_rptr, ( *hHRTF )->ntaps_hrir_hoa3 * sizeof( float ) );
                hrtf_data_rptr += ( *hHRTF )->ntaps_hrir_hoa3 * sizeof( float );
#else
                memcpy( ( *hHRTF )->rightHRIRReal_HOA3[i][j], hrtf_data_rptr, BINAURAL_NTAPS_SBA * sizeof( float ) );
                hrtf_data_rptr += BINAURAL_NTAPS_SBA * sizeof( float );
#endif
            }
        }
        for ( i = 0; i < BINAURAL_CONVBANDS; i++ )
        {
            for ( j = 0; j < HOA3_CHANNELS; j++ )
            {
#ifdef FIX_1123_FASTCONV_16BIT_ROM
                memcpy( ( *hHRTF )->rightHRIRImag_HOA3[i][j], hrtf_data_rptr, ( *hHRTF )->ntaps_hrir_hoa3 * sizeof( float ) );
                hrtf_data_rptr += ( *hHRTF )->ntaps_hrir_hoa3 * sizeof( float );
#else
                memcpy( ( *hHRTF )->rightHRIRImag_HOA3[i][j], hrtf_data_rptr, BINAURAL_NTAPS_SBA * sizeof( float ) );
                hrtf_data_rptr += BINAURAL_NTAPS_SBA * sizeof( float );
#endif
            }
        }
    }
@@ -2856,42 +2904,66 @@ static ivas_error create_fastconv_HRTF_from_rawdata(
        }
        hrtf_data_rptr += sizeof( uint16_t );

#ifdef FIX_1123_FASTCONV_16BIT_ROM
        ( *hHRTF )->ntaps_hrir_hoa2 = *( (uint16_t *) ( hrtf_data_rptr ) );
#else
        if ( BINAURAL_NTAPS_SBA != *( (uint16_t *) ( hrtf_data_rptr ) ) )
        {
            return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "HRTF binary file not compliant (BINAURAL_NTAPS_SBA)" );
        }
#endif
        hrtf_data_rptr += sizeof( uint16_t );

        for ( i = 0; i < BINAURAL_CONVBANDS; i++ )
        {
            for ( j = 0; j < HOA2_CHANNELS; j++ )
            {
#ifdef FIX_1123_FASTCONV_16BIT_ROM
                memcpy( ( *hHRTF )->leftHRIRReal_HOA2[i][j], hrtf_data_rptr, ( *hHRTF )->ntaps_hrir_hoa2 * sizeof( float ) );
                hrtf_data_rptr += ( *hHRTF )->ntaps_hrir_hoa2 * sizeof( float );
#else
                memcpy( ( *hHRTF )->leftHRIRReal_HOA2[i][j], hrtf_data_rptr, BINAURAL_NTAPS_SBA * sizeof( float ) );
                hrtf_data_rptr += BINAURAL_NTAPS_SBA * sizeof( float );
#endif
            }
        }
        for ( i = 0; i < BINAURAL_CONVBANDS; i++ )
        {
            for ( j = 0; j < HOA2_CHANNELS; j++ )
            {
#ifdef FIX_1123_FASTCONV_16BIT_ROM
                memcpy( ( *hHRTF )->leftHRIRImag_HOA2[i][j], hrtf_data_rptr, ( *hHRTF )->ntaps_hrir_hoa2 * sizeof( float ) );
                hrtf_data_rptr += ( *hHRTF )->ntaps_hrir_hoa2 * sizeof( float );
#else
                memcpy( ( *hHRTF )->leftHRIRImag_HOA2[i][j], hrtf_data_rptr, BINAURAL_NTAPS_SBA * sizeof( float ) );
                hrtf_data_rptr += BINAURAL_NTAPS_SBA * sizeof( float );
#endif
            }
        }
        for ( i = 0; i < BINAURAL_CONVBANDS; i++ )
        {
            for ( j = 0; j < HOA2_CHANNELS; j++ )
            {
#ifdef FIX_1123_FASTCONV_16BIT_ROM
                memcpy( ( *hHRTF )->rightHRIRReal_HOA2[i][j], hrtf_data_rptr, ( *hHRTF )->ntaps_hrir_hoa2 * sizeof( float ) );
                hrtf_data_rptr += ( *hHRTF )->ntaps_hrir_hoa2 * sizeof( float );
#else
                memcpy( ( *hHRTF )->rightHRIRReal_HOA2[i][j], hrtf_data_rptr, BINAURAL_NTAPS_SBA * sizeof( float ) );
                hrtf_data_rptr += BINAURAL_NTAPS_SBA * sizeof( float );
#endif
            }
        }
        for ( i = 0; i < BINAURAL_CONVBANDS; i++ )
        {
            for ( j = 0; j < HOA2_CHANNELS; j++ )
            {
#ifdef FIX_1123_FASTCONV_16BIT_ROM
                memcpy( ( *hHRTF )->rightHRIRImag_HOA2[i][j], hrtf_data_rptr, ( *hHRTF )->ntaps_hrir_hoa2 * sizeof( float ) );
                hrtf_data_rptr += ( *hHRTF )->ntaps_hrir_hoa2 * sizeof( float );
#else
                memcpy( ( *hHRTF )->rightHRIRImag_HOA2[i][j], hrtf_data_rptr, BINAURAL_NTAPS_SBA * sizeof( float ) );
                hrtf_data_rptr += BINAURAL_NTAPS_SBA * sizeof( float );
#endif
            }
        }
    }
@@ -2913,42 +2985,66 @@ static ivas_error create_fastconv_HRTF_from_rawdata(
        }
        hrtf_data_rptr += sizeof( uint16_t );

#ifdef FIX_1123_FASTCONV_16BIT_ROM
        ( *hHRTF )->ntaps_hrir_foa = *( (uint16_t *) ( hrtf_data_rptr ) );
#else
        if ( BINAURAL_NTAPS_SBA != *( (uint16_t *) ( hrtf_data_rptr ) ) )
        {
            return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "HRTF binary file not compliant (BINAURAL_NTAPS_SBA)" );
        }
#endif
        hrtf_data_rptr += sizeof( uint16_t );

        for ( i = 0; i < BINAURAL_CONVBANDS; i++ )
        {
            for ( j = 0; j < FOA_CHANNELS; j++ )
            {
#ifdef FIX_1123_FASTCONV_16BIT_ROM
                memcpy( ( *hHRTF )->leftHRIRReal_FOA[i][j], hrtf_data_rptr, ( *hHRTF )->ntaps_hrir_foa * sizeof( float ) );
                hrtf_data_rptr += ( *hHRTF )->ntaps_hrir_foa * sizeof( float );
#else
                memcpy( ( *hHRTF )->leftHRIRReal_FOA[i][j], hrtf_data_rptr, BINAURAL_NTAPS_SBA * sizeof( float ) );
                hrtf_data_rptr += BINAURAL_NTAPS_SBA * sizeof( float );
#endif
            }
        }
        for ( i = 0; i < BINAURAL_CONVBANDS; i++ )
        {
            for ( j = 0; j < FOA_CHANNELS; j++ )
            {
#ifdef FIX_1123_FASTCONV_16BIT_ROM
                memcpy( ( *hHRTF )->leftHRIRImag_FOA[i][j], hrtf_data_rptr, ( *hHRTF )->ntaps_hrir_foa * sizeof( float ) );
                hrtf_data_rptr += ( *hHRTF )->ntaps_hrir_foa * sizeof( float );
#else
                memcpy( ( *hHRTF )->leftHRIRImag_FOA[i][j], hrtf_data_rptr, BINAURAL_NTAPS_SBA * sizeof( float ) );
                hrtf_data_rptr += BINAURAL_NTAPS_SBA * sizeof( float );
#endif
            }
        }
        for ( i = 0; i < BINAURAL_CONVBANDS; i++ )
        {
            for ( j = 0; j < FOA_CHANNELS; j++ )
            {
#ifdef FIX_1123_FASTCONV_16BIT_ROM
                memcpy( ( *hHRTF )->rightHRIRReal_FOA[i][j], hrtf_data_rptr, ( *hHRTF )->ntaps_hrir_foa * sizeof( float ) );
                hrtf_data_rptr += ( *hHRTF )->ntaps_hrir_foa * sizeof( float );
#else
                memcpy( ( *hHRTF )->rightHRIRReal_FOA[i][j], hrtf_data_rptr, BINAURAL_NTAPS_SBA * sizeof( float ) );
                hrtf_data_rptr += BINAURAL_NTAPS_SBA * sizeof( float );
#endif
            }
        }
        for ( i = 0; i < BINAURAL_CONVBANDS; i++ )
        {
            for ( j = 0; j < FOA_CHANNELS; j++ )
            {
#ifdef FIX_1123_FASTCONV_16BIT_ROM
                memcpy( ( *hHRTF )->rightHRIRImag_FOA[i][j], hrtf_data_rptr, ( *hHRTF )->ntaps_hrir_foa * sizeof( float ) );
                hrtf_data_rptr += ( *hHRTF )->ntaps_hrir_foa * sizeof( float );
#else
                memcpy( ( *hHRTF )->rightHRIRImag_FOA[i][j], hrtf_data_rptr, BINAURAL_NTAPS_SBA * sizeof( float ) );
                hrtf_data_rptr += BINAURAL_NTAPS_SBA * sizeof( float );
#endif
            }
        }
    }
@@ -2970,42 +3066,66 @@ static ivas_error create_fastconv_HRTF_from_rawdata(
        }
        hrtf_data_rptr += sizeof( uint16_t );

#ifdef FIX_1123_FASTCONV_16BIT_ROM
        ( *hHRTF )->ntaps_brir = *( (uint16_t *) ( hrtf_data_rptr ) );
#else
        if ( BINAURAL_NTAPS_MAX != *( (uint16_t *) ( hrtf_data_rptr ) ) )
        {
            return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "HRTF binary file not compliant (BINAURAL_NTAPS)" );
        }
#endif
        hrtf_data_rptr += sizeof( uint16_t );

        for ( i = 0; i < BINAURAL_CONVBANDS; i++ )
        {
            for ( j = 0; j < HRTF_LS_CHANNELS; j++ )
            {
#ifdef FIX_1123_FASTCONV_16BIT_ROM
                memcpy( ( *hHRTF )->leftBRIRReal[i][j], hrtf_data_rptr, ( *hHRTF )->ntaps_brir * sizeof( float ) );
                hrtf_data_rptr += ( *hHRTF )->ntaps_brir * sizeof( float );
#else
                memcpy( ( *hHRTF )->leftBRIRReal[i][j], hrtf_data_rptr, BINAURAL_NTAPS_MAX * sizeof( float ) );
                hrtf_data_rptr += BINAURAL_NTAPS_MAX * sizeof( float );
#endif
            }
        }
        for ( i = 0; i < BINAURAL_CONVBANDS; i++ )
        {
            for ( j = 0; j < HRTF_LS_CHANNELS; j++ )
            {
#ifdef FIX_1123_FASTCONV_16BIT_ROM
                memcpy( ( *hHRTF )->leftBRIRImag[i][j], hrtf_data_rptr, ( *hHRTF )->ntaps_brir * sizeof( float ) );
                hrtf_data_rptr += ( *hHRTF )->ntaps_brir * sizeof( float );
#else
                memcpy( ( *hHRTF )->leftBRIRImag[i][j], hrtf_data_rptr, BINAURAL_NTAPS_MAX * sizeof( float ) );
                hrtf_data_rptr += BINAURAL_NTAPS_MAX * sizeof( float );
#endif
            }
        }
        for ( i = 0; i < BINAURAL_CONVBANDS; i++ )
        {
            for ( j = 0; j < HRTF_LS_CHANNELS; j++ )
            {
#ifdef FIX_1123_FASTCONV_16BIT_ROM
                memcpy( ( *hHRTF )->rightBRIRReal[i][j], hrtf_data_rptr, ( *hHRTF )->ntaps_brir * sizeof( float ) );
                hrtf_data_rptr += ( *hHRTF )->ntaps_brir * sizeof( float );
#else
                memcpy( ( *hHRTF )->rightBRIRReal[i][j], hrtf_data_rptr, BINAURAL_NTAPS_MAX * sizeof( float ) );
                hrtf_data_rptr += BINAURAL_NTAPS_MAX * sizeof( float );
#endif
            }
        }
        for ( i = 0; i < BINAURAL_CONVBANDS; i++ )
        {
            for ( j = 0; j < HRTF_LS_CHANNELS; j++ )
            {
#ifdef FIX_1123_FASTCONV_16BIT_ROM
                memcpy( ( *hHRTF )->rightBRIRImag[i][j], hrtf_data_rptr, ( *hHRTF )->ntaps_brir * sizeof( float ) );
                hrtf_data_rptr += ( *hHRTF )->ntaps_brir * sizeof( float );
#else
                memcpy( ( *hHRTF )->rightBRIRImag[i][j], hrtf_data_rptr, BINAURAL_NTAPS_MAX * sizeof( float ) );
                hrtf_data_rptr += BINAURAL_NTAPS_MAX * sizeof( float );
#endif
            }
        }

Loading