Commit d53ff9c9 authored by Dominik Weckbecker's avatar Dominik Weckbecker 💬
Browse files

Merge branch 'main' into 908-decoder-crash-in-osba-foa-with-br-switching-due-to-bit-error-detection

parents 2b6a5686 513567bb
Loading
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -208,8 +208,7 @@ endif()

if(INCLUDE_SPLIT)
  if(NOT WMOPS)
  file(GLOB unitTestIvasLc3plusSrcs "scripts/split_rendering/lc3plus/*.c")
  add_executable(ivas_lc3plus_unit_test ${unitTestIvasLc3plusSrcs})
  add_executable(ivas_lc3plus_unit_test ${CMAKE_SOURCE_DIR}/scripts/split_rendering/lc3plus/ivas_lc3plus_unit_test.c)
  target_link_libraries(ivas_lc3plus_unit_test lib_rend lib_dec lib_util lib_com lib_debug)
  endif()
endif()
+5 −1
Original line number Diff line number Diff line
@@ -157,6 +157,9 @@
#define FIX_891_PARAMUPMIX_CLEANUP                      /* Dlb: issue 891: remove unneeded code from ParamUpmix */
#define FIX_917_LCLD_WARNINGS                           /* Dlb: issue 917 and 918: fix LCLD codec warnings*/
#define FIX_920_IGF_INIT_ERROR                          /* FhG: issue 920: fix bitrate mismatch in initial IGF config to avoid error message in same cases */
#define FIX_SPLITREND_WARNINGS                          /* FhG: fix warnings related to split rendering observed in build jobs */
#define FIX_923_EXTERNAL_REND_COMMAND_LINE              /* VA: issue 923: enable external renderer command-line options in UPPER case letters */
#define FIX_921_OMASA_DELAY_PRINTOUT                    /* VA: issue 921: correct OMASA decoder delay printout */

/* #################### End BE switches ################################## */

@@ -178,9 +181,10 @@
#define NONBE_FIX_862_UBSAN_SPAR_DEC_BR_SW_PLC                /* DLB: issue 862 : UBSAN: out-of-bound error in SPAR for OSBA bitrate switching with PLC*/
#define NONBE_FIX_DISCRETE_ISM_NOISE_SEED_HANDLING            /* FhG: fix handling of common and differing noise seeds in SCEs for ISM DTX */
#define NONBE_FIX_913_OMASA_BITBUDGET_VIOLATION               /* VA/Nok: issue 913: Resolve "Crash in OMASA encoder - DFT-Stereo bit-budget violated" */
#define NONBE_FIX_855_JBM_FLUSH_OFFSET                        /* FhG: issue #855: add missing switch here for the code in JBM flushing                 */
#define NONBE_FIX_926_OSBA_DECODER_CRASH_PLANAR_SBA           /* FhG: issue 926: crash in OSBA decoding with planar FOA */
#define NONBE_FIX_908_OSBA_BR_SWITCHING_CRASH                 /* FhG: issue 908: fix crash in OSBA BR switching with long test vectors */


/* ##################### End NON-BE switches ########################### */

/* ################## End DEVELOPMENT switches ######################### */
+11 −1
Original line number Diff line number Diff line
@@ -348,9 +348,11 @@ int16_t RCcontextMapping_decode2_no_mem_s17_LCS(
    int16_t lastnz, n;
    uint16_t r;
    int16_t resQBits;
#ifdef DEBUGGING
    int16_t nbbits_m2;
    int16_t rest_bits;
#endif
    int16_t nt_half;
    int16_t nbbits_m2;
    int16_t bits_tups; /* No. of bits for coding the no. of tuples */

    set_s( x, 0, nt );
@@ -424,8 +426,10 @@ int16_t RCcontextMapping_decode2_no_mem_s17_LCS(
        /* Initialize range decoder */
        rc_uni_dec_init( &rc_st_dec, &st->bit_stream[st->next_bit_pos], nbbits ); /* (nbbits + 30) entries are read by the decoder */

#ifdef DEBUGGING
        nbbits_m2 = nbbits;
        rest_bits = -nbbits_m2;
#endif

        /* Main Loop through the 2-tuples */
        for ( k = 0; k < lastnz; k += 2 )
@@ -484,11 +488,13 @@ int16_t RCcontextMapping_decode2_no_mem_s17_LCS(
            a += a1 << lev;
            b += b1 << lev;

#ifdef DEBUGGING
            /* Add 2 LSB bits per bit-plane */
            rest_bits += 2 * lev;
            /* Sign bits */
            rest_bits += min( a, 1 );
            rest_bits += min( b, 1 );
#endif

            /* Update bitstream pointer */
            st->next_bit_pos = start_bit_pos + bits_tups + rc_uni_dec_virtual_finish( &rc_st_dec );
@@ -570,8 +576,10 @@ int16_t RCcontextMapping_decode2_no_mem_s17_LCS(
        /* Initialize range decoder */
        rc_uni_dec_init( &rc_st_dec, &st->bit_stream[st->next_bit_pos], nbbits ); /* (nbbits + 30) entries are read by the decoder */

#ifdef DEBUGGING
        nbbits_m2 = nbbits;
        rest_bits = -nbbits_m2;
#endif

        t = 0;
        s = 0;
@@ -624,11 +632,13 @@ int16_t RCcontextMapping_decode2_no_mem_s17_LCS(
            a += a1 << lev;
            b += b1 << lev;

#ifdef DEBUGGING
            /* Add 2 LSB bits per bit-plane */
            rest_bits += 2 * lev;
            /* Sign bits */
            rest_bits += min( a, 1 );
            rest_bits += min( b, 1 );
#endif

            /* Update bitstream pointer */
            st->next_bit_pos = start_bit_pos + bits_tups + rc_uni_dec_virtual_finish( &rc_st_dec );
+4 −0
Original line number Diff line number Diff line
@@ -2239,7 +2239,11 @@ int16_t ivas_jbm_dec_get_num_tc_channels(
        {
            num_tc = CPE_CHANNELS;
        }
#ifdef NONBE_FIX_926_OSBA_DECODER_CRASH_PLANAR_SBA
        if ( num_tc == 3 )
#else
        if ( ( st_ivas->sba_planar && num_tc >= 3 ) || ( num_tc == 3 ) )
#endif
        {
            num_tc++;
        }
+8 −0
Original line number Diff line number Diff line
@@ -2352,7 +2352,11 @@ ivas_error IVAS_DEC_GetDelay(
    nSamples[2] = (int16_t) roundf( (float) st_ivas->binaural_latency_ns * hDecoderConfig->output_Fs / 1000000000.f );
    nSamples[0] = nSamples[1] + nSamples[2];

#ifdef FIX_921_OMASA_DELAY_PRINTOUT
    if ( st_ivas->ivas_format == MASA_FORMAT || st_ivas->ivas_format == MASA_ISM_FORMAT )
#else
    if ( st_ivas->ivas_format == MASA_FORMAT )
#endif
    {
        /* note: in MASA, all delay is compensated at the decoder by default, so subtract the encoder delay for print-out */
        nSamples[1] -= NS2SA( hDecoderConfig->output_Fs, IVAS_ENC_DELAY_NS );
@@ -3966,7 +3970,11 @@ static ivas_error set_pcm_buffer_to_zero(
            error = IVAS_ERR_INTERNAL;
    }

#ifdef FIX_SPLITREND_WARNINGS
    return error;
#else
    return IVAS_ERR_OK;
#endif
}


Loading