Commit ebaf8ffa authored by Sandesh Venkatesh's avatar Sandesh Venkatesh
Browse files

ivas_sba_dec_render sub-functions converted to fixed

[x] Converted cldfbAnalysis_ts, ivas_get_spar_dec_md_num_subframes,
ivas_spar_get_skip_mat, ivas_sba_set_cna_cng_flag, ivas_sba_get_nchan_metadata,
ivas_dirac_dec_set_md_map, ivas_jbm_dec_get_adapted_subframes,
ivas_jbm_dec_get_md_map and ivas_jbm_dec_get_md_map_even_spacing functions.
parent 713d7615
Loading
Loading
Loading
Loading
Loading
+1 −461
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <ClCompile Include="..\lib_com\ivas_dirac_com.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ivas_rom_com.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ivas_tools.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\hq2_bit_alloc.c">
      <Filter>common_evs_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\hq2_core_com.c">
      <Filter>common_evs_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\hq2_noise_inject.c">
      <Filter>common_evs_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\isf_dec_amr_wb.c">
      <Filter>common_evs_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ACcontextMapping.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ari.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ari_hm.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\arith_coder.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\basop_com_lpc.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\basop_lsf_tools.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\basop_tcx_utils.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\basop_util.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\basop32.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\bitalloc.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\bitallocsum.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\bits_alloc.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\bitstream.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\calc_st_com.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\cb_shape.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\cldfb.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\cng_exc.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\core_com_config.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\deemph.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\delay_comp.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\disclaimer.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\dlpc_bfi.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\edct.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\enh40.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\enh1632.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\enhancer.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\enr_1_az.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\env_adj.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\env_stab.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\env_stab_trans.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\est_tilt.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\fd_cng_com.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\fft.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\fft_cldfb.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\fft_rel.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\fill_spectrum.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\findpulse.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\fine_gain_bits.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\frame_ener.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\get_gain.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\gs_bitallocation.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\gs_gains.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\gs_inact_switching.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\gs_noisefill.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\gs_preech.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\guided_plc_util.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\hp50.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\hq_bit_allocation.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\hq_conf.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\hq_tools.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\hvq_pvq_bitalloc.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ifft_rel.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\igf_base.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\index_pvq_opt.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\int_lsp.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\interleave_spectrum.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\interpol.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\lag_wind.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\lerp.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\limit_t0.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\logqnorm.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\longarith.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\low_rate_band_att.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\lpc_tools.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\lsf_dec_bfi.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\lsf_msvq_ma.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\lsf_tools.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\lsp_conv_poly.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\modif_fs.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\mslvq_com.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\nelp.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\parameter_bitmaping.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\phase_dispersion.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ppp.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\pred_lt4.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\preemph.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\pvq_com.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\range_com.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\re8_ppv.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\re8_util.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\realft.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\recovernorm.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\reordvct.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\residu.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\rom_com.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\stab_est.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\stat_noise_uv_mod.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\swb_bwe_com.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\swb_bwe_com_hr.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\swb_bwe_com_lr.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\swb_tbe_com.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\syn_12k8.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\syn_filt.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\tcq_position_arith.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\tcx_ltp.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\tcx_mdct.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\tcx_mdct_window.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\tcx_utils.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\tec_com.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\tools.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\trans_direct.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\trans_inv.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\vlpc_2st_com.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\weight.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\weight_a.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\wi.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\window.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\window_ola.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\wtda.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ivas_masa_com.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ivas_mct_com.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ivas_mdct_core_com.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\nelp.c">
      <Filter>common_evs_c</Filter>
    </ClCompile>
@@ -370,108 +13,6 @@
    <ClCompile Include="..\lib_com\swb_bwe_com_lr.c">
      <Filter>common_evs_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ivas_qmetadata_com.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ivas_qspherical_com.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ivas_sba_config.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ivas_sns_com.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ivas_mc_com.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ivas_mcmasa_com.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ivas_mc_param_com.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ivas_stereo_dft_com.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ivas_stereo_eclvq_com.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ivas_stereo_ica_com.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ivas_stereo_mdct_bands_com.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ivas_stereo_mdct_stereo_com.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ivas_stereo_psychlpc_com.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ivas_stereo_td_bit_alloc.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ivas_avq_pos_reorder_com.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ivas_filters.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ivas_cov_smooth.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ivas_entropy_coder_common.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ivas_fb_mixer.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ivas_arith.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ivas_spar_com_quant_util.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ivas_transient_det.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ivas_mdft_imdft.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ivas_pca_tools.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ivas_spar_com.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ivas_agc_com.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ivas_mdct_imdct.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ivas_mdct_imdct_fx.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ivas_ism_com.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ivas_omasa_com.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ivas_lfe_com.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\control.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\enh64.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\tools_fx.c">
      <Filter>common_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ACcontextMapping.c" />
    <ClCompile Include="..\lib_com\ari.c" />
    <ClCompile Include="..\lib_com\arith_coder.c" />
