Commit 6c87f700 authored by vaclav's avatar vaclav
Browse files

Merge branch 'main' into discISM_DTX

parents 79ec9040 0454c2aa
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -145,6 +145,8 @@
#define LOW_RATE_TRANS_CORE_CODER                       /* Eri: Activate low-rate-encoding-of-transients contribution for core coder, affects MC, MASA and SBA */
#define FIX_197_CREND_INTERFACE 
#define FIX_329_ENABLE_TD_RENDERER_REVERB_MC            /* Eri: Enable reverb for TD renderer for 5.1 and 7.1 with headtracking enabled for IVAS_dec */
#define FIX_330_ENABLE_TD_RENDERER_REVERB_REND          /* Eri: Enable reverb for TD renderer for ISM, 5.1 and 7.1 with headtracking enabled for IVAS_rend */

#define FIX_347_DTX_CRASH                               /* FhG: Fix crash that can happen with DTX */
#define DISABLE_RES_CHANNELS_MCT                        /* decode only W and residual for Y when outputting to stereo */
#define FIX_107_5MS_SUBFRAME_RENDERING
@@ -164,9 +166,9 @@
#define FIX_351_HRTF_COMMAND                            /* VA: Issue 354 - improve "-hrtf" command-line option */
#define FIX_94_VERIFY_WAV_NUM_CHANNELS                  /* FhG: Issue 94 - Check if number of channels in input wav file matches encoder/renderer configuration */
#define ISM_HIGHEST_BITRATE                             /* VA: Issue 284: Update highest bitrate limit in ISM format */

#define TUNE_360_OBJECT_WITH_NOISE                      /* VA: issue 360: consider objects being speech+noise for active speech coding */


#define DISCRETE_ISM_DTX_CNG                            /* FhG/VA: contribution 15 - DTX/CNG for (discrete) ISM */


+14 −0
Original line number Diff line number Diff line
@@ -1232,6 +1232,12 @@ ivas_error ivas_init_decoder(

        if ( st_ivas->hRenderConfig->roomAcoustics.late_reverb_on )
        {
#ifdef FIX_330_ENABLE_TD_RENDERER_REVERB_REND
            if ( ( error = ivas_reverb_open( &st_ivas->hReverb, st_ivas->hDecoderConfig->output_config, NULL, st_ivas->hRenderConfig, st_ivas->hDecoderConfig->output_Fs ) ) != IVAS_ERR_OK )
            {
                return error;
            }
#else
#ifdef FIX_197_CREND_INTERFACE
#ifdef FIX_329_ENABLE_TD_RENDERER_REVERB_MC
            if ( ( error = ivas_rend_initCrendWrapper( &st_ivas->hCrendWrapper ) ) != IVAS_ERR_OK )
@@ -1248,6 +1254,7 @@ ivas_error ivas_init_decoder(
            {
                return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend\n" );
            }
#endif
        }
    }
    else if ( st_ivas->renderer_type == RENDERER_MC )
@@ -1592,6 +1599,9 @@ void ivas_initialize_handles_dec(
    st_ivas->hMonoDmxRenderer = NULL;
#ifdef FIX_197_CREND_INTERFACE
    st_ivas->hCrendWrapper = NULL;
#ifdef FIX_330_ENABLE_TD_RENDERER_REVERB_REND
    st_ivas->hReverb = NULL;
#endif
#else
    st_ivas->hCrend = NULL;
    st_ivas->hHrtf = NULL;
@@ -1758,6 +1768,10 @@ void ivas_destroy_dec(
#else
    ivas_crend_close( st_ivas );
#endif
#ifdef FIX_330_ENABLE_TD_RENDERER_REVERB_REND
    /* Reverb handle */
    ivas_reverb_close( &st_ivas->hReverb );
#endif

    /* LS config converter handle */
    ivas_ls_setup_conversion_close( &st_ivas->hLsSetUpConversion );
+8 −1
Original line number Diff line number Diff line
@@ -71,13 +71,20 @@ void ivas_td_binaural_renderer(
    const int16_t output_frame  /* i  : output frame length               */
)
{
#ifdef FIX_330_ENABLE_TD_RENDERER_REVERB_REND
    ivas_td_binaural_renderer_unwrap( st_ivas->hReverb,
#else
    ivas_td_binaural_renderer_unwrap( st_ivas->hRenderConfig, st_ivas->ini_frame,
#ifdef FIX_197_CREND_INTERFACE
                                      st_ivas->hCrendWrapper,
#else
                                      st_ivas->hCrend,
#endif
#endif
                                      st_ivas->transport_config,
                                      st_ivas->hDecoderConfig->output_Fs, st_ivas->hBinRendererTd, st_ivas->nchan_transport, LFE_CHANNEL, st_ivas->ivas_format,
#ifndef FIX_330_ENABLE_TD_RENDERER_REVERB_REND
                                      st_ivas->hDecoderConfig->output_Fs,
#endif
                                      st_ivas->hBinRendererTd, st_ivas->nchan_transport, LFE_CHANNEL, st_ivas->ivas_format,
                                      st_ivas->hIsmMetaData, st_ivas->hDecoderConfig->Opt_Headrotation, ( st_ivas->hHeadTrackData != NULL ) ? st_ivas->hHeadTrackData->Quaternions : NULL, output, output_frame );
}
+5 −2
Original line number Diff line number Diff line
@@ -1226,6 +1226,9 @@ typedef struct Decoder_Struct
    MONO_DOWNMIX_RENDERER_HANDLE hMonoDmxRenderer;             /* Mono downmix structure */
#ifdef FIX_197_CREND_INTERFACE
    CREND_WRAPPER_HANDLE hCrendWrapper;
#ifdef FIX_330_ENABLE_TD_RENDERER_REVERB_REND
    REVERB_HANDLE hReverb; /* Reverb handle             */
#endif
#else
    CREND_HANDLE hCrend;                                       /* Convolution mixer renderer structure */
    HRTFS_HANDLE hHrtf;                                        /* HRTFs handle */
+1 −2
Original line number Diff line number Diff line
@@ -121,12 +121,11 @@ int16_t ivas_ism_dtx_enc(
    float lp_noise[MAX_NUM_OBJECTS], lp_noise_variation, lp_noise_mean;
    float tmp1, tmp2;

#ifdef TUNE_360_OBJECT_WITH_NOISE
    /* initialization */
    for ( ch = 0; ch < nchan_transport; ch++ )
    {
        hSCE[ch]->hCoreCoder[0]->low_rate_mode = 0;
    }
#endif

    /*------------------------------------------------------------------*
     * compute global ISM DTX flag
Loading