Commit ee1649a4 authored by liksonov's avatar liksonov
Browse files

Merge branch 'main' into 15-move-proximity-mixing-to-the-decoder

parents 60a195fa 95efcdf9
Loading
Loading
Loading
Loading

apps/encoder.c

100644 → 100755
+1 −1

File changed.File mode changed from 100644 to 100755.

Contains only whitespace changes.

lib_com/bitstream.c

100644 → 100755
+4 −16
Original line number Diff line number Diff line
@@ -1975,22 +1975,10 @@ ivas_error preview_indices(
        }
        else if ( st_ivas->ivas_format == SBA_FORMAT )
        {
#ifndef ORDER_BITS_ADDITION
            if ( ( st_ivas->sba_mode != SBA_MODE_SPAR ) || ( ( st_ivas->sba_mode == SBA_MODE_SPAR ) && ( total_brate >= IVAS_256k ) ) )
            {
#endif
            /* Read SBA planar flag and SBA order */
            st_ivas->sba_planar = ( bit_stream[IVAS_FORMAT_SIGNALING_NBITS_SBA] == 1 );
            st_ivas->sba_order = ( bit_stream[IVAS_FORMAT_SIGNALING_NBITS_SBA + 2] == 1 );
            st_ivas->sba_order += 2 * ( bit_stream[IVAS_FORMAT_SIGNALING_NBITS_SBA + 1] == 1 );
#ifndef ORDER_BITS_ADDITION
            }
            else
            {
                st_ivas->sba_planar = 0;
                st_ivas->sba_order = 1;
            }
#endif
            ivas_sba_config( total_brate, st_ivas->sba_order, -1, &( st_ivas->nchan_transport ), st_ivas->sba_planar, &( st_ivas->nSCE ), &( st_ivas->nCPE ), &( st_ivas->element_mode_init ), st_ivas->sba_mode );
        }
    }
+0 −4
Original line number Diff line number Diff line
@@ -1298,11 +1298,7 @@ typedef enum
#define IVAS_LFE_NUM_COEFFS_IN_SUBGRP           2
#define IVAS_LFE_MAX_NUM_DCT_PASS_BINS          8
#define IVAS_LFE_MAX_NUM_DCT_COEFFS             (IVAS_LFE_MAX_NUM_DCT_PASS_BINS * IVAS_LFE_NUM_COEFFS_IN_SUBGRP)
#ifdef SBA_CLEANING
#define IVAS_LFE_FADE_NS                        8000000L    /* 8.0 ms */
#else
#define IVAS_LFE_FADE_LEN_SEC_FLOAT             ((float)0.008)
#endif
#define IVAS_MAX_NUM_QUANT_STRATS               2
#define IVAS_MAX_NUM_DCT_COEF_GROUPS            4
#define IVAS_LFE_SHIFT_BITS                     5
+4 −4

File changed.File mode changed from 100644 to 100755.

Contains only whitespace changes.

+56 −3
Original line number Diff line number Diff line
@@ -50,38 +50,72 @@

static void ivas_get_mdft_twid_factors(
    const int16_t length,
#ifndef MDFT_ROM_OPTIMIZE
    const float **ppTwid_re,
    const float **ppTwid_im )
    const float **ppTwid_im
#else
    const float **ppTwid
#endif
)
{
    switch ( length )
    {
        case L_FRAME48k:
#ifndef MDFT_ROM_OPTIMIZE
            *ppTwid_re = &ivas_mdft_coeff_cos_twid_960[0];
            *ppTwid_im = &ivas_mdft_coeff_sin_twid_960[0];
#else
            *ppTwid = &ivas_mdft_coeff_cos_twid_960[0];
#endif
            break;
        case L_FRAME32k:
#ifndef MDFT_ROM_OPTIMIZE
            *ppTwid_re = &ivas_mdft_coeff_cos_twid_640[0];
            *ppTwid_im = &ivas_mdft_coeff_sin_twid_640[0];
#else
            *ppTwid = &ivas_mdft_coeff_cos_twid_640[0];
#endif

            break;
        case L_FRAME16k:
#ifndef MDFT_ROM_OPTIMIZE
            *ppTwid_re = &ivas_mdft_coeff_cos_twid_320[0];
            *ppTwid_im = &ivas_mdft_coeff_sin_twid_320[0];
#else
            *ppTwid = &ivas_mdft_coeff_cos_twid_320[0];
#endif
            break;
        case IVAS_240_PT_LEN:
#ifndef MDFT_ROM_OPTIMIZE
            *ppTwid_re = &ivas_mdft_coeff_cos_twid_240[0];
            *ppTwid_im = &ivas_mdft_coeff_sin_twid_240[0];
#else
            *ppTwid = &ivas_mdft_coeff_cos_twid_240[0];
#endif
            break;
        case IVAS_160_PT_LEN:
#ifndef MDFT_ROM_OPTIMIZE
            *ppTwid_re = &ivas_mdft_coeff_cos_twid_160[0];
            *ppTwid_im = &ivas_mdft_coeff_sin_twid_160[0];
#else
            *ppTwid = &ivas_mdft_coeff_cos_twid_160[0];
#endif
            break;
        case IVAS_80_PT_LEN:
#ifndef MDFT_ROM_OPTIMIZE
            *ppTwid_re = &ivas_mdft_coeff_cos_twid_80[0];
            *ppTwid_im = &ivas_mdft_coeff_sin_twid_80[0];
#else
            *ppTwid = &ivas_mdft_coeff_cos_twid_80[0];
#endif
            break;
        case IVAS_40_PT_LEN:
#ifndef MDFT_ROM_OPTIMIZE
            *ppTwid_re = &ivas_mdft_coeff_cos_twid_40[0];
            *ppTwid_im = &ivas_mdft_coeff_sin_twid_40[0];
#else
            *ppTwid = &ivas_mdft_coeff_cos_twid_40[0];
#endif
            break;

        default:
@@ -222,26 +256,45 @@ void ivas_mdft(
    float re[L_FRAME48k];
    float im[L_FRAME48k];
    int16_t j, len_by_2;
#ifndef MDFT_ROM_OPTIMIZE
    const float *pTwid_re, *pTwid_im;

#else
    const float *pTwid;
#endif
    len_by_2 = mdft_length >> 1;

    ivas_get_mdft_twid_factors( mdft_length, &pTwid_re, &pTwid_im );
    ivas_get_mdft_twid_factors( mdft_length,
#ifndef MDFT_ROM_OPTIMIZE
                                &pTwid_re, &pTwid_im
#else
                                &pTwid
#endif
    );

    if ( mdft_length == input_length )
    {
        for ( j = 0; j < mdft_length; j++ )
        {
#ifndef MDFT_ROM_OPTIMIZE
            re[j] = pIn[j] * pTwid_re[j];
            im[j] = -pIn[j] * pTwid_im[j];
#else
            re[j] = pIn[j] * pTwid[j];
            im[j] = -pIn[j] * pTwid[mdft_length - j];
#endif
        }
    }
    else
    {
        for ( j = 0; j < mdft_length; j++ )
        {
#ifndef MDFT_ROM_OPTIMIZE
            re[j] = pIn[j] * pTwid_re[j] - pIn[j + mdft_length] * pTwid_im[j];
            im[j] = -pIn[j] * pTwid_im[j] - pIn[j + mdft_length] * pTwid_re[j];
#else
            re[j] = pIn[j] * pTwid[j] - pIn[j + mdft_length] * pTwid[mdft_length - j];
            im[j] = -pIn[j] * pTwid[mdft_length - j] - pIn[j + mdft_length] * pTwid[j];
#endif
        }
    }

Loading