@@ -580,7 +121,6 @@
    <ClCompile Include="..\lib_com\ivas_stereo_mdct_stereo_com.c" />
    <ClCompile Include="..\lib_com\ivas_stereo_psychlpc_com.c" />
    <ClCompile Include="..\lib_com\ivas_stereo_td_bit_alloc.c" />
    <ClCompile Include="..\lib_com\ivas_td_decorr.c" />
    <ClCompile Include="..\lib_com\ivas_tools.c" />
    <ClCompile Include="..\lib_com\ivas_transient_det.c" />
    <ClCompile Include="..\lib_com\lag_wind.c" />
+362 −7

File changed.

Preview size limit exceeded, changes collapsed.

+51 −0
Original line number Diff line number Diff line
@@ -809,12 +809,30 @@ void ivas_jbm_dec_get_adapted_linear_interpolator(
    float *interpolator                                         /* o  : the interpolator                                            */
);

#ifdef IVAS_FLOAT_FIXED
void ivas_jbm_dec_get_adapted_subframes(
    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                            */
);
#else
void ivas_jbm_dec_get_adapted_subframes(
    const int16_t nCldfbTs,                                     /* i  : number of time slots in the current frame                   */
    int16_t *subframe_nbslots,                                  /* i/o: subframe grid                                               */
    int16_t *nb_subframes                                       /* i/o: number of subframes in the frame                            */
);
#endif

