Commit 3d76e64f authored by TYAGIRIS's avatar TYAGIRIS
Browse files

changes to fix review comments

parent bfe8f7da
Loading
Loading
Loading
Loading
Loading
+11 −7
Original line number Diff line number Diff line
@@ -3001,7 +3001,7 @@ void ivas_dirac_param_est_enc(
    const int16_t input_frame 
#ifdef SBA_HOA_HBR_IMPROV
	,
    const int16_t merged_sba_mode
    const SBA_MODE sba_mode                                    
#endif
 );

@@ -3063,6 +3063,14 @@ int16_t ivas_sba_get_nchan_metadata(
    const int16_t sba_order                                     /* i  : Ambisonic (SBA) order                   */
);

#ifdef SBA_HOA_HBR_IMPROV
/*! r: get the flag to code SPAR HOA MD for all band  */
int16_t ivas_sba_get_spar_hoa_md_flag(
    const int16_t sba_order,       /* i  : Ambisonic (SBA) order            */
    const int32_t ivas_total_brate /* i  : IVAS total bitrate            */
);
#endif

void ivas_sba_zero_vert_comp(
    float sba_data[][L_FRAME48k],                               /* i/o: SBA data frame                          */
    const int16_t sba_order,                                    /* i  : Ambisonic (SBA) order                   */
@@ -3870,10 +3878,6 @@ ivas_error ivas_spar_md_enc_open(
    ivas_spar_md_enc_state_t **hMdEnc,                          /* i/o: SPAR MD encoder handle                  */
    const ENCODER_CONFIG_HANDLE hEncoderConfig,                 /* i  : configuration structure                 */
    const int16_t sba_order                                     /* i  : Ambisonic (SBA) order                   */
#ifdef SBA_HOA_HBR_IMPROV
    ,
    const int16_t spar_hoa_md_flag /* i  : flag to send HOA MD for all bands                */
#endif
);

void ivas_spar_md_enc_close(
@@ -3951,7 +3955,7 @@ ivas_error ivas_spar_md_dec_open(
    const int16_t num_channels                                  /* i  : number of internal channels             */
#ifdef SBA_HOA_HBR_IMPROV
    ,
	const int16_t spar_hoa_md_flag                            /* i  : flag to send HOA MD for all bands                */
	const int16_t sba_order                            /* i  : flag to send HOA MD for all bands                */
#endif
);

@@ -4780,7 +4784,7 @@ void computeReferencePower_enc(
    const int16_t num_freq_bands                                /* i  : Number of frequency bands                       */
#ifdef SBA_HOA_HBR_IMPROV
	,
    const int16_t merged_sba_mode
    const SBA_MODE sba_mode                                     /* i  : SBA mode                       */
#endif
);

+25 −0
Original line number Diff line number Diff line
@@ -289,6 +289,31 @@ int16_t ivas_sba_get_nchan_metadata(
    return ( nb_channels );
}

#ifdef SBA_HOA_HBR_IMPROV
/*-------------------------------------------------------------------*
 * ivas_sba_get_spar_hoa_md_flag()
 *
 * et the flag to code SPAR HOA MD for all band
 *-------------------------------------------------------------------*/

/*! r: get the flag to code SPAR HOA MD for all band  */
int16_t ivas_sba_get_spar_hoa_md_flag(
    const int16_t sba_order,       /* i  : Ambisonic (SBA) order            */
    const int32_t ivas_total_brate /* i  : IVAS total bitrate            */
)
{
    int16_t spar_hoa_md_flag = 0;
    if ( sba_order > 1 && ivas_total_brate >= IVAS_256k )
    {
        spar_hoa_md_flag = 1;
    }
    else
    {
        spar_hoa_md_flag = 0;
    }
    return spar_hoa_md_flag;
}
#endif

/*-------------------------------------------------------------------*
 * ivas_sba_zero_vert_comp()
+1 −15
Original line number Diff line number Diff line
@@ -69,9 +69,6 @@ ivas_error ivas_spar_dec_open(
    IVAS_FB_CFG *fb_cfg;
    int16_t i, j, b, active_w_mixing;
    int32_t output_Fs;
#ifdef SBA_HOA_HBR_IMPROV
    int16_t spar_hoa_md_flag;
#endif

    error = IVAS_ERR_OK;
    sba_order_internal = min( st_ivas->sba_analysis_order, IVAS_MAX_SBA_ORDER );
@@ -83,17 +80,6 @@ ivas_error ivas_spar_dec_open(
        return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR decoder" );
    }

#ifdef SBA_HOA_HBR_IMPROV
    if ( st_ivas->sba_order > 1 && st_ivas->hDecoderConfig->ivas_total_brate >= IVAS_256k )
    {
        spar_hoa_md_flag = 1;
    }
    else
    {
        spar_hoa_md_flag = 0;
    }
#endif

    output_Fs = st_ivas->hDecoderConfig->output_Fs;

    /* TD decorr. */
@@ -106,7 +92,7 @@ ivas_error ivas_spar_dec_open(
    if ( ( error = ivas_spar_md_dec_open( &hSpar->hMdDec, st_ivas->hDecoderConfig, num_channels_internal
#ifdef SBA_HOA_HBR_IMPROV
                                          ,
                                          spar_hoa_md_flag
                                          sba_order_internal
#endif
                                          ) ) != IVAS_ERR_OK )
    {
+10 −8
Original line number Diff line number Diff line
@@ -254,7 +254,7 @@ ivas_error ivas_spar_md_dec_open(
    const int16_t num_channels                  /* i  : number of internal channels  */
#ifdef SBA_HOA_HBR_IMPROV
    ,
    const int16_t spar_hoa_md_flag /* i  : flag to send HOA MD for all bands                */
    const int16_t sba_order /* i  : SBA order                */
#endif
)
{
@@ -274,7 +274,7 @@ ivas_error ivas_spar_md_dec_open(
    }

#ifdef SBA_HOA_HBR_IMPROV
    hMdDec->spar_hoa_md_flag = spar_hoa_md_flag;
    hMdDec->spar_hoa_md_flag = ivas_sba_get_spar_hoa_md_flag( sba_order, hDecoderConfig->ivas_total_brate );
#endif
    hMdDec->table_idx = 0; /* just to initialize state variables*/

@@ -447,9 +447,16 @@ ivas_error ivas_spar_md_dec_init(
    float pFC[IVAS_MAX_NUM_BANDS], PR_minmax[2];

    hMdDec->spar_md_cfg.gen_bs = 1; // VE2DB : always 1 - can it be removed?

#ifdef SBA_HOA_HBR_IMPROV
    hMdDec->spar_md.num_bands = ( hMdDec->spar_hoa_md_flag ) ? IVAS_MAX_NUM_BANDS : min( IVAS_MAX_NUM_BANDS, SPAR_DIRAC_SPLIT_START_BAND );
#else
    hMdDec->spar_md.num_bands = min( IVAS_MAX_NUM_BANDS, SPAR_DIRAC_SPLIT_START_BAND );
#endif

    ivas_spar_set_bitrate_config( &hMdDec->spar_md_cfg, hMdDec->table_idx,
#ifdef SBA_HOA_HBR_IMPROV
                                  ( hMdDec->spar_hoa_md_flag ) ? IVAS_MAX_NUM_BANDS : min( IVAS_MAX_NUM_BANDS, SPAR_DIRAC_SPLIT_START_BAND )
                                  hMdDec->spar_md.num_bands
#else
                                  min( IVAS_MAX_NUM_BANDS, SPAR_DIRAC_SPLIT_START_BAND )
#endif
@@ -538,11 +545,6 @@ ivas_error ivas_spar_md_dec_init(
    ivas_clear_band_coeff_idx( hMdDec->spar_md_prev.band_coeffs_idx_mapped, IVAS_MAX_NUM_BANDS );

    hMdDec->spar_md.dtx_vad = 0;
#ifdef SBA_HOA_HBR_IMPROV
    hMdDec->spar_md.num_bands = ( hMdDec->spar_hoa_md_flag ) ? IVAS_MAX_NUM_BANDS : min( IVAS_MAX_NUM_BANDS, SPAR_DIRAC_SPLIT_START_BAND );
#else
    hMdDec->spar_md.num_bands = min( IVAS_MAX_NUM_BANDS, SPAR_DIRAC_SPLIT_START_BAND );
#endif
    hMdDec->td_decorr_flag = 1;

    set_f( hMdDec->spar_md.en_ratio_slow, 0.0f, IVAS_MAX_NUM_BANDS );
+10 −5
Original line number Diff line number Diff line
@@ -340,7 +340,7 @@ void ivas_dirac_enc(
        ivas_dirac_param_est_enc( hDirAC, &( hQMetaData->q_direction[0] ), hQMetaData->useLowerRes, data_f, NULL, NULL, input_frame
#ifdef SBA_HOA_HBR_IMPROV
                                  ,
                                  0
                                  SBA_MODE_DIRAC
#endif
        );
        /* encode parameters */
@@ -488,7 +488,7 @@ void computeReferencePower_enc(
    const int16_t num_freq_bands                                        /* i  : Number of frequency bands       */
#ifdef SBA_HOA_HBR_IMPROV
    ,
    const int16_t merged_sba_mode
    const SBA_MODE sba_mode
#endif
)
{
@@ -511,8 +511,13 @@ void computeReferencePower_enc(
        {
            reference_power_W[i] += ( Cldfb_RealBuffer[0][j] * Cldfb_RealBuffer[0][j] ) + ( Cldfb_ImagBuffer[0][j] * Cldfb_ImagBuffer[0][j] );
        }
        reference_power[i] += reference_power_W[i];
#endif
#ifdef SBA_HOA_HBR_IMPROV
        for ( ch_idx = 1; ch_idx < DIRAC_MAX_ANA_CHANS; ch_idx++ )
#else
        for ( ch_idx = 0; ch_idx < DIRAC_MAX_ANA_CHANS; ch_idx++ )
#endif
        {
            /* abs()^2 */
            for ( j = brange[0]; j < brange[1]; j++ )
@@ -524,7 +529,7 @@ void computeReferencePower_enc(

    v_multc( reference_power, 0.5f, reference_power, num_freq_bands );
#ifdef SBA_HOA_HBR_IMPROV
    if ( merged_sba_mode )
    if ( sba_mode == SBA_MODE_SPAR )
    {
        for ( i = 0; i < num_freq_bands; i++ )
        {
@@ -551,7 +556,7 @@ void ivas_dirac_param_est_enc(
    const int16_t input_frame
#ifdef SBA_HOA_HBR_IMPROV
    ,
    const int16_t merged_sba_mode
    const SBA_MODE sba_mode
#endif
)
{
@@ -654,7 +659,7 @@ void ivas_dirac_param_est_enc(
                num_freq_bands
#ifdef SBA_HOA_HBR_IMPROV
                ,
                merged_sba_mode
                sba_mode
#endif
            );

Loading