Commit 761786f3 authored by vaclav's avatar vaclav
Browse files

Merge branch 'float-880-Functions_renaming_after_NONBE_UNIFIED_DECODING_PATHS' into 'main'

Resolve "Functions renaming and leftovers after NONBE_UNIFIED_DECODING_PATHS"

See merge request !2670
parents 35e00940 10912423
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -186,12 +186,12 @@ typedef enum
#define IVAS_NUM_SUPPORTED_FS                   3                           /* number of supported sampling-rates in IVAS */

#define CLDFB_SLOT_NS                           1250000L                    /* 1.25ms: CLDFB slot length */
#define MAX_JBM_SUBFRAMES_5MS                   8
#define DEFAULT_JBM_SUBFRAMES_5MS               4
#define JBM_CLDFB_SLOTS_IN_SUBFRAME             4
#define DEFAULT_JBM_SUBFRAMES_5MS               4                           /* == IVAS_MAX_PARAM_SPATIAL_SUBFRAMES */
#define MAX_JBM_SUBFRAMES_5MS                   ( DEFAULT_JBM_SUBFRAMES_5MS * 2 )
#define JBM_CLDFB_SLOTS_IN_SUBFRAME             4                           /* == IVAS_MAX_PARAM_SPATIAL_SUBFRAMES */
#define JBM_CLDFB_SLOTS_IN_SUBFRAME_LOG2        2                           /* To be used for shift operation instead of division */
#define MAX_JBM_CLDFB_TIMESLOTS                 32
#define DEFAULT_JBM_CLDFB_TIMESLOTS             16
#define DEFAULT_JBM_CLDFB_TIMESLOTS             CLDFB_NO_COL_MAX
#define MAX_JBM_CLDFB_TIMESLOTS                 ( DEFAULT_JBM_CLDFB_TIMESLOTS * 2 )
#define MAX_JBM_L_FRAME48k                      ( IVAS_MAX_FRAME_SIZE * 2 ) /* 1920:  max. time-scaled frame buffer length (per channel) in samples */
#define MAX_JBM_L_FRAME_NS                      40000000L                   /* 40 ms: time-scaled frame size in ns, proportional to MAX_JBM_L_FRAME48k  */
#define MAX_SPAR_INTERNAL_CHANNELS              IVAS_SPAR_MAX_CH
+45 −50
Original line number Diff line number Diff line
@@ -622,12 +622,6 @@ void ivas_dirac_dec_set_md_map_fx(
    const Word16 nCldfbTs                                       /* i  : number of CLDFB time slots              */
);

void ivas_jbm_dec_get_adapted_subframes_fx(
    const Word16 nCldfbTs,                                      /* i  : number of time slots in the current frame */
    Word16 *subframe_nbslots,                                   /* i/o: subframe grid                           */
    Word16 *nb_subframes                                        /* i/o: number of subframes in the frame        */
);

