Loading lib_com/bitstream.c +3 −1 Original line number Diff line number Diff line Loading @@ -2740,7 +2740,9 @@ ivas_error preview_indices( /* Read SBA planar flag and SBA order */ st_ivas->sba_planar = ( bit_stream[IVAS_FORMAT_SIGNALING_NBITS_EXTENDED + IVAS_COMBINED_FORMAT_SIGNALLING_BITS] == 1 ); if ( total_brate > IVAS_256k ) #ifdef CR_FIX_752_OSBA_MISCONFIG_MCT if ( total_brate >= IVAS_256k ) #endif { st_ivas->sba_order = ( bit_stream[IVAS_FORMAT_SIGNALING_NBITS_EXTENDED + IVAS_COMBINED_FORMAT_SIGNALLING_BITS + 2] == 1 ); st_ivas->sba_order += 2 * ( bit_stream[IVAS_FORMAT_SIGNALING_NBITS_EXTENDED + IVAS_COMBINED_FORMAT_SIGNALLING_BITS + 1] == 1 ); Loading lib_com/options.h +2 −0 Original line number Diff line number Diff line Loading @@ -167,6 +167,8 @@ /* all switches in this category should start with "CR_" */ #define CR_FIX_752_OSBA_MISCONFIG_MCT /* FhG: issue 752: misconfiguration of MCT causes crashes for coding with sampling rate under 48kHz at 256kbps*/ /* ##################### End NON-BE CR switches ########################### */ /* ################## End DEVELOPMENT switches ######################### */ Loading lib_dec/ivas_init_dec.c +4 −3 Original line number Diff line number Diff line Loading @@ -1531,11 +1531,12 @@ ivas_error ivas_init_decoder( st_ivas->hCPE[0]->hCoreCoder[0] = st_ivas->hSCE[0]->hCoreCoder[0]; /* don't allocate unnecessary core coder, simply point to core coder of SCE element */ st_ivas->hCPE[0]->hCoreCoder[1] = NULL; } #ifndef CR_FIX_752_OSBA_MISCONFIG_MCT if ( st_ivas->ism_mode == ISM_SBA_MODE_DISC ) { st_ivas->nchan_transport += st_ivas->nchan_ism; } #endif if ( st_ivas->nCPE > 1 ) { if ( ( error = create_mct_dec( st_ivas ) ) != IVAS_ERR_OK ) Loading @@ -1543,12 +1544,12 @@ ivas_error ivas_init_decoder( return error; } } #ifndef CR_FIX_752_OSBA_MISCONFIG_MCT if ( st_ivas->ism_mode == ISM_SBA_MODE_DISC ) { st_ivas->nchan_transport -= st_ivas->nchan_ism; } #endif if ( st_ivas->ism_mode == ISM_SBA_MODE_DISC ) { if ( ( error = ivas_ism_metadata_dec_create( st_ivas, st_ivas->nchan_ism, temp_brate ) ) != IVAS_ERR_OK ) Loading lib_dec/ivas_mct_dec.c +24 −1 Original line number Diff line number Diff line Loading @@ -350,6 +350,12 @@ ivas_error create_mct_dec( if ( ( st_ivas->ivas_format == MC_FORMAT && st_ivas->mc_mode == MC_MODE_PARAMMC ) || st_ivas->ivas_format == SBA_FORMAT || st_ivas->ivas_format == SBA_ISM_FORMAT ) { hMCT->nchan_out_woLFE = st_ivas->nchan_transport; #ifdef CR_FIX_752_OSBA_MISCONFIG_MCT if ( st_ivas->ism_mode == ISM_SBA_MODE_DISC ) { hMCT->nchan_out_woLFE += st_ivas->nchan_ism; } #endif } else if ( st_ivas->mc_mode == MC_MODE_MCT ) { Loading @@ -366,6 +372,12 @@ ivas_error create_mct_dec( cp_bitrate = st_ivas->hDecoderConfig->ivas_total_brate / hMCT->nchan_out_woLFE * CPE_CHANNELS; #ifdef CR_FIX_752_OSBA_MISCONFIG_MCT if ( st_ivas->ism_mode == ISM_SBA_MODE_DISC ) { cp_bitrate = st_ivas->hDecoderConfig->ivas_total_brate / st_ivas->nchan_transport * CPE_CHANNELS; } #endif /* indicate LFE for appropriate core-coder channel */ for ( cpe_id = 0; cpe_id < st_ivas->nCPE; cpe_id++ ) { Loading Loading @@ -460,6 +472,12 @@ ivas_error mct_dec_reconfigure( if ( ( st_ivas->ivas_format == MC_FORMAT && st_ivas->mc_mode == MC_MODE_PARAMMC ) || st_ivas->ivas_format == SBA_FORMAT || st_ivas->ivas_format == SBA_ISM_FORMAT ) { hMCT->nchan_out_woLFE = st_ivas->nchan_transport; #ifdef CR_FIX_752_OSBA_MISCONFIG_MCT if ( st_ivas->ism_mode == ISM_SBA_MODE_DISC ) { hMCT->nchan_out_woLFE += st_ivas->nchan_ism; } #endif } else if ( st_ivas->mc_mode == MC_MODE_MCT ) { Loading Loading @@ -491,7 +509,12 @@ ivas_error mct_dec_reconfigure( } cp_bitrate = st_ivas->hDecoderConfig->ivas_total_brate / hMCT->nchan_out_woLFE * CPE_CHANNELS; #ifdef CR_FIX_752_OSBA_MISCONFIG_MCT if ( st_ivas->ism_mode == ISM_SBA_MODE_DISC ) { cp_bitrate = st_ivas->hDecoderConfig->ivas_total_brate / st_ivas->nchan_transport * CPE_CHANNELS; } #endif /* set correct nominal bitrates and igf config already here, otherwise we * run into a number of problems */ for ( cpe_id = 0; cpe_id < st_ivas->nCPE; cpe_id++ ) Loading lib_dec/ivas_sba_dec.c +8 −2 Original line number Diff line number Diff line Loading @@ -369,8 +369,9 @@ ivas_error ivas_sba_dec_reconfigure( return error; } #ifndef CR_FIX_752_OSBA_MISCONFIG_MCT st_ivas->nchan_transport += st_ivas->nchan_ism; #endif st_ivas->nCPE += ( st_ivas->nchan_ism + 1 ) >> 1; } else if ( ism_mode_old == ISM_SBA_MODE_DISC && st_ivas->ism_mode == ISM_MODE_NONE ) Loading Loading @@ -398,12 +399,16 @@ ivas_error ivas_sba_dec_reconfigure( } } } #ifndef CR_FIX_752_OSBA_MISCONFIG_MCT nchan_transport_old += st_ivas->nchan_ism; #endif st_ivas->ism_mode = ISM_MODE_NONE; } else if ( st_ivas->ism_mode == ISM_SBA_MODE_DISC ) { #ifndef CR_FIX_752_OSBA_MISCONFIG_MCT st_ivas->nchan_transport += st_ivas->nchan_ism; #endif st_ivas->nCPE += ( st_ivas->nchan_ism + 1 ) >> 1; nCPE_old = st_ivas->nCPE; nchan_transport_old = st_ivas->nchan_transport; Loading @@ -414,7 +419,7 @@ ivas_error ivas_sba_dec_reconfigure( { return error; } #ifndef CR_FIX_752_OSBA_MISCONFIG_MCT if ( st_ivas->ivas_format == SBA_ISM_FORMAT ) { if ( st_ivas->ism_mode == ISM_SBA_MODE_DISC ) Loading @@ -422,6 +427,7 @@ ivas_error ivas_sba_dec_reconfigure( st_ivas->nchan_transport -= st_ivas->nchan_ism; } } #endif /*-----------------------------------------------------------------* * HP20 memories Loading Loading
lib_com/bitstream.c +3 −1 Original line number Diff line number Diff line Loading @@ -2740,7 +2740,9 @@ ivas_error preview_indices( /* Read SBA planar flag and SBA order */ st_ivas->sba_planar = ( bit_stream[IVAS_FORMAT_SIGNALING_NBITS_EXTENDED + IVAS_COMBINED_FORMAT_SIGNALLING_BITS] == 1 ); if ( total_brate > IVAS_256k ) #ifdef CR_FIX_752_OSBA_MISCONFIG_MCT if ( total_brate >= IVAS_256k ) #endif { st_ivas->sba_order = ( bit_stream[IVAS_FORMAT_SIGNALING_NBITS_EXTENDED + IVAS_COMBINED_FORMAT_SIGNALLING_BITS + 2] == 1 ); st_ivas->sba_order += 2 * ( bit_stream[IVAS_FORMAT_SIGNALING_NBITS_EXTENDED + IVAS_COMBINED_FORMAT_SIGNALLING_BITS + 1] == 1 ); Loading
lib_com/options.h +2 −0 Original line number Diff line number Diff line Loading @@ -167,6 +167,8 @@ /* all switches in this category should start with "CR_" */ #define CR_FIX_752_OSBA_MISCONFIG_MCT /* FhG: issue 752: misconfiguration of MCT causes crashes for coding with sampling rate under 48kHz at 256kbps*/ /* ##################### End NON-BE CR switches ########################### */ /* ################## End DEVELOPMENT switches ######################### */ Loading
lib_dec/ivas_init_dec.c +4 −3 Original line number Diff line number Diff line Loading @@ -1531,11 +1531,12 @@ ivas_error ivas_init_decoder( st_ivas->hCPE[0]->hCoreCoder[0] = st_ivas->hSCE[0]->hCoreCoder[0]; /* don't allocate unnecessary core coder, simply point to core coder of SCE element */ st_ivas->hCPE[0]->hCoreCoder[1] = NULL; } #ifndef CR_FIX_752_OSBA_MISCONFIG_MCT if ( st_ivas->ism_mode == ISM_SBA_MODE_DISC ) { st_ivas->nchan_transport += st_ivas->nchan_ism; } #endif if ( st_ivas->nCPE > 1 ) { if ( ( error = create_mct_dec( st_ivas ) ) != IVAS_ERR_OK ) Loading @@ -1543,12 +1544,12 @@ ivas_error ivas_init_decoder( return error; } } #ifndef CR_FIX_752_OSBA_MISCONFIG_MCT if ( st_ivas->ism_mode == ISM_SBA_MODE_DISC ) { st_ivas->nchan_transport -= st_ivas->nchan_ism; } #endif if ( st_ivas->ism_mode == ISM_SBA_MODE_DISC ) { if ( ( error = ivas_ism_metadata_dec_create( st_ivas, st_ivas->nchan_ism, temp_brate ) ) != IVAS_ERR_OK ) Loading
lib_dec/ivas_mct_dec.c +24 −1 Original line number Diff line number Diff line Loading @@ -350,6 +350,12 @@ ivas_error create_mct_dec( if ( ( st_ivas->ivas_format == MC_FORMAT && st_ivas->mc_mode == MC_MODE_PARAMMC ) || st_ivas->ivas_format == SBA_FORMAT || st_ivas->ivas_format == SBA_ISM_FORMAT ) { hMCT->nchan_out_woLFE = st_ivas->nchan_transport; #ifdef CR_FIX_752_OSBA_MISCONFIG_MCT if ( st_ivas->ism_mode == ISM_SBA_MODE_DISC ) { hMCT->nchan_out_woLFE += st_ivas->nchan_ism; } #endif } else if ( st_ivas->mc_mode == MC_MODE_MCT ) { Loading @@ -366,6 +372,12 @@ ivas_error create_mct_dec( cp_bitrate = st_ivas->hDecoderConfig->ivas_total_brate / hMCT->nchan_out_woLFE * CPE_CHANNELS; #ifdef CR_FIX_752_OSBA_MISCONFIG_MCT if ( st_ivas->ism_mode == ISM_SBA_MODE_DISC ) { cp_bitrate = st_ivas->hDecoderConfig->ivas_total_brate / st_ivas->nchan_transport * CPE_CHANNELS; } #endif /* indicate LFE for appropriate core-coder channel */ for ( cpe_id = 0; cpe_id < st_ivas->nCPE; cpe_id++ ) { Loading Loading @@ -460,6 +472,12 @@ ivas_error mct_dec_reconfigure( if ( ( st_ivas->ivas_format == MC_FORMAT && st_ivas->mc_mode == MC_MODE_PARAMMC ) || st_ivas->ivas_format == SBA_FORMAT || st_ivas->ivas_format == SBA_ISM_FORMAT ) { hMCT->nchan_out_woLFE = st_ivas->nchan_transport; #ifdef CR_FIX_752_OSBA_MISCONFIG_MCT if ( st_ivas->ism_mode == ISM_SBA_MODE_DISC ) { hMCT->nchan_out_woLFE += st_ivas->nchan_ism; } #endif } else if ( st_ivas->mc_mode == MC_MODE_MCT ) { Loading Loading @@ -491,7 +509,12 @@ ivas_error mct_dec_reconfigure( } cp_bitrate = st_ivas->hDecoderConfig->ivas_total_brate / hMCT->nchan_out_woLFE * CPE_CHANNELS; #ifdef CR_FIX_752_OSBA_MISCONFIG_MCT if ( st_ivas->ism_mode == ISM_SBA_MODE_DISC ) { cp_bitrate = st_ivas->hDecoderConfig->ivas_total_brate / st_ivas->nchan_transport * CPE_CHANNELS; } #endif /* set correct nominal bitrates and igf config already here, otherwise we * run into a number of problems */ for ( cpe_id = 0; cpe_id < st_ivas->nCPE; cpe_id++ ) Loading
lib_dec/ivas_sba_dec.c +8 −2 Original line number Diff line number Diff line Loading @@ -369,8 +369,9 @@ ivas_error ivas_sba_dec_reconfigure( return error; } #ifndef CR_FIX_752_OSBA_MISCONFIG_MCT st_ivas->nchan_transport += st_ivas->nchan_ism; #endif st_ivas->nCPE += ( st_ivas->nchan_ism + 1 ) >> 1; } else if ( ism_mode_old == ISM_SBA_MODE_DISC && st_ivas->ism_mode == ISM_MODE_NONE ) Loading Loading @@ -398,12 +399,16 @@ ivas_error ivas_sba_dec_reconfigure( } } } #ifndef CR_FIX_752_OSBA_MISCONFIG_MCT nchan_transport_old += st_ivas->nchan_ism; #endif st_ivas->ism_mode = ISM_MODE_NONE; } else if ( st_ivas->ism_mode == ISM_SBA_MODE_DISC ) { #ifndef CR_FIX_752_OSBA_MISCONFIG_MCT st_ivas->nchan_transport += st_ivas->nchan_ism; #endif st_ivas->nCPE += ( st_ivas->nchan_ism + 1 ) >> 1; nCPE_old = st_ivas->nCPE; nchan_transport_old = st_ivas->nchan_transport; Loading @@ -414,7 +419,7 @@ ivas_error ivas_sba_dec_reconfigure( { return error; } #ifndef CR_FIX_752_OSBA_MISCONFIG_MCT if ( st_ivas->ivas_format == SBA_ISM_FORMAT ) { if ( st_ivas->ism_mode == ISM_SBA_MODE_DISC ) Loading @@ -422,6 +427,7 @@ ivas_error ivas_sba_dec_reconfigure( st_ivas->nchan_transport -= st_ivas->nchan_ism; } } #endif /*-----------------------------------------------------------------* * HP20 memories Loading