Commit 89b0d019 authored by vaclav's avatar vaclav
Browse files

Merge branch '694-omasa-crash-for-extreme-sample' into 'main'

[non-BE] Resolve "OMASA crash for extreme sample"

See merge request !958
parents 0fc61df2 ec6ec5ed
Loading
Loading
Loading
Loading
Loading
+41 −2
Original line number Diff line number Diff line
@@ -240,6 +240,25 @@ int32_t ivas_interformat_brate(
                  ( ism_mode == ISM_MASA_MODE_DISC && element_brate == 9600 ) /* this condition corresponds to the ivas_total_brate = 24400 and 1 object */
        )
        {
#ifdef FIX_694_OMASA_EXTREME
            if ( ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ && element_brate == IVAS_13k2 )
            {
                if ( ism_imp == ISM_LOW_IMP )
                {
                    nBits = (int16_t) ( nBits * GAMMA_ISM_LOW_IMP3 );
                }
                else if ( ism_imp == ISM_MEDIUM_IMP )
                {
                    nBits = (int16_t) ( nBits * GAMMA_ISM_MEDIUM_IMP3 );
                }
                else /* ISM_HIGH_IMP */
                {
                    nBits = (int16_t) ( nBits * GAMMA_ISM_HIGH_IMP4 );
                }
            }
            else
            {
#endif
                if ( ism_imp == ISM_LOW_IMP )
                {
                    nBits = (int16_t) ( nBits * GAMMA_ISM_LOW_IMP3 );
@@ -252,7 +271,27 @@ int32_t ivas_interformat_brate(
                {
                    nBits = (int16_t) ( nBits * GAMMA_ISM_HIGH_IMP3 );
                }
#ifdef FIX_694_OMASA_EXTREME
            }
#endif
        }
#ifdef FIX_694_OMASA_EXTREME
        else if ( ism_mode == ISM_MASA_MODE_MASA_ONE_OBJ && element_brate == 16000 )
        {
            if ( ism_imp == ISM_LOW_IMP )
            {
                nBits = (int16_t) ( nBits * GAMMA_ISM_LOW_IMP );
            }
            else if ( ism_imp == ISM_MEDIUM_IMP )
            {
                nBits = (int16_t) ( nBits * GAMMA_ISM_MEDIUM_IMP );
            }
            else /* ISM_HIGH_IMP */
            {
                nBits = (int16_t) ( nBits * GAMMA_ISM_HIGH_IMP3 );
            }
        }
#endif
        else
        {
            if ( ism_imp == ISM_LOW_IMP )
+4 −0
Original line number Diff line number Diff line
@@ -313,6 +313,10 @@ void tdm_bit_alloc(
    else
    {
        *total_brate_sec = min( *total_brate_sec, element_brate_wo_meta - ( 5900 + BWE_brate ) );

#ifdef FIX_694_OMASA_EXTREME
        *total_brate_sec = max( *total_brate_sec, tdm_bit_allc_tbl[idx][coder_type] ); /* sanity check to ensure the secondary channel always gets the minimal bitrate it needs */
#endif
    }

    /* Secondary channel bitrate adjusment                                                      */
+2 −0
Original line number Diff line number Diff line
@@ -172,6 +172,8 @@
#define FIX_691_OSBA_CRASH                              /* FhG: Fix for issue 691: Crash for OSBA Stereo out */


#define FIX_694_OMASA_EXTREME                           /* Nokia: fix for crash in OMASA on extreme sample */

/* ################## End BE DEVELOPMENT switches ######################### */

/* #################### Start NON-BE CR switches ########################## */