Commit a76af6ad authored by norvell's avatar norvell
Browse files

Merge with main

parents 652586ce 33dfd629
Loading
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -427,25 +427,25 @@ int main(
        /* sanity check */
        if ( arg.outputFormat != IVAS_DEC_OUTPUT_BINAURAL_ROOM )
        {
            fprintf( stderr, "\nExternal Renderer Config is supported only when BINAURAL_ROOM is used as output. Exiting. \n" );
            fprintf( stderr, "\nExternal Renderer Config is supported only when BINAURAL_ROOM is used as output. Exiting. \n\n" );
            goto cleanup;
        }

        if ( ( error = IVAS_DEC_GetRenderConfig( hIvasDec, &renderConfig ) ) != IVAS_ERR_OK )
        {
            fprintf( stderr, "\nIVAS_DEC_GetRenderConfig failed: %s\n", IVAS_DEC_GetErrorMessage( error ) );
            fprintf( stderr, "\nIVAS_DEC_GetRenderConfig failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) );
            goto cleanup;
        }

        if ( RenderConfigReader_read( renderConfigReader, &renderConfig ) != IVAS_ERR_OK )
        {
            fprintf( stderr, "Failed to read renderer configuration from file %s\n", arg.renderConfigFilename );
            fprintf( stderr, "Failed to read renderer configuration from file %s\n\n", arg.renderConfigFilename );
            goto cleanup;
        }

        if ( ( error = IVAS_DEC_FeedRenderConfig( hIvasDec, renderConfig ) ) != IVAS_ERR_OK )
        {
            fprintf( stderr, "\nIVAS_DEC_FeedRenderConfig failed: %s\n", IVAS_DEC_GetErrorMessage( error ) );
            fprintf( stderr, "\nIVAS_DEC_FeedRenderConfig failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) );
            goto cleanup;
        }
    }
+24 −0
Original line number Diff line number Diff line
@@ -1820,7 +1820,11 @@ ivas_error preview_indices(
                break;
        }
    }
#ifdef ALIGN_SID_SIZE
    else if ( total_brate == IVAS_SID_5k2 )
#else
    else if ( total_brate == IVAS_SID_4k4 )
#endif
    {
        /* read SID format */
        st_ivas->sid_format = 0;
@@ -1884,6 +1888,7 @@ ivas_error preview_indices(
                return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Invalid value %c found in SID format field.", st_ivas->sid_format );
        }
    }
#ifndef ALIGN_SID_SIZE
    else if ( total_brate == IVAS_SID_5k )
    {
        /* SBA SID frame */
@@ -1892,6 +1897,7 @@ ivas_error preview_indices(
        st_ivas->sba_mode = SBA_MODE_SPAR;
        st_ivas->element_mode_init = IVAS_SCE;
    }
#endif

    /* only read element mode from active frames */
    if ( is_DTXrate( total_brate ) == 0 )
@@ -2063,6 +2069,9 @@ ivas_error read_indices(
        }
        else if ( k == SIZE_IVAS_BRATE_TBL )
        {
#ifdef ALIGN_SID_SIZE
            return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Error, illegal bitrate (%d) in the  G.192 frame ! Exiting ! \n", total_brate );
#else
            /*temp change for SPAR DTX*/
            if ( total_brate == IVAS_SID_5k )
            {
@@ -2072,6 +2081,7 @@ ivas_error read_indices(
            {
                return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Error, illegal bitrate (%d) in the  G.192 frame ! Exiting ! \n", total_brate );
            }
#endif
        }
        else
        {
@@ -2965,4 +2975,18 @@ void evs_dec_previewFrame(
}


#ifdef ALIGN_SID_SIZE
void dtx_read_padding_bits(
    DEC_CORE_HANDLE st,
    int16_t num_bits )
{
    /* TODO: temporary hack, need to decide what to do with core-coder bitrate */
    int32_t tmp;
    tmp = st->total_brate;
    st->total_brate = st->total_brate + num_bits * FRAMES_PER_SEC;
    get_next_indice( st, num_bits );
    st->total_brate = tmp;
}
#endif

#undef WMC_TOOL_MAN
+13 −1
Original line number Diff line number Diff line
@@ -195,9 +195,12 @@ typedef enum
/*----------------------------------------------------------------------------------*
 * IVAS Bitrates
 *----------------------------------------------------------------------------------*/

#ifdef ALIGN_SID_SIZE
#define IVAS_SID_5k2                            5200 /* SID frame bitrate */
#else
#define IVAS_SID_4k4                            4400 /* SID frame bitrate */
#define IVAS_SID_5k                             5000 /* SBA SID frame bitrate */
#endif
#define IVAS_13k2                               13200
#define IVAS_16k4                               16400
#define IVAS_24k4                               24400
@@ -215,8 +218,13 @@ typedef enum

#define IVAS_BRATE_MAX                          IVAS_512k

#ifdef ALIGN_SID_SIZE
#define SIZE_IVAS_BRATE_TBL                     16
#define IVAS_NUM_ACTIVE_BRATES                 (SIZE_IVAS_BRATE_TBL - 2)
#else
#define SIZE_IVAS_BRATE_TBL                     17
#define IVAS_NUM_ACTIVE_BRATES                 (SIZE_IVAS_BRATE_TBL - 3)
#endif

/*----------------------------------------------------------------------------------*
 * IVAS modes : IVAS SCE, IVAS CPE modes (DFT, TD, MDCT stereo)
@@ -1007,7 +1015,11 @@ enum

/* IVAS PCA */
#define IVAS_PCA_NB_SUBR                        20 /* 80 -> 0.25 ms, 40 -> 0.5 ms... */
#ifdef SPAR_SCALING_HARMONIZATION
#define IVAS_PCA_COV_THRES                      3e-5f
#else
#define IVAS_PCA_COV_THRES                      1e-9f
#endif
#define IVAS_PCA_QUAT_EPS                       1e-7f
#define IVAS_PCA_QBITS                          19
#define IVAS_PCA_N1                             91
+12 −0
Original line number Diff line number Diff line
@@ -323,7 +323,11 @@ ivas_error ivas_dirac_sba_config(
    if ( sba_mode == SBA_MODE_SPAR )
    {
        /*map the bitrate for SID frame*/
#ifdef ALIGN_SID_SIZE
        if ( sba_total_brate == IVAS_SID_5k2 )
#else
        if ( sba_total_brate == IVAS_SID_5k )
#endif
        {
            if ( *element_mode == IVAS_SCE )
            {
@@ -420,11 +424,19 @@ ivas_error ivas_dirac_sba_config(
        return error;
    }

#ifdef ALIGN_SID_SIZE
    if ( sba_total_brate > IVAS_SID_5k2 )
#else
    if ( sba_total_brate > IVAS_SID_4k4 )
#endif
    {
        *nchan_transport = ivas_dirac_getNumTransportChannels( sba_total_brate, sba_order, sba_planar );
    }
#ifdef ALIGN_SID_SIZE
    else if ( sba_total_brate == IVAS_SID_5k2 )
#else
    else if ( sba_total_brate == IVAS_SID_4k4 )
#endif
    {
        switch ( *element_mode )
        {
+11 −0
Original line number Diff line number Diff line
@@ -2773,8 +2773,12 @@ void reset_metadata_spatial(
    int32_t *total_brate,                                       /* o  : total bitrate                           */
    const int32_t core_brate,                                   /* i  : core bitrate                            */
    const int16_t nb_bits_metadata,                             /* i  : number of meatdata bits                 */
#ifndef ALIGN_SID_SIZE
    const SBA_MODE sba_mode,                                    /* i  : SBA mode                                */
    const int16_t element_mode                                  /* i  : element mode                            */
#else
    const SBA_MODE sba_mode                                     /* i  : SBA mode                                */
#endif
);

/*! r: number of bits written */
@@ -5476,4 +5480,11 @@ float rand_triangular_signed(

/* clang-format on */

#ifdef ALIGN_SID_SIZE
void dtx_read_padding_bits(
    DEC_CORE_HANDLE st,
    int16_t num_bits
);
#endif

#endif /* IVAS_PROT_H */
Loading