Commit 4e83c71f authored by vaclav's avatar vaclav
Browse files

Merge branch 'b20220920_ParamISM_DTX_CNG' of...

Merge branch 'b20220920_ParamISM_DTX_CNG' of https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec into b20220920_ParamISM_DTX_CNG
parents c19890ae 0e168ffd
Loading
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -223,8 +223,12 @@ ivas_error pre_proc_front_ivas(
    const int16_t front_vad_flag,                               /* i  : front-VAD flag to overwrite VAD decision   */
    const int16_t force_front_vad,                              /* i  : flag to force VAD decision                 */
    const int16_t front_vad_dtx_flag,                           /* i  : front-VAD DTX flag to overwrite VAD decision*/
#ifdef LOW_RATE_TRANS_CORE_CODER
    const int32_t ivas_total_brate                             /* i  : IVAS total bitrate                         */
#else
    const int32_t ivas_total_brate,                             /* i  : IVAS total bitrate                         */
    const int16_t ivas_format                                   /* i  : IVAS format                                */
#endif
);

ivas_error pre_proc_ivas(
+7 −3
Original line number Diff line number Diff line
@@ -67,8 +67,8 @@
/*#define DEBUG_MODE_DIRAC*/                    /* output most important DIRAC parameters to the subdirectory "res/" */
/*#define DEBUG_MODE_MDCT*/                     /* output most important MDCT parameters to the subdirectory "res/" */
/*#define DEBUG_MODE_PARAM_MC */                /* output Parametric MC paramters to the subdirectory "res/" */
#define DEBUG_MODE_PARAM_ISM                /* output Parametric ISM paramters to the subdirectory "res/" */
#define DEBUG_MODE_INFO_TWEAK                   /* enable command line switch to specify subdirectory for debug info output inside "./res/" */
/*#define DEBUG_MODE_PARAM_ISM*/                /* output Parametric ISM paramters to the subdirectory "res/" */
/*#define DEBUG_MODE_INFO_TWEAK*/               /* enable command line switch to specify subdirectory for debug info output inside "./res/" */
/*#define DEBUG_MODE_INFO_PLC */                /* define to output PLC related parameters */
/*#define DEBUG_MODE_INFO_ALLRAD*/              /* define to output generated HOA decoding mtx */
/*#define DEBUG_MODE_LFE */                     /* define to output LFE relevant parameters */
@@ -148,6 +148,8 @@
#endif


#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_MEMORY_COUNTING_HRTF_BINARY_FILE
@@ -163,7 +165,9 @@

#define FIX_343_TO_UPPER                                /* VA: issue 343: safeguard for function to_upper() */

#define PARAM_ISM_DTX_CNG                               /* Support of DTX/CNG for Param-ISM, includes updates */ 
#define FIX_107_5MS_SUBFRAME_RENDERING

#define PARAM_ISM_DTX_CNG                               /* FhG: contribution 9 - DTX-CNG for ParamISM */

/* ################## End DEVELOPMENT switches ######################### */
/* clang-format on */
+34 −33
Original line number Diff line number Diff line
@@ -1350,7 +1350,8 @@ void generate_comfort_noise_dec_hf(
    float **bufferImag,         /* o  : Imaginary part of input bands */
    HANDLE_FD_CNG_COM hFdCngCom /* i/o: FD_CNG structure containing all buffers and variables   */
#ifdef PARAM_ISM_DTX_CNG
    , int16_t cng_coh_flag          /* i: CNG Flag for coherence handling */
    ,
    int16_t cng_coh_flag /* i: CNG Flag for coherence handling */
#endif
)
{
+4 −0
Original line number Diff line number Diff line
@@ -138,6 +138,9 @@ ivas_error ivas_dirac_dec_init_binaural_data(
    set_zero( hBinaural->ChCrossImOutPrev, nBins );
    hBinaural->renderStereoOutputInsteadOfBinaural = 0;

#ifdef FIX_107_5MS_SUBFRAME_RENDERING
    hBinaural->useSubframeMode = 1;
#else
    if ( st_ivas->ivas_format == SBA_FORMAT && st_ivas->sba_mode == SBA_MODE_SPAR ) /* Use subframe-mode with SPAR, since the metadata is not in sync on a frame level */
    {
        hBinaural->useSubframeMode = 1;
@@ -150,6 +153,7 @@ ivas_error ivas_dirac_dec_init_binaural_data(
        hBinaural->useSubframeMode = 0; /* Default to 20 ms mode. */
#endif
    }
#endif

    hBinaural->useTdDecorr = 0;
    if ( st_ivas->ivas_format == SBA_FORMAT )
+13 −3
Original line number Diff line number Diff line
@@ -107,8 +107,14 @@ ivas_error pre_proc_front_ivas(
    const int16_t front_vad_flag,                              /* i  : front-VAD flag to overwrite VAD decision */
    const int16_t force_front_vad,                             /* i  : flag to force VAD decision               */
    const int16_t front_vad_dtx_flag,                          /* i  : front-VAD DTX flag to overwrite VAD decision*/
#ifdef LOW_RATE_TRANS_CORE_CODER
    const int32_t ivas_total_brate /* i  : IVAS total bitrate - for setting the DTX */
#else
    const int32_t ivas_total_brate, /* i  : IVAS total bitrate - for setting the DTX */
    const int16_t ivas_format )
    const int16_t ivas_format       /* i  : IVAS format                              */
#endif

)
{
    float *inp_12k8, *new_inp_12k8;        /* pointers to current frame and new data       */
    float *wsp;                            /* weighted input signal buffer                 */
@@ -805,7 +811,11 @@ ivas_error pre_proc_front_ivas(
            }
        }
        /* Switch to ACELP for non-harmonic transient signals */
#ifdef LOW_RATE_TRANS_CORE_CODER
        else if ( ( ( element_mode >= IVAS_CPE_DFT && element_brate <= IVAS_16k4 ) || ( element_mode == IVAS_SCE && element_brate < SCE_SMC_THR ) ) && ( loc_harm[0] != 1 ) && smc_dec == MUSIC )
#else
        else if ( ( ( ivas_format == STEREO_FORMAT && element_brate <= IVAS_16k4 ) || ( ivas_format == ISM_FORMAT && element_brate < SCE_SMC_THR ) ) && ( loc_harm[0] != 1 ) && smc_dec == MUSIC )
#endif
        {
            if ( element_mode == IVAS_SCE )
            {
@@ -820,7 +830,7 @@ ivas_error pre_proc_front_ivas(
                {
                    if ( smc_dec != SPEECH && transient_analysis( hCPE->hCoreCoder[i]->hTranDet, st->hNoiseEst->cor_map, st->hNoiseEst->multi_harm_limit ) )
                    {
                        smc_dec = SPEECH; /* overwrite initial music decision, intial SPEECH_MUSIC never changed */
                        smc_dec = SPEECH; /* overwrite initial music decision, initial SPEECH_MUSIC never changed */
                    }
                }
            }
Loading