Commit be0a1a1f authored by vaclav's avatar vaclav
Browse files

address few "VE2DB" comments; + editorial changes

parent a5ac972f
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -3919,7 +3919,6 @@ ivas_error ivas_spar_md_enc_process(
    BSTR_ENC_HANDLE hMetaData,                                  /* i/o: MetaData handle                         */
#ifdef SBA_SPAR_HARM
    int16_t dtx_vad,
    const int16_t bwidth,
    const int16_t nchan_inp,
#else
    const int16_t dtx_silence_mode,
+6 −0
Original line number Diff line number Diff line
@@ -665,9 +665,13 @@ 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*/
@@ -676,7 +680,9 @@ 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++ )
+31 −20
Original line number Diff line number Diff line
@@ -397,21 +397,23 @@ static ivas_error ivas_spar_enc_process(
    float pcm_tmp[IVAS_SPAR_MAX_CH][L_FRAME48k * 2];
    float *p_pcm_tmp[IVAS_SPAR_MAX_CH];
#ifdef SBA_SPAR_HARM
    int16_t i, j, b, i_ts, input_frame, transient_det;
    int16_t i, j, b, i_ts, input_frame, transient_det, dtx_vad;
#else
    int16_t i, j, k, b, i_ts, input_frame, num_bands_bw;
#endif
    int16_t dtx_vad, dtx_cov_flag, dtx_silence_mode;
#endif
    int32_t ivas_total_brate, input_Fs;
#ifndef SBA_SPAR_HARM
    ivas_enc_cov_handler_in_buf_t cov_in_buf;
#endif
    float *cov_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH];
    float *cov_dtx_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH];
#ifndef SBA_SPAR_HARM
#ifdef SBA_SPAR_HARM
    int16_t nchan_inp, nchan_transport, sba_order;
#else
    ivas_spar_md_enc_in_buf_t md_in_buf;
#endif
    int16_t nchan_inp, nchan_transport, bwidth, sba_order;
#endif
    int16_t table_idx;
    int16_t in_out_mixer_map[IVAS_MAX_FB_MIXER_OUT_CH][IVAS_MAX_SPAR_FB_MIXER_IN_CH];
    ivas_error error;
@@ -446,7 +448,9 @@ static ivas_error ivas_spar_enc_process(
        mvr2r( data_f[HOA_keep_ind[i]], data_f[i], input_frame );
    }

#ifndef SBA_SPAR_HARM
    table_idx = ivas_get_spar_table_idx( ivas_total_brate, sba_order, SPAR_CONFIG_BW, NULL, NULL );
#endif

    /*-----------------------------------------------------------------------------------------*
     * Transient detector
@@ -623,19 +627,18 @@ static ivas_error ivas_spar_enc_process(
        }
    }


#ifndef SBA_SPAR_HARM
    /*-----------------------------------------------------------------------------------------*
     * Pre-proc flags
     *-----------------------------------------------------------------------------------------*/

    /* use just VAD function to get VAD flags */
#ifndef SBA_SPAR_HARM
    dtx_vad = ( hEncoderConfig->Opt_DTX_ON == 1 ) ? front_vad_flag : 1;
#endif
    dtx_cov_flag = ( dtx_vad == 1 ) ? 0 : 1;
    dtx_silence_mode = 0; // VE2DB: this variable is always 0 - please review or remove it
    bwidth = ivas_get_bw_idx_from_sample_rate( input_Fs );
    bwidth = min( bwidth, hEncoderConfig->max_bwidth );
#endif

    /*-----------------------------------------------------------------------------------------*
     * Covariance process
@@ -661,19 +664,33 @@ static ivas_error ivas_spar_enc_process(
    ivas_enc_cov_handler_process( hSpar->hCovEnc, &cov_in_buf, cov_real, cov_dtx_real, hSpar->hFbMixer->pFb, 0, hSpar->hFbMixer->pFb->filterbank_num_bands );
#endif

    /*-----------------------------------------------------------------------------------------*
     * Set SPAR bitrates
     *-----------------------------------------------------------------------------------------*/

#ifdef SBA_SPAR_HARM
    table_idx = ivas_get_spar_table_idx( ivas_total_brate, sba_order, SPAR_CONFIG_BW, NULL, NULL );
#endif

    if ( hSpar->hMdEnc->table_idx != table_idx )
    {
        hSpar->hMdEnc->table_idx = table_idx;
        ivas_spar_set_bitrate_config( &hSpar->hMdEnc->spar_md_cfg, table_idx, SPAR_DIRAC_SPLIT_START_BAND );
    }

#ifdef SBA_SPAR_HARM
    nchan_transport = st_ivas->nchan_transport;
#else
    nchan_transport = hSpar->hMdEnc->spar_md_cfg.nchan_transport;
#endif

    /*-----------------------------------------------------------------------------------------*
     * MetaData encoder
     *-----------------------------------------------------------------------------------------*/

