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

Merge branch '483-floating-point-exceptions-in-mct' into 'main'

Resolve "floating point exceptions in MCT" [non BE]

See merge request !675
parents 9a35b738 91b80604
Loading
Loading
Loading
Loading
Loading

lib_com/bitstream.c

100644 → 100755
+4 −0
Original line number Diff line number Diff line
@@ -772,7 +772,11 @@ int16_t get_ivas_max_num_indices_metadata( /* o
        }
        else if ( ivas_total_brate <= IVAS_256k )
        {
#ifdef FIX_483b
            return 1050;
#else
            return 1000;
#endif
        }
        else if ( ivas_total_brate <= IVAS_384k )
        {
+3 −0
Original line number Diff line number Diff line
@@ -218,6 +218,9 @@

#define FIX_481_UNUSED_VARIABLES                        /* Nokia: Fix issue #481: Unused debug variables */

#define FIX_483                                         /* FhG: fix issue 483, division by zero in nois_est */
#define FIX_483b                                        /* FhG: fix issue 483, uninitialized values in ivas_mct_core_enc */

                                                        /* ################## End DEVELOPMENT switches ######################### */
/* clang-format on */

lib_com/rom_com.c

100644 → 100755
+0 −0

File mode changed from 100644 to 100755.

lib_enc/ivas_mct_core_enc.c

100644 → 100755
+9 −0
Original line number Diff line number Diff line
@@ -264,6 +264,11 @@ void ivas_mct_core_enc(

            sp_aud_decision0[i] = hCPE[cpe_id]->hCoreCoder[0]->sp_aud_decision0;

#ifdef FIX_483b
            sts[i]->hTcxEnc->tns_ms_flag[0] = 0;
            sts[i]->hTcxEnc->tns_ms_flag[1] = 0;
#endif

            i++;
        }
    }
@@ -339,7 +344,11 @@ void ivas_mct_core_enc(

        for ( n = 0; n < nSubframes; n++ )
        {
#ifdef FIX_483b
            if ( sts[ch]->hTcxEnc->tns_ms_flag[n] )
#else
            if ( !sts[ch]->hTcxEnc->fUseTns[n] /*!sts[0]->fUseTns[n] && !sts[1]->fUseTns[n]*/ )
#endif
            {
                /* power spectrum: MDCT^2 + MDST^2 */
                for ( i = 0; i < L_subframeTCX; i++ )
+4 −0
Original line number Diff line number Diff line
@@ -430,6 +430,10 @@ void stereo_coder_tcx(

                if ( !sts[0]->hTcxEnc->fUseTns[k] && !sts[1]->hTcxEnc->fUseTns[k] )
                {
#ifdef FIX_483b
                    sts[0]->hTcxEnc->tns_ms_flag[k] = 1;
                    sts[1]->hTcxEnc->tns_ms_flag[k] = 1;
#endif
                    ms_inv_mask_processing( hStereoMdct, sts, ms_mask, k, mdst_spectrum[0][k], mdst_spectrum[1][k], inv_mdst_spectrum[0][k], inv_mdst_spectrum[1][k], -1 );
                    ms_processing( hStereoMdct, sts, ms_mask, k, mdst_spectrum[0][k], mdst_spectrum[1][k], sfbConf->sfbCnt );
                }
Loading