Commit b1539082 authored by Marek Szczerba's avatar Marek Szczerba
Browse files

Merge branch 'main' into philips/contribution-38-control-metadata-reverb

parents 4554d4a3 a79623e8
Loading
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -282,7 +282,7 @@ build-codec-sanitizers-linux:
    - *print-common-info
    - bash ci/build_codec_sanitizers_linux.sh

build-codec-windows-cmake:
.build-codec-windows-cmake:
  extends:
    - .build-job-windows-with-check-for-warnings
    - .rules-basis
@@ -295,7 +295,7 @@ build-codec-windows-cmake:
    - ("& python ci/check_for_warnings.py '$BUILD_OUTPUT'") | Invoke-Expression
    - ("exit $LASTEXITCODE") | Invoke-Expression

build-codec-windows-msbuild:
.build-codec-windows-msbuild:
  extends:
    - .build-job-windows-with-check-for-warnings
    - .rules-basis
+21 −0
Original line number Diff line number Diff line
@@ -61,6 +61,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()
@@ -346,6 +350,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
@@ -169,6 +169,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 ######################### */
/* clang-format on */
+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
@@ -542,7 +542,12 @@ ivas_error ivas_ism_metadata_dec(
            if ( ism_mode == ISM_MODE_DISC )
            {
#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