Commit 1ae73658 authored by multrus's avatar multrus
Browse files

[cleanup] accept SBA_SPAR_HARM

parent fcc9e15f
Loading
Loading
Loading
Loading
+0 −29
Original line number Diff line number Diff line
@@ -169,36 +169,24 @@ void ivas_spar_covar_smooth_enc_close(

static void ivas_compute_smooth_cov(
    ivas_cov_smooth_state_t *hCovState,
#ifndef SBA_SPAR_HARM
    ivas_cov_smooth_in_buf_t *pIn_buf,
#endif
    ivas_filterbank_t *pFb,
    float *pCov_buf[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH],
    float *pPrior_cov_buf[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH],
    const float fac,
    const int16_t start_band,
    const int16_t end_band
#ifdef SBA_SPAR_HARM
    ,
    const int16_t num_ch,
    const int16_t transient_det
#endif
)
{
    int16_t i, j, k;
    int16_t prev_idx = hCovState->prior_bank_idx;
#ifndef SBA_SPAR_HARM
    int16_t num_ch = pIn_buf->num_ch;
#endif
    float factor = 0;

    assert( end_band <= pFb->filterbank_num_bands );

#ifdef SBA_SPAR_HARM
    if ( prev_idx == -1 || transient_det == 1 )
#else
    if ( prev_idx == -1 || pIn_buf->reset_cov == 1 )
#endif
    {
        for ( i = 0; i < num_ch; i++ )
        {
@@ -243,42 +231,25 @@ static void ivas_compute_smooth_cov(

void ivas_cov_smooth_process(
    ivas_cov_smooth_state_t *hCovState, /* i/o: Covariance state handle */
#ifdef SBA_SPAR_HARM
    float *cov_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH],
#else
    ivas_cov_smooth_in_buf_t *pIn_buf,
#endif
    ivas_filterbank_t *pFb, /* i/o: FB handle               */
    const int16_t start_band,
    const int16_t end_band
#ifdef SBA_SPAR_HARM
    ,
    const int16_t num_ch,
    const int16_t transient_det
#endif
)
{
    int16_t i, j;
#ifndef SBA_SPAR_HARM
    int16_t num_ch = pIn_buf->num_ch;
#endif
    int16_t num_bands = end_band - start_band;

#ifdef SBA_SPAR_HARM
    ivas_compute_smooth_cov( hCovState, pFb, cov_real, hCovState->pPrior_cov_real, 1e-20f, start_band, end_band, num_ch, transient_det );
#else
    ivas_compute_smooth_cov( hCovState, pIn_buf, pFb, pIn_buf->cov_real, hCovState->pPrior_cov_real, 1e-20f, start_band, end_band );
#endif

    for ( i = 0; i < num_ch; i++ )
    {
        for ( j = 0; j < num_ch; j++ )
        {
#ifdef SBA_SPAR_HARM
            mvr2r( &cov_real[i][j][start_band], &hCovState->pPrior_cov_real[i][j][start_band], num_bands );
#else
            mvr2r( &pIn_buf->cov_real[i][j][start_band], &hCovState->pPrior_cov_real[i][j][start_band], num_bands );
#endif
        }
    }

+0 −22
Original line number Diff line number Diff line
@@ -3907,19 +3907,11 @@ void ivas_spar_md_enc_close(
ivas_error ivas_spar_md_enc_process(
    ivas_spar_md_enc_state_t *hMdEnc,                           /* i/o: SPAR MD encoder handle                  */
    const ENCODER_CONFIG_HANDLE hEncoderConfig,                 /* i  : configuration structure                 */
#ifdef SBA_SPAR_HARM
    float *cov_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH],
    float *cov_dtx_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH],
#else
    ivas_spar_md_enc_in_buf_t *pIn_buf,
#endif
    BSTR_ENC_HANDLE hMetaData,                                  /* i/o: MetaData handle                         */
#ifdef SBA_SPAR_HARM
    int16_t dtx_vad,
    const int16_t nchan_inp,
#else
    const int16_t dtx_silence_mode,
#endif
    const int16_t sba_order                                     /* i  : Ambisonic (SBA) order                   */
);

@@ -4059,24 +4051,16 @@ void ivas_spar_covar_enc_close(

void ivas_enc_cov_handler_process( 
    ivas_enc_cov_handler_state_t *hCovEnc,                      /* i/o: SPAR Covar. encoder handle              */
#ifdef SBA_SPAR_HARM
    float **ppIn_FR_real,
    float **ppIn_FR_imag,
    float *cov_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH],
    float *cov_dtx_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH],
#else
    ivas_enc_cov_handler_in_buf_t *pIn_buf, 
    float *cov_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH],
    float *cov_dtx_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH],
#endif
    ivas_filterbank_t *pFb,                                     /* i/o: FB handle                               */
    const int16_t start_band,
    const int16_t end_band 
#ifdef SBA_SPAR_HARM
   ,const int16_t nchan_inp,
    const int16_t dtx_vad,
    const int16_t transient_det
#endif
);

ivas_error ivas_spar_covar_smooth_enc_open( 
@@ -4093,19 +4077,13 @@ void ivas_spar_covar_smooth_enc_close(

void ivas_cov_smooth_process( 
    ivas_cov_smooth_state_t *hCovState,                         /* i/o: Covariance state handle                 */
#ifdef SBA_SPAR_HARM
    float *cov_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH],
#else
    ivas_cov_smooth_in_buf_t *pIn_buf, 
#endif
    ivas_filterbank_t *pFb,                                     /* i/o: FB handle                               */
    const int16_t start_band,
    const int16_t end_band
#ifdef SBA_SPAR_HARM
    ,
    const int16_t num_ch,
    const int16_t transient_det
#endif
);

/* Transient detector module */
+0 −9
Original line number Diff line number Diff line
@@ -352,15 +352,6 @@ typedef struct ivas_cov_smooth_cfg_t

} ivas_cov_smooth_cfg_t;

#ifndef SBA_SPAR_HARM
typedef struct ivas_cov_smooth_in_buf_t
{
    float *cov_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH];
    int16_t num_ch;
    int16_t reset_cov;

} ivas_cov_smooth_in_buf_t;
#endif

