Commit 005b4184 authored by premathasara's avatar premathasara
Browse files

Merge branch '114-bitrate-switching-in-sba-2' into 114-bitrate-switching-in-sba-2-part2

parents f9ecf82f a93655da
Loading
Loading
Loading
Loading
Loading
+2 −5
Original line number Diff line number Diff line
@@ -4006,11 +4006,8 @@ void ivas_spar_get_parameters(
ivas_error ivas_spar_md_dec_init(
    ivas_spar_md_dec_state_t *hMdDec,                           /* i/o: SPAR MD decoder handle                  */
    const DECODER_CONFIG_HANDLE hDecoderConfig,                 /* i  : configuration structure                 */
    const int16_t num_channels                                  /* i  : number of internal channels             */
#ifdef SBA_HOA_HBR_IMPROV
    ,
    const int16_t num_channels,                                 /* i  : number of internal channels             */
    const int16_t sba_order                                     /* i  : SBA order                               */
#endif
);

void ivas_spar_md_dec_process(
+1 −1
Original line number Diff line number Diff line
@@ -2131,7 +2131,7 @@ void ivas_spar_set_bitrate_config(

    ivas_total_brate = ivas_spar_br_table_consts[table_idx].ivas_total_brate;
    sba_order = ivas_spar_br_table_consts[table_idx].sba_order;
    ivas_get_spar_table_idx( ivas_total_brate, sba_order, ivas_spar_br_table_consts[table_idx].bwidth, &code, &length );
    ivas_get_spar_table_idx( ivas_total_brate, sba_order, ivas_spar_br_table_consts[table_idx].bwidth, &length, &code );

    for ( i = 0; i < pSpar_md_cfg->nchan_transport; i++ )
    {
+1 −6
Original line number Diff line number Diff line
@@ -659,12 +659,7 @@ static void ivas_spar_dec_MD(
                hSpar->hMdDec->table_idx = table_idx;
                hSpar->hTdDecorr->ducking_flag = ivas_spar_br_table_consts[table_idx].td_ducking;

                ivas_spar_md_dec_init( hSpar->hMdDec, hDecoderConfig, num_channels
#ifdef SBA_HOA_HBR_IMPROV
                                       ,
                                       sba_order
#endif
                );
                ivas_spar_md_dec_init( hSpar->hMdDec, hDecoderConfig, num_channels, sba_order );
            }
        }

+6 −6
Original line number Diff line number Diff line
@@ -249,8 +249,7 @@ static ivas_error ivas_spar_md_dec_matrix_open(
ivas_error ivas_spar_md_dec_open(
    ivas_spar_md_dec_state_t **hMdDec_out,      /* i/o: SPAR MD decoder handle       */
    const DECODER_CONFIG_HANDLE hDecoderConfig, /* i  : configuration structure      */
    const int16_t num_channels                  /* i  : number of internal channels  */
    ,
    const int16_t num_channels,                 /* i  : number of internal channels  */
    const int16_t sba_order                     /* i  : SBA order                    */
)
{
@@ -269,10 +268,9 @@ ivas_error ivas_spar_md_dec_open(
        return error;
    }

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

    if ( ( error = ivas_spar_md_dec_init( hMdDec, hDecoderConfig, num_channels ) ) != IVAS_ERR_OK )
    if ( ( error = ivas_spar_md_dec_init( hMdDec, hDecoderConfig, num_channels, sba_order ) ) != IVAS_ERR_OK )
    {
        return error;
    }
@@ -433,7 +431,8 @@ void ivas_spar_md_dec_close(
ivas_error ivas_spar_md_dec_init(
    ivas_spar_md_dec_state_t *hMdDec,           /* i/o: SPAR MD decoder handle       */
    const DECODER_CONFIG_HANDLE hDecoderConfig, /* i  : configuration structure      */
    const int16_t num_channels                  /* i  : number of internal channels  */
    const int16_t num_channels,                 /* i  : number of internal channels  */
    const int16_t sba_order                     /* i  : SBA order                    */
)
{
    int16_t i, j, k;
@@ -442,6 +441,7 @@ ivas_error ivas_spar_md_dec_init(

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

    hMdDec->spar_hoa_md_flag = ivas_sba_get_spar_hoa_md_flag( sba_order, hDecoderConfig->ivas_total_brate );
    hMdDec->spar_md.num_bands = ( hMdDec->spar_hoa_md_flag ) ? IVAS_MAX_NUM_BANDS : min( IVAS_MAX_NUM_BANDS, SPAR_DIRAC_SPLIT_START_BAND );

    ivas_spar_set_bitrate_config( &hMdDec->spar_md_cfg, hMdDec->table_idx,
+6 −14
Original line number Diff line number Diff line
@@ -121,8 +121,6 @@ ivas_error ivas_spar_md_enc_open(

    num_channels = 2 * sba_order + 2;

    hMdEnc->spar_hoa_md_flag = ivas_sba_get_spar_hoa_md_flag( sba_order, hEncoderConfig->ivas_total_brate );

    if ( ( hMdEnc->spar_md.band_coeffs = (ivas_band_coeffs_t *) count_malloc( IVAS_MAX_NUM_BANDS * sizeof( ivas_band_coeffs_t ) ) ) == NULL )
    {
        return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for band_coeffs in SPAR MD" );
@@ -317,6 +315,7 @@ static ivas_error ivas_spar_md_enc_init(
    float PR_minmax[2];
    int16_t num_channels, i, j, k;

    hMdEnc->spar_hoa_md_flag = ivas_sba_get_spar_hoa_md_flag( sba_order, hEncoderConfig->ivas_total_brate );
    num_channels = ivas_sba_get_nchan_metadata( sba_order );

    table_idx = ivas_get_spar_table_idx( hEncoderConfig->ivas_total_brate, sba_order, SPAR_CONFIG_BW, NULL, NULL );
@@ -601,27 +600,20 @@ ivas_error ivas_spar_md_enc_process(
            for ( j = 0; j < nchan_inp; j++ )
            {
                cov_real[i][j] = cov_dtx_real[i][j];
                for ( k = num_bands_bw; k < IVAS_MAX_NUM_BANDS; k++ )
                {
                    cov_real[i][j][k] = 0;
            }
        }
    }
    }
    else
    {

    for ( i = 0; i < nchan_inp; i++ )
    {
        for ( j = 0; j < nchan_inp; j++ )
        {
                cov_real[i][j] = cov_real[i][j];
            for ( k = num_bands_bw; k < IVAS_MAX_NUM_BANDS; k++ )
            {
                cov_real[i][j][k] = 0;
            }
        }
    }
    }

    if ( hEncoderConfig->ivas_total_brate == BRATE_SPAR_Q_STRAT && sba_order == 1 )
    {