Loading lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -183,6 +183,7 @@ #define NONBE_FIX_738_SBA_BR_SW_ASAN /* FhG: issue 738: fixes bug when switching to an MCT bitrate and previous frame was ACELP */ #define NONBE_CR_FIX_735_SBA_HP20_BRATE_SWITCHING /* VA: Issue 735: Resolve "HP20 filtering bug in SBA/OSBA bitrate switching" */ #define FIX /* ##################### End NON-BE switches ########################### */ Loading lib_dec/ivas_masa_dec.c +10 −0 Original line number Diff line number Diff line Loading @@ -363,6 +363,16 @@ ivas_error ivas_masa_decode( else { *nb_bits_read += ivas_qmetadata_dec_decode( hQMetaData, st->bit_stream, &st->next_bit_pos, 0 ); #ifdef FIX if ( st_ivas->ivas_format == MASA_ISM_FORMAT && st_ivas->ism_mode == ISM_MASA_MODE_MASA_ONE_OBJ && st_ivas->hIsmMetaData[0]->ism_imp == ISM_INACTIVE_IMP ) { while ( *nb_bits_read < 32 ) { byteBuffer = st->bit_stream[( st->next_bit_pos )--]; ( *nb_bits_read )++; } } #endif } if ( st_ivas->ivas_format == MASA_ISM_FORMAT && st_ivas->ism_mode != ISM_MASA_MODE_DISC && st_ivas->ism_mode != ISM_MASA_MODE_MASA_ONE_OBJ ) Loading lib_enc/ivas_enc.c +10 −1 Original line number Diff line number Diff line Loading @@ -363,7 +363,16 @@ ivas_error ivas_enc( hMetaData->ind_list = st_ivas->hSCE[st_ivas->nSCE - 1]->hMetaData->ind_list + st_ivas->hSCE[st_ivas->nSCE - 1]->hMetaData->nb_ind_tot; st_ivas->hCPE[0]->hCoreCoder[0]->hBstr->ind_list = st_ivas->hSCE[st_ivas->nSCE - 1]->hCoreCoder[0]->hBstr->ind_list + st_ivas->hSCE[st_ivas->nSCE - 1]->hCoreCoder[0]->hBstr->nb_ind_tot; } #ifdef FIX if ( st_ivas->ism_mode == ISM_MASA_MODE_MASA_ONE_OBJ ) { if ( st_ivas->hIsmMetaData[0]->ism_imp == ISM_INACTIVE_IMP ) { /* set minimum bitrate for metadata */ nb_bits_metadata[0] = 32; } } #endif /* Encode MASA parameters and write MASA metadata bitstream */ if ( ( error = ivas_masa_encode( st_ivas->hMasa, st_ivas->hQMetaData, hMetaData, nb_bits_metadata, st_ivas->nchan_transport, ivas_format, ivas_total_brate, st_ivas->hEncoderConfig->Opt_DTX_ON, st_ivas->nchan_transport == 2 ? st_ivas->hCPE[0]->element_mode : -1, st_ivas->ism_mode, hEncoderConfig->nchan_ism, st_ivas->hIsmMetaData, idx_separated_object, st_ivas->hOMasa, st_ivas->hIsmMetaData[0]->ism_imp, flag_omasa_ener_brate ) ) != IVAS_ERR_OK ) Loading lib_enc/ivas_masa_enc.c +10 −0 Original line number Diff line number Diff line Loading @@ -506,7 +506,17 @@ ivas_error ivas_masa_encode( } else { ivas_qmetadata_enc_encode( hMetaData, hQMetaData, 0 ); #ifdef FIX if ( ism_mode == ISM_MASA_MODE_MASA_ONE_OBJ ) { if ( hMetaData->nb_bits_tot < nb_bits_metadata[0] ) { push_next_indice( hMetaData, 0, nb_bits_metadata[0] - hMetaData->nb_bits_tot ); } } #endif } if ( ivas_format == MASA_ISM_FORMAT && ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ ) Loading Loading
lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -183,6 +183,7 @@ #define NONBE_FIX_738_SBA_BR_SW_ASAN /* FhG: issue 738: fixes bug when switching to an MCT bitrate and previous frame was ACELP */ #define NONBE_CR_FIX_735_SBA_HP20_BRATE_SWITCHING /* VA: Issue 735: Resolve "HP20 filtering bug in SBA/OSBA bitrate switching" */ #define FIX /* ##################### End NON-BE switches ########################### */ Loading
lib_dec/ivas_masa_dec.c +10 −0 Original line number Diff line number Diff line Loading @@ -363,6 +363,16 @@ ivas_error ivas_masa_decode( else { *nb_bits_read += ivas_qmetadata_dec_decode( hQMetaData, st->bit_stream, &st->next_bit_pos, 0 ); #ifdef FIX if ( st_ivas->ivas_format == MASA_ISM_FORMAT && st_ivas->ism_mode == ISM_MASA_MODE_MASA_ONE_OBJ && st_ivas->hIsmMetaData[0]->ism_imp == ISM_INACTIVE_IMP ) { while ( *nb_bits_read < 32 ) { byteBuffer = st->bit_stream[( st->next_bit_pos )--]; ( *nb_bits_read )++; } } #endif } if ( st_ivas->ivas_format == MASA_ISM_FORMAT && st_ivas->ism_mode != ISM_MASA_MODE_DISC && st_ivas->ism_mode != ISM_MASA_MODE_MASA_ONE_OBJ ) Loading
lib_enc/ivas_enc.c +10 −1 Original line number Diff line number Diff line Loading @@ -363,7 +363,16 @@ ivas_error ivas_enc( hMetaData->ind_list = st_ivas->hSCE[st_ivas->nSCE - 1]->hMetaData->ind_list + st_ivas->hSCE[st_ivas->nSCE - 1]->hMetaData->nb_ind_tot; st_ivas->hCPE[0]->hCoreCoder[0]->hBstr->ind_list = st_ivas->hSCE[st_ivas->nSCE - 1]->hCoreCoder[0]->hBstr->ind_list + st_ivas->hSCE[st_ivas->nSCE - 1]->hCoreCoder[0]->hBstr->nb_ind_tot; } #ifdef FIX if ( st_ivas->ism_mode == ISM_MASA_MODE_MASA_ONE_OBJ ) { if ( st_ivas->hIsmMetaData[0]->ism_imp == ISM_INACTIVE_IMP ) { /* set minimum bitrate for metadata */ nb_bits_metadata[0] = 32; } } #endif /* Encode MASA parameters and write MASA metadata bitstream */ if ( ( error = ivas_masa_encode( st_ivas->hMasa, st_ivas->hQMetaData, hMetaData, nb_bits_metadata, st_ivas->nchan_transport, ivas_format, ivas_total_brate, st_ivas->hEncoderConfig->Opt_DTX_ON, st_ivas->nchan_transport == 2 ? st_ivas->hCPE[0]->element_mode : -1, st_ivas->ism_mode, hEncoderConfig->nchan_ism, st_ivas->hIsmMetaData, idx_separated_object, st_ivas->hOMasa, st_ivas->hIsmMetaData[0]->ism_imp, flag_omasa_ener_brate ) ) != IVAS_ERR_OK ) Loading
lib_enc/ivas_masa_enc.c +10 −0 Original line number Diff line number Diff line Loading @@ -506,7 +506,17 @@ ivas_error ivas_masa_encode( } else { ivas_qmetadata_enc_encode( hMetaData, hQMetaData, 0 ); #ifdef FIX if ( ism_mode == ISM_MASA_MODE_MASA_ONE_OBJ ) { if ( hMetaData->nb_bits_tot < nb_bits_metadata[0] ) { push_next_indice( hMetaData, 0, nb_bits_metadata[0] - hMetaData->nb_bits_tot ); } } #endif } if ( ivas_format == MASA_ISM_FORMAT && ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ ) Loading