Commit 5255cb4f authored by multrus's avatar multrus
Browse files

make contribution dependent on number of TCs instead bitrate; BE

parent d06cd3c9
Loading
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -2513,6 +2513,11 @@ ivas_error stereo_memory_enc(
    const int16_t max_bwidth,                                   /* i  : maximum audio bandwidth                 */
    float *tdm_last_ratio,                                      /* o  : TD stereo last ratio                    */
    const IVAS_FORMAT ivas_format                               /* i  : IVAS format                             */
#ifdef LBR_SBA_CORE_CODING_TUNING
    ,
    const int16_t nchan_transport                               /* i  : number transport chans                  */
#endif

);

ivas_error stereo_memory_dec(
+1 −1
Original line number Diff line number Diff line
@@ -226,7 +226,7 @@ void stereo_mdct_core_dec(
    initMdctStereoDecData( hCPE->hStereoMdct, sts[0]->igf, sts[0]->hIGFDec->igfData.igfInfo.grid, hCPE->element_brate, sts[0]->bwidth );

#ifdef LBR_SBA_CORE_CODING_TUNING
    hCPE->hStereoMdct->isSBAStereoMode = ( st_ivas->ivas_format == SBA_FORMAT && hCPE->element_brate <= IVAS_80k );
    hCPE->hStereoMdct->isSBAStereoMode = ( (st_ivas->ivas_format == SBA_FORMAT) && (st_ivas->nchan_transport == 2) );
    /*to prevent unitialized values during condition checks for stereo IGF*/
    if ( hCPE->hStereoMdct->isSBAStereoMode )
    {
+7 −3
Original line number Diff line number Diff line
@@ -187,7 +187,11 @@ ivas_error ivas_cpe_enc(
     * dynamically allocate data structures depending on the actual stereo mode
     *----------------------------------------------------------------*/

#ifdef LBR_SBA_CORE_CODING_TUNING
    if ( ( error = stereo_memory_enc( hCPE, input_Fs, max_bwidth, &tdm_last_ratio, ivas_format, st_ivas->nchan_transport ) ) != IVAS_ERR_OK )
#else
    if ( ( error = stereo_memory_enc( hCPE, input_Fs, max_bwidth, &tdm_last_ratio, ivas_format ) ) != IVAS_ERR_OK )
#endif
    {
        return error;
    }
@@ -320,7 +324,7 @@ ivas_error ivas_cpe_enc(
#endif
            initMdctStereoEncData( hCPE->hStereoMdct, ivas_format, hCPE->element_mode, hCPE->element_brate, max_bwidth, 0, NULL, 0 );
#ifdef LBR_SBA_CORE_CODING_TUNING
            hCPE->hStereoMdct->isSBAStereoMode = ( ivas_format == SBA_FORMAT && hCPE->element_brate <= IVAS_80k );
            hCPE->hStereoMdct->isSBAStereoMode = ( (ivas_format == SBA_FORMAT) && (st_ivas->nchan_transport == 2) );
#endif
        }
    }
@@ -492,7 +496,7 @@ ivas_error ivas_cpe_enc(
        {
            initMdctStereoEncData( hCPE->hStereoMdct, ivas_format, hCPE->element_mode, hCPE->element_brate, sts[0]->bwidth, 0, NULL, 0 );
#ifdef LBR_SBA_CORE_CODING_TUNING
            hCPE->hStereoMdct->isSBAStereoMode = ( ivas_format == SBA_FORMAT && hCPE->element_brate <= IVAS_80k );
            hCPE->hStereoMdct->isSBAStereoMode = ( (ivas_format == SBA_FORMAT) && (st_ivas->nchan_transport == 2) );
#endif

            if ( hCPE->element_brate <= MAX_MDCT_ITD_BRATE && ivas_format == STEREO_FORMAT )
@@ -954,7 +958,7 @@ ivas_error create_cpe_enc(
#endif
        initMdctStereoEncData( hCPE->hStereoMdct, ivas_format, hCPE->element_mode, hCPE->element_brate, max_bwidth, 0, NULL, 1 );
#ifdef LBR_SBA_CORE_CODING_TUNING
        hCPE->hStereoMdct->isSBAStereoMode = ( ivas_format == SBA_FORMAT && hCPE->element_brate <= IVAS_80k );
        hCPE->hStereoMdct->isSBAStereoMode = ( (ivas_format == SBA_FORMAT) && (st_ivas->nchan_transport == 2) );
#endif

        if ( hCPE->element_mode == IVAS_CPE_MDCT && element_brate <= MAX_MDCT_ITD_BRATE && ivas_format == STEREO_FORMAT )
+1 −1
Original line number Diff line number Diff line
@@ -517,7 +517,7 @@ ivas_error ivas_sba_enc_reconfigure(

                initMdctStereoEncData( st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct, st_ivas->hEncoderConfig->ivas_format, st_ivas->hCPE[st_ivas->nCPE - 1]->element_mode, st_ivas->hCPE[st_ivas->nCPE - 1]->element_brate, st_ivas->hEncoderConfig->max_bwidth, 0, NULL, 1 );
#ifdef LBR_SBA_CORE_CODING_TUNING
                st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->isSBAStereoMode = ( st_ivas->hEncoderConfig->ivas_format == SBA_FORMAT && st_ivas->hCPE[st_ivas->nCPE - 1]->element_brate <= IVAS_80k );
                st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->isSBAStereoMode = ( (st_ivas->hEncoderConfig->ivas_format == SBA_FORMAT) && (st_ivas->nchan_transport == 2) );
#endif
            }
        }
+5 −1
Original line number Diff line number Diff line
@@ -223,6 +223,10 @@ ivas_error stereo_memory_enc(
    const int16_t max_bwidth,     /* i  : maximum audio bandwidth */
    float *tdm_last_ratio,        /* o  : TD stereo last ratio    */
    const IVAS_FORMAT ivas_format /* i  : ivas format             */
#ifdef LBR_SBA_CORE_CODING_TUNING
    ,
    const int16_t nchan_transport /* i  : number transport chans  */
#endif
)
{
    Encoder_State *st;
@@ -537,7 +541,7 @@ ivas_error stereo_memory_enc(
            initMdctStereoEncData( hCPE->hStereoMdct, ivas_format, hCPE->element_mode, hCPE->element_brate, hCPE->hCoreCoder[0]->max_bwidth, 0, NULL, 1 );

#ifdef LBR_SBA_CORE_CODING_TUNING
            hCPE->hStereoMdct->isSBAStereoMode = ( ivas_format == SBA_FORMAT && hCPE->element_brate <= IVAS_80k );
            hCPE->hStereoMdct->isSBAStereoMode = ( (ivas_format == SBA_FORMAT) && (nchan_transport == 2) );
#endif

            if ( hCPE->element_mode == IVAS_CPE_MDCT && hCPE->element_brate <= MAX_MDCT_ITD_BRATE && ivas_format == STEREO_FORMAT )