Commit b43a78a1 authored by Tapani Pihlajakuja's avatar Tapani Pihlajakuja
Browse files

Merge remote-tracking branch 'origin/main' into nokia/contribution-omasa-combined-format

parents 926dddd7 4313ed13
Loading
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -285,7 +285,7 @@ build-codec-sanitizers-linux:
build-codec-windows-cmake:
  extends:
    - .build-job-windows-with-check-for-warnings
    - .rules-basis
    - .rules-main-push
  script:
    - *print-common-info-windows
    - $winoutdata = $null
@@ -298,7 +298,7 @@ build-codec-windows-cmake:
build-codec-windows-msbuild:
  extends:
    - .build-job-windows-with-check-for-warnings
    - .rules-basis
    - .rules-main-push
  script:
    - *print-common-info-windows
    - $winoutdata = $null
+21 −0
Original line number Diff line number Diff line
@@ -63,6 +63,10 @@
#define BETA_ISM_LOW_IMP    0.6f
#define BETA_ISM_MEDIUM_IMP 0.8f

#ifdef FIX_562_ISM2_64KBPS
#define MAX_BRATE_TCX_32k 48000
#endif


/*-------------------------------------------------------------------*
 * bitbudget_to_brate()
@@ -427,6 +431,23 @@ ivas_error ivas_ism_config(
            bits_CoreCoder[ch] = tmp;
        }

#ifdef FIX_562_ISM2_64KBPS
        /* limitaton to avoid too high bitrate in one active TCX channel */
        if ( element_brate[0] >= SCE_CORE_16k_LOW_LIMIT && element_brate[0] <= IVAS_32k )
        {
            diff = 0;
            limit_high = MAX_BRATE_TCX_32k / FRAMES_PER_SEC;

            for ( ch = 0; ch < n_ISms; ch++ )
            {
                tmp = (int16_t) min( bits_CoreCoder[ch], limit_high );

                diff += bits_CoreCoder[ch] - tmp;
                bits_CoreCoder[ch] = tmp;
            }
        }
#endif

        if ( diff > 0 )
        {
            ch = 0;
+7 −0
Original line number Diff line number Diff line
@@ -167,6 +167,13 @@
#define FIX_558_PLC_DISCONT                             /* FhG: issue 558: fix discontinuities in DFT Stereo when switching from TCX concealment to ACELP */
#define FIX_564                                         /* Nokia: Issue 564: Fix gains in JBM path for SBA with parametric binaural renderer */
#define FIX_566_2DIR_MASA_384K                          /* Nokia: Issued 566:  Bugfix in 384k MASA metadata encoding of second direction */
#define FIX_565_SBA_BURST_IN_FEC                        /* VA: Issue 565: Fix noise burst during FEC, due to wrong total_brate initialization */

#define FIX_562_ISM2_64KBPS                             /* VA: issue 562: fix ISM2 at 64kbps issue */


#define FIX_559_EXTL_IGF_MISMATCH                       /* VA: issue 559: fix mismatch between st->extl and st->igf observed as crash in PlanarSBA bitrate switching */


/* ################## End DEVELOPMENT switches ######################### */
#define MASA_AND_OBJECTS                                /* Nokia: Combination of MASA and objects */
+8 −2
Original line number Diff line number Diff line
@@ -331,8 +331,11 @@ void FEC_exc_estim(
    /*-----------------------------------------------------------------*
     * Replicate the last spectrum in case the last good frame was coded by GSC
     *-----------------------------------------------------------------*/

#ifndef FIX_565_SBA_BURST_IN_FEC
    if ( ( st->last_coder_type == AUDIO || st->last_good == INACTIVE_CLAS ) && st->total_brate <= ACELP_24k40 && !st->Opt_AMR_WB )
#else
    if ( ( st->last_coder_type == AUDIO || st->last_good == INACTIVE_CLAS ) && st->total_brate <= MAX_GSC_INACTIVE_BRATE && !st->Opt_AMR_WB )
#endif
    {
        /* Replication of the last spectrum, with a slight downscaling of its dynamic */
        st->GSC_noisy_speech = st->Last_GSC_noisy_speech_flag;
@@ -404,8 +407,11 @@ void FEC_exc_estim(
    /*-----------------------------------------------------------------*
     * Total excitation
     *-----------------------------------------------------------------*/

#ifndef FIX_565_SBA_BURST_IN_FEC
    if ( ( st->last_coder_type == AUDIO || st->last_good == INACTIVE_CLAS ) && st->total_brate <= ACELP_24k40 && !st->Opt_AMR_WB )
#else
    if ( ( st->last_coder_type == AUDIO || st->last_good == INACTIVE_CLAS ) && st->total_brate <= MAX_GSC_INACTIVE_BRATE && !st->Opt_AMR_WB )
#endif
    {
        /* For GSC - the excitation is already computed */
        mvr2r( exc, exc2, st->L_frame );
+5 −0
Original line number Diff line number Diff line
@@ -634,7 +634,12 @@ ivas_error ivas_ism_metadata_dec(
#endif
            {
#ifdef FIX_532_ISM_MD_INACTIVE
#ifdef FIX_562_ISM2_64KBPS
                if ( ism_imp[ch] == ISM_NO_META && ( ( total_brate[ch] < ACELP_8k00 && element_brate[ch] < SCE_CORE_16k_LOW_LIMIT ) ||
                                                     ( total_brate[ch] <= ACELP_16k_LOW_LIMIT && element_brate[ch] >= SCE_CORE_16k_LOW_LIMIT ) ) )
#else
                if ( ism_imp[ch] == ISM_NO_META && total_brate[ch] < ACELP_8k00 )
#endif
#else
                if ( hIsmMeta[ch]->ism_metadata_flag == 0 && localVAD[ch] == 0 && ism_metadata_flag_global )
#endif
Loading