Commit e406fff2 authored by multrus's avatar multrus
Browse files

[cleanup] accept SBA_MODE_CLEAN_UP

parent 4d65c1aa
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -2942,9 +2942,6 @@ ivas_error preview_indices(
                if ( bit_stream[2] == 0 )
                {
                    st_ivas->ivas_format = SBA_FORMAT;
#ifndef SBA_MODE_CLEAN_UP
                    st_ivas->sba_mode = ivas_sba_mode_select();
#endif
                }
                else
                {
+0 −9
Original line number Diff line number Diff line
@@ -915,15 +915,6 @@ typedef enum {
#define SBA_NHARM_HOA3                          16
#define SBA_T_DESIGN_11_SIZE                    70
#define SBA_DTX_BITRATE_THRESHOLD               IVAS_80k
#ifndef SBA_MODE_CLEAN_UP
typedef enum 
{
    SBA_MODE_NONE,
    SBA_MODE_DIRAC,
    SBA_MODE_SPAR,
} SBA_MODE;

#endif

/*----------------------------------------------------------------------------------*
 * DirAC Constants 
+0 −239
Original line number Diff line number Diff line
@@ -85,11 +85,7 @@ ivas_error ivas_dirac_config(
{
    IVAS_FORMAT ivas_format;
    int16_t sba_order;
#ifndef SBA_MODE_CLEAN_UP
    int16_t *nSCE, *nCPE, *element_mode, *nchan_transport;
#else
    int16_t *element_mode;
#endif
    int32_t ivas_total_brate;
    DIRAC_CONFIG_DATA_HANDLE hConfig;
    IVAS_QMETADATA_HANDLE hQMetaData;
@@ -98,9 +94,6 @@ ivas_error ivas_dirac_config(
    ivas_error error;
    int16_t spar_dirac_split_band;
    IVAS_FB_MIXER_HANDLE hFbMdft;
#ifndef SBA_MODE_CLEAN_UP
    SBA_MODE sba_mode;
#endif

    int16_t *dirac_to_spar_md_bands;

@@ -110,23 +103,13 @@ ivas_error ivas_dirac_config(
    if ( enc_dec == ENC )
    {
        ivas_format = ( (Encoder_Struct *) st_ivas )->hEncoderConfig->ivas_format;
#ifndef SBA_MODE_CLEAN_UP
        nSCE = &( ( (Encoder_Struct *) st_ivas )->nSCE );
        nCPE = &( (Encoder_Struct *) st_ivas )->nCPE;
#endif
        element_mode = &( (Encoder_Struct *) st_ivas )->hEncoderConfig->element_mode_init;
#ifndef SBA_MODE_CLEAN_UP
        nchan_transport = &( (Encoder_Struct *) st_ivas )->nchan_transport;
#endif
        sba_order = ( (Encoder_Struct *) st_ivas )->sba_analysis_order;
        ivas_total_brate = ( (Encoder_Struct *) st_ivas )->hEncoderConfig->ivas_total_brate;
        Fs = ( (Encoder_Struct *) st_ivas )->hEncoderConfig->input_Fs;
        band_grouping = ( (Encoder_Struct *) st_ivas )->hDirAC->band_grouping;
        hConfig = ( (Encoder_Struct *) st_ivas )->hDirAC->hConfig;
        hQMetaData = ( (Encoder_Struct *) st_ivas )->hQMetaData;
#ifndef SBA_MODE_CLEAN_UP
        sba_mode = ( (Encoder_Struct *) st_ivas )->sba_mode;
#endif
        if ( ( (Encoder_Struct *) st_ivas )->hSpar != NULL )
        {
            hFbMdft = ( (Encoder_Struct *) st_ivas )->hSpar->hFbMixer;
@@ -135,32 +118,18 @@ ivas_error ivas_dirac_config(
        {
            hFbMdft = NULL;
        }
#ifndef SBA_MODE_CLEAN_UP
        dirac_to_spar_md_bands = ( (Encoder_Struct *) st_ivas )->hDirAC->dirac_to_spar_md_bands;
#else
        dirac_to_spar_md_bands = ( (Encoder_Struct *) st_ivas )->hSpar->dirac_to_spar_md_bands;
#endif
    }
    else
    {
        ivas_format = ( (Decoder_Struct *) st_ivas )->ivas_format;
#ifndef SBA_MODE_CLEAN_UP
        nSCE = &( (Decoder_Struct *) st_ivas )->nSCE;
        nCPE = &( (Decoder_Struct *) st_ivas )->nCPE;
#endif
        element_mode = &( (Decoder_Struct *) st_ivas )->element_mode_init;
#ifndef SBA_MODE_CLEAN_UP
        nchan_transport = &( (Decoder_Struct *) st_ivas )->nchan_transport;
#endif
        sba_order = ( (Decoder_Struct *) st_ivas )->sba_analysis_order;
        ivas_total_brate = ( (Decoder_Struct *) st_ivas )->hDecoderConfig->ivas_total_brate;
        Fs = ( (Decoder_Struct *) st_ivas )->hDecoderConfig->output_Fs;
        band_grouping = ( (Decoder_Struct *) st_ivas )->hDirAC->band_grouping;
        hConfig = ( (Decoder_Struct *) st_ivas )->hDirAC->hConfig;
        hQMetaData = ( (Decoder_Struct *) st_ivas )->hQMetaData;
#ifndef SBA_MODE_CLEAN_UP
        sba_mode = ( (Decoder_Struct *) st_ivas )->sba_mode;
#endif
        if ( ( (Decoder_Struct *) st_ivas )->hSpar != NULL )
        {
            hFbMdft = ( (Decoder_Struct *) st_ivas )->hSpar->hFbMixer;
@@ -170,18 +139,10 @@ ivas_error ivas_dirac_config(
            hFbMdft = NULL;
        }
        ( (Decoder_Struct *) st_ivas )->hDirAC->hFbMdft = hFbMdft;
#ifndef SBA_MODE_CLEAN_UP
        dirac_to_spar_md_bands = ( (Decoder_Struct *) st_ivas )->hDirAC->dirac_to_spar_md_bands;
#else
        dirac_to_spar_md_bands = ( (Decoder_Struct *) st_ivas )->hSpar->dirac_to_spar_md_bands;
#endif
    }

#ifndef SBA_MODE_CLEAN_UP
    if ( sba_mode == SBA_MODE_SPAR )
#else
    if ( ivas_format == SBA_FORMAT )
#endif
    {
        hConfig->nbands = IVAS_MAX_NUM_BANDS;

@@ -204,22 +165,14 @@ ivas_error ivas_dirac_config(
#endif
    if ( ivas_format == SBA_FORMAT ) /* skip for MASA decoder */
    {
#ifndef SBA_MODE_CLEAN_UP
        if ( ( error = ivas_dirac_sba_config( hQMetaData, nchan_transport, nSCE, nCPE, element_mode, ivas_total_brate, sba_order, sba_mode, hConfig->nbands - spar_dirac_split_band ) ) != IVAS_ERR_OK )
#else
        if ( ( error = ivas_dirac_sba_config( hQMetaData, element_mode, ivas_total_brate, sba_order, hConfig->nbands - spar_dirac_split_band ) ) != IVAS_ERR_OK )
#endif
        {
            return error;
        }

        if ( hQMetaData != NULL )
        {
#ifndef SBA_MODE_CLEAN_UP
            if ( enc_dec == ENC || sba_mode != SBA_MODE_SPAR )
#else
            if ( enc_dec == ENC || ivas_format != SBA_FORMAT )
#endif
            {
                hConfig->nbands = hQMetaData->q_direction[0].cfg.nbands;
            }
@@ -227,10 +180,6 @@ ivas_error ivas_dirac_config(
        }


#ifndef SBA_MODE_CLEAN_UP
        if ( sba_mode == SBA_MODE_SPAR )
        {
#endif
            hConfig->dec_param_estim = TRUE;
            if ( hConfig->dec_param_estim == TRUE )
            {
@@ -245,23 +194,9 @@ ivas_error ivas_dirac_config(
                set_c( (int8_t *) hQMetaData->twoDirBands, (int8_t) 1, hQMetaData->q_direction[0].cfg.nbands );
                hQMetaData->numTwoDirBands = (uint8_t) hQMetaData->q_direction[0].cfg.nbands;
            }
#ifndef SBA_MODE_CLEAN_UP
        }
        else
        {
            if ( *nchan_transport > 2 )
            {
                hConfig->dec_param_estim = TRUE;
            }
        }
#endif
    }

#ifndef SBA_MODE_CLEAN_UP
    if ( sba_mode == SBA_MODE_SPAR )
#else
    if ( ivas_format == SBA_FORMAT )
#endif
    {
        ivas_dirac_config_bands( band_grouping, IVAS_MAX_NUM_BANDS, (int16_t) ( Fs * INV_CLDFB_BANDWIDTH + 0.5f ), dirac_to_spar_md_bands, hQMetaData->useLowerBandRes, hConfig->enc_param_start_band, hFbMdft );
    }
@@ -448,24 +383,12 @@ void ivas_get_dirac_sba_max_md_bits(

ivas_error ivas_dirac_sba_config(
    IVAS_QMETADATA_HANDLE hQMetaData, /* i/o: q_metadata handle                                    */
#ifndef SBA_MODE_CLEAN_UP
    int16_t *nchan_transport, /* o  : number of transport channel needed for MASA format   */
    int16_t *nSCE,            /* o  : number of SCEs                                       */
    int16_t *nCPE,            /* o  : number of CPEs                                       */
#endif
    int16_t *element_mode,   /* i/o: element mode of the core coder                       */
    int32_t sba_total_brate, /* i  : SBA total bitrate                                    */
    const int16_t sba_order, /* i  : Ambisonic (SBA) order                                */
#ifndef SBA_MODE_CLEAN_UP
    const SBA_MODE sba_mode, /* i  : SBA mode                                             */
#endif
    const int16_t nbands /* i  : number of frequency bands                            */
)
{
#ifndef SBA_MODE_CLEAN_UP
    int16_t i;
    int16_t nbands_wb;
#endif
    int16_t nbands_coded;
    int16_t hodirac_flag;
    ivas_error error;
@@ -474,10 +397,6 @@ ivas_error ivas_dirac_sba_config(
    hQMetaData->is_masa_ivas_format = 0;
    hodirac_flag = ivas_get_hodirac_flag( sba_total_brate, sba_order );

#ifndef SBA_MODE_CLEAN_UP
    if ( sba_mode == SBA_MODE_SPAR )
    {
#endif
        /* map the bitrate for SID frame */
        if ( sba_total_brate == IVAS_SID_5k2 )
        {
@@ -537,164 +456,6 @@ ivas_error ivas_dirac_sba_config(
            hQMetaData->q_direction[0].cfg.nbands );

        return error;
#ifndef SBA_MODE_CLEAN_UP
    }

    if ( sba_total_brate > IVAS_SID_5k2 )
    {
        *nchan_transport = ivas_get_sba_num_TCs( sba_total_brate, sba_order );
    }
    else if ( sba_total_brate == IVAS_SID_5k2 )
    {
        switch ( *element_mode )
        {
            case IVAS_CPE_MDCT:
                *nchan_transport = 2;
                break;
            case IVAS_SCE:
                *nchan_transport = 1;
                break;
            default:
                assert( !"Wrong initial element mode for SBA SID!" );
                break;
        }
    }

    if ( hQMetaData != NULL )
    {
        ivas_set_qmetadata_maxbit_req( hQMetaData, SBA_FORMAT );
        if ( sba_total_brate <= IVAS_16k4 )
        {
            hQMetaData->useLowerRes = 1;
        }
        else
        {
            hQMetaData->useLowerRes = 0;
        }
        if ( sba_total_brate >= IVAS_96k )
        {
            {
                int16_t no_dirs = 1;
                if ( hodirac_flag )
                {
                    no_dirs = 2;
                }
                if ( ( error = ivas_qmetadata_allocate_memory( hQMetaData, 6, no_dirs, 0 ) ) != IVAS_ERR_OK )
                {
                    return error;
                }
            }
            nbands_wb = 4;
        }
        else
        {
            if ( ( error = ivas_qmetadata_allocate_memory( hQMetaData, 5, 1, 0 ) ) != IVAS_ERR_OK )
            {
                return error;
            }

            nbands_wb = 4;
        }
        for ( i = 0; i < hQMetaData->no_directions; i++ )
        {
            hQMetaData->q_direction[i].cfg.start_band = 0;
        }

        if ( *nchan_transport > 2 && *nchan_transport <= 8 )
        {
            *nCPE = ( ( *nchan_transport + 1 ) / 2 );
            *nSCE = 0;

            hQMetaData->bits_frame_nominal = (int16_t) ( sba_total_brate / FRAMES_PER_SEC );

            hQMetaData->metadata_max_bits = MAX16B; /* no limit */
            for ( i = 0; i < hQMetaData->no_directions; i++ )
            {
                hQMetaData->q_direction[i].cfg.search_effort = 1;

                if ( hodirac_flag )
                {
                    hQMetaData->q_direction[i].cfg.start_band = 0;
                }
                else
                {
                    hQMetaData->q_direction[i].cfg.start_band = nbands_wb;
                }
            }

            *element_mode = IVAS_CPE_MDCT;
        }
        else if ( *nchan_transport == 2 )
        {
            *nCPE = 1;
            *nSCE = 0;

            if ( sba_total_brate <= IVAS_48k )
            {
                hQMetaData->bits_frame_nominal = IVAS_48k / FRAMES_PER_SEC;
                hQMetaData->metadata_max_bits = 120;
            }
            else if ( sba_total_brate <= IVAS_64k )
            {
                hQMetaData->bits_frame_nominal = IVAS_64k / FRAMES_PER_SEC;
                hQMetaData->metadata_max_bits = 200;
            }
            else if ( sba_total_brate <= IVAS_80k )
            {
                hQMetaData->bits_frame_nominal = IVAS_80k / FRAMES_PER_SEC;
                hQMetaData->metadata_max_bits = 200;
            }
            else if ( sba_total_brate <= IVAS_96k )
            {
                hQMetaData->bits_frame_nominal = IVAS_96k / FRAMES_PER_SEC;
                hQMetaData->metadata_max_bits = 200;
            }
            else
            {
                hQMetaData->bits_frame_nominal = (int16_t) ( sba_total_brate / FRAMES_PER_SEC );
                hQMetaData->metadata_max_bits = 250;
            }

            *element_mode = IVAS_CPE_MDCT;
        }
        else if ( *nchan_transport == 1 )
        {
            *nCPE = 0;
            *nSCE = 1;

            if ( sba_total_brate <= IVAS_13k2 )
            {
                hQMetaData->bits_frame_nominal = ACELP_9k60 / FRAMES_PER_SEC;
                hQMetaData->metadata_max_bits = 70;
            }
            else if ( sba_total_brate <= IVAS_16k4 )
            {
                hQMetaData->bits_frame_nominal = ACELP_13k20 / FRAMES_PER_SEC;
                hQMetaData->metadata_max_bits = 80;
            }
            else if ( sba_total_brate <= IVAS_24k4 )
            {
                hQMetaData->bits_frame_nominal = ACELP_16k40 / FRAMES_PER_SEC;
                hQMetaData->metadata_max_bits = 160;
            }
            else if ( sba_total_brate <= IVAS_32k )
            {
            }
            else
            {
                hQMetaData->bits_frame_nominal = ACELP_32k / FRAMES_PER_SEC;
                hQMetaData->metadata_max_bits = 176;
            }

            *element_mode = IVAS_SCE;
        }
        else
        {
            assert( !"SBA number of transport channels must be 8 or lower" );
        }
    }
    return error;
#endif
}


+0 −17
Original line number Diff line number Diff line
@@ -101,9 +101,6 @@ static int16_t ivas_get_num_bands(
ivas_error ivas_fb_set_cfg(
    IVAS_FB_CFG **pFb_cfg_out, /* o  : FB config. handle                */
    const int16_t ivas_format, /* i  : IVAS format                      */
#ifndef SBA_MODE_CLEAN_UP
    const SBA_MODE sba_mode, /* i  : SBA mode                    */
#endif
    const int16_t num_in_chans,    /* i  : number of FB input channels      */
    const int16_t num_out_chans,   /* i  : number of FB output channels     */
    const int16_t active_w_mixing, /* i  : active_w_mixing flag             */
@@ -137,23 +134,9 @@ ivas_error ivas_fb_set_cfg(
    {
        pFb_cfg->fb_latency = NS2SA( sampling_rate, DELAY_FB_1_NS );

#ifndef SBA_MODE_CLEAN_UP
        if ( sba_mode == SBA_MODE_SPAR )
        {
#endif
            pFb_cfg->fade_len = NS2SA( sampling_rate, DELAY_FB_4_NS );
            pFb_cfg->prior_input_length = NS2SA( sampling_rate, FRAME_SIZE_NS );
            pFb_cfg->windowed_fr_offset = (int16_t) ( (float) ( sampling_rate / FRAMES_PER_SEC ) * 3.0f / 4.0f ) - NS2SA( sampling_rate, DELAY_DIRAC_SPAR_ENC_CMP_NS );
#ifndef SBA_MODE_CLEAN_UP
        }
        else /* SBA_MODE_DIRAC */
        {
            pFb_cfg->fade_len = NS2SA( sampling_rate, DELAY_FB_1_NS );
            pFb_cfg->prior_input_length = NS2SA( sampling_rate, DELAY_DIRAC_ENC_CMP_NS ) + NS2SA( sampling_rate, DIRAC_SLOT_ENC_NS );
            /* extra SPAR/DirAC synchro delay */
            pFb_cfg->prior_input_length += NS2SA( sampling_rate, DELAY_FB_1_NS );
        }
#endif
    }
    else if ( ivas_format == MASA_FORMAT )
    {
+0 −68
Original line number Diff line number Diff line
@@ -3115,10 +3115,6 @@ void reset_metadata_spatial(
    int32_t *total_brate,                                       /* o  : total bitrate                           */
    const int32_t core_brate,                                   /* i  : core bitrate                            */
    const int16_t nb_bits_metadata                              /* i  : number of meatdata bits                 */
#ifndef SBA_MODE_CLEAN_UP
    ,
    const SBA_MODE sba_mode                                     /* i  : SBA mode                                */
#endif
);

/*! r: number of bits written */
@@ -3127,10 +3123,6 @@ void ivas_qmetadata_enc_sid_encode(
    IVAS_QMETADATA *q_metadata,                                 /* i/o: metadata handle                         */
    const int16_t masa_sid_descriptor,                          /* i  : description of MASA SID coding structure*/
    const int16_t ivas_format                                   /* i  : ivas format                             */
#ifndef SBA_MODE_CLEAN_UP
    ,
    const SBA_MODE sba_mode                                     /* i  : SBA mode                                */
#endif
);

/*! r: number of bits read */
@@ -3162,10 +3154,6 @@ int16_t ivas_qmetadata_dec_sid_decode(
    const int16_t nchan_transport,                              /* i  : number of transport channels            */
    int16_t *element_mode,                                      /* o  : element mode                            */
    const int16_t ivas_format                                   /* i  : IVAS format                             */
#ifndef SBA_MODE_CLEAN_UP
    ,
    const SBA_MODE sba_mode                                     /* i  : SBA mode                                */
#endif
);

void ivas_qmetadata_to_dirac(
@@ -3173,11 +3161,7 @@ void ivas_qmetadata_to_dirac(
    DIRAC_DEC_HANDLE hDirAC,                                    /* o  : DirAC decoder structure                 */
    MASA_DECODER_HANDLE hMasa,                                  /* i  : MASA decoder structure                  */
    const int32_t ivas_total_brate,                             /* i  : IVAS total bitrate                      */
#ifndef SBA_MODE_CLEAN_UP
    const SBA_MODE sba_mode,                                    /* i  : SBA mode                                */
#else
    const IVAS_FORMAT ivas_format,                              /* i  : IVAS format                             */
#endif
    const int16_t hodirac_flag,                                 /* i : flag to indicate HO-DirAC mode           */
    int16_t *dirac_to_spar_md_bands                             /* o  : DirAC->SPAR MD bands                    */
);
@@ -3378,27 +3362,13 @@ void ivas_dirac_param_est_enc(
    float **pp_fr_real,
    float **pp_fr_imag,
    const int16_t input_frame, 
#ifndef SBA_MODE_CLEAN_UP
    const SBA_MODE sba_mode    
#else
    const IVAS_FORMAT ivas_format 
#endif
    ,
   const int16_t hodirac_flag,
   const int16_t nchan_fb_in
 );


#ifndef SBA_MODE_CLEAN_UP
/*----------------------------------------------------------------------------------*
 * SBA format prototypes
 *----------------------------------------------------------------------------------*/

/*! r: SBA format mode */
SBA_MODE ivas_sba_mode_select( 
    void
);
#endif
void ivas_sba_config(
    const int32_t sba_total_brate,                              /* i  : SBA total bitrate                       */
    int16_t sba_order,                                          /* i  : Ambisonic (SBA) order                   */
@@ -3555,18 +3525,6 @@ void ivas_dirac_enc_close(
    const int32_t input_Fs                                      /* i  : input sampling_rate                     */
);

#ifndef SBA_MODE_CLEAN_UP
void ivas_dirac_enc(
    DIRAC_ENC_HANDLE hDirAC,                                    /* i/o: encoder DirAC handle                    */
    IVAS_QMETADATA_HANDLE hQMetaData,                           /* i/o: q_metadata handle                       */
    BSTR_ENC_HANDLE hMetaData,                                  /* i/o: Metadata bitstream handle               */
    int16_t *nb_bits_metadata,                                  /* o  : number of metadata bits written         */
    const int16_t Opt_DTX_ON,                                   /* i  : flag signaling DTX on                   */
    float data_f[][L_FRAME48k],                                 /* i/o: SBA channels                            */
    const int16_t input_frame,                                  /* i  : input frame length                      */
    const int16_t sba_planar                                    /* i  : SBA planar flag                         */
);
#else
void ivas_dirac_enc(
    DIRAC_ENC_HANDLE hDirAC,                                   /* i/o: encoder DirAC handle                  */
    IVAS_QMETADATA_HANDLE hQMetaData,                          /* i/o: q_metadata handle                     */
@@ -3579,7 +3537,6 @@ void ivas_dirac_enc(
    const IVAS_FORMAT ivas_format,                             /* i  : ivas format                           */
    int16_t hodirac_flag                                       /* i  : hodirac flag                           */
);                           
#endif
ivas_error ivas_dirac_config(
    void *st_ivas,                                              /* i/o: IVAS encoder/decoder state structure    */
    const int16_t enc_dec                                       /* i  : encoder or decoder flag                 */
@@ -3604,17 +3561,9 @@ void ivas_get_dirac_sba_max_md_bits(

ivas_error ivas_dirac_sba_config(
    IVAS_QMETADATA_HANDLE hQMetaData,                           /* i/o: q_metadata handle                                    */
#ifndef SBA_MODE_CLEAN_UP
    int16_t *nchan_transport,                                   /* o  : number of transport channel needed for MASA format   */
    int16_t *nSCE,                                              /* o  : number of SCEs                                       */
    int16_t *nCPE,                                              /* o  : number of CPEs                                       */
#endif
    int16_t *element_mode,                                      /* o  : element mode of the core coder                       */
    int32_t sba_total_brate,                                    /* i  : SBA total bitrate                                    */
    const int16_t sba_order,                                    /* i  : Ambisonic (SBA) order                                */
#ifndef SBA_MODE_CLEAN_UP
    const SBA_MODE sba_mode,                                    /* i  : SBA mode                                             */
#endif
    const int16_t nbands                                        /* i  : number of frequency bands                            */
);

@@ -3647,9 +3596,6 @@ void ivas_dirac_dec_read_BS(
    DIRAC_DEC_HANDLE hDirAC,                                    /* i/o: decoder DirAC handle                    */
    IVAS_QMETADATA_HANDLE hQMetaData,                           /* i/o: q metadata                              */
    int16_t *nb_bits,                                           /* o  : number of bits read                     */
#ifndef SBA_MODE_CLEAN_UP
    const SBA_MODE sba_mode,                                    /* i  : SBA mode                                */
#endif
    const int16_t hodirac_flag,                                 /* i  : flag to indicate HO-DirAC mode          */
    int16_t *dirac_to_spar_md_bands                             /* o  : DirAC->SPAR MD bands                    */
);
@@ -5422,12 +5368,8 @@ void computeReferencePower_enc(
    float *reference_power,                                     /* o  : Estimated power                                 */
    const int16_t enc_param_start_band,                         /* i  : first band to process                           */
    const int16_t num_freq_bands,                               /* i  : Number of frequency bands                       */
#ifndef SBA_MODE_CLEAN_UP
    const SBA_MODE sba_mode                                     /* i  : SBA mode                                        */
#else
    const IVAS_FORMAT ivas_format,                              /* i  : ivas_format                                     */
    int16_t ref_power_w                                         /* i  : use 0 if hodirac is enabled                     */
#endif
    ,
    const int16_t nchan_ana                                     /* i  : number of analysis channels                     */
);
@@ -5554,9 +5496,6 @@ ivas_error ivas_td_binaural_renderer_sf(
ivas_error ivas_fb_set_cfg(
    IVAS_FB_CFG **pFb_cfg_out,                                  /* o  : FB config. handle                           */
    const int16_t ivas_format,                                  /* i  : IVAS format                                 */
#ifndef SBA_MODE_CLEAN_UP
    const SBA_MODE sba_mode,                                    /* i  : SBA mode                                    */
#endif
    const int16_t num_in_chans,                                 /* i  : number of FB input channels                 */
    const int16_t num_out_chans,                                /* i  : number of FB output channels                */
    const int16_t active_w_mixing,                              /* i  : active_w_mixing flag                        */
@@ -5587,13 +5526,6 @@ void ivas_fb_mixer_pcm_ingest(
    const int16_t HOA_md_ind[IVAS_SPAR_MAX_CH]
);

#ifndef SBA_MODE_CLEAN_UP
void ivas_dirac_enc_spar_delay_synchro(
    Encoder_Struct *st_ivas,                                    /* i/o: IVAS encoder structure                      */
    const int16_t input_frame,                                  /* i  : input frame length                          */
    float data_f[][L_FRAME48k]                                  /* i/o: SBA channels (ACN / SN3D)                   */
);
#endif
void ivas_fb_mixer_update_prior_input(
    IVAS_FB_MIXER_HANDLE hFbMixer,                              /* i/o: FB mixer handle                             */
    float *pcm_in[],                                            /* i  : input audio channels                        */
Loading