Commit 1878b178 authored by Archit Tamarapu's avatar Archit Tamarapu
Browse files

Merge branch 'float-pc' of ssh://forge.3gpp.org:29419/sa4/audio/ivas-basop...

Merge branch 'float-pc' of ssh://forge.3gpp.org:29419/sa4/audio/ivas-basop into 1616_ref_port_fl1422
parents d48fe9b5 0bb7c3d0
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -236,6 +236,7 @@ stages:
  - sed -i '/fetch/d' .git/config # Remove all fetch lines to clean out dead links
  - git remote set-branches --add origin "$BASOP_CI_BRANCH_PC_REPO" # Add currently used branch
  - git fetch
  - git restore --staged . # Needed if HRTF model files were updated.
  - git restore . # Just as a precaution
  - git checkout "$BASOP_CI_BRANCH_PC_REPO"
  - git reset --hard origin/"$BASOP_CI_BRANCH_PC_REPO"
+39 −0
Original line number Diff line number Diff line
@@ -199,6 +199,9 @@ int main(
    IVAS_RENDER_FRAMESIZE asked_frame_size;
    IVAS_DEC_HRTF_HANDLE *hHrtfTD = NULL;
    IVAS_DEC_HRTF_CREND_HANDLE *hSetOfHRTF = NULL;
#ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES
    IVAS_DEC_HRTF_STATISTICS_HANDLE *hHrtfStatistics = NULL;
#endif
#ifdef DEBUGGING
    int32_t noClipping;
    int32_t cnt_frames_limited;
@@ -769,6 +772,7 @@ int main(
            }
        }

#ifndef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES
#ifdef FIX_638_ENERGIE_IAC_ROM_TABLES
        if ( ( *hHrtfTD != NULL ) && ( error = load_reverb_binary( *hHrtfTD, hrtfReader ) ) != IVAS_ERR_OK )
        {
@@ -779,6 +783,8 @@ int main(
            }
        }
