Loading lib_com/ivas_cnst.h +3 −4 Original line number Diff line number Diff line Loading @@ -1792,6 +1792,9 @@ typedef enum #define SPAR_DIRAC_DTX_BANDS ( SPAR_DTX_BANDS + DIRAC_DTX_BANDS ) #define CLDFB_PAR_WEIGHT_START_BAND 7 #define QUANT_STRAT_0 0 #define QUANT_STRAT_2 2 #ifdef SPLIT_REND_WITH_HEAD_ROT /*----------------------------------------------------------------------------------* * Split rendering bitrate constants Loading @@ -1808,10 +1811,6 @@ typedef enum #define SPLIT_REND_ADDITIONAL_BYTES_TO_READ ( 1 ) #endif #define QUANT_STRAT_0 0 #define QUANT_STRAT_2 2 #endif /*----------------------------------------------------------------------------------* * Limiter constants Loading lib_dec/ivas_binRenderer_internal.c +3 −18 Original line number Diff line number Diff line Loading @@ -1506,12 +1506,7 @@ void ivas_binRenderer( #ifdef SPLIT_REND_WITH_HEAD_ROT ivas_binRenderer_filterModule( Cldfb_RealBuffer_Binaural[0], Cldfb_ImagBuffer_Binaural[0], RealBuffer, ImagBuffer, numTimeSlots, hBinRenderer, 0 ); #else ivas_binRenderer_filterModule( Cldfb_RealBuffer_Binaural, Cldfb_ImagBuffer_Binaural, RealBuffer, ImagBuffer, hBinRenderer #ifdef SPLIT_REND_WITH_HEAD_ROT , 0 #endif ); ivas_binRenderer_filterModule( Cldfb_RealBuffer_Binaural, Cldfb_ImagBuffer_Binaural, RealBuffer, ImagBuffer, numTimeSlots, hBinRenderer ); #endif #ifdef SPLIT_REND_WITH_HEAD_ROT Loading Loading @@ -1542,12 +1537,7 @@ void ivas_binRenderer( QuatToRotMat( Quaternions_rel, Rmat_local ); rotateFrame_shd_cldfb( RealBuffer, ImagBuffer, Rmat_local, hBinRenderer->hInputSetup->nchan_out_woLFE, numTimeSlots, 3 ); ivas_binRenderer_filterModule( Cldfb_RealBuffer_Binaural[pos_idx], Cldfb_ImagBuffer_Binaural[pos_idx], RealBuffer, ImagBuffer, numTimeSlots, hBinRenderer #ifdef SPLIT_REND_WITH_HEAD_ROT , pos_idx #endif ); ivas_binRenderer_filterModule( Cldfb_RealBuffer_Binaural[pos_idx], Cldfb_ImagBuffer_Binaural[pos_idx], RealBuffer, ImagBuffer, numTimeSlots, hBinRenderer, pos_idx ); } #ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG Loading @@ -1567,12 +1557,7 @@ void ivas_binRenderer( QuatToRotMat( Quaternions_rel, Rmat_local ); rotateFrame_shd_cldfb( RealBuffer, ImagBuffer, Rmat_local, hBinRenderer->hInputSetup->nchan_out_woLFE, 3 ); ivas_binRenderer_filterModule( Cldfb_RealBuffer_Binaural[num_poses], Cldfb_ImagBuffer_Binaural[num_poses], RealBuffer, ImagBuffer, hBinRenderer #ifdef SPLIT_REND_WITH_HEAD_ROT , num_poses #endif ); ivas_binRenderer_filterModule( Cldfb_RealBuffer_Binaural[num_poses], Cldfb_ImagBuffer_Binaural[num_poses], RealBuffer, ImagBuffer, numTimeSlots, hBinRenderer, num_poses ); } #endif } Loading lib_dec/ivas_init_dec.c +3 −3 Original line number Diff line number Diff line Loading @@ -1378,7 +1378,6 @@ ivas_error ivas_init_decoder( } else if ( st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV || st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV_ROOM ) { int16_t num_poses; if ( st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV_ROOM && st_ivas->ivas_format == MC_FORMAT && ( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation ) ) { if ( ( error = efap_init_data( &( st_ivas->hEFAPdata ), st_ivas->hIntSetup.ls_azimuth, st_ivas->hIntSetup.ls_elevation, st_ivas->hIntSetup.nchan_out_woLFE, EFAP_MODE_EFAP ) ) != IVAS_ERR_OK ) Loading @@ -1387,15 +1386,15 @@ ivas_error ivas_init_decoder( } } #ifdef SPLIT_REND_WITH_HEAD_ROT int16_t num_poses; if ( ( st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_BINAURAL_SPLIT_CODED ) || ( st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) ) { int16_t pcm_out; pcm_out = ( st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) ? 1 : 0; #ifdef SPLIT_REND_WITH_HEAD_ROT ivas_split_rend_choose_default_codec( &st_ivas->hRenderConfig->split_rend_config.codec, 1, pcm_out ); #endif ivas_renderSplitGetMultiBinPoseData( &st_ivas->hRenderConfig->split_rend_config, Loading @@ -1415,6 +1414,7 @@ ivas_error ivas_init_decoder( { num_poses = 1; } #endif if ( ( error = ivas_rend_openCrend( &( st_ivas->hCrendWrapper ), st_ivas->intern_config, st_ivas->hDecoderConfig->output_config, st_ivas->hRenderConfig, st_ivas->hSetOfHRTF, st_ivas->hDecoderConfig->output_Fs Loading lib_dec/ivas_output_config.c +4 −0 Original line number Diff line number Diff line Loading @@ -207,7 +207,11 @@ void ivas_renderer_select( else { *internal_config = transport_config; #ifdef SPLIT_REND_WITH_HEAD_ROT if ( output_config == AUDIO_CONFIG_BINAURAL || output_config == AUDIO_CONFIG_BINAURAL_SPLIT_CODED || output_config == AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) #else if ( output_config == AUDIO_CONFIG_BINAURAL ) #endif { #ifdef DEBUGGING if ( ( ( ( st_ivas->transport_config == AUDIO_CONFIG_5_1 || st_ivas->transport_config == AUDIO_CONFIG_7_1 ) && ( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation ) ) || ( st_ivas->hDecoderConfig->force_rend == FORCE_TD_RENDERER ) ) && ( st_ivas->mc_mode == MC_MODE_MCT || st_ivas->mc_mode == MC_MODE_PARAMUPMIX ) && !( st_ivas->hDecoderConfig->force_rend == FORCE_CLDFB_RENDERER ) ) Loading lib_dec/ivas_spar_md_dec.c +2 −0 Original line number Diff line number Diff line Loading @@ -82,7 +82,9 @@ static ivas_error ivas_spar_set_dec_config( ivas_spar_md_dec_state_t *hMdDec, co static void ivas_parse_parameter_bitstream_dtx( ivas_spar_md_t *pSpar_md, Decoder_State *st, const int16_t bw, const int16_t num_bands, int16_t *num_dmx_per_band, int16_t *num_dec_per_band ); #ifdef FIX_SPLIT_REND_MERGE static ivas_error ivas_deindex_real_index( const int16_t *index, const int16_t q_levels, const float min_value, const float max_value, float *quant, const int16_t num_ch_dim2 ); #endif static void ivas_spar_dec_parse_md_bs( ivas_spar_md_dec_state_t *hMdDec, Decoder_State *st, int16_t *nB, int16_t *bands_bw, int16_t *dtx_vad, const int32_t ivas_total_brate, const int16_t use_planar_coeff, const int16_t sba_inactive_mode, const int32_t last_active_brate ); Loading Loading
lib_com/ivas_cnst.h +3 −4 Original line number Diff line number Diff line Loading @@ -1792,6 +1792,9 @@ typedef enum #define SPAR_DIRAC_DTX_BANDS ( SPAR_DTX_BANDS + DIRAC_DTX_BANDS ) #define CLDFB_PAR_WEIGHT_START_BAND 7 #define QUANT_STRAT_0 0 #define QUANT_STRAT_2 2 #ifdef SPLIT_REND_WITH_HEAD_ROT /*----------------------------------------------------------------------------------* * Split rendering bitrate constants Loading @@ -1808,10 +1811,6 @@ typedef enum #define SPLIT_REND_ADDITIONAL_BYTES_TO_READ ( 1 ) #endif #define QUANT_STRAT_0 0 #define QUANT_STRAT_2 2 #endif /*----------------------------------------------------------------------------------* * Limiter constants Loading
lib_dec/ivas_binRenderer_internal.c +3 −18 Original line number Diff line number Diff line Loading @@ -1506,12 +1506,7 @@ void ivas_binRenderer( #ifdef SPLIT_REND_WITH_HEAD_ROT ivas_binRenderer_filterModule( Cldfb_RealBuffer_Binaural[0], Cldfb_ImagBuffer_Binaural[0], RealBuffer, ImagBuffer, numTimeSlots, hBinRenderer, 0 ); #else ivas_binRenderer_filterModule( Cldfb_RealBuffer_Binaural, Cldfb_ImagBuffer_Binaural, RealBuffer, ImagBuffer, hBinRenderer #ifdef SPLIT_REND_WITH_HEAD_ROT , 0 #endif ); ivas_binRenderer_filterModule( Cldfb_RealBuffer_Binaural, Cldfb_ImagBuffer_Binaural, RealBuffer, ImagBuffer, numTimeSlots, hBinRenderer ); #endif #ifdef SPLIT_REND_WITH_HEAD_ROT Loading Loading @@ -1542,12 +1537,7 @@ void ivas_binRenderer( QuatToRotMat( Quaternions_rel, Rmat_local ); rotateFrame_shd_cldfb( RealBuffer, ImagBuffer, Rmat_local, hBinRenderer->hInputSetup->nchan_out_woLFE, numTimeSlots, 3 ); ivas_binRenderer_filterModule( Cldfb_RealBuffer_Binaural[pos_idx], Cldfb_ImagBuffer_Binaural[pos_idx], RealBuffer, ImagBuffer, numTimeSlots, hBinRenderer #ifdef SPLIT_REND_WITH_HEAD_ROT , pos_idx #endif ); ivas_binRenderer_filterModule( Cldfb_RealBuffer_Binaural[pos_idx], Cldfb_ImagBuffer_Binaural[pos_idx], RealBuffer, ImagBuffer, numTimeSlots, hBinRenderer, pos_idx ); } #ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG Loading @@ -1567,12 +1557,7 @@ void ivas_binRenderer( QuatToRotMat( Quaternions_rel, Rmat_local ); rotateFrame_shd_cldfb( RealBuffer, ImagBuffer, Rmat_local, hBinRenderer->hInputSetup->nchan_out_woLFE, 3 ); ivas_binRenderer_filterModule( Cldfb_RealBuffer_Binaural[num_poses], Cldfb_ImagBuffer_Binaural[num_poses], RealBuffer, ImagBuffer, hBinRenderer #ifdef SPLIT_REND_WITH_HEAD_ROT , num_poses #endif ); ivas_binRenderer_filterModule( Cldfb_RealBuffer_Binaural[num_poses], Cldfb_ImagBuffer_Binaural[num_poses], RealBuffer, ImagBuffer, numTimeSlots, hBinRenderer, num_poses ); } #endif } Loading
lib_dec/ivas_init_dec.c +3 −3 Original line number Diff line number Diff line Loading @@ -1378,7 +1378,6 @@ ivas_error ivas_init_decoder( } else if ( st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV || st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV_ROOM ) { int16_t num_poses; if ( st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV_ROOM && st_ivas->ivas_format == MC_FORMAT && ( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation ) ) { if ( ( error = efap_init_data( &( st_ivas->hEFAPdata ), st_ivas->hIntSetup.ls_azimuth, st_ivas->hIntSetup.ls_elevation, st_ivas->hIntSetup.nchan_out_woLFE, EFAP_MODE_EFAP ) ) != IVAS_ERR_OK ) Loading @@ -1387,15 +1386,15 @@ ivas_error ivas_init_decoder( } } #ifdef SPLIT_REND_WITH_HEAD_ROT int16_t num_poses; if ( ( st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_BINAURAL_SPLIT_CODED ) || ( st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) ) { int16_t pcm_out; pcm_out = ( st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) ? 1 : 0; #ifdef SPLIT_REND_WITH_HEAD_ROT ivas_split_rend_choose_default_codec( &st_ivas->hRenderConfig->split_rend_config.codec, 1, pcm_out ); #endif ivas_renderSplitGetMultiBinPoseData( &st_ivas->hRenderConfig->split_rend_config, Loading @@ -1415,6 +1414,7 @@ ivas_error ivas_init_decoder( { num_poses = 1; } #endif if ( ( error = ivas_rend_openCrend( &( st_ivas->hCrendWrapper ), st_ivas->intern_config, st_ivas->hDecoderConfig->output_config, st_ivas->hRenderConfig, st_ivas->hSetOfHRTF, st_ivas->hDecoderConfig->output_Fs Loading
lib_dec/ivas_output_config.c +4 −0 Original line number Diff line number Diff line Loading @@ -207,7 +207,11 @@ void ivas_renderer_select( else { *internal_config = transport_config; #ifdef SPLIT_REND_WITH_HEAD_ROT if ( output_config == AUDIO_CONFIG_BINAURAL || output_config == AUDIO_CONFIG_BINAURAL_SPLIT_CODED || output_config == AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) #else if ( output_config == AUDIO_CONFIG_BINAURAL ) #endif { #ifdef DEBUGGING if ( ( ( ( st_ivas->transport_config == AUDIO_CONFIG_5_1 || st_ivas->transport_config == AUDIO_CONFIG_7_1 ) && ( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation ) ) || ( st_ivas->hDecoderConfig->force_rend == FORCE_TD_RENDERER ) ) && ( st_ivas->mc_mode == MC_MODE_MCT || st_ivas->mc_mode == MC_MODE_PARAMUPMIX ) && !( st_ivas->hDecoderConfig->force_rend == FORCE_CLDFB_RENDERER ) ) Loading
lib_dec/ivas_spar_md_dec.c +2 −0 Original line number Diff line number Diff line Loading @@ -82,7 +82,9 @@ static ivas_error ivas_spar_set_dec_config( ivas_spar_md_dec_state_t *hMdDec, co static void ivas_parse_parameter_bitstream_dtx( ivas_spar_md_t *pSpar_md, Decoder_State *st, const int16_t bw, const int16_t num_bands, int16_t *num_dmx_per_band, int16_t *num_dec_per_band ); #ifdef FIX_SPLIT_REND_MERGE static ivas_error ivas_deindex_real_index( const int16_t *index, const int16_t q_levels, const float min_value, const float max_value, float *quant, const int16_t num_ch_dim2 ); #endif static void ivas_spar_dec_parse_md_bs( ivas_spar_md_dec_state_t *hMdDec, Decoder_State *st, int16_t *nB, int16_t *bands_bw, int16_t *dtx_vad, const int32_t ivas_total_brate, const int16_t use_planar_coeff, const int16_t sba_inactive_mode, const int32_t last_active_brate ); Loading