#ifdef IVAS_FLOAT_FIXED
void ivas_jbm_dec_get_md_map(
    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 buf_len,                                      /* i  : length of the metadata buffer                               */
    Word16 *map                                                /* o  : metadata index map                                          */
);
#else
void ivas_jbm_dec_get_md_map(
    const int16_t default_len,                                  /* i  : default frame length in metadata slots                      */
    const int16_t len,                                          /* i  : length of the modfied frames in metadata slots              */
@@ -823,6 +841,7 @@ void ivas_jbm_dec_get_md_map(
    const int16_t buf_len,                                      /* i  : length of the metadata buffer                               */
    int16_t *map                                                /* o  : metadata index map                                          */
);
#endif

int16_t ivas_jbm_dec_get_num_tc_channels( 
    Decoder_Struct *st_ivas                                     /* i  : IVAS decoder handle                                         */
@@ -834,6 +853,15 @@ void ivas_jbm_dec_copy_tc_no_tsm(
    const int16_t output_frame                                  /* i  : output frame size                                           */
);

#ifdef IVAS_FLOAT_FIXED
void ivas_jbm_dec_get_md_map_even_spacing(
    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 buf_len,                                      /* i  : length of the metadata buffer                               */
    Word16 *map                                                /* o  : metadata index map                                          */
);
#else
void ivas_jbm_dec_get_md_map_even_spacing(
    const int16_t len,                                          /* i  : length of the modfied frames in metadata slots              */
    const int16_t subframe_len,                                 /* i  : default length of a subframe                                */
@@ -841,6 +869,7 @@ void ivas_jbm_dec_get_md_map_even_spacing(
    const int16_t buf_len,                                      /* i  : length of the metadata buffer                               */
    int16_t *map                                                /* o  : metadata index map                                          */
);
#endif

TC_BUFFER_MODE ivas_jbm_dec_get_tc_buffer_mode(
    Decoder_Struct *st_ivas                                     /* i  : IVAS decoder handle                                         */
@@ -3518,10 +3547,17 @@ int16_t ivas_sba_get_nchan(
);

/*! r: number of ambisonics metadata channels */
#ifdef IVAS_FLOAT_FIXED
Word16 ivas_sba_get_nchan_metadata(
    const Word16 sba_order,                                    /* i  : Ambisonic (SBA) order                   */
    const Word32 ivas_total_brate                              /* i  : IVAS total bitrate                      */
);
#else
int16_t ivas_sba_get_nchan_metadata(
    const int16_t sba_order,                                    /* i  : Ambisonic (SBA) order                   */
    const int32_t ivas_total_brate                              /* i  : IVAS total bitrate                      */
);
#endif

void ivas_sba_get_spar_hoa_ch_ind(
    const int16_t num_md_chs,                                   /* i  : number of MD channels                   */
@@ -3690,10 +3726,17 @@ void generate_masking_noise_lb_dirac(
    const int16_t cna_flag                                      /* i  : CNA flag for LB and HB                                */
);

#ifdef IVAS_FLOAT_FIXED
void ivas_dirac_dec_set_md_map(
    Decoder_Struct *st_ivas,                                    /* i/o: IVAS decoder structure                  */
    const Word16 nCldfbTs                                      /* i  : number of CLDFB time slots              */
);
#else
void ivas_dirac_dec_set_md_map(
    Decoder_Struct *st_ivas,                                    /* i/o: IVAS decoder structure                  */
    const int16_t nCldfbTs                                      /* i  : number of CLDFB time slots              */
);
#endif

void ivas_dirac_dec_render(
    Decoder_Struct *st_ivas,                                    /* i/o: IVAS decoder handle                     */
@@ -4475,11 +4518,19 @@ void ivas_get_spar_md_from_dirac(
);

/*! r: number of MD subframes */
#ifdef IVAS_FLOAT_FIXED
Word16 ivas_get_spar_dec_md_num_subframes(
    const Word16 sba_order,                                    /* i  : Ambisonic (SBA) order                   */
    const Word32 ivas_total_brate,                             /* i  : IVAS total bitrate                      */
    const Word32 ivas_last_active_brate                        /* i  : IVAS last active bitrate                */
);
#else
int16_t ivas_get_spar_dec_md_num_subframes(
    const int16_t sba_order,                                    /* i  : Ambisonic (SBA) order                   */
    const int32_t ivas_total_brate,                             /* i  : IVAS total bitrate                      */
    const int32_t ivas_last_active_brate                        /* i  : IVAS last active bitrate                */
);
#endif

ivas_error ivas_spar_md_dec_matrix_open(
    ivas_spar_md_dec_state_t *hMdDec,                           /* i/o: SPAR MD decoder handle                  */
+30 −0
Original line number Diff line number Diff line
@@ -206,6 +206,35 @@ int16_t ivas_sba_get_nchan(
 *-------------------------------------------------------------------*/

/*! r: number of ambisonics metadata channels */
#ifdef IVAS_FLOAT_FIXED
Word16 ivas_sba_get_nchan_metadata(
    const Word16 sba_order,       /* i  : Ambisonic (SBA) order            */
    const Word32 ivas_total_brate /* i  : IVAS total bitrate               */
)
{
    Word16 nb_channels;

    IF ( sba_order == SBA_FOA_ORDER )
    {
        nb_channels = FOA_CHANNELS;
    }
    ELSE
    {
        IF ( ivas_total_brate >= IVAS_512k )
        {
            nb_channels = IVAS_SPAR_MAX_CH;
            nb_channels = min( nb_channels, ( sba_order + 1 ) * ( sba_order + 1 ) );
        }
        ELSE
        {
            /* FOA + planar HOA */
            nb_channels = FOA_CHANNELS + 2 * ( sba_order - 1 );
        }
    }

    return ( nb_channels );
}
#else
int16_t ivas_sba_get_nchan_metadata(
    const int16_t sba_order,       /* i  : Ambisonic (SBA) order            */
    const int32_t ivas_total_brate /* i  : IVAS total bitrate               */
@@ -233,6 +262,7 @@ int16_t ivas_sba_get_nchan_metadata(

    return ( nb_channels );
}
#endif


/*-------------------------------------------------------------------*
+9 −0
Original line number Diff line number Diff line
@@ -458,6 +458,15 @@ void delay_signal_float(
    const int16_t delay /* i  : delay in samples                        */
);

#ifdef IVAS_FLOAT_FIXED
void delay_signal_fx(
    Word32 x[],          /* i/o: signal to be delayed                    */
    const int16_t len,  /* i  : length of the input signal              */
    Word32 mem[],        /* i/o: synchronization memory                  */
    const int16_t delay /* i  : delay in samples                        */
);
#endif

ivas_error push_indice(
    BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle                    */
    int16_t id,            /* i  : ID of the indice                            */
Loading