Commit 37d0f2c2 authored by emerit's avatar emerit
Browse files

Merge branch 'main' into 1963_basop_portFltMR-1568-1471-1690_ERI

parents 8654194b 758f3c34
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -1308,6 +1308,9 @@ int main(
    {
        masaIds[i] = 0u;
    }
#ifdef NONBE_1377_REND_DIRATT_CONF
    IVAS_REND_SetObjectIDs( hIvasRend );
#endif

    for ( i = 0; i < args.inConfig.numMultiChannelBuses; ++i )
    {
+0 −1
Original line number Diff line number Diff line
@@ -363,7 +363,6 @@ typedef struct _IVAS_RENDER_CONFIG
    Word16 directivity_fx[IVAS_MAX_NUM_OBJECTS * 3]; // has the following q-factor pattern: {6, 6, 15, 6, 6, 15, 6, 6, 15, 6, 6, 15}
    float distAtt[3];
    Word32 distAtt_fx[3]; /* {Q27, Q30, Q30} */

} IVAS_RENDER_CONFIG_DATA, *IVAS_RENDER_CONFIG_HANDLE;

typedef struct
+3 −0
Original line number Diff line number Diff line
@@ -92,6 +92,7 @@
#define FIX_1995_REVERB_INIT                                 /* VA/Nokia: issue 1995: Fix use-of-uninitialized-value in ivas_binaural_reverb_init() */
#define FIX_1996_MASKING_NOISE                               /* Dlb: Heavy precision loss in ola buffers causing discontinuity*/
#define FIX1998_APA_EXEC_SCALING                             /* FhG: fix scaling of apa_exec_ivas_fx(); avoid continuously worse scaling with previous data */
#define FIX2007_BASSPSFILTER_OVERFLOW                        /* FhG: use saturing operator, to avoid overflow in bass_psfilter_fx() */

/* #################### Start BASOP porting switches ############################ */

@@ -110,6 +111,8 @@
#ifdef FIX_CREND_SIMPLIFY_CODE
#define FIX_989_TD_REND_ROM                             /* Eri: Clean-up for TD renderer and completion of ROM generation tool */
#endif
#define NONBE_1377_REND_DIRATT_CONF                     /* Eri: Issue 1377: Error in directivity attenuation configuration for both IVAS_dec and IVAS_rend */

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

#endif
+4 −0
Original line number Diff line number Diff line
@@ -555,7 +555,11 @@ void bass_psfilter_fx(
            FOR( i = 0; i < subfr_len; i++ )
            {
                /* err[i] = syn_fx[i] - gain*syn2_fx[i] */
#ifdef FIX2007_BASSPSFILTER_OVERFLOW
                err[i] = msu_r( L_shr_sat( L_mult0( gain, syn2_fx[i] ), exp2 ), syn_fx[i], 16384 ); /* Q15 */
#else
                err[i] = msu_r( L_shr( L_mult0( gain, syn2_fx[i] ), exp2 ), syn_fx[i], 16384 ); /* Q15 */
#endif
                move16();
                /* the sign is inverted but it is not important because
                we calculate energy with 'err[i]' x 'err[i]'
+13 −2
Original line number Diff line number Diff line
@@ -604,13 +604,16 @@ ivas_error TDREND_Update_object_positions_fx(
    const ISM_METADATA_HANDLE *hIsmMetaData            /* i  : Input metadata for ISM objects   */
)
{
#ifndef NONBE_1377_REND_DIRATT_CONF
    TDREND_DirAtten_t *DirAtten_p;
#endif
    Word16 nS;
    Word32 Pos_fx[3]; // Q25
    Word32 Dir_fx[3]; // Q30
    ivas_error error;

#ifndef NONBE_1377_REND_DIRATT_CONF
    DirAtten_p = hBinRendererTd->DirAtten_p;
#endif

    /* For each source, write the frame data to the source object*/
    FOR( nS = 0; nS < num_src; nS++ )
@@ -635,11 +638,12 @@ ivas_error TDREND_Update_object_positions_fx(
            {
                return error;
            }

#ifndef NONBE_1377_REND_DIRATT_CONF
            IF( NE_32( ( error = TDREND_MIX_SRC_SetDirAtten_fx( hBinRendererTd, nS, DirAtten_p ) ), IVAS_ERR_OK ) )
            {
                return error;
            }
#endif

            IF( hIsmMetaData[nS]->non_diegetic_flag )
            {
@@ -790,6 +794,9 @@ ivas_error ivas_td_binaural_open_ext_fx(
    RENDER_CONFIG_DATA *hRendCfg, /* i  : Renderer configuration */
    LSSETUP_CUSTOM_STRUCT *customLsInput,
    const Word32 outFs,
#ifdef NONBE_1377_REND_DIRATT_CONF
    const Word16 object_id, /* i: Object ID */
#endif
    Word16 *SrcInd,
    Word16 *num_src )
{
@@ -839,7 +846,11 @@ ivas_error ivas_td_binaural_open_ext_fx(

    if ( NULL != hRendCfg )
    {
#ifdef NONBE_1377_REND_DIRATT_CONF
        directivity_fx = hRendCfg->directivity_fx + 3 * object_id; /* Address calculation -- no BASOPs */
#else
        directivity_fx = hRendCfg->directivity_fx;
#endif
        distAtt_fx = hRendCfg->distAtt_fx;
    }

Loading