Loading Workspace_msvc/lib_dec.vcxproj +1 −0 Original line number Diff line number Diff line Loading @@ -302,6 +302,7 @@ <ClCompile Include="..\lib_dec\ivas_mct_core_dec.c" /> <ClCompile Include="..\lib_dec\ivas_mct_dec.c" /> <ClCompile Include="..\lib_dec\ivas_mct_dec_mct.c" /> <ClCompile Include="..\lib_dec\ivas_mct_dec_mct_fx.c" /> <ClCompile Include="..\lib_dec\ivas_mc_paramupmix_dec.c" /> <ClCompile Include="..\lib_dec\ivas_mc_param_dec.c" /> <ClCompile Include="..\lib_dec\ivas_mc_param_dec_fx.c" /> Loading Workspace_msvc/lib_dec.vcxproj.filters +2 −0 Original line number Diff line number Diff line Loading @@ -817,6 +817,8 @@ <ClCompile Include="..\lib_dec\ivas_sns_dec_fx.c" /> <ClCompile Include="..\lib_dec\lib_dec_fx.c"> <Filter>decoder_all_c</Filter> <ClCompile Include="..\lib_dec\ivas_mct_dec_mct_fx.c"> <Filter>decoder_ivas_c</Filter> </ClCompile> <ClCompile Include="..\lib_dec\ivas_sce_dec_fx.c"> <Filter>decoder_ivas_c</Filter> Loading lib_com/ivas_prot.h +2 −0 Original line number Diff line number Diff line Loading @@ -2628,6 +2628,7 @@ int16_t write_stereo_to_bitstream BSTR_ENC_HANDLE hBstr /* i/o: bitstream handle */ ); #ifndef IVAS_FLOAT_FIXED void parse_stereo_from_bitstream( STEREO_MDCT_DEC_DATA_HANDLE hStereoMdct, /* i/o: MDCT stereo decoder structure */ Decoder_State **sts, /* i/o: decoder state structure */ Loading @@ -2636,6 +2637,7 @@ void parse_stereo_from_bitstream( Decoder_State *st0, /* i/o: decoder state structure for Bstr */ int16_t ms_mask[NB_DIV][MAX_SFB] /* o : bandwise MS mask */ ); #endif void FindSplitRatio( CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ Loading lib_com/ivas_prot_fx.h +49 −0 Original line number Diff line number Diff line Loading @@ -721,4 +721,53 @@ ivas_error ivas_ls_custom_output_init_fx( ivas_error ivas_ls_custom_open_fx( LSSETUP_CUSTOM_HANDLE *hLsSetupCustom /* o : Custom loudspeaker setup handle */ ); // ivas_mct_dec_mct_fx.c void ivas_mct_dec_mct_fx( MCT_DEC_HANDLE hMCT, /* i/o: MCT decoder structure */ Decoder_State **sts, /* i/o: decoder state structure */ const Word16 nchan /* i : number of channels */ ); void apply_MCT_dec_fx( MCT_DEC_HANDLE hMCT, /* i/o: MCT decoder structure */ Decoder_State **sts, /* i/o: decoder state structure */ Word32 *x[MCT_MAX_CHANNELS][NB_DIV], /* i/o: decoded and dequan. spect. input to MCT */ Word16 q_x[MCT_MAX_CHANNELS] ); void mctStereoIGF_dec_fx( MCT_DEC_HANDLE hMCT, /* i/o: MCT decoder structure */ Decoder_State **stm, /* i/o: decoder state structure */ Word32 *x[MCT_MAX_CHANNELS][NB_DIV], /* i/o: decoded and dequantized spectrum*/ const Word16 bfi /* i : bad frame flag */ ); // ivas_stereo_mdct_stereo_dec.c void parse_stereo_from_bitstream( STEREO_MDCT_DEC_DATA_HANDLE hStereoMdct, /* i/o: MDCT stereo decoder structure */ Decoder_State **sts, /* i/o: decoder state structure */ const Word16 mct_on, /* i : flag mct block (1) or stereo (0)*/ const Word16 isSBAStereoMode, /* i : flag core coding for SBA */ Decoder_State *st0, /* i/o: decoder state structure for Bstr*/ Word16 ms_mask[NB_DIV][MAX_SFB] /* o : bandwise MS mask */ ); void stereo_decoder_tcx_fx( STEREO_MDCT_DEC_DATA *hStereoMdct, /* i/o: MDCT stereo decoder structure */ Word16 ms_mask[NB_DIV][MAX_SFB], /* i : bandwise MS mask */ Word32 *spec_r_0[NB_DIV], /* i/o: spectrum right channel */ Word32 *spec_l[], /* i/o: spectrum left channel [NB_DIV][N] */ Word32 *spec_r[], /* i/o: spectrum right channel [NB_DIV][N] */ const Word16 mdct_stereo_mode[], /* i : stereo mode (FB/band wise MS, dual mono */ const Word16 core_l, /* i : core for left channel (TCX20/TCX10) */ const Word16 core_r, /* i : core for right channel (TCX20/TCX10) */ const Word16 igf, /* i : flag for IGF activity */ const Word16 L_frameTCX_l, /* i : TCX frame length of left channel */ const Word16 L_frameTCX_r, /* i : TCX frame length of right channel */ const Word16 mct_on, /* i : flag mct block (1) or stereo (0) */ const Word16 last_core_l, /* i : last core for left channel */ const Word16 last_core_r, /* i : last core for right channel */ const Word16 tmp_plc_upmix, /* i : indicates temp upmix for PLC decision */ Word16 *q_x_ch2, Word16 *q_x_ch1 ); #endif lib_dec/ivas_corecoder_dec_reconfig.c +3 −0 Original line number Diff line number Diff line Loading @@ -287,6 +287,9 @@ ivas_error ivas_corecoder_dec_reconfig( st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->use_itd = 0; st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->reverse_dmx = 0; st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->smooth_ratio = 1.f; #ifdef IVAS_FLOAT_FIXED st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->smooth_ratio_fx = ONE_IN_Q26; #endif set_s( st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->prev_ms_mask[0], 0, MAX_SFB ); set_s( st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->prev_ms_mask[1], 0, MAX_SFB ); st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->lastCoh = 1.f; Loading Loading
Workspace_msvc/lib_dec.vcxproj +1 −0 Original line number Diff line number Diff line Loading @@ -302,6 +302,7 @@ <ClCompile Include="..\lib_dec\ivas_mct_core_dec.c" /> <ClCompile Include="..\lib_dec\ivas_mct_dec.c" /> <ClCompile Include="..\lib_dec\ivas_mct_dec_mct.c" /> <ClCompile Include="..\lib_dec\ivas_mct_dec_mct_fx.c" /> <ClCompile Include="..\lib_dec\ivas_mc_paramupmix_dec.c" /> <ClCompile Include="..\lib_dec\ivas_mc_param_dec.c" /> <ClCompile Include="..\lib_dec\ivas_mc_param_dec_fx.c" /> Loading
Workspace_msvc/lib_dec.vcxproj.filters +2 −0 Original line number Diff line number Diff line Loading @@ -817,6 +817,8 @@ <ClCompile Include="..\lib_dec\ivas_sns_dec_fx.c" /> <ClCompile Include="..\lib_dec\lib_dec_fx.c"> <Filter>decoder_all_c</Filter> <ClCompile Include="..\lib_dec\ivas_mct_dec_mct_fx.c"> <Filter>decoder_ivas_c</Filter> </ClCompile> <ClCompile Include="..\lib_dec\ivas_sce_dec_fx.c"> <Filter>decoder_ivas_c</Filter> Loading
lib_com/ivas_prot.h +2 −0 Original line number Diff line number Diff line Loading @@ -2628,6 +2628,7 @@ int16_t write_stereo_to_bitstream BSTR_ENC_HANDLE hBstr /* i/o: bitstream handle */ ); #ifndef IVAS_FLOAT_FIXED void parse_stereo_from_bitstream( STEREO_MDCT_DEC_DATA_HANDLE hStereoMdct, /* i/o: MDCT stereo decoder structure */ Decoder_State **sts, /* i/o: decoder state structure */ Loading @@ -2636,6 +2637,7 @@ void parse_stereo_from_bitstream( Decoder_State *st0, /* i/o: decoder state structure for Bstr */ int16_t ms_mask[NB_DIV][MAX_SFB] /* o : bandwise MS mask */ ); #endif void FindSplitRatio( CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ Loading
lib_com/ivas_prot_fx.h +49 −0 Original line number Diff line number Diff line Loading @@ -721,4 +721,53 @@ ivas_error ivas_ls_custom_output_init_fx( ivas_error ivas_ls_custom_open_fx( LSSETUP_CUSTOM_HANDLE *hLsSetupCustom /* o : Custom loudspeaker setup handle */ ); // ivas_mct_dec_mct_fx.c void ivas_mct_dec_mct_fx( MCT_DEC_HANDLE hMCT, /* i/o: MCT decoder structure */ Decoder_State **sts, /* i/o: decoder state structure */ const Word16 nchan /* i : number of channels */ ); void apply_MCT_dec_fx( MCT_DEC_HANDLE hMCT, /* i/o: MCT decoder structure */ Decoder_State **sts, /* i/o: decoder state structure */ Word32 *x[MCT_MAX_CHANNELS][NB_DIV], /* i/o: decoded and dequan. spect. input to MCT */ Word16 q_x[MCT_MAX_CHANNELS] ); void mctStereoIGF_dec_fx( MCT_DEC_HANDLE hMCT, /* i/o: MCT decoder structure */ Decoder_State **stm, /* i/o: decoder state structure */ Word32 *x[MCT_MAX_CHANNELS][NB_DIV], /* i/o: decoded and dequantized spectrum*/ const Word16 bfi /* i : bad frame flag */ ); // ivas_stereo_mdct_stereo_dec.c void parse_stereo_from_bitstream( STEREO_MDCT_DEC_DATA_HANDLE hStereoMdct, /* i/o: MDCT stereo decoder structure */ Decoder_State **sts, /* i/o: decoder state structure */ const Word16 mct_on, /* i : flag mct block (1) or stereo (0)*/ const Word16 isSBAStereoMode, /* i : flag core coding for SBA */ Decoder_State *st0, /* i/o: decoder state structure for Bstr*/ Word16 ms_mask[NB_DIV][MAX_SFB] /* o : bandwise MS mask */ ); void stereo_decoder_tcx_fx( STEREO_MDCT_DEC_DATA *hStereoMdct, /* i/o: MDCT stereo decoder structure */ Word16 ms_mask[NB_DIV][MAX_SFB], /* i : bandwise MS mask */ Word32 *spec_r_0[NB_DIV], /* i/o: spectrum right channel */ Word32 *spec_l[], /* i/o: spectrum left channel [NB_DIV][N] */ Word32 *spec_r[], /* i/o: spectrum right channel [NB_DIV][N] */ const Word16 mdct_stereo_mode[], /* i : stereo mode (FB/band wise MS, dual mono */ const Word16 core_l, /* i : core for left channel (TCX20/TCX10) */ const Word16 core_r, /* i : core for right channel (TCX20/TCX10) */ const Word16 igf, /* i : flag for IGF activity */ const Word16 L_frameTCX_l, /* i : TCX frame length of left channel */ const Word16 L_frameTCX_r, /* i : TCX frame length of right channel */ const Word16 mct_on, /* i : flag mct block (1) or stereo (0) */ const Word16 last_core_l, /* i : last core for left channel */ const Word16 last_core_r, /* i : last core for right channel */ const Word16 tmp_plc_upmix, /* i : indicates temp upmix for PLC decision */ Word16 *q_x_ch2, Word16 *q_x_ch1 ); #endif
lib_dec/ivas_corecoder_dec_reconfig.c +3 −0 Original line number Diff line number Diff line Loading @@ -287,6 +287,9 @@ ivas_error ivas_corecoder_dec_reconfig( st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->use_itd = 0; st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->reverse_dmx = 0; st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->smooth_ratio = 1.f; #ifdef IVAS_FLOAT_FIXED st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->smooth_ratio_fx = ONE_IN_Q26; #endif set_s( st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->prev_ms_mask[0], 0, MAX_SFB ); set_s( st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->prev_ms_mask[1], 0, MAX_SFB ); st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->lastCoh = 1.f; Loading