Loading lib_com/options.h +2 −1 Original line number Diff line number Diff line Loading @@ -177,7 +177,8 @@ #define NONBE_FIX_1054_NEGATIVE_LVQ_INDEX /* Nokia: issue 1054: Input to decode_comb in deindex_lvq_SHB should be positive */ #define NONBE_FIX_1063_DIV_BY_ZERO_SUMNRG /* VoiceAge: issue 1063: division by zero for angle_rot feature in the UNCLR classifier */ #define NONBE_FIX_SBA_SIGNALING_BITS_A /* FhG: issue 1061: option A: clan up OSBA and ISM signaling using 4 bits all the time */ /*#define NONBE_FIX_SBA_SIGNALING_BITS_A*/ /* FhG: issue 1061: option A: clean up OSBA and ISM signaling using 4 bits all the time */ #define NONBE_FIX_SBA_SIGNALING_BITS_B /* FhG: issue 1061: option B: signal sba order additionally in OSBA */ /* ##################### End NON-BE switches ########################### */ Loading lib_dec/ivas_init_dec.c +9 −1 Original line number Diff line number Diff line Loading @@ -467,7 +467,7 @@ ivas_error ivas_dec_setup( { /* the number of objects is written at the end of the bitstream, in the SBA metadata */ st_ivas->nchan_ism = 2 * st_ivas->bit_stream[ivas_total_brate / FRAMES_PER_SEC - 1] + st_ivas->bit_stream[ivas_total_brate / FRAMES_PER_SEC - 2] + 1; #ifndef NONBE_FIX_SBA_SIGNALING_BITS_A #if !defined( NONBE_FIX_SBA_SIGNALING_BITS_A ) && !defined( NONBE_FIX_SBA_SIGNALING_BITS_B ) if ( ivas_total_brate < IVAS_24k4 || ivas_total_brate >= IVAS_256k ) #endif { Loading @@ -487,6 +487,14 @@ ivas_error ivas_dec_setup( st_ivas->sba_order = 3; } #endif #ifdef NONBE_FIX_SBA_SIGNALING_BITS_B if ( ivas_total_brate < IVAS_24k4 ) { st_ivas->sba_order = st_ivas->bit_stream[num_bits_read + 1]; st_ivas->sba_order += 2 * st_ivas->bit_stream[num_bits_read]; num_bits_read += SBA_ORDER_BITS; } #endif if ( st_ivas->ini_frame > 0 && ivas_total_brate != st_ivas->last_active_ivas_total_brate ) { Loading lib_enc/ivas_spar_encoder.c +21 −3 Original line number Diff line number Diff line Loading @@ -338,10 +338,17 @@ ivas_error ivas_spar_enc( hEncoderConfig = st_ivas->hEncoderConfig; st0 = ( st_ivas->nSCE > 0 ) ? st_ivas->hSCE[0]->hCoreCoder[0] : st_ivas->hCPE[0]->hCoreCoder[0]; #ifdef NONBE_FIX_SBA_SIGNALING_BITS_A { /* Write SBA planar flag */ push_indice( st0->hBstr, IND_SMODE, hEncoderConfig->sba_planar, SBA_PLANAR_BITS ); /* Write SBA order */ push_indice( st0->hBstr, IND_SMODE, hEncoderConfig->sba_order, SBA_ORDER_BITS ); } #else /* Write SBA signaling bits */ #ifndef NONBE_FIX_SBA_SIGNALING_BITS_A if ( hEncoderConfig->ivas_format == SBA_FORMAT || ( hEncoderConfig->ivas_format == SBA_ISM_FORMAT && st_ivas->ism_mode == ISM_SBA_MODE_DISC ) ) #endif { /* Write SBA planar flag */ push_indice( st0->hBstr, IND_SMODE, hEncoderConfig->sba_planar, SBA_PLANAR_BITS ); Loading @@ -349,7 +356,6 @@ ivas_error ivas_spar_enc( /* Write SBA order */ push_indice( st0->hBstr, IND_SMODE, hEncoderConfig->sba_order, SBA_ORDER_BITS ); } #ifndef NONBE_FIX_SBA_SIGNALING_BITS_A else /* ism_mode == ISM_MODE_NONE */ { if ( hEncoderConfig->ivas_total_brate < IVAS_24k4 ) Loading @@ -359,9 +365,21 @@ ivas_error ivas_spar_enc( /* hack to indicate OSBA bitstream at VLBR */ push_indice( st0->hBstr, IND_SMODE, 0, SBA_ORDER_BITS ); #ifdef NONBE_FIX_SBA_SIGNALING_BITS_B /* additionally code the real SBA order */ push_indice( st0->hBstr, IND_SMODE, hEncoderConfig->sba_order, SBA_ORDER_BITS ); #endif } else { #ifdef NONBE_FIX_SBA_SIGNALING_BITS_B /* Write SBA planar flag */ push_indice( st0->hBstr, IND_SMODE, hEncoderConfig->sba_planar, SBA_PLANAR_BITS ); #endif /* Write SBA order */ push_indice( st0->hBstr, IND_SMODE, hEncoderConfig->sba_order, SBA_ORDER_BITS ); } Loading Loading
lib_com/options.h +2 −1 Original line number Diff line number Diff line Loading @@ -177,7 +177,8 @@ #define NONBE_FIX_1054_NEGATIVE_LVQ_INDEX /* Nokia: issue 1054: Input to decode_comb in deindex_lvq_SHB should be positive */ #define NONBE_FIX_1063_DIV_BY_ZERO_SUMNRG /* VoiceAge: issue 1063: division by zero for angle_rot feature in the UNCLR classifier */ #define NONBE_FIX_SBA_SIGNALING_BITS_A /* FhG: issue 1061: option A: clan up OSBA and ISM signaling using 4 bits all the time */ /*#define NONBE_FIX_SBA_SIGNALING_BITS_A*/ /* FhG: issue 1061: option A: clean up OSBA and ISM signaling using 4 bits all the time */ #define NONBE_FIX_SBA_SIGNALING_BITS_B /* FhG: issue 1061: option B: signal sba order additionally in OSBA */ /* ##################### End NON-BE switches ########################### */ Loading
lib_dec/ivas_init_dec.c +9 −1 Original line number Diff line number Diff line Loading @@ -467,7 +467,7 @@ ivas_error ivas_dec_setup( { /* the number of objects is written at the end of the bitstream, in the SBA metadata */ st_ivas->nchan_ism = 2 * st_ivas->bit_stream[ivas_total_brate / FRAMES_PER_SEC - 1] + st_ivas->bit_stream[ivas_total_brate / FRAMES_PER_SEC - 2] + 1; #ifndef NONBE_FIX_SBA_SIGNALING_BITS_A #if !defined( NONBE_FIX_SBA_SIGNALING_BITS_A ) && !defined( NONBE_FIX_SBA_SIGNALING_BITS_B ) if ( ivas_total_brate < IVAS_24k4 || ivas_total_brate >= IVAS_256k ) #endif { Loading @@ -487,6 +487,14 @@ ivas_error ivas_dec_setup( st_ivas->sba_order = 3; } #endif #ifdef NONBE_FIX_SBA_SIGNALING_BITS_B if ( ivas_total_brate < IVAS_24k4 ) { st_ivas->sba_order = st_ivas->bit_stream[num_bits_read + 1]; st_ivas->sba_order += 2 * st_ivas->bit_stream[num_bits_read]; num_bits_read += SBA_ORDER_BITS; } #endif if ( st_ivas->ini_frame > 0 && ivas_total_brate != st_ivas->last_active_ivas_total_brate ) { Loading
lib_enc/ivas_spar_encoder.c +21 −3 Original line number Diff line number Diff line Loading @@ -338,10 +338,17 @@ ivas_error ivas_spar_enc( hEncoderConfig = st_ivas->hEncoderConfig; st0 = ( st_ivas->nSCE > 0 ) ? st_ivas->hSCE[0]->hCoreCoder[0] : st_ivas->hCPE[0]->hCoreCoder[0]; #ifdef NONBE_FIX_SBA_SIGNALING_BITS_A { /* Write SBA planar flag */ push_indice( st0->hBstr, IND_SMODE, hEncoderConfig->sba_planar, SBA_PLANAR_BITS ); /* Write SBA order */ push_indice( st0->hBstr, IND_SMODE, hEncoderConfig->sba_order, SBA_ORDER_BITS ); } #else /* Write SBA signaling bits */ #ifndef NONBE_FIX_SBA_SIGNALING_BITS_A if ( hEncoderConfig->ivas_format == SBA_FORMAT || ( hEncoderConfig->ivas_format == SBA_ISM_FORMAT && st_ivas->ism_mode == ISM_SBA_MODE_DISC ) ) #endif { /* Write SBA planar flag */ push_indice( st0->hBstr, IND_SMODE, hEncoderConfig->sba_planar, SBA_PLANAR_BITS ); Loading @@ -349,7 +356,6 @@ ivas_error ivas_spar_enc( /* Write SBA order */ push_indice( st0->hBstr, IND_SMODE, hEncoderConfig->sba_order, SBA_ORDER_BITS ); } #ifndef NONBE_FIX_SBA_SIGNALING_BITS_A else /* ism_mode == ISM_MODE_NONE */ { if ( hEncoderConfig->ivas_total_brate < IVAS_24k4 ) Loading @@ -359,9 +365,21 @@ ivas_error ivas_spar_enc( /* hack to indicate OSBA bitstream at VLBR */ push_indice( st0->hBstr, IND_SMODE, 0, SBA_ORDER_BITS ); #ifdef NONBE_FIX_SBA_SIGNALING_BITS_B /* additionally code the real SBA order */ push_indice( st0->hBstr, IND_SMODE, hEncoderConfig->sba_order, SBA_ORDER_BITS ); #endif } else { #ifdef NONBE_FIX_SBA_SIGNALING_BITS_B /* Write SBA planar flag */ push_indice( st0->hBstr, IND_SMODE, hEncoderConfig->sba_planar, SBA_PLANAR_BITS ); #endif /* Write SBA order */ push_indice( st0->hBstr, IND_SMODE, hEncoderConfig->sba_order, SBA_ORDER_BITS ); } Loading