Commit 30a3f5aa authored by multrus's avatar multrus
Browse files

Merge branch 'sba-sid-todos-in-qmetadata' into 'main'

Resolve "SID 5.2 kbps ToDos in Qmetadata"

See merge request !868
parents bf4ed58a eda000f7
Loading
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -1265,7 +1265,7 @@ int16_t ivas_qmetadata_dec_sid_decode(
    start_index = *index;

    /* read MASA SID descriptor */
    if ( ivas_format == MASA_FORMAT && nchan_transport == 2 ) /* corresponding to SID_MASA case; Todo: needs to be checked for SBA */
    if ( ivas_format == MASA_FORMAT && nchan_transport == 2 )
    {
        b = bitstream[( *index )--];
        if ( b )
@@ -1456,11 +1456,14 @@ int16_t ivas_qmetadata_dec_sid_decode(
        }
    }


#if !( defined FIX_137_SID_MD_BITS && defined FIX_QMETA_SID_5k2 )
    /* TODO: temporary hack to keep BE */
    if ( ivas_format != SBA_FORMAT )
    {
        metadata_sid_bits = ( IVAS_SID_5k2 - SID_2k40 ) / FRAMES_PER_SEC - SID_FORMAT_NBITS;
    }

#endif
    /*Read filling bits*/
    while ( start_index - *index < metadata_sid_bits )
    {
@@ -2372,7 +2375,7 @@ static uint16_t ivas_qmetadata_DecodeQuasiUniform(
    uint16_t tresh, value;

#ifdef DEBUGGING
    assert( ( alphabet_size >= 1 ) ); /* ToDo: fcs: to check if this additional conditon is really needed: && (alphabet_size <= (1U << 31) - 1));*/
    assert( ( alphabet_size >= 1 ) );
#endif

    bits = 30 - norm_l( alphabet_size ); /* bits = floor(log2(alphabet_size)) */
+6 −3
Original line number Diff line number Diff line
@@ -991,6 +991,7 @@ void ivas_qmetadata_enc_sid_encode(

        metadata_sid_bits = ( IVAS_SID_5k2 - SID_2k40 ) / FRAMES_PER_SEC - SID_FORMAT_NBITS;
#else
        /* TODO: still use old sid frame size to keep bitexactness */
        metadata_sid_bits = ( 4400 /*IVAS_SID_5k2*/ - SID_2k40 ) / FRAMES_PER_SEC - SID_FORMAT_NBITS;
#endif
    }
@@ -1231,11 +1232,13 @@ void ivas_qmetadata_enc_sid_encode(
    }
#endif

#if !( defined FIX_137_SID_MD_BITS && defined FIX_QMETA_SID_5k2 )
    /* TODO: temporary to keep BE */
    if ( ivas_format != SBA_FORMAT )
    {
        metadata_sid_bits = ( IVAS_SID_5k2 - SID_2k40 ) / FRAMES_PER_SEC - SID_FORMAT_NBITS;
    }

#endif
    /* fill bits*/
    assert( ( hMetaData->nb_bits_tot - bit_pos_start ) <= metadata_sid_bits && "Too many written bits!" );
    while ( ( hMetaData->nb_bits_tot - bit_pos_start ) < metadata_sid_bits )
@@ -2272,7 +2275,7 @@ static void ivas_qmetadata_encode_quasi_uniform(
    int16_t bits;
    uint16_t tresh;
#ifdef DEBUGGING
    assert( ( alphabet_size >= 1 ) ); /* ToDo: fcs: to check if this additional conditon is really needed: && (alphabet_size <= (1U << 31) - 1));*/
    assert( ( alphabet_size >= 1 ) );
    assert( value < alphabet_size );
#endif

@@ -2511,7 +2514,7 @@ static int16_t ivas_qmetadata_encode_quasi_uniform_length(
    int16_t bits;
    uint16_t tresh;
#ifdef DEBUGGING
    assert( ( alphabet_size >= 1 ) ); /* ToDo: fcs: to check if this additional conditon is really needed: && (alphabet_size <= (1U << 31) - 1));*/
    assert( ( alphabet_size >= 1 ) );
    assert( value < alphabet_size );
#endif