/* SPAR bitrate constant table structure */
typedef struct ivas_spar_br_table_t
+0 −1
Original line number Diff line number Diff line
@@ -144,7 +144,6 @@
/*#define FIX_I4_OL_PITCH*/                             /* fix open-loop pitch used for EVS core switching */
/*#define FIX_I1_113*/                                  /* under review : MCT bit distribution optimization for SBA high bitrates*/

#define SBA_SPAR_HARM                                   /* Issue 92: maintenance of the SBA SPAR functions */
#define FIX_155_HP20_ISSUE                              /* Issue 155: apply hp20 on all input channels instead of just 2 channels */
#define EFAP_FIX_POLY                                   /* Issue 167: fix bug in EFAP polygon selection */
#define SBA_HOA_HBR_IMPROV                              /* issue 91: Improvements to SBA high bitrate HOA3 coding */
+0 −9
Original line number Diff line number Diff line
@@ -684,13 +684,7 @@ void ivas_spar_md_dec_process(
    }
#endif

#ifndef SBA_SPAR_HARM
    /* SPAR to DirAC and DirAC to SPAR conversion */ // VE2DB: -> "DirAC to SPAR conversion" only?
    if ( st_ivas->sba_mode == SBA_MODE_SPAR )        // VE2DB: this looks obsolete
    {
#else
    /* SPAR to DirAC conversion */
#endif
        ivas_spar_to_dirac( st_ivas, hMdDec, dtx_vad, num_bands_out );

        /* set correct number of bands*/
@@ -699,9 +693,6 @@ void ivas_spar_md_dec_process(
        {
            nB = nB >> 1;
        }
#ifndef SBA_SPAR_HARM
    }
#endif

    /* expand DirAC MD to all time slots */
    for ( i_ts = 1; i_ts < MAX_PARAM_SPATIAL_SUBFRAMES; i_ts++ )
Loading