Loading lib_com/ivas_cnst.h +0 −15 Original line number Diff line number Diff line Loading @@ -1492,9 +1492,7 @@ typedef enum PITCH_ONLY, ANY_ROLL, PRED_ONLY, #ifdef SPLIT_REND_PRED_QUANT_63_PNTS PRED_ROLL_ONLY, #endif COM_GAIN_ONLY, LR_GAIN_ONLY } IVAS_SPLIT_REND_POSE_TYPE; Loading Loading @@ -1566,18 +1564,10 @@ typedef enum #define COMPLEX_MD_BAND_THRESH MAX_SPLIT_REND_MD_BANDS #define COMPLEX_MD_BAND_THRESH_LOW 5 #ifndef SPLIT_REND_PRED_QUANT_63_PNTS #define IVAS_SPLIT_REND_NUM_QUANT_STRATS 3 #else #define IVAS_SPLIT_REND_NUM_QUANT_STRATS 4 #endif #ifdef SPLIT_REND_PRED_QUANT_63_PNTS #define IVAS_SPLIT_REND_PRED_63QUANT_PNTS 63 #define IVAS_SPLIT_REND_PRED_31QUANT_PNTS 31 #define IVAS_SPLIT_REND_ROLL_PRED_QUANT_PNTS 31 #else #define IVAS_SPLIT_REND_PRED_QUANT_PNTS 31 #endif #define IVAS_SPLIT_REND_D_QUANT_PNTS 15 #define IVAS_SPLIT_REND_PRED_MIN_VAL -1.4f #define IVAS_SPLIT_REND_PRED_MAX_VAL 1.4f Loading @@ -1588,17 +1578,12 @@ typedef enum #define IVAS_SPLIT_REND_D_MIN_VAL 0.0f #define IVAS_SPLIT_REND_D_MAX_VAL 1.0f #ifdef SPLIT_REND_PRED_QUANT_63_PNTS #define IVAS_SPLIT_REND_PRED_ROLL_Q_STEP (( IVAS_SPLIT_REND_PRED_MAX_VAL - IVAS_SPLIT_REND_PRED_MIN_VAL ) / ( IVAS_SPLIT_REND_ROLL_PRED_QUANT_PNTS - 1 )) #define IVAS_SPLIT_REND_PRED_ROLL_1BYQ_STEP (( IVAS_SPLIT_REND_ROLL_PRED_QUANT_PNTS - 1 )/( IVAS_SPLIT_REND_PRED_MAX_VAL - IVAS_SPLIT_REND_PRED_MIN_VAL )) #define IVAS_SPLIT_REND_PRED31_Q_STEP (( IVAS_SPLIT_REND_PRED_MAX_VAL - IVAS_SPLIT_REND_PRED_MIN_VAL ) / ( IVAS_SPLIT_REND_PRED_31QUANT_PNTS - 1 )) #define IVAS_SPLIT_REND_PRED31_1BYQ_STEP (( IVAS_SPLIT_REND_PRED_31QUANT_PNTS - 1 )/( IVAS_SPLIT_REND_PRED_MAX_VAL - IVAS_SPLIT_REND_PRED_MIN_VAL )) #define IVAS_SPLIT_REND_PRED63_Q_STEP (( IVAS_SPLIT_REND_PRED_MAX_VAL - IVAS_SPLIT_REND_PRED_MIN_VAL ) / ( IVAS_SPLIT_REND_PRED_63QUANT_PNTS - 1 )) #define IVAS_SPLIT_REND_PRED63_1BYQ_STEP (( IVAS_SPLIT_REND_PRED_63QUANT_PNTS - 1 )/( IVAS_SPLIT_REND_PRED_MAX_VAL - IVAS_SPLIT_REND_PRED_MIN_VAL )) #else #define IVAS_SPLIT_REND_PRED_Q_STEP (( IVAS_SPLIT_REND_PRED_MAX_VAL - IVAS_SPLIT_REND_PRED_MIN_VAL ) / ( IVAS_SPLIT_REND_PRED_QUANT_PNTS - 1 )) #define IVAS_SPLIT_REND_PRED_1BYQ_STEP (( IVAS_SPLIT_REND_PRED_QUANT_PNTS - 1 )/( IVAS_SPLIT_REND_PRED_MAX_VAL - IVAS_SPLIT_REND_PRED_MIN_VAL )) #endif #define IVAS_SPLIT_REND_D_Q_STEP (( IVAS_SPLIT_REND_D_MAX_VAL - IVAS_SPLIT_REND_D_MIN_VAL ) / ( IVAS_SPLIT_REND_D_QUANT_PNTS - 1 )) #define IVAS_SPLIT_REND_D_1BYQ_STEP (( IVAS_SPLIT_REND_D_QUANT_PNTS - 1 )/( IVAS_SPLIT_REND_D_MAX_VAL - IVAS_SPLIT_REND_D_MIN_VAL )) Loading lib_com/options.h +0 −9 Original line number Diff line number Diff line Loading @@ -150,18 +150,9 @@ /*#define FIX_I4_OL_PITCH*/ /* fix open-loop pitch used for EVS core switching */ /*#define SPLIT_REND_WITH_HEAD_ROT*/ /* Dlb,FhG: Split Rendering contributions 21 and 35 */ #ifdef SPLIT_REND_WITH_HEAD_ROT #define SPLIT_REND_PRED_QUANT_63_PNTS #define SPLIT_REND_WITH_HEAD_ROT_PARAMBIN /* Nokia: Issue 623: Split rendering support for parambin renderer */ #define FIX_658_SPLIT_REND_MASA /*Dlb : Fix for issue 658, uninitialized memory access in MASA in Split rendering 0DOF mode*/ #define OSBA_SPLIT_RENDERING #define ROM_TO_RAM /*Dlb : ROM optimization in SR mode*/ #define FIX_712_713_SPLIT_REND_MASA_MC /*Dlb : Fix for issue 712 and 713*/ #endif #define REMOVE_UNUSED_FUNCTION /* Dlb: Remove functions that are unhit/unused */ #define FIX_MSAN_USAN_ERROR_JBM /* Dlb: Resolve MSAN and USAN errors in the SBA-JBM test case added*/ #define FIX_818_DOUBLE_PREC_KERNEL_SW /* FhG: Issue 818: Avoid double precision in kernel switching */ #define FIX_822_REFACTOR_BIN_REVERB_OPEN /* Nokia: Addresses first step of issue 822 by refactoring ivas_binaural_reverb_open */ #define FIX_847_OUTPUT_PCM_BUFFER /* VA: issue 847: Allocate decoder output PCM buffer dynamically */ Loading lib_dec/ivas_dirac_dec.c +9 −9 Original line number Diff line number Diff line Loading @@ -809,7 +809,7 @@ ivas_error ivas_dirac_dec_config( if ( !need_parambin ) { #ifdef SPLIT_REND_WITH_HEAD_ROT_PARAMBIN #ifdef SPLIT_REND_WITH_HEAD_ROT ivas_dirac_dec_close_binaural_data( st_ivas->hDiracDecBin ); #else ivas_dirac_dec_close_binaural_data( &st_ivas->hDiracDecBin ); Loading Loading @@ -865,7 +865,7 @@ ivas_error ivas_dirac_dec_config( } } #ifdef SPLIT_REND_WITH_HEAD_ROT_PARAMBIN #ifdef SPLIT_REND_WITH_HEAD_ROT if ( st_ivas->hDiracDecBin[0] == NULL ) #else if ( st_ivas->hDiracDecBin == NULL ) Loading @@ -879,20 +879,20 @@ ivas_error ivas_dirac_dec_config( else { /* This is required to keep BE in rate switching. This probably means that 1TC and 2TC MASA perform differently. */ #ifdef SPLIT_REND_WITH_HEAD_ROT_PARAMBIN #ifdef SPLIT_REND_WITH_HEAD_ROT if ( st_ivas->hDiracDecBin[0]->h_freq_domain_decorr_ap_params != NULL && !( st_ivas->ivas_format == MASA_FORMAT && st_ivas->nSCE > 0 ) ) #else if ( st_ivas->hDiracDecBin->h_freq_domain_decorr_ap_params != NULL && !( st_ivas->ivas_format == MASA_FORMAT && st_ivas->nSCE > 0 ) ) #endif { #ifdef SPLIT_REND_WITH_HEAD_ROT_PARAMBIN #ifdef SPLIT_REND_WITH_HEAD_ROT ivas_dirac_dec_decorr_close( &st_ivas->hDiracDecBin[0]->h_freq_domain_decorr_ap_params, &st_ivas->hDiracDecBin[0]->h_freq_domain_decorr_ap_state ); #else ivas_dirac_dec_decorr_close( &st_ivas->hDiracDecBin->h_freq_domain_decorr_ap_params, &st_ivas->hDiracDecBin->h_freq_domain_decorr_ap_state ); #endif } #ifdef SPLIT_REND_WITH_HEAD_ROT_PARAMBIN #ifdef SPLIT_REND_WITH_HEAD_ROT if ( ( error = ivas_td_decorr_reconfig_dec( st_ivas->ivas_format, st_ivas->hDecoderConfig->ivas_total_brate, st_ivas->nchan_transport, st_ivas->hDecoderConfig->output_Fs, &( st_ivas->hDiracDecBin[0]->hTdDecorr ), &( st_ivas->hDiracDecBin[0]->useTdDecorr ) ) ) != IVAS_ERR_OK ) #else if ( ( error = ivas_td_decorr_reconfig_dec( st_ivas->ivas_format, st_ivas->hDecoderConfig->ivas_total_brate, st_ivas->nchan_transport, st_ivas->hDecoderConfig->output_Fs, &( st_ivas->hDiracDecBin->hTdDecorr ), &( st_ivas->hDiracDecBin->useTdDecorr ) ) ) != IVAS_ERR_OK ) Loading @@ -901,7 +901,7 @@ ivas_error ivas_dirac_dec_config( return error; } #ifdef SPLIT_REND_WITH_HEAD_ROT_PARAMBIN #ifdef SPLIT_REND_WITH_HEAD_ROT /* copy td-decorr flag to split renderer side rendereres */ for ( int16_t pos_idx = 1; pos_idx < st_ivas->hSplitBinRend.splitrend.multiBinPoseData.num_poses; pos_idx++ ) { Loading @@ -914,7 +914,7 @@ ivas_error ivas_dirac_dec_config( #endif { #ifdef SPLIT_REND_WITH_HEAD_ROT_PARAMBIN #ifdef SPLIT_REND_WITH_HEAD_ROT if ( st_ivas->hDiracDecBin[0]->h_freq_domain_decorr_ap_params == NULL ) #else if ( st_ivas->hDiracDecBin->h_freq_domain_decorr_ap_params == NULL ) Loading @@ -924,7 +924,7 @@ ivas_error ivas_dirac_dec_config( ivas_dirac_dec_get_frequency_axis( frequency_axis, st_ivas->hDecoderConfig->output_Fs, st_ivas->hSpatParamRendCom->num_freq_bands ); #ifdef SPLIT_REND_WITH_HEAD_ROT_PARAMBIN #ifdef SPLIT_REND_WITH_HEAD_ROT if ( ( error = ivas_dirac_dec_decorr_open( &( st_ivas->hDiracDecBin[0]->h_freq_domain_decorr_ap_params ), &( st_ivas->hDiracDecBin[0]->h_freq_domain_decorr_ap_state ), st_ivas->hSpatParamRendCom->num_freq_bands, BINAURAL_CHANNELS, BINAURAL_CHANNELS, #else if ( ( error = ivas_dirac_dec_decorr_open( &( st_ivas->hDiracDecBin->h_freq_domain_decorr_ap_params ), &( st_ivas->hDiracDecBin->h_freq_domain_decorr_ap_state ), st_ivas->hSpatParamRendCom->num_freq_bands, BINAURAL_CHANNELS, BINAURAL_CHANNELS, Loading @@ -936,7 +936,7 @@ ivas_error ivas_dirac_dec_config( } } #ifdef SPLIT_REND_WITH_HEAD_ROT_PARAMBIN #ifdef SPLIT_REND_WITH_HEAD_ROT for ( int16_t pos_idx = 0; pos_idx < st_ivas->hSplitBinRend.splitrend.multiBinPoseData.num_poses; pos_idx++ ) { st_ivas->hDiracDecBin[pos_idx]->reqularizationFactor = configure_reqularization_factor( st_ivas->ivas_format, st_ivas->hDecoderConfig->ivas_total_brate ); Loading lib_dec/ivas_init_dec.c +13 −13 Original line number Diff line number Diff line Loading @@ -74,7 +74,7 @@ static ivas_error ivas_dec_reconfig_split_rend( ivas_error error; int16_t cldfb_in_flag, num_ch, ch, isCldfbNeeded, i, pcm_out_flag; SPLIT_REND_WRAPPER *hSplitRendWrapper; #ifndef OSBA_SPLIT_RENDERING #ifndef SPLIT_REND_WITH_HEAD_ROT CLDFB_TYPE cldfbMode; #endif Loading @@ -93,7 +93,7 @@ static ivas_error ivas_dec_reconfig_split_rend( ivas_renderSplitGetMultiBinPoseData( &st_ivas->hRenderConfig->split_rend_config, &hSplitRendWrapper->multiBinPoseData, st_ivas->hHeadTrackData->sr_pose_pred_axis ); isCldfbNeeded = 0; #ifndef OSBA_SPLIT_RENDERING #ifndef SPLIT_REND_WITH_HEAD_ROT cldfbMode = CLDFB_ANALYSIS; #else if ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV && st_ivas->ivas_format == SBA_ISM_FORMAT ) Loading @@ -107,21 +107,21 @@ static ivas_error ivas_dec_reconfig_split_rend( if ( cldfb_in_flag == 0 ) { isCldfbNeeded = 1; #ifndef OSBA_SPLIT_RENDERING #ifndef SPLIT_REND_WITH_HEAD_ROT cldfbMode = CLDFB_ANALYSIS; #endif } else if ( st_ivas->hRenderConfig->split_rend_config.codec == IVAS_SPLIT_REND_CODEC_LC3PLUS && cldfb_in_flag ) { isCldfbNeeded = 1; #ifndef OSBA_SPLIT_RENDERING #ifndef SPLIT_REND_WITH_HEAD_ROT cldfbMode = CLDFB_SYNTHESIS; #endif } else if ( pcm_out_flag && cldfb_in_flag ) { isCldfbNeeded = 1; #ifndef OSBA_SPLIT_RENDERING #ifndef SPLIT_REND_WITH_HEAD_ROT cldfbMode = CLDFB_SYNTHESIS; #endif } Loading @@ -144,7 +144,7 @@ static ivas_error ivas_dec_reconfig_split_rend( for ( ch = 0; ch < num_ch; ch++ ) { #ifndef OSBA_SPLIT_RENDERING #ifndef SPLIT_REND_WITH_HEAD_ROT if ( ( error = openCldfb( &( hSplitRendWrapper->hCldfbHandles->cldfbAna[ch] ), cldfbMode, st_ivas->hDecoderConfig->output_Fs, CLDFB_PROTOTYPE_5_00MS ) ) != IVAS_ERR_OK ) #else if ( ( error = openCldfb( &( hSplitRendWrapper->hCldfbHandles->cldfbAna[ch] ), CLDFB_ANALYSIS, st_ivas->hDecoderConfig->output_Fs, CLDFB_PROTOTYPE_5_00MS ) ) != IVAS_ERR_OK ) Loading @@ -155,7 +155,7 @@ static ivas_error ivas_dec_reconfig_split_rend( } } #ifdef OSBA_SPLIT_RENDERING #ifdef SPLIT_REND_WITH_HEAD_ROT for ( ch = 0; ch < BINAURAL_CHANNELS; ch++ ) { if ( ( error = openCldfb( &( hSplitRendWrapper->hCldfbHandles->cldfbSyn[ch] ), CLDFB_SYNTHESIS, st_ivas->hDecoderConfig->output_Fs, CLDFB_PROTOTYPE_5_00MS ) ) != IVAS_ERR_OK ) Loading @@ -177,7 +177,7 @@ static ivas_error ivas_dec_reconfig_split_rend( } } #ifdef OSBA_SPLIT_RENDERING #ifdef SPLIT_REND_WITH_HEAD_ROT for ( ch = 0; ch < BINAURAL_CHANNELS; ch++ ) { if ( hSplitRendWrapper->hCldfbHandles->cldfbSyn[ch] != NULL ) Loading @@ -192,7 +192,7 @@ static ivas_error ivas_dec_reconfig_split_rend( hSplitRendWrapper->hCldfbHandles = NULL; } #ifdef OSBA_SPLIT_RENDERING #ifdef SPLIT_REND_WITH_HEAD_ROT if ( ( st_ivas->renderer_type != RENDERER_BINAURAL_OBJECTS_TD ) && ( st_ivas->renderer_type != RENDERER_BINAURAL_FASTCONV || st_ivas->ivas_format != SBA_ISM_FORMAT ) ) #else Loading Loading @@ -252,7 +252,7 @@ static ivas_error ivas_dec_init_split_rend( return error; } #ifdef OSBA_SPLIT_RENDERING #ifdef SPLIT_REND_WITH_HEAD_ROT if ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV && st_ivas->ivas_format == SBA_ISM_FORMAT ) { cldfb_in_flag = 0; Loading Loading @@ -2459,7 +2459,7 @@ void ivas_initialize_handles_dec( /* rendering handles */ st_ivas->hBinRenderer = NULL; #ifdef SPLIT_REND_WITH_HEAD_ROT_PARAMBIN #ifdef SPLIT_REND_WITH_HEAD_ROT for ( i = 0; i < MAX_HEAD_ROT_POSES; i++ ) { st_ivas->hDiracDecBin[i] = NULL; Loading Loading @@ -2653,7 +2653,7 @@ void ivas_destroy_dec( #endif /* Parametric binaural renderer handle */ #ifdef SPLIT_REND_WITH_HEAD_ROT_PARAMBIN #ifdef SPLIT_REND_WITH_HEAD_ROT ivas_dirac_dec_close_binaural_data( st_ivas->hDiracDecBin ); #else ivas_dirac_dec_close_binaural_data( &st_ivas->hDiracDecBin ); Loading Loading @@ -2812,7 +2812,7 @@ void ivas_init_dec_get_num_cldfb_instances( *numCldfbAnalyses = st_ivas->nchan_transport + 1; } } #ifdef SPLIT_REND_WITH_HEAD_ROT_PARAMBIN #ifdef SPLIT_REND_WITH_HEAD_ROT if ( st_ivas->hDiracDecBin[0]->useTdDecorr ) #else if ( st_ivas->hDiracDecBin->useTdDecorr ) Loading lib_dec/ivas_ism_dec.c +2 −2 Original line number Diff line number Diff line Loading @@ -196,7 +196,7 @@ static ivas_error ivas_ism_bitrate_switching_dec( ) { /* close the parametric binaural renderer */ #ifdef SPLIT_REND_WITH_HEAD_ROT_PARAMBIN #ifdef SPLIT_REND_WITH_HEAD_ROT ivas_dirac_dec_close_binaural_data( st_ivas->hDiracDecBin ); #else ivas_dirac_dec_close_binaural_data( &st_ivas->hDiracDecBin ); Loading Loading @@ -231,7 +231,7 @@ static ivas_error ivas_ism_bitrate_switching_dec( if ( st_ivas->hOutSetup.output_config == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR ) { /* close the parametric binaural renderer */ #ifdef SPLIT_REND_WITH_HEAD_ROT_PARAMBIN #ifdef SPLIT_REND_WITH_HEAD_ROT ivas_dirac_dec_close_binaural_data( st_ivas->hDiracDecBin ); #else ivas_dirac_dec_close_binaural_data( &st_ivas->hDiracDecBin ); Loading Loading
lib_com/ivas_cnst.h +0 −15 Original line number Diff line number Diff line Loading @@ -1492,9 +1492,7 @@ typedef enum PITCH_ONLY, ANY_ROLL, PRED_ONLY, #ifdef SPLIT_REND_PRED_QUANT_63_PNTS PRED_ROLL_ONLY, #endif COM_GAIN_ONLY, LR_GAIN_ONLY } IVAS_SPLIT_REND_POSE_TYPE; Loading Loading @@ -1566,18 +1564,10 @@ typedef enum #define COMPLEX_MD_BAND_THRESH MAX_SPLIT_REND_MD_BANDS #define COMPLEX_MD_BAND_THRESH_LOW 5 #ifndef SPLIT_REND_PRED_QUANT_63_PNTS #define IVAS_SPLIT_REND_NUM_QUANT_STRATS 3 #else #define IVAS_SPLIT_REND_NUM_QUANT_STRATS 4 #endif #ifdef SPLIT_REND_PRED_QUANT_63_PNTS #define IVAS_SPLIT_REND_PRED_63QUANT_PNTS 63 #define IVAS_SPLIT_REND_PRED_31QUANT_PNTS 31 #define IVAS_SPLIT_REND_ROLL_PRED_QUANT_PNTS 31 #else #define IVAS_SPLIT_REND_PRED_QUANT_PNTS 31 #endif #define IVAS_SPLIT_REND_D_QUANT_PNTS 15 #define IVAS_SPLIT_REND_PRED_MIN_VAL -1.4f #define IVAS_SPLIT_REND_PRED_MAX_VAL 1.4f Loading @@ -1588,17 +1578,12 @@ typedef enum #define IVAS_SPLIT_REND_D_MIN_VAL 0.0f #define IVAS_SPLIT_REND_D_MAX_VAL 1.0f #ifdef SPLIT_REND_PRED_QUANT_63_PNTS #define IVAS_SPLIT_REND_PRED_ROLL_Q_STEP (( IVAS_SPLIT_REND_PRED_MAX_VAL - IVAS_SPLIT_REND_PRED_MIN_VAL ) / ( IVAS_SPLIT_REND_ROLL_PRED_QUANT_PNTS - 1 )) #define IVAS_SPLIT_REND_PRED_ROLL_1BYQ_STEP (( IVAS_SPLIT_REND_ROLL_PRED_QUANT_PNTS - 1 )/( IVAS_SPLIT_REND_PRED_MAX_VAL - IVAS_SPLIT_REND_PRED_MIN_VAL )) #define IVAS_SPLIT_REND_PRED31_Q_STEP (( IVAS_SPLIT_REND_PRED_MAX_VAL - IVAS_SPLIT_REND_PRED_MIN_VAL ) / ( IVAS_SPLIT_REND_PRED_31QUANT_PNTS - 1 )) #define IVAS_SPLIT_REND_PRED31_1BYQ_STEP (( IVAS_SPLIT_REND_PRED_31QUANT_PNTS - 1 )/( IVAS_SPLIT_REND_PRED_MAX_VAL - IVAS_SPLIT_REND_PRED_MIN_VAL )) #define IVAS_SPLIT_REND_PRED63_Q_STEP (( IVAS_SPLIT_REND_PRED_MAX_VAL - IVAS_SPLIT_REND_PRED_MIN_VAL ) / ( IVAS_SPLIT_REND_PRED_63QUANT_PNTS - 1 )) #define IVAS_SPLIT_REND_PRED63_1BYQ_STEP (( IVAS_SPLIT_REND_PRED_63QUANT_PNTS - 1 )/( IVAS_SPLIT_REND_PRED_MAX_VAL - IVAS_SPLIT_REND_PRED_MIN_VAL )) #else #define IVAS_SPLIT_REND_PRED_Q_STEP (( IVAS_SPLIT_REND_PRED_MAX_VAL - IVAS_SPLIT_REND_PRED_MIN_VAL ) / ( IVAS_SPLIT_REND_PRED_QUANT_PNTS - 1 )) #define IVAS_SPLIT_REND_PRED_1BYQ_STEP (( IVAS_SPLIT_REND_PRED_QUANT_PNTS - 1 )/( IVAS_SPLIT_REND_PRED_MAX_VAL - IVAS_SPLIT_REND_PRED_MIN_VAL )) #endif #define IVAS_SPLIT_REND_D_Q_STEP (( IVAS_SPLIT_REND_D_MAX_VAL - IVAS_SPLIT_REND_D_MIN_VAL ) / ( IVAS_SPLIT_REND_D_QUANT_PNTS - 1 )) #define IVAS_SPLIT_REND_D_1BYQ_STEP (( IVAS_SPLIT_REND_D_QUANT_PNTS - 1 )/( IVAS_SPLIT_REND_D_MAX_VAL - IVAS_SPLIT_REND_D_MIN_VAL )) Loading
lib_com/options.h +0 −9 Original line number Diff line number Diff line Loading @@ -150,18 +150,9 @@ /*#define FIX_I4_OL_PITCH*/ /* fix open-loop pitch used for EVS core switching */ /*#define SPLIT_REND_WITH_HEAD_ROT*/ /* Dlb,FhG: Split Rendering contributions 21 and 35 */ #ifdef SPLIT_REND_WITH_HEAD_ROT #define SPLIT_REND_PRED_QUANT_63_PNTS #define SPLIT_REND_WITH_HEAD_ROT_PARAMBIN /* Nokia: Issue 623: Split rendering support for parambin renderer */ #define FIX_658_SPLIT_REND_MASA /*Dlb : Fix for issue 658, uninitialized memory access in MASA in Split rendering 0DOF mode*/ #define OSBA_SPLIT_RENDERING #define ROM_TO_RAM /*Dlb : ROM optimization in SR mode*/ #define FIX_712_713_SPLIT_REND_MASA_MC /*Dlb : Fix for issue 712 and 713*/ #endif #define REMOVE_UNUSED_FUNCTION /* Dlb: Remove functions that are unhit/unused */ #define FIX_MSAN_USAN_ERROR_JBM /* Dlb: Resolve MSAN and USAN errors in the SBA-JBM test case added*/ #define FIX_818_DOUBLE_PREC_KERNEL_SW /* FhG: Issue 818: Avoid double precision in kernel switching */ #define FIX_822_REFACTOR_BIN_REVERB_OPEN /* Nokia: Addresses first step of issue 822 by refactoring ivas_binaural_reverb_open */ #define FIX_847_OUTPUT_PCM_BUFFER /* VA: issue 847: Allocate decoder output PCM buffer dynamically */ Loading
lib_dec/ivas_dirac_dec.c +9 −9 Original line number Diff line number Diff line Loading @@ -809,7 +809,7 @@ ivas_error ivas_dirac_dec_config( if ( !need_parambin ) { #ifdef SPLIT_REND_WITH_HEAD_ROT_PARAMBIN #ifdef SPLIT_REND_WITH_HEAD_ROT ivas_dirac_dec_close_binaural_data( st_ivas->hDiracDecBin ); #else ivas_dirac_dec_close_binaural_data( &st_ivas->hDiracDecBin ); Loading Loading @@ -865,7 +865,7 @@ ivas_error ivas_dirac_dec_config( } } #ifdef SPLIT_REND_WITH_HEAD_ROT_PARAMBIN #ifdef SPLIT_REND_WITH_HEAD_ROT if ( st_ivas->hDiracDecBin[0] == NULL ) #else if ( st_ivas->hDiracDecBin == NULL ) Loading @@ -879,20 +879,20 @@ ivas_error ivas_dirac_dec_config( else { /* This is required to keep BE in rate switching. This probably means that 1TC and 2TC MASA perform differently. */ #ifdef SPLIT_REND_WITH_HEAD_ROT_PARAMBIN #ifdef SPLIT_REND_WITH_HEAD_ROT if ( st_ivas->hDiracDecBin[0]->h_freq_domain_decorr_ap_params != NULL && !( st_ivas->ivas_format == MASA_FORMAT && st_ivas->nSCE > 0 ) ) #else if ( st_ivas->hDiracDecBin->h_freq_domain_decorr_ap_params != NULL && !( st_ivas->ivas_format == MASA_FORMAT && st_ivas->nSCE > 0 ) ) #endif { #ifdef SPLIT_REND_WITH_HEAD_ROT_PARAMBIN #ifdef SPLIT_REND_WITH_HEAD_ROT ivas_dirac_dec_decorr_close( &st_ivas->hDiracDecBin[0]->h_freq_domain_decorr_ap_params, &st_ivas->hDiracDecBin[0]->h_freq_domain_decorr_ap_state ); #else ivas_dirac_dec_decorr_close( &st_ivas->hDiracDecBin->h_freq_domain_decorr_ap_params, &st_ivas->hDiracDecBin->h_freq_domain_decorr_ap_state ); #endif } #ifdef SPLIT_REND_WITH_HEAD_ROT_PARAMBIN #ifdef SPLIT_REND_WITH_HEAD_ROT if ( ( error = ivas_td_decorr_reconfig_dec( st_ivas->ivas_format, st_ivas->hDecoderConfig->ivas_total_brate, st_ivas->nchan_transport, st_ivas->hDecoderConfig->output_Fs, &( st_ivas->hDiracDecBin[0]->hTdDecorr ), &( st_ivas->hDiracDecBin[0]->useTdDecorr ) ) ) != IVAS_ERR_OK ) #else if ( ( error = ivas_td_decorr_reconfig_dec( st_ivas->ivas_format, st_ivas->hDecoderConfig->ivas_total_brate, st_ivas->nchan_transport, st_ivas->hDecoderConfig->output_Fs, &( st_ivas->hDiracDecBin->hTdDecorr ), &( st_ivas->hDiracDecBin->useTdDecorr ) ) ) != IVAS_ERR_OK ) Loading @@ -901,7 +901,7 @@ ivas_error ivas_dirac_dec_config( return error; } #ifdef SPLIT_REND_WITH_HEAD_ROT_PARAMBIN #ifdef SPLIT_REND_WITH_HEAD_ROT /* copy td-decorr flag to split renderer side rendereres */ for ( int16_t pos_idx = 1; pos_idx < st_ivas->hSplitBinRend.splitrend.multiBinPoseData.num_poses; pos_idx++ ) { Loading @@ -914,7 +914,7 @@ ivas_error ivas_dirac_dec_config( #endif { #ifdef SPLIT_REND_WITH_HEAD_ROT_PARAMBIN #ifdef SPLIT_REND_WITH_HEAD_ROT if ( st_ivas->hDiracDecBin[0]->h_freq_domain_decorr_ap_params == NULL ) #else if ( st_ivas->hDiracDecBin->h_freq_domain_decorr_ap_params == NULL ) Loading @@ -924,7 +924,7 @@ ivas_error ivas_dirac_dec_config( ivas_dirac_dec_get_frequency_axis( frequency_axis, st_ivas->hDecoderConfig->output_Fs, st_ivas->hSpatParamRendCom->num_freq_bands ); #ifdef SPLIT_REND_WITH_HEAD_ROT_PARAMBIN #ifdef SPLIT_REND_WITH_HEAD_ROT if ( ( error = ivas_dirac_dec_decorr_open( &( st_ivas->hDiracDecBin[0]->h_freq_domain_decorr_ap_params ), &( st_ivas->hDiracDecBin[0]->h_freq_domain_decorr_ap_state ), st_ivas->hSpatParamRendCom->num_freq_bands, BINAURAL_CHANNELS, BINAURAL_CHANNELS, #else if ( ( error = ivas_dirac_dec_decorr_open( &( st_ivas->hDiracDecBin->h_freq_domain_decorr_ap_params ), &( st_ivas->hDiracDecBin->h_freq_domain_decorr_ap_state ), st_ivas->hSpatParamRendCom->num_freq_bands, BINAURAL_CHANNELS, BINAURAL_CHANNELS, Loading @@ -936,7 +936,7 @@ ivas_error ivas_dirac_dec_config( } } #ifdef SPLIT_REND_WITH_HEAD_ROT_PARAMBIN #ifdef SPLIT_REND_WITH_HEAD_ROT for ( int16_t pos_idx = 0; pos_idx < st_ivas->hSplitBinRend.splitrend.multiBinPoseData.num_poses; pos_idx++ ) { st_ivas->hDiracDecBin[pos_idx]->reqularizationFactor = configure_reqularization_factor( st_ivas->ivas_format, st_ivas->hDecoderConfig->ivas_total_brate ); Loading
lib_dec/ivas_init_dec.c +13 −13 Original line number Diff line number Diff line Loading @@ -74,7 +74,7 @@ static ivas_error ivas_dec_reconfig_split_rend( ivas_error error; int16_t cldfb_in_flag, num_ch, ch, isCldfbNeeded, i, pcm_out_flag; SPLIT_REND_WRAPPER *hSplitRendWrapper; #ifndef OSBA_SPLIT_RENDERING #ifndef SPLIT_REND_WITH_HEAD_ROT CLDFB_TYPE cldfbMode; #endif Loading @@ -93,7 +93,7 @@ static ivas_error ivas_dec_reconfig_split_rend( ivas_renderSplitGetMultiBinPoseData( &st_ivas->hRenderConfig->split_rend_config, &hSplitRendWrapper->multiBinPoseData, st_ivas->hHeadTrackData->sr_pose_pred_axis ); isCldfbNeeded = 0; #ifndef OSBA_SPLIT_RENDERING #ifndef SPLIT_REND_WITH_HEAD_ROT cldfbMode = CLDFB_ANALYSIS; #else if ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV && st_ivas->ivas_format == SBA_ISM_FORMAT ) Loading @@ -107,21 +107,21 @@ static ivas_error ivas_dec_reconfig_split_rend( if ( cldfb_in_flag == 0 ) { isCldfbNeeded = 1; #ifndef OSBA_SPLIT_RENDERING #ifndef SPLIT_REND_WITH_HEAD_ROT cldfbMode = CLDFB_ANALYSIS; #endif } else if ( st_ivas->hRenderConfig->split_rend_config.codec == IVAS_SPLIT_REND_CODEC_LC3PLUS && cldfb_in_flag ) { isCldfbNeeded = 1; #ifndef OSBA_SPLIT_RENDERING #ifndef SPLIT_REND_WITH_HEAD_ROT cldfbMode = CLDFB_SYNTHESIS; #endif } else if ( pcm_out_flag && cldfb_in_flag ) { isCldfbNeeded = 1; #ifndef OSBA_SPLIT_RENDERING #ifndef SPLIT_REND_WITH_HEAD_ROT cldfbMode = CLDFB_SYNTHESIS; #endif } Loading @@ -144,7 +144,7 @@ static ivas_error ivas_dec_reconfig_split_rend( for ( ch = 0; ch < num_ch; ch++ ) { #ifndef OSBA_SPLIT_RENDERING #ifndef SPLIT_REND_WITH_HEAD_ROT if ( ( error = openCldfb( &( hSplitRendWrapper->hCldfbHandles->cldfbAna[ch] ), cldfbMode, st_ivas->hDecoderConfig->output_Fs, CLDFB_PROTOTYPE_5_00MS ) ) != IVAS_ERR_OK ) #else if ( ( error = openCldfb( &( hSplitRendWrapper->hCldfbHandles->cldfbAna[ch] ), CLDFB_ANALYSIS, st_ivas->hDecoderConfig->output_Fs, CLDFB_PROTOTYPE_5_00MS ) ) != IVAS_ERR_OK ) Loading @@ -155,7 +155,7 @@ static ivas_error ivas_dec_reconfig_split_rend( } } #ifdef OSBA_SPLIT_RENDERING #ifdef SPLIT_REND_WITH_HEAD_ROT for ( ch = 0; ch < BINAURAL_CHANNELS; ch++ ) { if ( ( error = openCldfb( &( hSplitRendWrapper->hCldfbHandles->cldfbSyn[ch] ), CLDFB_SYNTHESIS, st_ivas->hDecoderConfig->output_Fs, CLDFB_PROTOTYPE_5_00MS ) ) != IVAS_ERR_OK ) Loading @@ -177,7 +177,7 @@ static ivas_error ivas_dec_reconfig_split_rend( } } #ifdef OSBA_SPLIT_RENDERING #ifdef SPLIT_REND_WITH_HEAD_ROT for ( ch = 0; ch < BINAURAL_CHANNELS; ch++ ) { if ( hSplitRendWrapper->hCldfbHandles->cldfbSyn[ch] != NULL ) Loading @@ -192,7 +192,7 @@ static ivas_error ivas_dec_reconfig_split_rend( hSplitRendWrapper->hCldfbHandles = NULL; } #ifdef OSBA_SPLIT_RENDERING #ifdef SPLIT_REND_WITH_HEAD_ROT if ( ( st_ivas->renderer_type != RENDERER_BINAURAL_OBJECTS_TD ) && ( st_ivas->renderer_type != RENDERER_BINAURAL_FASTCONV || st_ivas->ivas_format != SBA_ISM_FORMAT ) ) #else Loading Loading @@ -252,7 +252,7 @@ static ivas_error ivas_dec_init_split_rend( return error; } #ifdef OSBA_SPLIT_RENDERING #ifdef SPLIT_REND_WITH_HEAD_ROT if ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV && st_ivas->ivas_format == SBA_ISM_FORMAT ) { cldfb_in_flag = 0; Loading Loading @@ -2459,7 +2459,7 @@ void ivas_initialize_handles_dec( /* rendering handles */ st_ivas->hBinRenderer = NULL; #ifdef SPLIT_REND_WITH_HEAD_ROT_PARAMBIN #ifdef SPLIT_REND_WITH_HEAD_ROT for ( i = 0; i < MAX_HEAD_ROT_POSES; i++ ) { st_ivas->hDiracDecBin[i] = NULL; Loading Loading @@ -2653,7 +2653,7 @@ void ivas_destroy_dec( #endif /* Parametric binaural renderer handle */ #ifdef SPLIT_REND_WITH_HEAD_ROT_PARAMBIN #ifdef SPLIT_REND_WITH_HEAD_ROT ivas_dirac_dec_close_binaural_data( st_ivas->hDiracDecBin ); #else ivas_dirac_dec_close_binaural_data( &st_ivas->hDiracDecBin ); Loading Loading @@ -2812,7 +2812,7 @@ void ivas_init_dec_get_num_cldfb_instances( *numCldfbAnalyses = st_ivas->nchan_transport + 1; } } #ifdef SPLIT_REND_WITH_HEAD_ROT_PARAMBIN #ifdef SPLIT_REND_WITH_HEAD_ROT if ( st_ivas->hDiracDecBin[0]->useTdDecorr ) #else if ( st_ivas->hDiracDecBin->useTdDecorr ) Loading
lib_dec/ivas_ism_dec.c +2 −2 Original line number Diff line number Diff line Loading @@ -196,7 +196,7 @@ static ivas_error ivas_ism_bitrate_switching_dec( ) { /* close the parametric binaural renderer */ #ifdef SPLIT_REND_WITH_HEAD_ROT_PARAMBIN #ifdef SPLIT_REND_WITH_HEAD_ROT ivas_dirac_dec_close_binaural_data( st_ivas->hDiracDecBin ); #else ivas_dirac_dec_close_binaural_data( &st_ivas->hDiracDecBin ); Loading Loading @@ -231,7 +231,7 @@ static ivas_error ivas_ism_bitrate_switching_dec( if ( st_ivas->hOutSetup.output_config == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR ) { /* close the parametric binaural renderer */ #ifdef SPLIT_REND_WITH_HEAD_ROT_PARAMBIN #ifdef SPLIT_REND_WITH_HEAD_ROT ivas_dirac_dec_close_binaural_data( st_ivas->hDiracDecBin ); #else ivas_dirac_dec_close_binaural_data( &st_ivas->hDiracDecBin ); Loading