Loading lib_dec/ivas_init_dec.c +17 −9 Original line number Diff line number Diff line Loading @@ -467,28 +467,35 @@ 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; #if !defined( NONBE_FIX_SBA_SIGNALING_BITS_B ) #ifndef NONBE_FIX_SBA_SIGNALING_BITS_B if ( ivas_total_brate < IVAS_24k4 || ivas_total_brate >= IVAS_256k ) #endif { #endif /* read Ambisonic (SBA) planar flag */ st_ivas->sba_planar = st_ivas->bit_stream[num_bits_read]; num_bits_read += SBA_PLANAR_BITS; #ifndef NONBE_FIX_SBA_SIGNALING_BITS_B } #endif /* read Ambisonic (SBA) order (0 for signaling OSBA format at low BR)*/ 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; /* read Ambisonic (SBA) order */ #ifdef NONBE_FIX_SBA_SIGNALING_BITS_B /* read the real Ambisonic order when the above bits are used to signal OSBA format */ 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; } #else if ( ivas_total_brate < IVAS_256k ) { st_ivas->sba_order = 3; } #endif if ( st_ivas->ini_frame > 0 && ivas_total_brate != st_ivas->last_active_ivas_total_brate ) Loading Loading @@ -792,6 +799,7 @@ static ivas_error ivas_read_format( break; case 2: st_ivas->ivas_format = ISM_FORMAT; if ( ivas_total_brate >= IVAS_24k4 ) { if ( st_ivas->bit_stream[*num_bits_read] ) Loading lib_enc/ivas_init_enc.c +0 −6 Original line number Diff line number Diff line Loading @@ -83,18 +83,12 @@ void ivas_write_format( case MASA_FORMAT: ind = 7; nBits += extra_bits; #if 0 nBits += IVAS_COMBINED_FORMAT_SIGNALLING_BITS; #endif break; case MASA_ISM_FORMAT: if ( st_ivas->ism_mode == ISM_MODE_NONE ) { ind = 7; /* send MASA format */ nBits += extra_bits; #if 0 nBits += IVAS_COMBINED_FORMAT_SIGNALLING_BITS; #endif } else { Loading lib_enc/ivas_ism_dtx_enc.c +1 −0 Original line number Diff line number Diff line Loading @@ -258,6 +258,7 @@ int16_t ivas_ism_dtx_enc( ind = 4; nBits = IVAS_FORMAT_SIGNALING_NBITS_EXTENDED; } push_indice( hSCE[0]->hCoreCoder[0]->hBstr, IND_IVAS_FORMAT, ind, nBits ); } } Loading lib_enc/ivas_spar_encoder.c +0 −2 Original line number Diff line number Diff line Loading @@ -356,7 +356,6 @@ 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 ); Loading @@ -364,7 +363,6 @@ ivas_error ivas_spar_enc( } else { #ifdef NONBE_FIX_SBA_SIGNALING_BITS_B /* Write SBA planar flag */ push_indice( st0->hBstr, IND_SMODE, hEncoderConfig->sba_planar, SBA_PLANAR_BITS ); Loading Loading
lib_dec/ivas_init_dec.c +17 −9 Original line number Diff line number Diff line Loading @@ -467,28 +467,35 @@ 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; #if !defined( NONBE_FIX_SBA_SIGNALING_BITS_B ) #ifndef NONBE_FIX_SBA_SIGNALING_BITS_B if ( ivas_total_brate < IVAS_24k4 || ivas_total_brate >= IVAS_256k ) #endif { #endif /* read Ambisonic (SBA) planar flag */ st_ivas->sba_planar = st_ivas->bit_stream[num_bits_read]; num_bits_read += SBA_PLANAR_BITS; #ifndef NONBE_FIX_SBA_SIGNALING_BITS_B } #endif /* read Ambisonic (SBA) order (0 for signaling OSBA format at low BR)*/ 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; /* read Ambisonic (SBA) order */ #ifdef NONBE_FIX_SBA_SIGNALING_BITS_B /* read the real Ambisonic order when the above bits are used to signal OSBA format */ 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; } #else if ( ivas_total_brate < IVAS_256k ) { st_ivas->sba_order = 3; } #endif if ( st_ivas->ini_frame > 0 && ivas_total_brate != st_ivas->last_active_ivas_total_brate ) Loading Loading @@ -792,6 +799,7 @@ static ivas_error ivas_read_format( break; case 2: st_ivas->ivas_format = ISM_FORMAT; if ( ivas_total_brate >= IVAS_24k4 ) { if ( st_ivas->bit_stream[*num_bits_read] ) Loading
lib_enc/ivas_init_enc.c +0 −6 Original line number Diff line number Diff line Loading @@ -83,18 +83,12 @@ void ivas_write_format( case MASA_FORMAT: ind = 7; nBits += extra_bits; #if 0 nBits += IVAS_COMBINED_FORMAT_SIGNALLING_BITS; #endif break; case MASA_ISM_FORMAT: if ( st_ivas->ism_mode == ISM_MODE_NONE ) { ind = 7; /* send MASA format */ nBits += extra_bits; #if 0 nBits += IVAS_COMBINED_FORMAT_SIGNALLING_BITS; #endif } else { Loading
lib_enc/ivas_ism_dtx_enc.c +1 −0 Original line number Diff line number Diff line Loading @@ -258,6 +258,7 @@ int16_t ivas_ism_dtx_enc( ind = 4; nBits = IVAS_FORMAT_SIGNALING_NBITS_EXTENDED; } push_indice( hSCE[0]->hCoreCoder[0]->hBstr, IND_IVAS_FORMAT, ind, nBits ); } } Loading
lib_enc/ivas_spar_encoder.c +0 −2 Original line number Diff line number Diff line Loading @@ -356,7 +356,6 @@ 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 ); Loading @@ -364,7 +363,6 @@ ivas_error ivas_spar_enc( } else { #ifdef NONBE_FIX_SBA_SIGNALING_BITS_B /* Write SBA planar flag */ push_indice( st0->hBstr, IND_SMODE, hEncoderConfig->sba_planar, SBA_PLANAR_BITS ); Loading