Commit b9e7d776 authored by Jan Kiene's avatar Jan Kiene
Browse files

accept FIX_549_DMX_GAIN

parent 09b3632c
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -510,10 +510,8 @@ void ivas_param_ism_config(
        hParamIsm->last_el_sgn[i] = 1;
    }

#ifdef FIX_549_DMX_GAIN
    hParamIsm->last_dmx_gain = 1.0f;
    set_f( hParamIsm->last_cardioid_left, 1.0f, MAX_NUM_OBJECTS );
#endif
    return;
}

+0 −2
Original line number Diff line number Diff line
@@ -169,10 +169,8 @@ typedef struct ivas_param_ism_data_structure
    int16_t noisy_speech_buffer[PARAM_ISM_HYS_BUF_SIZE];
    int16_t flag_equal_energy;

#ifdef FIX_549_DMX_GAIN
    float last_dmx_gain;
    float last_cardioid_left[MAX_NUM_OBJECTS];
#endif

} PARAM_ISM_CONFIG_DATA, *PARAM_ISM_CONFIG_HANDLE;

+0 −1
Original line number Diff line number Diff line
@@ -153,7 +153,6 @@
#define VLBR_20MS_MD                                    /* Dlb: SBA VLBR 20ms Optimization*/
#define SBA_MODE_CLEANUP_2                              /* Dlb : changes part of fix issue #523 for unused signaling bit in SBA SID*/
#define FIX_137_SID_MD_BITS                             /* Dlb: Fix issue #137 , SID bitrate mismatch correction */
#define FIX_549_DMX_GAIN                                /* FhG: issue 549: ParamISM output too quiet */
#define FIX_470_MASA_JBM_EXT                            /* Nokia: Issue 470, fix MASA EXT output with JBM */
#define ISM_FB                                          /* issue 556: change SWB to FB coding in 1ISM at 24.4 kbps */
#define FIX_558_PLC_DISCONT                             /* FhG: issue 558: fix discontinuities in DFT Stereo when switching from TCX concealment to ACELP */
+0 −12
Original line number Diff line number Diff line
@@ -726,11 +726,9 @@ void ivas_param_ism_dec(
    int16_t ch, nchan_transport, nchan_out, nchan_out_woLFE, i;
    int16_t subframe_idx, slot_idx, index_slot, bin_idx;
    int32_t ivas_total_brate;
#ifdef FIX_549_DMX_GAIN
    int16_t output_frame;
    float gain, ene_tc, ene_sum, grad;
    float last_gain;
#endif
    float ref_power[CLDFB_NO_CHANNELS_MAX];
    float cx_diag[CLDFB_NO_CHANNELS_MAX][PARAM_ISM_MAX_DMX];
    /* CLDFB Input Buffers */
@@ -757,12 +755,10 @@ void ivas_param_ism_dec(
    assert( hDirAC );
    hSpatParamRendCom = st_ivas->hSpatParamRendCom;
    assert( hSpatParamRendCom );
#ifdef FIX_549_DMX_GAIN
    ene_tc = 0.0f;
    ene_sum = 0.0f;
    last_gain = st_ivas->hDirAC->hParamIsm->last_dmx_gain;
    output_frame = (int16_t) ( st_ivas->hDecoderConfig->output_Fs / FRAMES_PER_SEC );
#endif

    nchan_transport = st_ivas->nchan_transport;
    if ( st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_EXTERNAL )
@@ -846,7 +842,6 @@ void ivas_param_ism_dec(
        }
    }

#ifdef FIX_549_DMX_GAIN
    /* Energy Compensation */
    for ( i = 0; i < output_frame; i++ )
    {
@@ -880,7 +875,6 @@ void ivas_param_ism_dec(
        }
    }
    st_ivas->hDirAC->hParamIsm->last_dmx_gain = gain;
#endif

    for ( ch = 0; ch < nchan_transport; ch++ )
    {
@@ -1097,11 +1091,9 @@ void ivas_param_ism_dec_digest_tc(
    int16_t ch, nchan_transport, nchan_out, nchan_out_woLFE, i;
    int16_t slot_idx, bin_idx;
    int32_t ivas_total_brate;
#ifdef FIX_549_DMX_GAIN
    int16_t output_frame;
    float gain, ene_tc, ene_sum, grad;
    float last_gain;
#endif
    float ref_power[CLDFB_NO_CHANNELS_MAX];
    float cx_diag[CLDFB_NO_CHANNELS_MAX][PARAM_ISM_MAX_DMX];
    /* Direct Response/EFAP Gains */
@@ -1114,12 +1106,10 @@ void ivas_param_ism_dec_digest_tc(
    assert( hDirAC );
    hSpatParamRendCom = st_ivas->hSpatParamRendCom;
    assert( hSpatParamRendCom );
#ifdef FIX_549_DMX_GAIN
    ene_tc = 0.0f;
    ene_sum = 0.0f;
    last_gain = st_ivas->hDirAC->hParamIsm->last_dmx_gain;
    output_frame = (int16_t) ( st_ivas->hDecoderConfig->output_Fs / FRAMES_PER_SEC );
#endif

    nchan_transport = st_ivas->nchan_transport;
    ivas_total_brate = st_ivas->hDecoderConfig->ivas_total_brate;
@@ -1206,7 +1196,6 @@ void ivas_param_ism_dec_digest_tc(
        }
    }

#ifdef FIX_549_DMX_GAIN
    /* Energy Compensation */
    for ( i = 0; i < output_frame; i++ )
    {
@@ -1240,7 +1229,6 @@ void ivas_param_ism_dec_digest_tc(
        }
    }
    st_ivas->hDirAC->hParamIsm->last_dmx_gain = gain;
#endif

    for ( ch = 0; ch < nchan_transport; ch++ )
    {
+0 −20
Original line number Diff line number Diff line
@@ -222,11 +222,9 @@ void ivas_param_ism_stereo_dmx(
    float alpha, azi_shift, tmp, tmp_1;
    float cardioid_left[MAX_NUM_OBJECTS], cardioid_right[MAX_NUM_OBJECTS];
    float stereo_dmx[2][L_FRAME48k];
#ifdef FIX_549_DMX_GAIN
    float dmx_gain, ene_dmx, ene_data, grad;
    float last_dmx_gain;
    float last_cardioid_left;
#endif
    ISM_METADATA_HANDLE hIsmMetaData;

    push_wmops( "ivas_param_ism_st_dmx" );
@@ -234,12 +232,10 @@ void ivas_param_ism_stereo_dmx(
    /*Initialization*/
    alpha = 0.5;
    azi_shift = 0;
#ifdef FIX_549_DMX_GAIN
    dmx_gain = 0;
    ene_dmx = 0;
    ene_data = 0;
    last_dmx_gain = st_ivas->hDirAC->hParamIsm->last_dmx_gain;
#endif

    /* Set the stereo dmx to zero */
    set_zero( stereo_dmx[0], L_FRAME48k );
@@ -249,24 +245,11 @@ void ivas_param_ism_stereo_dmx(
    for ( i = 0; i < st_ivas->hEncoderConfig->nchan_ism; i++ )
    {
        hIsmMetaData = st_ivas->hIsmMetaData[i];
#ifdef FIX_549_DMX_GAIN
        last_cardioid_left = st_ivas->hDirAC->hParamIsm->last_cardioid_left[i];
#endif
        /*Compute the Cardioids for the corresponding object direction */
        tmp = hIsmMetaData->azimuth * ( EVS_PI / 180 );
        tmp_1 = ( EVS_PI / 2 ) + azi_shift;
        cardioid_left[i] = alpha + ( 1 - alpha ) * cosf( tmp - tmp_1 );
#ifndef FIX_549_DMX_GAIN
        cardioid_right[i] = alpha + ( 1 - alpha ) * cosf( tmp + tmp_1 );

        /* Loop over all samples */
        for ( j = 0; j < input_frame; j++ )
        {
            tmp = data[i][j];
            stereo_dmx[0][j] += cardioid_left[i] * tmp;  /* DMX Left */
            stereo_dmx[1][j] += cardioid_right[i] * tmp; /* DMX Right */
        }
#else
        if ( st_ivas->hSCE[0]->hCoreCoder[0]->ini_frame > 0 )
        {
            float last_cardioid_right;
@@ -306,10 +289,8 @@ void ivas_param_ism_stereo_dmx(
            }
        }
        st_ivas->hDirAC->hParamIsm->last_cardioid_left[i] = cardioid_left[i];
#endif
    }

#ifdef FIX_549_DMX_GAIN
    /* Energy compensation */
    for ( j = 0; j < input_frame; j++ )
    {
@@ -342,7 +323,6 @@ void ivas_param_ism_stereo_dmx(
        }
    }
    st_ivas->hDirAC->hParamIsm->last_dmx_gain = dmx_gain;
#endif
    /* Copy the stereo dmx to data variable */
    mvr2r( stereo_dmx[0], data[0], input_frame );
    mvr2r( stereo_dmx[1], data[1], input_frame );