Commit dfea29d7 authored by norvell's avatar norvell
Browse files

Merge branch 'main' into ci/update-basop-ci-branch

parents b2a1dad3 9a1b24e7
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -29,8 +29,7 @@
  <h2>Test Coverage</h2>

  <ul>
    <li><a href="coverage_dec_rend/index.html">Coverage report of Decoder and Renderer</a></li>
    <li><a href="coverage_enc_dec_rend/index.html">Coverage report of Encoder, Decoder and Renderer</a></li>
    <li><a href="coverage_enc_dec_rend/index.html">Coverage report</a></li>
  </ul>

</body>
+3 −0
Original line number Diff line number Diff line
@@ -164,6 +164,7 @@
/*#define FIX_I4_OL_PITCH*/                             /* fix open-loop pitch used for EVS core switching */
#define TMP_FIX_1119_SPLIT_RENDERING_VOIP               /* FhG: Add error check for unsupported config: split rendering with VoIP mode */
#define FIX_1995_REVERB_INIT                            /* issue 1995: Fix use-of-uninitialized-value in ivas_binaural_reverb_init() */
#define FIX_1372_OSBA_OBJECT_EDITING                    /* VA: issue 1372: Fix OSBA object-editing in BINAURAL_ROOM_IR */

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

@@ -176,6 +177,8 @@
#define NONBE_1122_KEEP_EVS_MODE_UNCHANGED              /* FhG: Disables fix for issue 1122 in EVS mode to keep BE tests green. This switch should be removed once the 1122 fix is added to EVS via a CR.  */
#define NONBE_1328_FIX_NON_LINEARITY                    /* VA: Fix possible issue when computing bwe_exc_extended and previous frame were almost 0  */
#define NONBE_1321_JBM_ASSERT_BITRATE_SWITCHING         /* FhG: Fix assert being hit in JBM code during rate switching */
#define NONBE_FIX_1376_MDCT_CONCEALMENT                 /* FhG: fix concealment artifact in MDCT Stereo with DTX, in case transition frame gets lost */
#define NONBE_1377_REND_DIRATT_CONF                     /* Eri: Issue 1377: Error in directivity attenuation configuration for both IVAS_dec and IVAS_rend */

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

+10 −0
Original line number Diff line number Diff line
@@ -1104,7 +1104,17 @@ void ivas_mdct_core_tns_ns(
            decoder_tcx_tns( st, L_frame_global[ch], L_spec[ch], L_frame[ch], L_frameTCX[ch], &x[ch][k][0], fUseTns[ch][k], &tnsData[ch][k], bfi, k, 1 );

            sns_shape_spectrum( x[ch][k], st->hTcxCfg->psychParamsCurrent, &sns_int_scf[0], st->hTcxCfg->psychParamsCurrent->nBins );
#ifdef NONBE_FIX_1376_MDCT_CONCEALMENT
            /*
               2025-09-07, mul:
               in case of PLC, applying SNS up to L_spec might not be enough: In case the transition frame from DTX after an inactive period is lost, L_spec is assumed to represent a regular TCX frame,
               however, this frame is nevertheless acting as an transition frame as also visible in L_frameTCX; thus, the safer approach to prevent high frequency artifacts is to apply the SNS up to L_frameTCX;
               in case this is not necessary, x[] is filled with zeros, and the multiplication is not causing any additional harm
            */
            v_multc( x[ch][k] + st->hTcxCfg->psychParamsCurrent->nBins, sns_int_scf[FDNS_NPTS - 1], x[ch][k] + st->hTcxCfg->psychParamsCurrent->nBins, max( L_spec[ch], L_frameTCX[ch] ) - st->hTcxCfg->psychParamsCurrent->nBins );
#else
            v_multc( x[ch][k] + st->hTcxCfg->psychParamsCurrent->nBins, sns_int_scf[FDNS_NPTS - 1], x[ch][k] + st->hTcxCfg->psychParamsCurrent->nBins, L_spec[ch] - st->hTcxCfg->psychParamsCurrent->nBins );
#endif

            decoder_tcx_tns( st, L_frame_global[ch], L_spec[ch], L_frame[ch], L_frameTCX[ch], &x[ch][k][0], fUseTns[ch][k], &tnsData[ch][k], bfi, k, 0 );
        }
+6 −0
Original line number Diff line number Diff line
@@ -729,6 +729,12 @@ ivas_error ivas_sba_dec_render(
        {
            nchan_out = max( nchan_internal, st_ivas->hDecoderConfig->nchan_out - st_ivas->nchan_ism );
        }
#ifdef FIX_1372_OSBA_OBJECT_EDITING
        else if ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM )
        {
            nchan_out = BINAURAL_CHANNELS;
        }
#endif
    }

    nchan_out = min( nchan_out, ivas_get_nchan_buffers_dec( st_ivas, st_ivas->sba_analysis_order, st_ivas->hDecoderConfig->ivas_total_brate ) );
+4 −0
Original line number Diff line number Diff line
@@ -1406,7 +1406,11 @@ void ivas_spar_dec_upmixer_sf(
            p_tc[i] = st_ivas->hTcBuffer->tc[i + nchan_ism] + slot_idx_start * slot_size;
        }

#ifdef FIX_1372_OSBA_OBJECT_EDITING
        if ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM )
#else
        if ( st_ivas->ivas_format == SBA_ISM_FORMAT && st_ivas->ism_mode == ISM_SBA_MODE_DISC && st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM )
#endif
        {
            for ( i = 0; i < nchan_ism; i++ )
            {
Loading