Commit 33dfd629 authored by Jan Kiene's avatar Jan Kiene
Browse files

Merge branch '111-align-sid-frame-size' into 'main'

Resolve #111

See merge request !142
parents e56a4002 cd29b296
Loading
Loading
Loading
Loading
Loading
+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
+9 −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)
+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 */
@@ -5463,4 +5467,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 */
+4 −0
Original line number Diff line number Diff line
@@ -49,7 +49,11 @@

const int32_t ivas_brate_tbl[SIZE_IVAS_BRATE_TBL] =
{
#ifdef ALIGN_SID_SIZE
    FRAME_NO_DATA,  IVAS_SID_5k2,
#else
    FRAME_NO_DATA,  IVAS_SID_4k4,   IVAS_SID_5k,
#endif
    IVAS_13k2,      IVAS_16k4,      IVAS_24k4,      IVAS_32k,       IVAS_48k,
    IVAS_64k,       IVAS_80k,       IVAS_96k,       IVAS_128k,      IVAS_160k,    
    IVAS_192k,      IVAS_256k,      IVAS_384k,      IVAS_512k
Loading