Commit dfe16351 authored by multrus's avatar multrus
Browse files

Merge branch '1656_basop_portFlp1630_max_mct_channels' into 'main'

Port Flp MR 1630 to ivas-float-update - Adjust mct max channels

Closes #1656

See merge request !2248
parents 3f8cc06f 54aae372
Loading
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -1415,10 +1415,15 @@ typedef enum
#define LFE_CHANNEL                             3

#define MIN_LFE_NRG                             0.5f
#ifdef ADJUST_MCT_CHANNELS_MAX   
#define MCT_MAX_CHANNELS                        11                          /* == 7.1.4 LS channels without the LFE channel */
#define MCT_MAX_BLOCKS                          ( ( MCT_MAX_CHANNELS + 1 ) / CPE_CHANNELS )    /* max. number of channel pairs (MCT_MAX_CHANNELS/2) within MCT*/
#else
#define MCT_MAX_CHANNELS                        MAX_TRANSPORT_CHANNELS
#define MCT_MAX_BLOCKS                          ( MCT_MAX_CHANNELS / CPE_CHANNELS )    /* max. number of channel pairs (MCT_MAX_CHANNELS/2) within MCT*/

#define MAX_NUM_DATA                            max( MCT_MAX_CHANNELS, 4 )
#endif

#define NBBITS_MCT_RATIO                        4
#define BITRATE_MCT_RATIO_RANGE                 ( 1 << NBBITS_MCT_RATIO )   /* Range of the coded bitrate distribution ratio */
+1 −1
Original line number Diff line number Diff line
@@ -118,7 +118,7 @@
#define NONBE_FIX_1220_OMASA_JBM_EXT_USAN               /* Nokia: fix issue 1220 OMASA EXT JBM USAN, also fix similar cases of free to avoid future problems */
#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 */

#define ADJUST_MCT_CHANNELS_MAX                         /* FhG: set correct max mct channels constant*/

/* #################### End BASOP porting switches ############################ */

+21 −5
Original line number Diff line number Diff line
@@ -75,9 +75,16 @@ void ivas_mct_side_bits_fx(
    {
        FOR( ch = 0; ch < CPE_CHANNELS; ch++ )
        {
#ifdef ADJUST_MCT_CHANNELS_MAX
            IF( LT_16( i, MCT_MAX_CHANNELS ) )
            {
#endif
                sts[i] = hCPE[cpe_id]->hCoreCoder[ch];
                i = add( i, 1 );
                move16();
#ifdef ADJUST_MCT_CHANNELS_MAX
            }
#endif
        }
    }

@@ -218,10 +225,19 @@ void ivas_mct_core_dec(
    {
        FOR( ch = 0; ch < CPE_CHANNELS; ( ch++, i++ ) )
        {
#ifdef ADJUST_MCT_CHANNELS_MAX
            IF( LT_16( i, MCT_MAX_CHANNELS ) )
            {
#endif
                sts[i] = hCPE[cpe_id]->hCoreCoder[ch];
#ifdef ADJUST_MCT_CHANNELS_MAX
            }
#endif
        }
    }

#ifndef ADJUST_MCT_CHANNELS_MAX
    /*seems like obsolete code*/
    i = 0;
    move16();
    FOR( ch = 0; ch < nChannels; ch++ )
@@ -232,7 +248,7 @@ void ivas_mct_core_dec(
        }
        i = add( i, 1 );
    }

#endif
    bfi = sts[0]->bfi;
    move16();

+10 −1
Original line number Diff line number Diff line
@@ -293,6 +293,7 @@ void ivas_mct_core_enc_fx(
        inv_spectrum_fx[ch][1] = inv_spectrum_long_cpe0_fx[ch] + N_TCX10_MAX;
        powerSpec_fx[ch] = powerSpec_long_cpe0_fx[ch];
    }

    FOR( ch = 0; ch < CPE_CHANNELS; ch++ )
    {
        q_powSpec[ch] = 0;
@@ -332,7 +333,15 @@ void ivas_mct_core_enc_fx(
    {
        FOR( ch = 0; ch < CPE_CHANNELS; ch++ )
        {
#ifdef ADJUST_MCT_CHANNELS_MAX
            IF( LT_16( add( i_mult( cpe_id, CPE_CHANNELS ), ch ), nChannels ) )
            {
#endif
                sts[i] = hCPE[cpe_id]->hCoreCoder[ch];
#ifdef ADJUST_MCT_CHANNELS_MAX
            }
#endif

            IF( EQ_32( hCPE[cpe_id]->hCoreCoder[ch]->mct_chan_mode, MCT_CHAN_MODE_IGNORE ) )
            {
                i = add( i, 1 );