Commit 8a3a120b authored by advasila's avatar advasila
Browse files

alternative solution without touching the stereo selection

parent 9ed56c08
Loading
Loading
Loading
Loading
Loading
+32 −10
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,17 +271,20 @@ 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_IMP4 );
                nBits = (int16_t) ( nBits * GAMMA_ISM_LOW_IMP );
            }
            else if ( ism_imp == ISM_MEDIUM_IMP )
            {
                nBits = (int16_t) ( nBits * GAMMA_ISM_MEDIUM_IMP4 );
                nBits = (int16_t) ( nBits * GAMMA_ISM_MEDIUM_IMP );
            }
            else /* ISM_HIGH_IMP */
            {
+0 −4
Original line number Diff line number Diff line
@@ -1978,10 +1978,6 @@ int16_t select_stereo_mode(
    CPE_ENC_HANDLE hCPE,                                        /* i/o: CPE encoder structure                           */
    const IVAS_FORMAT ivas_format,                              /* i  : IVAS format                                     */
    const int32_t ivas_total_brate                              /* i  : IVAS total brate                                */
#ifdef FIX_694_OMASA_EXTREME 
    ,
    const int32_t real_brate                                   /* i  : real available brate                             */
#endif
);

void stereo_classifier_init(
+1 −1
Original line number Diff line number Diff line
@@ -169,7 +169,7 @@
#define FIX_264_AUDIO_CHANNELS_TO_HEAP                  /* VA: issue 243: Move audio channels memory from stack to heap */


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

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

+0 −11
Original line number Diff line number Diff line
@@ -181,18 +181,7 @@ ivas_error ivas_cpe_enc(

    if ( sts[0]->ini_frame > 0 && st_ivas->hMCT == NULL )
    {
#ifdef FIX_694_OMASA_EXTREME
        if ( ivas_format == MASA_ISM_FORMAT && st_ivas->nSCE > 0 )
        {
            hCPE->element_mode = select_stereo_mode( hCPE, ivas_format, ivas_total_brate, element_brate_ref + hCPE->brate_surplus - nb_bits_metadata * FRAMES_PER_SEC );
        }
        else
        {
            hCPE->element_mode = select_stereo_mode( hCPE, ivas_format, ivas_total_brate, ivas_total_brate );
        }
#else
        hCPE->element_mode = select_stereo_mode( hCPE, ivas_format, ivas_total_brate );
#endif
    }

#ifdef MASA_AND_OBJECTS
+0 −7
Original line number Diff line number Diff line
@@ -90,10 +90,6 @@ int16_t select_stereo_mode(
    CPE_ENC_HANDLE hCPE,           /* i/o: CPE encoder structure       */
    const IVAS_FORMAT ivas_format, /* i  : IVAS format                 */
    const int32_t ivas_total_brate /* i  : IVAS total brate            */
#ifdef FIX_694_OMASA_EXTREME
    ,
    const int32_t real_brate /* i  : bitrate surplus in MASA_ISM_FORMAT   */
#endif
)
{
    int16_t element_mode;
@@ -116,9 +112,6 @@ int16_t select_stereo_mode(

    stereo_switching_flag = 1;
    if ( hCPE->element_brate >= MIN_BRATE_MDCT_STEREO || ( ivas_format >= MASA_FORMAT && ivas_total_brate < MASA_STEREO_MIN_BITRATE )
#ifdef FIX_694_OMASA_EXTREME
         || ( ivas_format >= MASA_FORMAT && real_brate < MASA_STEREO_MIN_BITRATE ) /* both conditions should stay such that the second one is activated only when the surplus bitrate is negative*/
#endif
#ifdef DEBUGGING
         || ( hCPE->stereo_mode_cmdl == IVAS_CPE_DFT || hCPE->stereo_mode_cmdl == IVAS_CPE_TD )
#endif