/*! r: number of bits read */
Word16 read_GR0(
    const UWord16 *bit_stream,                                  /* i  : bitstream to be read                    */
@@ -1039,7 +1033,7 @@ void ivas_ism_render_sf_fx(
    const Word16 n_samples_to_render                            /* i  : output frame length per channel             */
);

void ivas_omasa_separate_object_render_jbm_fx(
void ivas_omasa_separate_object_render_fx(
    Decoder_Struct *st_ivas,                                    /* i/o: IVAS decoder structure                  */
    const UWord16 nSamplesRendered,                             /* i  : number of samples rendered              */
    Word32 input_fx_in[][L_FRAME48k],                           /* i  : separated object signal                 */
@@ -2447,7 +2441,7 @@ void ivas_fb_mixer_cross_fading_fx(
    const Word16 cf_offset 
);

ivas_error ivas_omasa_dirac_td_binaural_jbm_fx(
ivas_error ivas_omasa_dirac_td_binaural_fx(
    Decoder_Struct *st_ivas,                                    /* i/o: IVAS decoder handle                     */
    const UWord16 nSamplesAsked,                                /* i  : number of samples requested             */
    UWord16 *nSamplesRendered,                                  /* o  : number of samples rendered              */
@@ -2484,7 +2478,7 @@ void ivas_sba_get_spar_hoa_md_flag_fx(
    Word16 *spar_hoa_dirac2spar_md_flag 
);

void ivas_omasa_dirac_rend_jbm_fx(
void ivas_omasa_dirac_rend_fx(
    Decoder_Struct *st_ivas,                                    /* i/o: IVAS decoder handle                     */
    const UWord16 nSamplesAsked,                                /* i  : number of samples requested             */
    UWord16 *nSamplesRendered,                                  /* o  : number of samples rendered              */
@@ -3846,7 +3840,7 @@ ivas_error ivas_osba_data_open_fx(
    Decoder_Struct *st_ivas                                     /* i/o: IVAS decoder handle                         */
);

ivas_error ivas_osba_dirac_td_binaural_jbm_fx(
ivas_error ivas_osba_dirac_td_binaural_fx(
    Decoder_Struct *st_ivas,                                    /* i/o: IVAS decoder structure                      */
    const UWord16 nSamplesAsked,                                /* i  : number of CLDFB slots requested             */
    UWord16 *nSamplesRendered,                                  /* o  : number of CLDFB slots rendered              */
@@ -5873,12 +5867,6 @@ ivas_error ivas_compute_core_buffers_fx(
    Word16 *Q_new 
);

ivas_error ivas_enc_fx(
    Encoder_Struct *st_ivas,                                    /* i/o: IVAS encoder structure                  */
    const Word16 *data,                                         /* i  : input signal                         Q0 */
    const Word16 n_samples                                      /* i  : number of input samples                 */
);

void reset_metadata_spatial_fx(
    const IVAS_FORMAT ivas_format,                              /* i  : IVAS format                             */
    BSTR_ENC_HANDLE hMetaData,                                  /* i/o: Metadata bitstream handle               */
@@ -5929,6 +5917,24 @@ void modify_Rmat_q_fx(
 * General IVAS prototypes
 *----------------------------------------------------------------------------------*/

ivas_error ivas_enc_fx(
    Encoder_Struct *st_ivas,                                    /* i/o: IVAS encoder structure                  */
    const Word16 *data,                                         /* i  : input signal                         Q0 */
    const Word16 n_samples                                      /* i  : number of input samples                 */
);

ivas_error ivas_dec_fx(
    Decoder_Struct *st_ivas                                     /* i/o: IVAS decoder structure                                      */
);

ivas_error ivas_dec_render_fx(
    Decoder_Struct *st_ivas,                                    /* i/o: IVAS decoder structure                                      */
    const UWord16 nSamplesAsked,                                /* i  : number of samples wanted                                    */
    UWord16 *nSamplesRendered,                                  /* o  : number of samples rendered                                  */
    UWord16 *nSamplesAvailableNext,                             /* o  : number of samples still available in the rendering pipeline */
    Word16 *data                                                /* o  : output synthesis signal                                     */
);

void copy_encoder_config_ivas_fx(
    Encoder_Struct *st_ivas,                                    /* i  : IVAS encoder structure                  */
    Encoder_State *st,                                          /* o  : encoder state structure                 */
@@ -6134,21 +6140,9 @@ Word16 is_DTXrate(


/*----------------------------------------------------------------------------------*
 * JBM prototypes
 * Internal rendering prototypes
 *----------------------------------------------------------------------------------*/

ivas_error ivas_jbm_dec_tc_fx(
    Decoder_Struct *st_ivas                                     /* i/o: IVAS decoder structure                                      */
);

ivas_error ivas_jbm_dec_render_fx(
    Decoder_Struct *st_ivas,                                    /* i/o: IVAS decoder structure                                      */
    const UWord16 nSamplesAsked,                                /* i  : number of samples wanted                                    */
    UWord16 *nSamplesRendered,                                  /* o  : number of samples rendered                                  */
    UWord16 *nSamplesAvailableNext,                             /* o  : number of samples still available in the rendering pipeline */
    Word16 *data                                                /* o  : output synthesis signal                                     */
);

ivas_error ivas_jbm_dec_flush_renderer_fx(
    Decoder_Struct *st_ivas,                                    /* i/o: IVAS decoder structure                                      */
    const Word16 tc_granularity_new,                            /* i  : new renderer granularity                                    */
@@ -6161,7 +6155,7 @@ ivas_error ivas_jbm_dec_flush_renderer_fx(
    Word16 *data                                                /* o  : output synthesis signal                                     */
);

void ivas_jbm_dec_feed_tc_to_renderer_fx(
void ivas_dec_feed_tc_to_renderer_fx(
    Decoder_Struct *st_ivas,                                    /* i/o: IVAS decoder structure                                      */
    const Word16 nSamplesForRendering,                          /* i  : number of TC samples available for rendering                */
    Word16 *nSamplesResidual                                    /* o  : number of samples not fitting into the renderer grid and buffer for the next call*/
@@ -6175,80 +6169,80 @@ ivas_error ivas_jbm_dec_set_discard_samples_fx(
    Decoder_Struct *st_ivas                                     /* i/o: main IVAS decoder structre                                  */
);

void ivas_jbm_dec_get_adapted_linear_interpolator_fx(
void ivas_dec_get_adapted_linear_interpolator_fx(
    const Word16 default_interp_length,                         /* i  : default length of the (full-frame) interpolator             */
    const Word16 interp_length,                                 /* i  : length of the interpolator to be created                    */
    Word16 *interpolator_fx                                     /* o  : the interpolator                                            */
);

void ivas_jbm_dec_get_adapted_subframes(
void ivas_dec_get_adapted_subframes_fx(
    const Word16 nCldfbTs,                                      /* i  : number of time slots in the current frame                   */
    Word16 *subframe_nbslots,                                   /* i/o: subframe grid                                               */
    Word16 *nb_subframes                                        /* i/o: number of subframes in the frame                            */
);

void ivas_jbm_dec_get_md_map(
void ivas_dec_get_md_map_fx(
    const Word16 default_len,                                   /* i  : default frame length in metadata slots                      */
    const Word16 len,                                           /* i  : length of the modfied frames in metadata slots              */
    const Word16 subframe_len,                                  /* i  : default length of a subframe                                */
    const Word16 offset,                                        /* i  : current read offset into the md buffer                      */
    const Word16 offset,                                        /* i  : current read offset into the MD buffer                      */
    const Word16 buf_len,                                       /* i  : length of the metadata buffer                               */
    Word16 *map                                                 /* o  : metadata index map                                          */
);

Word16 ivas_jbm_dec_get_num_tc_channels_fx(
Word16 ivas_dec_get_num_tc_channels_fx(
    Decoder_Struct *st_ivas                                     /* i  : IVAS decoder handle                                         */
);

void ivas_jbm_dec_get_md_map_even_spacing(
void ivas_dec_get_md_map_even_spacing_fx(
    const Word16 len,                                           /* i  : length of the modfied frames in metadata slots              */
    const Word16 subframe_len,                                  /* i  : default length of a subframe                                */
    const Word16 offset,                                        /* i  : current read offset into the md buffer                      */
    const Word16 offset,                                        /* i  : current read offset into the MD buffer                      */
    const Word16 buf_len,                                       /* i  : length of the metadata buffer                               */
    Word16 *map                                                 /* o  : metadata index map                                          */
);

TC_BUFFER_MODE ivas_jbm_dec_get_tc_buffer_mode_fx(
TC_BUFFER_MODE ivas_dec_get_tc_buffer_mode_fx(
    Decoder_Struct *st_ivas                                     /* i  : IVAS decoder handle                                         */
);

Word16 ivas_jbm_dec_get_render_granularity_fx(
Word16 ivas_dec_get_render_granularity_fx(
    const RENDERER_TYPE renderer_type,                          /* i  : renderer type                                               */
    const RENDERER_TYPE renderer_type_sec,                      /* i  : secondary renderer type                                     */
    const Word32 output_Fs                                      /* i  : sampling rate                                               */
);

ivas_error ivas_jbm_dec_tc_buffer_open_fx(
ivas_error ivas_dec_tc_buffer_open_fx(
    Decoder_Struct *st_ivas,                                    /* i/o: IVAS decoder structure                                      */
    const TC_BUFFER_MODE tc_buffer_mode,                        /* i  : buffer mode                                                 */
    const Word16 nchan_transport_jbm,                           /* i  : number of real transport channels                           */
    const Word16 nchan_transport_rend,                          /* i  : number of TCs for rendering                                 */
    const Word16 nchan_transport_internal,                      /* i  : number of totally buffered channels                         */
    const Word16 nchan_full,                                    /* i  : number of channels to fully store                           */
    const Word16 n_samples_granularity                          /* i  : granularity of the renderer/buffer                          */
);

ivas_error ivas_jbm_dec_tc_buffer_reconfigure_fx(
ivas_error ivas_dec_tc_buffer_reconfigure_fx(
    Decoder_Struct *st_ivas,                                    /* i/o: IVAS decoder structure                                      */
    const TC_BUFFER_MODE tc_buffer_mode,                        /* i  : new buffer mode                                             */
    const Word16 nchan_transport_jbm,                           /* i  : new number of real transport channels                       */
    const Word16 nchan_transport_rend,                          /* i  : new number of TCs for rendering                             */
    const Word16 nchan_transport_internal,                      /* i  : new number of totally buffered channels                     */
    const Word16 nchan_full,                                    /* i  : new number of channels to fully store                       */
    const Word16 n_samples_granularity                          /* i  : new granularity of the renderer/buffer                      */
);

void ivas_jbm_dec_tc_buffer_close_fx(
void ivas_dec_tc_buffer_close_fx(
    DECODER_TC_BUFFER_HANDLE *phTcBuffer                        /* i/o: TC buffer handle                                            */
);

void ivas_jbm_dec_td_renderers_adapt_subframes(
void ivas_dec_td_renderers_adapt_subframes_fx(
    Decoder_Struct *st_ivas                                     /* i/o: IVAS decoder structure                                      */
);

ivas_error ivas_jbm_dec_metadata_open(
ivas_error ivas_jbm_dec_masa_metadata_open_fx(
    Decoder_Struct *st_ivas                                     /* i/o: IVAS decoder structure                                      */
);

void ivas_jbm_masa_sf_to_sf_map(
void ivas_jbm_masa_sf_to_sf_map_fx(
    Decoder_Struct *st_ivas                                     /* i/o: IVAS decoder structure                                      */
);

@@ -6809,11 +6803,12 @@ void ivas_filters_init_fx(
    const Word16 order 
);


/*----------------------------------------------------------------------------------*
 * OSBA prototypes
 *----------------------------------------------------------------------------------*/

ivas_error ivas_osba_enc_reconfig(
ivas_error ivas_osba_enc_reconfig_fx(
    Encoder_Struct *st_ivas                                     /* i/o: IVAS encoder structure                      */
);

@@ -6830,11 +6825,11 @@ void ivas_set_surplus_brate_dec(
    Word32 *ism_total_brate                                     /* i  : ISM total bitrate                           */
);

ivas_error ivas_omasa_separate_object_renderer_open(
ivas_error ivas_omasa_separate_object_renderer_open_fx(
    Decoder_Struct *st_ivas                                     /* i/o: IVAS decoder structure                      */
);

void ivas_omasa_separate_object_renderer_close(
void ivas_omasa_separate_object_renderer_close_fx(
    Decoder_Struct *st_ivas                                     /* i/o: IVAS decoder structure                      */
);

+1 −1
Original line number Diff line number Diff line
@@ -5001,7 +5001,7 @@ void generate_masking_noise_lb_dirac_fx(
            n_samples_start = add( n_samples_start, hFdCngCom->frameSize );
        }

        /* move generated noise to the 5ms subframe starts in the tc buffer according to the output sampling frequency to avoid
        /* move generated noise to the 5ms subframe starts in the TC buffer according to the output sampling frequency to avoid
           overwriting it with the synthesis in case of shared tc and synth channel memory, i.e. non-TSM mode */
        slot_size_cng = shr( hFdCngCom->frameSize, 4 /* DEFAULT_JBM_CLDFB_TIMESLOTS */ );
        /* move start indices forward to the end of the last subframe */
+6 −6
Original line number Diff line number Diff line
@@ -1965,9 +1965,9 @@ void ivas_dirac_dec_set_md_map_fx(
    hSpatParamRendCom->subframes_rendered = 0;
    move16();

    ivas_jbm_dec_get_adapted_subframes( nCldfbTs, hSpatParamRendCom->subframe_nbslots, &hSpatParamRendCom->nb_subframes );
    ivas_dec_get_adapted_subframes_fx( nCldfbTs, hSpatParamRendCom->subframe_nbslots, &hSpatParamRendCom->nb_subframes );

    /* copy also to tc buffer */
    /* copy also to TC buffer */
    /* only for non-combined formats and combinded formats w/o discrete objects */
    test();
    test();
@@ -1986,15 +1986,15 @@ void ivas_dirac_dec_set_md_map_fx(
    test();
    IF( EQ_32( st_ivas->ivas_format, MASA_FORMAT ) )
    {
        ivas_jbm_dec_get_md_map_even_spacing( nCldfbTs, num_slots_in_subfr, 0, hSpatParamRendCom->dirac_md_buffer_length, hSpatParamRendCom->render_to_md_map );
        ivas_dec_get_md_map_even_spacing_fx( nCldfbTs, num_slots_in_subfr, 0, hSpatParamRendCom->dirac_md_buffer_length, hSpatParamRendCom->render_to_md_map );
    }
    ELSE IF( hDirAC == NULL || hDirAC->hConfig == NULL || hDirAC->hConfig->dec_param_estim == 0 )
    {
        ivas_jbm_dec_get_md_map( DEFAULT_JBM_CLDFB_TIMESLOTS, nCldfbTs, num_slots_in_subfr, 0, hSpatParamRendCom->dirac_md_buffer_length, hSpatParamRendCom->render_to_md_map );
        ivas_dec_get_md_map_fx( DEFAULT_JBM_CLDFB_TIMESLOTS, nCldfbTs, num_slots_in_subfr, 0, hSpatParamRendCom->dirac_md_buffer_length, hSpatParamRendCom->render_to_md_map );
    }
    ELSE
    {
        ivas_jbm_dec_get_md_map( DEFAULT_JBM_CLDFB_TIMESLOTS, nCldfbTs, num_slots_in_subfr, hSpatParamRendCom->dirac_read_idx, hSpatParamRendCom->dirac_md_buffer_length, hSpatParamRendCom->render_to_md_map );
        ivas_dec_get_md_map_fx( DEFAULT_JBM_CLDFB_TIMESLOTS, nCldfbTs, num_slots_in_subfr, hSpatParamRendCom->dirac_read_idx, hSpatParamRendCom->dirac_md_buffer_length, hSpatParamRendCom->render_to_md_map );
    }

    test();
@@ -3706,7 +3706,7 @@ void ivas_dirac_dec_render_sf_fx(
            test();
            IF( st_ivas->hCombinedOrientationData && st_ivas->hCombinedOrientationData->enableCombinedOrientation[0] )
            {
                ivas_jbm_dec_get_adapted_linear_interpolator_fx( n_samples_to_render, n_samples_to_render, st_ivas->hIsmRendererData->interpolator_fx );
                ivas_dec_get_adapted_linear_interpolator_fx( n_samples_to_render, n_samples_to_render, st_ivas->hIsmRendererData->interpolator_fx );
                st_ivas->hIsmRendererData->interp_offset_fx = 0;
                move16();
            }
+10 −10
Original line number Diff line number Diff line
@@ -1622,7 +1622,7 @@ ivas_error ivas_init_decoder_fx(
    Word16 i, n, k;
    Word16 sce_id, cpe_id;
    Word16 numCldfbAnalyses, numCldfbSyntheses;
    Word16 granularity, n_channels_transport_jbm;
    Word16 granularity, n_channels_transport;
    Word16 nchan_out_buff;
    Word32 output_Fs, ivas_total_brate, tmp_br, tmp32;
    Word32 delay_ns;
@@ -2859,7 +2859,7 @@ ivas_error ivas_init_decoder_fx(
                return error;
            }

            IF( NE_32( ( error = ivas_omasa_separate_object_renderer_open( st_ivas ) ), IVAS_ERR_OK ) )
            IF( NE_32( ( error = ivas_omasa_separate_object_renderer_open_fx( st_ivas ) ), IVAS_ERR_OK ) )
            {
                return error;
            }
@@ -3078,16 +3078,16 @@ ivas_error ivas_init_decoder_fx(
    }

    /*-----------------------------------------------------------------*
     * Allocate and initialize JBM struct + buffer
     * Allocate and initialize TC struct + buffer
     *-----------------------------------------------------------------*/

    IF( st_ivas->hTcBuffer == NULL )
    {
        /* no module has yet open the TC buffer, open a default one */
        granularity = ivas_jbm_dec_get_render_granularity_fx( st_ivas->renderer_type, ivas_renderer_secondary_select_fx( st_ivas ), output_Fs );
        n_channels_transport_jbm = ivas_jbm_dec_get_num_tc_channels_fx( st_ivas );
        granularity = ivas_dec_get_render_granularity_fx( st_ivas->renderer_type, ivas_renderer_secondary_select_fx( st_ivas ), output_Fs );
        n_channels_transport = ivas_dec_get_num_tc_channels_fx( st_ivas );

        IF( NE_32( ( error = ivas_jbm_dec_tc_buffer_open_fx( st_ivas, ivas_jbm_dec_get_tc_buffer_mode_fx( st_ivas ), n_channels_transport_jbm, n_channels_transport_jbm, n_channels_transport_jbm, granularity ) ), IVAS_ERR_OK ) )
        IF( NE_32( ( error = ivas_dec_tc_buffer_open_fx( st_ivas, ivas_dec_get_tc_buffer_mode_fx( st_ivas ), n_channels_transport, n_channels_transport, n_channels_transport, granularity ) ), IVAS_ERR_OK ) )
        {
            return error;
        }
@@ -3099,7 +3099,7 @@ ivas_error ivas_init_decoder_fx(
    {
        IF( EQ_32( output_config, IVAS_AUDIO_CONFIG_EXTERNAL ) )
        {
            IF( NE_32( ( error = ivas_jbm_dec_metadata_open( st_ivas ) ), IVAS_ERR_OK ) )
            IF( NE_32( ( error = ivas_jbm_dec_masa_metadata_open_fx( st_ivas ) ), IVAS_ERR_OK ) )
            {
                return error;
            }
@@ -3356,7 +3356,7 @@ void ivas_initialize_handles_dec(
    {
        st_ivas->hTdRendHandles[i] = NULL;
    }
    /* JBM handles */

    st_ivas->hTcBuffer = NULL;
    st_ivas->hJbmMetadata = NULL;

@@ -3588,8 +3588,8 @@ void ivas_destroy_dec_fx(
        st_ivas->hDecoderConfig = NULL;
    }

    /* JBM TC buffer structure */
    ivas_jbm_dec_tc_buffer_close_fx( &st_ivas->hTcBuffer );
    /* TC buffer structure */
    ivas_dec_tc_buffer_close_fx( &st_ivas->hTcBuffer );

    IF( st_ivas->hJbmMetadata != NULL )
    {
Loading