Commit 3367bc2f authored by Dominik Weckbecker's avatar Dominik Weckbecker 💬
Browse files

do not re-open SPAR but only PCA when switching to 256 kbps in OSBA decoding

parent b192dbfd
Loading
Loading
Loading
Loading
Loading
+7 −8
Original line number Diff line number Diff line
@@ -304,12 +304,7 @@ ivas_error ivas_sba_dec_reconfigure(
            hSpar->hPCA = NULL;
        }

        if ( nchan_transport_old != ivas_get_sba_num_TCs( ivas_total_brate, sba_order_internal ) ||
             ( ( last_ivas_total_brate >= IVAS_512k && ivas_total_brate < IVAS_512k ) || ( last_ivas_total_brate < IVAS_512k && ivas_total_brate >= IVAS_512k ) )
#ifdef NONBE_FIX_908_OSBA_BR_SWITCHING_CRASH
             || ( ( ( last_ivas_total_brate >= IVAS_384k && ivas_total_brate < IVAS_384k ) || ( last_ivas_total_brate < IVAS_384k && ivas_total_brate >= IVAS_384k ) ) && st_ivas->ivas_format == SBA_ISM_FORMAT )
#endif
        )
        if ( nchan_transport_old != ivas_get_sba_num_TCs( ivas_total_brate, sba_order_internal ) || ( last_ivas_total_brate >= IVAS_512k && ivas_total_brate < IVAS_512k ) || ( last_ivas_total_brate < IVAS_512k && ivas_total_brate >= IVAS_512k ) )
        {
            ivas_spar_dec_close( &( st_ivas->hSpar ), hDecoderConfig->output_Fs, 1 );

@@ -330,7 +325,11 @@ ivas_error ivas_sba_dec_reconfigure(
            }
        }

#ifdef NONBE_FIX_908_OSBA_BR_SWITCHING_CRASH
        if ( hSpar->hPCA == NULL && st_ivas->hDecoderConfig->ivas_total_brate == PCA_BRATE && st_ivas->sba_order == 1 && ( st_ivas->ivas_format == SBA_FORMAT || st_ivas->ivas_format == SBA_ISM_FORMAT ) )
#else
        if ( hSpar->hPCA == NULL && st_ivas->hDecoderConfig->ivas_total_brate == PCA_BRATE && st_ivas->sba_order == 1 && st_ivas->ivas_format == SBA_FORMAT )
#endif
        {
            if ( ( hSpar->hPCA = (PCA_DEC_STATE *) malloc( sizeof( PCA_DEC_STATE ) ) ) == NULL )
            {
+1 −14
Original line number Diff line number Diff line
@@ -213,13 +213,6 @@ ivas_error ivas_osba_enc_reconfig(
        nbands_old = st_ivas->hQMetaData->q_direction->cfg.nbands;
        ndir_old = st_ivas->hQMetaData->no_directions;

        /*
        if ( ivas_total_brate == 256000 && hEncoderConfig->last_ivas_total_brate == 384000 )
        {
            printf( "cccc" );
        }
        */

        if ( ( analysis_order_old != st_ivas->sba_analysis_order ) || ( old_ism_mode != st_ivas->ism_mode ) )
        {
            int16_t i, n_old;
@@ -298,13 +291,7 @@ ivas_error ivas_osba_enc_reconfig(
        {
            hEncoderConfig->element_mode_init = IVAS_CPE_MDCT;
        }
        if ( nchan_transport_old != st_ivas->nchan_transport ||
#ifdef NONBE_FIX_908_OSBA_BR_SWITCHING_CRASH
             ( ivas_total_brate < IVAS_384k && hEncoderConfig->last_ivas_total_brate >= IVAS_384k ) ||
             ( ivas_total_brate >= IVAS_384k && hEncoderConfig->last_ivas_total_brate < IVAS_384k ) ||
#endif
             ( ivas_total_brate < IVAS_512k && hEncoderConfig->last_ivas_total_brate >= IVAS_512k ) ||
             ( ivas_total_brate >= IVAS_512k && hEncoderConfig->last_ivas_total_brate < IVAS_512k ) )
        if ( nchan_transport_old != st_ivas->nchan_transport || ( ivas_total_brate < IVAS_512k && hEncoderConfig->last_ivas_total_brate >= IVAS_512k ) || ( ivas_total_brate >= IVAS_512k && hEncoderConfig->last_ivas_total_brate < IVAS_512k ) )
        {
            /* FB mixer handle */
            if ( hDirAC->hFbMixer != NULL )