Loading lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -150,6 +150,7 @@ #define DIRAC_DRCT_GAIN_TUNING /* issue 64: tuning of DirAC energy-compensation gains */ #define MDFT_ROM_OPTIMIZE /*Optimise ROM tables for MDFT/iMDFT*/ #define LFE_NO_ENTROPY_CODING /* issue 65: changes to add no entropy coding in LFE */ #define FIX_79_MASA2TC_BITRATE_SWITCHING /* Nokia: Fix issue 79 on MASA 2TC bitrate switching crash in decoder. */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ Loading lib_dec/ivas_stereo_switching_dec.c +30 −0 Original line number Diff line number Diff line Loading @@ -891,6 +891,14 @@ ivas_error stereo_memory_dec( count_free( hCPE->prev_synth_chs[1] ); hCPE->prev_synth_chs[1] = NULL; } #ifdef FIX_79_MASA2TC_BITRATE_SWITCHING if ( hCPE->hStereoICBWE != NULL ) { count_free( hCPE->hStereoICBWE ); hCPE->hStereoICBWE = NULL; } #endif } else /* nchan_out == 2 */ { Loading @@ -909,6 +917,28 @@ ivas_error stereo_memory_dec( } set_zero( hCPE->prev_synth_chs[1], NS2SA( st->output_Fs, FRAME_SIZE_NS ) ); } #ifdef FIX_79_MASA2TC_BITRATE_SWITCHING if ( hCPE->hStereoICBWE == NULL && hCPE->element_mode == IVAS_CPE_DFT ) { if ( ( hCPE->hStereoICBWE = (STEREO_ICBWE_DEC_HANDLE) count_malloc( sizeof( STEREO_ICBWE_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Stereo ICBWE \n" ) ); } stereo_icBWE_init_dec( hCPE->hStereoICBWE ); } if ( hCPE->hStereoTCA == NULL && ( hCPE->element_mode == IVAS_CPE_DFT || hCPE->element_mode == IVAS_CPE_TD ) ) { if ( ( hCPE->hStereoTCA = (STEREO_TCA_DEC_HANDLE) count_malloc( sizeof( STEREO_TCA_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Stereo TCA\n" ) ); } stereo_tca_init_dec( hCPE->hStereoTCA ); } #endif } } Loading Loading
lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -150,6 +150,7 @@ #define DIRAC_DRCT_GAIN_TUNING /* issue 64: tuning of DirAC energy-compensation gains */ #define MDFT_ROM_OPTIMIZE /*Optimise ROM tables for MDFT/iMDFT*/ #define LFE_NO_ENTROPY_CODING /* issue 65: changes to add no entropy coding in LFE */ #define FIX_79_MASA2TC_BITRATE_SWITCHING /* Nokia: Fix issue 79 on MASA 2TC bitrate switching crash in decoder. */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ Loading
lib_dec/ivas_stereo_switching_dec.c +30 −0 Original line number Diff line number Diff line Loading @@ -891,6 +891,14 @@ ivas_error stereo_memory_dec( count_free( hCPE->prev_synth_chs[1] ); hCPE->prev_synth_chs[1] = NULL; } #ifdef FIX_79_MASA2TC_BITRATE_SWITCHING if ( hCPE->hStereoICBWE != NULL ) { count_free( hCPE->hStereoICBWE ); hCPE->hStereoICBWE = NULL; } #endif } else /* nchan_out == 2 */ { Loading @@ -909,6 +917,28 @@ ivas_error stereo_memory_dec( } set_zero( hCPE->prev_synth_chs[1], NS2SA( st->output_Fs, FRAME_SIZE_NS ) ); } #ifdef FIX_79_MASA2TC_BITRATE_SWITCHING if ( hCPE->hStereoICBWE == NULL && hCPE->element_mode == IVAS_CPE_DFT ) { if ( ( hCPE->hStereoICBWE = (STEREO_ICBWE_DEC_HANDLE) count_malloc( sizeof( STEREO_ICBWE_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Stereo ICBWE \n" ) ); } stereo_icBWE_init_dec( hCPE->hStereoICBWE ); } if ( hCPE->hStereoTCA == NULL && ( hCPE->element_mode == IVAS_CPE_DFT || hCPE->element_mode == IVAS_CPE_TD ) ) { if ( ( hCPE->hStereoTCA = (STEREO_TCA_DEC_HANDLE) count_malloc( sizeof( STEREO_TCA_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Stereo TCA\n" ) ); } stereo_tca_init_dec( hCPE->hStereoTCA ); } #endif } } Loading