#ifndef SBA_SPAR_HARM
#ifdef SBA_SPAR_HARM
    ivas_spar_md_enc_process( hSpar->hMdEnc, hEncoderConfig, cov_real, cov_dtx_real, hMetaData, dtx_vad, nchan_inp, sba_order );
#else
    num_bands_bw = ivas_get_num_bands_from_bw_idx( bwidth );

    if ( dtx_vad == 0 )
@@ -709,14 +726,13 @@ static ivas_error ivas_spar_enc_process(
    md_in_buf.num_bands = min( md_in_buf.num_bands, SPAR_DIRAC_SPLIT_START_BAND );

    md_in_buf.dtx_vad = dtx_vad;
#endif
#ifdef SBA_SPAR_HARM
    ivas_spar_md_enc_process( hSpar->hMdEnc, hEncoderConfig, cov_real, cov_dtx_real, hMetaData, dtx_vad, bwidth, nchan_inp, sba_order );
#else

    ivas_spar_md_enc_process( hSpar->hMdEnc, hEncoderConfig, &md_in_buf, hMetaData, dtx_silence_mode, sba_order );
#endif

#ifndef SBA_SPAR_HARM
    if ( st_ivas->sba_mode == SBA_MODE_SPAR ) // VE2DB: this looks obsolete
#endif
    {
        float azi_dirac[IVAS_MAX_NUM_BANDS][MAX_PARAM_SPATIAL_SUBFRAMES];
        float ele_dirac[IVAS_MAX_NUM_BANDS][MAX_PARAM_SPATIAL_SUBFRAMES];
@@ -739,13 +755,9 @@ static ivas_error ivas_spar_enc_process(
            diffuseness[b] = 1.0f - hQMetaData->q_direction->band_data[dirac_band_idx].energy_ratio[0];
        }

        if ( ( d_start_band >= 6 ) && ( dtx_vad == 1 ) )
        if ( d_start_band >= 6 && dtx_vad == 1 )
        {
            for ( i = 0; i < IVAS_SPAR_MAX_CH - 1; i++ )
            {
                hSpar->hMdEnc->spar_md.band_coeffs[d_start_band - 1].P_re[i] =
                    hSpar->hMdEnc->spar_md.band_coeffs[d_start_band - 1].P_quant_re[i];
            }
            mvr2r( hSpar->hMdEnc->spar_md.band_coeffs[d_start_band - 1].P_quant_re, hSpar->hMdEnc->spar_md.band_coeffs[d_start_band - 1].P_re, IVAS_SPAR_MAX_CH - 1 );
        }

        for ( b = d_start_band; b < d_end_band; b++ )
@@ -764,8 +776,7 @@ static ivas_error ivas_spar_enc_process(
            Wscale_d[b] = min( 2.0f, max( Wscale_d[b], 1.0f ) );
        }

        ivas_get_spar_md_from_dirac( azi_dirac, ele_dirac, diffuseness, 1, hSpar->hMdEnc->mixer_mat, &hSpar->hMdEnc->spar_md, &hSpar->hMdEnc->spar_md_cfg,
                                     d_start_band, d_end_band, sba_order, dtx_vad, Wscale_d );
        ivas_get_spar_md_from_dirac( azi_dirac, ele_dirac, diffuseness, 1, hSpar->hMdEnc->mixer_mat, &hSpar->hMdEnc->spar_md, &hSpar->hMdEnc->spar_md_cfg, d_start_band, d_end_band, sba_order, dtx_vad, Wscale_d );
    }


+4 −2
Original line number Diff line number Diff line
@@ -561,7 +561,6 @@ ivas_error ivas_spar_md_enc_process(
    BSTR_ENC_HANDLE hMetaData, /* i/o: MetaData handle             */
#ifdef SBA_SPAR_HARM
    int16_t dtx_vad,
    const int16_t bwidth,
    const int16_t nchan_inp,
#else
    const int16_t dtx_silence_mode,
@@ -575,7 +574,7 @@ ivas_error ivas_spar_md_enc_process(
    int16_t i, b, qsi, ndm, ndec, num_ch, num_quant_strats;
    int16_t j, planarCP;
#ifdef SBA_SPAR_HARM
    int16_t k, num_bands, num_bands_full, num_bands_bw;
    int16_t k, bwidth, num_bands, num_bands_full, num_bands_bw;
#else
    int16_t num_bands = pIn_buf->num_bands;
    int16_t dtx_vad = pIn_buf->dtx_vad;
@@ -595,6 +594,9 @@ ivas_error ivas_spar_md_enc_process(
    nchan_transport = hMdEnc->spar_md_cfg.nchan_transport;

#ifdef SBA_SPAR_HARM
    bwidth = ivas_get_bw_idx_from_sample_rate( hEncoderConfig->input_Fs );
    bwidth = min( bwidth, hEncoderConfig->max_bwidth );

    num_bands = ivas_get_num_bands_from_bw_idx( SPAR_CONFIG_BW );
    num_bands = min( num_bands, SPAR_DIRAC_SPLIT_START_BAND );
    num_bands_full = num_bands;