#endif
#endif

        if ( ( error = IVAS_DEC_GetHrtfCRendHandle( hIvasDec, &hSetOfHRTF ) ) != IVAS_ERR_OK )
        {
            fprintf( stderr, "\nIVAS_DEC_GetHrtfCRendHandle failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) );
@@ -861,6 +867,35 @@ int main(
                destroy_parambin_hrtf( hHrtfParambin );
            }
        }


#ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES
#ifdef FIX_638_ENERGIE_IAC_ROM_TABLES
        if ( ( error = IVAS_DEC_GetHrtfStatisticsHandle( hIvasDec, &hHrtfStatistics ) ) != IVAS_ERR_OK )
        {
            fprintf( stderr, "\nIVAS_DEC_GetHrtfHandle failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) );
            goto cleanup;
        }
        if ( ( error = load_reverb_binary( *hHrtfStatistics, arg.output_Fs, hrtfReader ) ) != IVAS_ERR_OK )
        {
            if ( error != IVAS_ERR_BINARY_FILE_WITHOUT_BINAURAL_RENDERER_DATA )
            {
                fprintf( stderr, "\nError in loading HRTF binary file %s \n\n", arg.hrtfFileName );
                goto cleanup;
            }
            else
            {
                destroy_hrtf_statistics( hHrtfStatistics );
            }
        }
#else
        if ( ( hHrtfTD != NULL ) && ( error = load_reverb_binary( hHrtfTD, hrtfReader ) ) != IVAS_ERR_OK )
        {
            fprintf( stderr, "\nError in loading HRTF binary file %s \n\n", arg.hrtfFileName );
            goto cleanup;
        }
#endif
#endif
    }

    /*------------------------------------------------------------------------------------------*
@@ -947,6 +982,10 @@ cleanup:
        {
            destroy_SetOfHRTF( hSetOfHRTF );
        }
#ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES
        IVAS_DEC_GetHrtfStatisticsHandle( hIvasDec, &hHrtfStatistics );
        destroy_hrtf_statistics( hHrtfStatistics );
#endif
    }

    IVAS_DEC_Close( &hIvasDec );
+30 −0
Original line number Diff line number Diff line
@@ -676,6 +676,9 @@ int main(
    IVAS_DEC_HRTF_FASTCONV_HANDLE *hHrtfFastConv = NULL;
    IVAS_DEC_HRTF_PARAMBIN_HANDLE *hHrtfParambin = NULL;
    IVAS_DEC_HRTF_HANDLE *hHrtfTD = NULL;
#ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES
    IVAS_DEC_HRTF_STATISTICS_HANDLE *hHrtfStatistics = NULL;
#endif
    IsmPositionProvider *positionProvider;
    LfeRoutingConfig *lfeRoutingConfigs[RENDERER_MAX_MC_INPUTS];
    RenderConfigReader *renderConfigReader = NULL;
@@ -961,6 +964,7 @@ int main(
                }
            }

#ifndef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES
#ifdef FIX_638_ENERGIE_IAC_ROM_TABLES
            if ( ( hHrtfTD != NULL ) && ( error = load_reverb_binary( *hHrtfTD, hrtfFileReader ) ) != IVAS_ERR_OK )
            {
@@ -970,6 +974,7 @@ int main(
                    goto cleanup;
                }
            }
#endif
#endif

            if ( ( error = IVAS_REND_GetHrtfCRendHandle( hIvasRend, &hSetOfHRTF ) ) != IVAS_ERR_OK )
@@ -1051,6 +1056,28 @@ int main(
                    destroy_parambin_hrtf( hHrtfParambin );
                }
            }

#ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES
#ifdef FIX_638_ENERGIE_IAC_ROM_TABLES
            if ( ( error = IVAS_REND_GetHrtfStatisticsHandle( hIvasRend, &hHrtfStatistics ) ) != IVAS_ERR_OK )
            {
                fprintf( stderr, "\nIVAS_REND_GetHrtfStatisticsHandle failed\n\n" );
                goto cleanup;
            }
            if ( ( error = load_reverb_binary( *hHrtfStatistics, args.sampleRate, hrtfFileReader ) ) != IVAS_ERR_OK )
            {
                if ( error != IVAS_ERR_BINARY_FILE_WITHOUT_BINAURAL_RENDERER_DATA )
                {
                    fprintf( stderr, "\nError in loading HRTF binary file %s \n\n", args.customHrtfFilePath );
                    goto cleanup;
                }
                else
                {
                    destroy_hrtf_statistics( hHrtfStatistics );
                }
            }
#endif
#endif
        }

        hrtfFileReader_close( &hrtfFileReader );
@@ -2139,6 +2166,9 @@ cleanup:
    {
        destroy_td_hrtf( hHrtfTD );
    }
#ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES
    destroy_hrtf_statistics( hHrtfStatistics );
#endif
    IVAS_REND_Close( &hIvasRend );
    IsmPositionProvider_close( positionProvider );
    RenderConfigReader_close( &renderConfigReader );
+3 −0
Original line number Diff line number Diff line
@@ -169,6 +169,9 @@ typedef struct TDREND_HRFILT_FiltSet_struct *IVAS_DEC_HRTF_HANDLE;
typedef struct ivas_hrtfs_crend_structure *IVAS_DEC_HRTF_CREND_HANDLE;
typedef struct ivas_hrtfs_fastconv_struct *IVAS_DEC_HRTF_FASTCONV_HANDLE;
typedef struct ivas_hrtfs_parambin_struct *IVAS_DEC_HRTF_PARAMBIN_HANDLE;
#ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES
typedef struct ivas_hrtfs_statistics_struct *IVAS_DEC_HRTF_STATISTICS_HANDLE;
#endif
typedef struct cldfb_filter_bank_struct *IVAS_CLDFB_FILTER_BANK_HANDLE;

typedef struct ivas_LS_setup_custom *IVAS_LSSETUP_CUSTOM_HANDLE;
+4 −15
Original line number Diff line number Diff line
@@ -803,7 +803,10 @@ void dtx_read_padding_bits(
);

void ivas_apply_non_diegetic_panning( 
    float *output_f[],                                          /* i/o: core-coder transport mono channel/stereo output             */
#ifdef FIX_1009_ISM_NONDIEGETIC_PANNING
    float *input_f,                                             /* i  : non-diegetic object                                         */
#endif
    float *output_f[],                                          /* o  : core-coder transport mono channel/stereo output             */
    const float non_diegetic_pan_gain,                          /* i  : non-diegetic panning gain                                   */
    const int16_t output_frame                                  /* i  : output frame length per channel                             */
);
@@ -5207,20 +5210,6 @@ ivas_error ivas_allocate_binaural_hrtf(
    const int16_t allocate_init_flag                            /* i  : Memory allocation flag                          */
);

#ifdef DEBUGGING
void ivas_binaural_cldfb(
    Decoder_Struct *st_ivas,                                    /* i/o: IVAS decoder structure                                  */
    float *output_f[]                                           /* i/o: synthesized core-coder transport channels/DirAC output  */
);

void ivas_binaural_cldfb_sf(
    Decoder_Struct *st_ivas,                                    /* i/o: IVAS decoder structure                                  */
    const int16_t n_samples_to_render,                          /* i  : output frame length per channel                         */
    const int16_t slot_size,                                    /* i  : JBM slot size                                           */
    float *output_f[]                                           /* i/o: synthesized core-coder transport channels/DirAC output  */
);
#endif

void ivas_binRenderer(
    BINAURAL_RENDERER_HANDLE hBinRenderer,                      /* i/o: binaural renderer handle                                */
#ifdef SPLIT_REND_WITH_HEAD_ROT
Loading