Commit bfb2a13f authored by Ripinder Singh's avatar Ripinder Singh
Browse files
Merge branch 'main' of ssh://forge.3gpp.org:29419/ivas-codec-pc/ivas-codec into 1438-rtpdump-is-not-rtpdump
parents 6e25ed64 f9549819
Loading
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -385,7 +385,17 @@ void ivas_get_dirac_sba_max_md_bits(
        *metadata_max_bits = MAX16B; /* no limit */
    }

#ifdef FIX_FLOAT_1544_SBA_META_IMPRECISION_UNSAFE_MATH
    /*
      original formula was:
      *metadata_max_bits = (int16_t) min( (float) MAX16B, ceilf( (float) *metadata_max_bits * nbands / 5 ) );
      The division by 5 is replaced by a multiplication by 0.2f, since the division is causing problems for
      certain optimizations using -funsafe-math-optimizations
    */
    *metadata_max_bits = (int16_t) min( (float) MAX16B, ceilf( *metadata_max_bits * nbands * 0.2f ) );
#else
    *metadata_max_bits = (int16_t) min( (float) MAX16B, ceilf( (float) *metadata_max_bits * nbands / 5 ) );
#endif
    *qmetadata_max_bit_req = QMETADATA_MAXBIT_REQ_SBA >> 1;

    return;
+3 −0
Original line number Diff line number Diff line
@@ -162,6 +162,9 @@
#define TMP_1342_WORKAROUND_DEC_FLUSH_BROKEN_IN_SR      /* FhG: Temporary workaround for incorrect implementation of decoder flush with split rendering */
#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 FIX_BASOP_2469_OBJ_EDIT_TD_REND_GAIN            /* Eri: Basop issue 2469: TD renderer gain has wrong Q. In float this is just a synch of the cleanup done in BASOP */
#define FIX_ISSUE_1546_DEAD_CODE                        /* FhG: remove dead code reported in the issue*/
#define FIX_FLOAT_1544_SBA_META_IMPRECISION_UNSAFE_MATH /* FhG: float issue 1544: imprecision in ivas_get_dirac_sba_max_md_bits() with -funsafe-math-optimizations */
#define FIX_FLOAT_1544_ITD_IMPRECISION_UNSAFE_MATH      /* FhG: float issue 1544: Avoid assert() with -funsafe-math-optimizations in stereo_td_itd() */

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

+5 −1
Original line number Diff line number Diff line
@@ -291,9 +291,13 @@ void stereo_td_itd(
        size_ovl = dft_ovl;

        itd_max = ( STEREO_DFT_ITD_MAX * input_frame ) / L_FRAME32k;

#ifdef FIX_FLOAT_1544_ITD_IMPRECISION_UNSAFE_MATH
        assert( ( (int16_t) fabsf( hITD->itd[k_offset] ) <= itd_max ) && "ITD value is too high!" );
        assert( ( (int16_t) fabsf( hITD->itd[k_offset - 1] ) <= itd_max ) && "ITD value is too high!" );
#else
        assert( ( fabsf( hITD->itd[k_offset] ) <= itd_max ) && "ITD value is too high!" );
        assert( ( fabsf( hITD->itd[k_offset - 1] ) <= itd_max ) && "ITD value is too high!" );
#endif

        itd = hITD->td_itd[k_offset];

+8 −0
Original line number Diff line number Diff line
@@ -493,7 +493,9 @@ void swb_bwe_enc(
)
{
    int16_t i, inner_frame, idxGain;
#ifndef FIX_ISSUE_1546_DEAD_CODE
    TD_BWE_ENC_HANDLE hBWE_TD;
#endif
    FD_BWE_ENC_HANDLE hBWE_FD;
    float *new_input;
    int32_t inner_Fs;
@@ -507,7 +509,9 @@ void swb_bwe_enc(
    float ener_low, energy_fbe_fb, fb_ener_adjust, ener_adjust_quan;
    int16_t fb_band_begin;

#ifndef FIX_ISSUE_1546_DEAD_CODE
    hBWE_TD = st->hBWE_TD;
#endif
    hBWE_FD = st->hBWE_FD;

    ener_adjust_quan = 0.0f;
@@ -548,7 +552,9 @@ void swb_bwe_enc(
            if ( st->element_mode == IVAS_CPE_DFT )
            {
                mvr2r( old_input_12k8 + L_INP_MEM - Sample_Delay_LP, hBWE_FD->old_input_lp, Sample_Delay_LP );
#ifndef FIX_ISSUE_1546_DEAD_CODE
                mvr2r( hBWE_TD->old_speech_shb + L_LOOK_16k + L_SUBFR16k - Sample_Delay_HP, new_input_hp, Sample_Delay_HP );
#endif
            }
        }

@@ -574,7 +580,9 @@ void swb_bwe_enc(
            if ( st->element_mode == IVAS_CPE_DFT )
            {
                mvr2r( old_input_16k + L_INP_MEM - Sample_Delay_LP, hBWE_FD->old_input_lp, Sample_Delay_LP );
#ifndef FIX_ISSUE_1546_DEAD_CODE
                mvr2r( hBWE_TD->old_speech_shb + L_LOOK_16k + L_SUBFR16k - Sample_Delay_HP, new_input_hp, Sample_Delay_HP );
#endif
            }
        }

+1 −1
Original line number Diff line number Diff line
@@ -693,7 +693,7 @@ class MLDConformance:
            return (non_be, None, None, None)
        else:
            refDecOutputFile = testDesc.refOutput.replace(".splt.bit", ".wav")
            dutDecOutputFile = testDesc.dutOutput.replace(".splt.bit", ".wav")
            dutDecOutputFile = testDesc.dutOutput.replace(".splt.bit", "_CUT_REFDECODED.wav")
            # Decode the encoded output with Reference ISAR decoder
            dutDecCmd = testDesc.refDecCmdline.split()
            for idx, cmd in enumerate(dutDecCmd):