From 31b8012966552d35ec326d8d0377e0ba36f4855b Mon Sep 17 00:00:00 2001 From: Markus Multrus Date: Fri, 1 May 2026 21:31:22 +0200 Subject: [PATCH 1/4] release package --- Workspace_msvc/lib_debug.vcxproj | 5 - apps/ambi_converter.c | 34 +- apps/decoder.c | 295 +-- apps/encoder.c | 467 +--- apps/isar_post_rend.c | 53 +- apps/renderer.c | 81 +- lib_basop/basop32.c | 38 +- lib_basop/basop32.h | 34 +- lib_basop/complex_basop.c | 3 + lib_basop/complex_basop.h | 3 + lib_basop/enh1632.c | 3 + lib_basop/enh1632.h | 3 + lib_basop/enh32.c | 3 + lib_basop/enh32.h | 3 + lib_basop/enh40.c | 34 +- lib_basop/enh40.h | 34 +- lib_basop/enh64.c | 3 + lib_basop/enh64.h | 3 + lib_basop/enhUL32.c | 3 + lib_basop/enhUL32.h | 3 + lib_basop/move.h | 34 +- lib_basop/stl.h | 34 +- lib_basop/typedef.h | 34 +- lib_basop/typedefs.h | 3 + lib_com/ACcontextMapping_fx.c | 3 + lib_com/ari_fx.c | 23 +- lib_com/ari_hm_fx.c | 3 + lib_com/arith_coder_fx.c | 3 + lib_com/basop_com_lpc.c | 34 +- lib_com/basop_lsf_tools.c | 34 +- lib_com/basop_proto_func.h | 34 +- lib_com/basop_settings.h | 34 +- lib_com/basop_tcx_utils.c | 34 +- lib_com/basop_util.c | 34 +- lib_com/basop_util.h | 34 +- lib_com/bitalloc_fx.c | 3 + lib_com/bitallocsum_fx.c | 3 + lib_com/bits_alloc_fx.c | 6 +- lib_com/bitstream_fx.c | 2268 +---------------- lib_com/cb_shape_fx.c | 3 + lib_com/cldfb_evs_fx.c | 15 +- lib_com/cldfb_fx.c | 213 +- lib_com/cng_exc_fx.c | 3 + lib_com/cnst.h | 50 +- lib_com/codec_tcx_common_fx.c | 3 + lib_com/common_api_types.h | 44 +- lib_com/core_com_config_fx.c | 34 +- lib_com/deemph_fx.c | 34 +- lib_com/delay_comp_fx.c | 34 +- lib_com/disclaimer.c | 36 +- lib_com/dlpc_bfi_fx.c | 3 + lib_com/edct_fx.c | 3 + lib_com/enhancer_fx.c | 3 + lib_com/enr_1_az_fx.c | 34 +- lib_com/env_adj_fx.c | 34 +- lib_com/env_stab_fx.c | 34 +- lib_com/env_stab_trans_fx.c | 34 +- lib_com/est_tilt_fx.c | 3 + lib_com/fd_cng_com_fx.c | 5 +- lib_com/fft_cldfb_fx.c | 34 +- lib_com/fft_evs.c | 3 + lib_com/fft_fx.c | 34 +- lib_com/fft_fx_evs.c | 3 + lib_com/fft_rel_fx.c | 3 + lib_com/fill_spectrum_fx.c | 34 +- lib_com/findpulse_fx.c | 34 +- lib_com/fine_gain_bits_fx.c | 3 + lib_com/frame_ener_fx.c | 34 +- lib_com/gain_inov_fx.c | 3 + lib_com/get_gain_fx.c | 34 +- lib_com/gs_bitallocation_fx.c | 6 +- lib_com/gs_gains_fx.c | 34 +- lib_com/gs_inact_switching_fx.c | 3 + lib_com/gs_noisefill_fx.c | 3 + lib_com/gs_preech_fx.c | 34 +- lib_com/guided_plc_util_fx.c | 3 + lib_com/hp50_fx.c | 34 +- lib_com/hq2_bit_alloc_fx.c | 34 +- lib_com/hq2_core_com_fx.c | 34 +- lib_com/hq2_noise_inject_fx.c | 34 +- lib_com/hq_bit_allocation_fx.c | 3 + lib_com/hq_conf_fx.c | 3 + lib_com/hq_tools_fx.c | 34 +- lib_com/hvq_pvq_bitalloc_fx.c | 3 + lib_com/ifft_rel_fx.c | 34 +- lib_com/igf_base_fx.c | 3 + lib_com/index_pvq_opt_fx.c | 3 + lib_com/int_lsp_fx.c | 34 +- lib_com/interleave_spectrum_fx.c | 34 +- lib_com/interpol_fx.c | 34 +- lib_com/isf_dec_amr_wb_fx.c | 34 +- lib_com/ivas_agc_com_fx.c | 34 +- lib_com/ivas_arith_fx.c | 34 +- lib_com/ivas_avq_pos_reorder_com_fx.c | 34 +- lib_com/ivas_cnst.h | 48 +- lib_com/ivas_cov_smooth_fx.c | 34 +- lib_com/ivas_dirac_com_fx.c | 34 +- lib_com/ivas_entropy_coder_common_fx.c | 34 +- lib_com/ivas_error.h | 41 +- lib_com/ivas_error_utils.h | 34 +- lib_com/ivas_fb_mixer_fx.c | 34 +- lib_com/ivas_filters_fx.c | 34 +- lib_com/ivas_ism_com_fx.c | 34 +- lib_com/ivas_lfe_com_fx.c | 34 +- lib_com/ivas_limiter_fx.c | 34 +- lib_com/ivas_masa_com_fx.c | 34 +- lib_com/ivas_mc_com_fx.c | 34 +- lib_com/ivas_mc_param_com_fx.c | 34 +- lib_com/ivas_mcmasa_com_fx.c | 34 +- lib_com/ivas_mct_com_fx.c | 34 +- lib_com/ivas_mdct_core_com_fx.c | 34 +- lib_com/ivas_mdct_imdct_fx.c | 37 +- lib_com/ivas_mdft_imdft_fx.c | 37 +- lib_com/ivas_omasa_com_fx.c | 34 +- lib_com/ivas_osba_com_fx.c | 37 +- lib_com/ivas_pca_tools_fx.c | 34 +- lib_com/ivas_prot_fx.h | 88 +- lib_com/ivas_qmetadata_com_fx.c | 34 +- lib_com/ivas_qspherical_com_fx.c | 34 +- lib_com/ivas_rom_com.h | 37 +- lib_com/ivas_rom_com_fx.c | 210 +- lib_com/ivas_rotation_com_fx.c | 37 +- lib_com/ivas_sba_config_fx.c | 34 +- lib_com/ivas_sns_com_fx.c | 34 +- lib_com/ivas_spar_com_fx.c | 34 +- lib_com/ivas_spar_com_quant_util_fx.c | 34 +- lib_com/ivas_stat_com.h | 34 +- lib_com/ivas_stereo_dft_com_fx.c | 34 +- lib_com/ivas_stereo_eclvq_com_fx.c | 34 +- lib_com/ivas_stereo_ica_com_fx.c | 34 +- lib_com/ivas_stereo_mdct_bands_com_fx.c | 34 +- lib_com/ivas_stereo_mdct_stereo_com_fx.c | 34 +- lib_com/ivas_stereo_psychlpc_com_fx.c | 34 +- lib_com/ivas_stereo_td_bit_alloc_fx.c | 34 +- lib_com/ivas_tools_fx.c | 34 +- lib_com/ivas_transient_det_fx.c | 34 +- lib_com/lag_wind_fx.c | 34 +- lib_com/lerp_fx.c | 34 +- lib_com/limit_t0_fx.c | 3 + lib_com/log2.c | 3 + lib_com/log2.h | 3 + lib_com/logqnorm_fx.c | 34 +- lib_com/longarith.c | 34 +- lib_com/low_rate_band_att_fx.c | 3 + lib_com/lpc_tools_fx.c | 34 +- lib_com/lsf_dec_bfi_fx.c | 3 + lib_com/lsf_msvq_ma_fx.c | 3 + lib_com/lsf_tools_fx.c | 46 +- lib_com/lsp_conv_poly_fx.c | 3 + lib_com/math_32.h | 3 + lib_com/math_op.c | 3 + lib_com/math_op.h | 3 + lib_com/mime.h | 34 +- lib_com/modif_fs_fx.c | 3 + lib_com/mslvq_com_fx.c | 34 +- lib_com/nelp_fx.c | 34 +- lib_com/oper_32b.c | 3 + lib_com/oper_32b.h | 3 + lib_com/options.h | 111 +- lib_com/parameter_bitmaping_fx.c | 3 + lib_com/phase_dispersion_fx.c | 3 + lib_com/ppp_fx.c | 34 +- lib_com/pred_lt4_fx.c | 3 + lib_com/preemph_fx.c | 3 + lib_com/prot_fx.h | 102 +- lib_com/pvq_com_fx.c | 3 + lib_com/range_com_fx.c | 3 + lib_com/re8_ppv_fx.c | 3 + lib_com/re8_util_fx.c | 3 + lib_com/recovernorm_fx.c | 3 + lib_com/reordvct_fx.c | 34 +- lib_com/residu_fx.c | 3 + lib_com/rom_basic_math.c | 3 + lib_com/rom_basic_math.h | 3 + lib_com/rom_basop_util.c | 34 +- lib_com/rom_basop_util.h | 34 +- lib_com/rom_com.h | 40 +- lib_com/rom_com_fx.c | 448 +--- lib_com/scale_mem_fx.c | 34 +- lib_com/stab_est_fx.c | 3 + lib_com/stat_com.h | 34 +- lib_com/stat_noise_uv_mod_fx.c | 3 + lib_com/swb_bwe_com_fx.c | 38 +- lib_com/swb_bwe_com_hr_fx.c | 3 + lib_com/swb_bwe_com_lr_fx.c | 34 +- lib_com/swb_tbe_com_fx.c | 7 +- lib_com/syn_12k8_fx.c | 3 + lib_com/syn_filt_fx.c | 3 + lib_com/tcq_position_arith_fx.c | 3 + lib_com/tcx_ltp_fx.c | 3 + lib_com/tcx_mdct_fx.c | 3 + lib_com/tcx_mdct_window_fx.c | 34 +- lib_com/tcx_utils_fx.c | 3 + lib_com/tec_com_fx.c | 3 + lib_com/tns_base.c | 3 + lib_com/tools_fx.c | 51 +- lib_com/trans_direct_fx.c | 3 + lib_com/trans_inv_fx.c | 7 +- lib_com/vlpc_2st_com_fx.c | 3 + lib_com/weight_a_fx.c | 3 + lib_com/weight_fx.c | 3 + lib_com/wi_fx.c | 3 + lib_com/window_fx.c | 3 + lib_com/window_ola_fx.c | 3 + lib_com/wtda_fx.c | 3 + lib_debug/debug.c | 997 -------- lib_debug/debug.h | 266 -- lib_debug/sba_debug.c | 432 ---- lib_debug/sba_debug.h | 61 - lib_debug/snr.c | 465 ---- lib_debug/wmc_auto.c | 3 + lib_debug/wmc_auto.h | 3 + lib_dec/ACcontextMapping_dec_fx.c | 12 +- lib_dec/FEC_HQ_core_fx.c | 3 + lib_dec/FEC_HQ_phase_ecu_fx.c | 3 + lib_dec/FEC_adapt_codebook_fx.c | 3 + lib_dec/FEC_clas_estim_fx.c | 3 + lib_dec/FEC_fx.c | 3 + lib_dec/FEC_lsf_estim_fx.c | 3 + lib_dec/FEC_pitch_estim_fx.c | 3 + lib_dec/FEC_scale_syn_fx.c | 3 + lib_dec/LD_music_post_filter_fx.c | 3 + lib_dec/TonalComponentDetection_fx.c | 3 + lib_dec/acelp_core_dec_fx.c | 34 +- lib_dec/acelp_core_switch_dec_fx.c | 3 + lib_dec/amr_wb_dec_fx.c | 3 + lib_dec/ari_dec_fx.c | 187 +- lib_dec/ari_hm_dec_fx.c | 34 +- lib_dec/arith_coder_dec_fx.c | 3 + lib_dec/avq_dec_fx.c | 3 + lib_dec/bass_psfilter_fx.c | 3 + lib_dec/cng_dec_fx.c | 3 + lib_dec/core_dec_init_fx.c | 3 + lib_dec/core_dec_reconf_fx.c | 3 + lib_dec/core_dec_switch_fx.c | 3 + lib_dec/core_switching_dec_fx.c | 3 + lib_dec/d_gain2p_fx.c | 3 + lib_dec/dec2t32_fx.c | 3 + lib_dec/dec4t64_fx.c | 3 + lib_dec/dec_LPD_fx.c | 3 + lib_dec/dec_ace_fx.c | 3 + lib_dec/dec_acelp_fx.c | 3 + lib_dec/dec_acelp_tcx_main_fx.c | 3 + lib_dec/dec_amr_wb_fx.c | 3 + lib_dec/dec_gen_voic_fx.c | 3 + lib_dec/dec_higher_acelp_fx.c | 3 + lib_dec/dec_nelp_fx.c | 3 + lib_dec/dec_pit_exc_fx.c | 3 + lib_dec/dec_post_fx.c | 3 + lib_dec/dec_ppp_fx.c | 3 + lib_dec/dec_prm_fx.c | 3 + lib_dec/dec_tcx_fx.c | 3 + lib_dec/dec_tran_fx.c | 3 + lib_dec/dec_uv_fx.c | 3 + lib_dec/decision_matrix_dec_fx.c | 3 + lib_dec/dlpc_avq_fx.c | 3 + lib_dec/dlpc_stoch_fx.c | 3 + lib_dec/er_dec_acelp_fx.c | 3 + lib_dec/er_dec_tcx_fx.c | 3 + lib_dec/er_scale_syn_fx.c | 3 + lib_dec/er_sync_exc_fx.c | 3 + lib_dec/er_util_fx.c | 3 + lib_dec/evs_dec_fx.c | 3 + lib_dec/fd_cng_dec_fx.c | 12 +- lib_dec/gain_dec_fx.c | 3 + lib_dec/gaus_dec_fx.c | 3 + lib_dec/gs_dec_amr_wb_fx.c | 3 + lib_dec/gs_dec_fx.c | 3 + lib_dec/hdecnrm_fx.c | 3 + lib_dec/hf_synth_fx.c | 3 + lib_dec/hq_classifier_dec_fx.c | 3 + lib_dec/hq_conf_fec_fx.c | 3 + lib_dec/hq_core_dec_fx.c | 3 + lib_dec/hq_env_dec_fx.c | 3 + lib_dec/hq_hr_dec_fx.c | 3 + lib_dec/hq_lr_dec_fx.c | 3 + lib_dec/igf_dec_fx.c | 3 + lib_dec/igf_scf_dec_fx.c | 3 + lib_dec/init_dec_fx.c | 34 +- lib_dec/inov_dec_fx.c | 3 + lib_dec/ivas_agc_dec_fx.c | 34 +- lib_dec/ivas_core_dec_fx.c | 34 +- lib_dec/ivas_corecoder_dec_reconfig_fx.c | 95 +- lib_dec/ivas_cpe_dec_fx.c | 34 +- lib_dec/ivas_dec_fx.c | 37 +- lib_dec/ivas_dec_render_fx.c | 50 +- lib_dec/ivas_decision_matrix_dec_fx.c | 34 +- lib_dec/ivas_dirac_dec_fx.c | 44 +- lib_dec/ivas_dirac_output_synthesis_cov_fx.c | 34 +- lib_dec/ivas_entropy_decoder_fx.c | 34 +- lib_dec/ivas_init_dec_fx.c | 275 +- lib_dec/ivas_ism_dec_fx.c | 34 +- lib_dec/ivas_ism_dtx_dec_fx.c | 34 +- lib_dec/ivas_ism_metadata_dec_fx.c | 34 +- lib_dec/ivas_ism_param_dec_fx.c | 37 +- lib_dec/ivas_ism_renderer_fx.c | 38 +- lib_dec/ivas_lfe_dec_fx.c | 34 +- lib_dec/ivas_lfe_plc_fx.c | 34 +- lib_dec/ivas_ls_custom_dec_fx.c | 34 +- lib_dec/ivas_masa_dec_fx.c | 34 +- lib_dec/ivas_mc_param_dec_fx.c | 34 +- lib_dec/ivas_mc_paramupmix_dec_fx.c | 34 +- lib_dec/ivas_mcmasa_dec_fx.c | 34 +- lib_dec/ivas_mct_core_dec_fx.c | 37 +- lib_dec/ivas_mct_dec_fx.c | 34 +- lib_dec/ivas_mct_dec_mct_fx_fx.c | 34 +- lib_dec/ivas_mdct_core_dec_fx.c | 65 +- lib_dec/ivas_mono_dmx_renderer_fx.c | 34 +- lib_dec/ivas_objectRenderer_internal_fx.c | 47 +- lib_dec/ivas_omasa_dec_fx.c | 34 +- lib_dec/ivas_osba_dec_fx.c | 34 +- lib_dec/ivas_out_setup_conversion_fx.c | 37 +- lib_dec/ivas_output_config_fx.c | 34 +- lib_dec/ivas_pca_dec_fx.c | 34 +- lib_dec/ivas_post_proc_fx.c | 34 +- lib_dec/ivas_qmetadata_dec_fx.c | 34 +- lib_dec/ivas_qspherical_dec_fx.c | 34 +- lib_dec/ivas_range_uni_dec_fx.c | 34 +- lib_dec/ivas_rom_dec.h | 37 +- lib_dec/ivas_rom_dec_fx.c | 118 +- lib_dec/ivas_sba_dec_fx.c | 34 +- lib_dec/ivas_sba_dirac_stereo_dec_fx.c | 44 +- lib_dec/ivas_sba_rendering_internal_fx.c | 40 +- lib_dec/ivas_sce_dec_fx.c | 34 +- lib_dec/ivas_sns_dec_fx.c | 34 +- lib_dec/ivas_spar_decoder_fx.c | 37 +- lib_dec/ivas_spar_md_dec_fx.c | 45 +- lib_dec/ivas_stat_dec.h | 40 +- lib_dec/ivas_stereo_adapt_GR_dec_fx.c | 34 +- lib_dec/ivas_stereo_cng_dec_fx.c | 34 +- lib_dec/ivas_stereo_dft_dec_dmx_fx.c | 34 +- lib_dec/ivas_stereo_dft_dec_fx.c | 51 +- lib_dec/ivas_stereo_dft_plc_fx.c | 34 +- lib_dec/ivas_stereo_eclvq_dec_fx.c | 34 +- lib_dec/ivas_stereo_esf_dec_fx.c | 34 +- lib_dec/ivas_stereo_ica_dec_fx.c | 34 +- lib_dec/ivas_stereo_icbwe_dec_fx.c | 34 +- lib_dec/ivas_stereo_mdct_core_dec_fx.c | 34 +- lib_dec/ivas_stereo_mdct_stereo_dec_fx.c | 34 +- lib_dec/ivas_stereo_switching_dec_fx.c | 36 +- lib_dec/ivas_stereo_td_dec_fx.c | 34 +- lib_dec/ivas_svd_dec_fx.c | 37 +- lib_dec/ivas_tcx_core_dec_fx.c | 34 +- lib_dec/ivas_td_low_rate_dec_fx.c | 34 +- lib_dec/jbm_jb4_circularbuffer.h | 34 +- lib_dec/jbm_jb4_circularbuffer_fx.c | 34 +- lib_dec/jbm_jb4_inputbuffer.h | 34 +- lib_dec/jbm_jb4_inputbuffer_fx.c | 34 +- lib_dec/jbm_jb4_jmf.h | 34 +- lib_dec/jbm_jb4_jmf_fx.c | 34 +- lib_dec/jbm_jb4sb.h | 36 +- lib_dec/jbm_jb4sb_fx.c | 44 +- lib_dec/jbm_pcmdsp_apa.h | 34 +- lib_dec/jbm_pcmdsp_apa_fx.c | 44 +- lib_dec/jbm_pcmdsp_fifo.h | 34 +- lib_dec/jbm_pcmdsp_similarityestimation.h | 34 +- lib_dec/jbm_pcmdsp_similarityestimation_fx.c | 34 +- lib_dec/jbm_pcmdsp_window.h | 34 +- lib_dec/jbm_pcmdsp_window_fx.c | 34 +- lib_dec/lead_deindexing_fx.c | 3 + lib_dec/lib_dec.h | 47 +- lib_dec/lib_dec_fx.c | 256 +- lib_dec/lp_exc_d_fx.c | 3 + lib_dec/lsf_dec_fx.c | 3 + lib_dec/lsf_msvq_ma_dec_fx.c | 3 + lib_dec/nelp_dec_fx.c | 3 + lib_dec/peak_vq_dec_fx.c | 3 + lib_dec/pit_dec_fx.c | 3 + lib_dec/pitch_extr_fx.c | 3 + lib_dec/post_dec_fx.c | 3 + lib_dec/ppp_dec_fx.c | 3 + lib_dec/pvq_core_dec_fx.c | 3 + lib_dec/pvq_decode_fx.c | 3 + lib_dec/range_dec_fx.c | 3 + lib_dec/re8_dec_fx.c | 3 + lib_dec/rom_dec.h | 34 +- lib_dec/rom_dec_fx.c | 34 +- lib_dec/rst_dec_fx.c | 3 + lib_dec/stat_dec.h | 37 +- lib_dec/stat_noise_uv_dec_fx.c | 3 + lib_dec/swb_bwe_dec_fx.c | 3 + lib_dec/swb_bwe_dec_hr_fx.c | 3 + lib_dec/swb_bwe_dec_lr_fx.c | 3 + lib_dec/swb_tbe_dec_fx.c | 3 + lib_dec/syn_outp_fx.c | 3 + lib_dec/tcq_core_dec_fx.c | 3 + lib_dec/tcx_utils_dec_fx.c | 3 + lib_dec/tns_base_dec_fx.c | 3 + lib_dec/tonalMDCTconcealment_fx.c | 3 + lib_dec/transition_dec_fx.c | 3 + lib_dec/updt_dec_fx.c | 3 + lib_dec/vlpc_1st_dec_fx.c | 3 + lib_dec/vlpc_2st_dec_fx.c | 3 + lib_dec/voiced_dec_fx.c | 3 + lib_dec/waveadjust_fec_dec_fx.c | 3 + lib_enc/ACcontextMapping_enc_fx.c | 15 +- lib_enc/FEC_enc_fx.c | 3 + lib_enc/SNR_calc_fx.c | 3 + lib_enc/acelp_core_enc_fx.c | 29 +- lib_enc/acelp_core_switch_enc_fx.c | 31 +- lib_enc/acelp_enc_util_fx.c | 3 + lib_enc/amr_wb_enc_fx.c | 20 +- lib_enc/analy_lp_fx.c | 3 + lib_enc/analy_sp_fx.c | 3 + lib_enc/ari_enc_fx.c | 331 +-- lib_enc/ari_hm_enc_fx.c | 3 + lib_enc/arith_coder_enc_fx.c | 11 +- lib_enc/avq_cod_fx.c | 9 +- lib_enc/bass_psfilter_enc_fx.c | 3 + lib_enc/bw_detect_fx.c | 3 + lib_enc/cng_enc_fx.c | 52 +- lib_enc/cod2t32_fx.c | 3 + lib_enc/cod4t64_fast_fx.c | 34 +- lib_enc/cod4t64_fx.c | 3 + lib_enc/cod_ace_fx.c | 3 + lib_enc/cod_tcx_fx.c | 63 +- lib_enc/cod_uv_fx.c | 3 + lib_enc/comvad_decision_fx.c | 3 + lib_enc/cor_shif_fx.c | 3 + lib_enc/core_enc_2div_fx.c | 3 + lib_enc/core_enc_init_fx.c | 39 +- lib_enc/core_enc_ol_fx.c | 16 +- lib_enc/core_enc_reconf_fx.c | 3 + lib_enc/core_enc_switch_fx.c | 20 +- lib_enc/core_enc_updt_fx.c | 3 + lib_enc/core_switching_enc_fx.c | 12 +- lib_enc/corr_xh_fx.c | 3 + lib_enc/decision_matrix_enc_fx.c | 18 +- lib_enc/detect_transient_fx.c | 34 +- lib_enc/diffcod_fx.c | 3 + lib_enc/dtx_fx.c | 3 + lib_enc/enc_acelp_fx.c | 3 + lib_enc/enc_acelp_tcx_main_fx.c | 3 + lib_enc/enc_acelpx_fx.c | 3 + lib_enc/enc_amr_wb_fx.c | 3 + lib_enc/enc_gain_fx.c | 3 + lib_enc/enc_gen_voic_fx.c | 7 +- lib_enc/enc_gen_voic_rf_fx.c | 3 + lib_enc/enc_higher_acelp_fx.c | 45 +- lib_enc/enc_nelp_fx.c | 3 + lib_enc/enc_pit_exc_fx.c | 3 + lib_enc/enc_ppp_fx.c | 3 + lib_enc/enc_prm_fx.c | 3 + lib_enc/enc_tran_fx.c | 3 + lib_enc/enc_uv_fx.c | 6 +- lib_enc/energy_fx.c | 3 + lib_enc/eval_pit_contr_fx.c | 3 + lib_enc/evs_enc_fx.c | 58 +- lib_enc/ext_sig_ana_fx.c | 38 +- lib_enc/fd_cng_enc_fx.c | 130 +- lib_enc/find_tar_fx.c | 3 + lib_enc/find_tilt_fx.c | 3 + lib_enc/find_uv_fx.c | 3 + lib_enc/find_wsp_fx.c | 3 + lib_enc/frame_spec_dif_cor_rate_fx.c | 3 + lib_enc/gain_enc_fx.c | 3 + lib_enc/gaus_enc_fx.c | 3 + lib_enc/gp_clip_fx.c | 34 +- lib_enc/gs_enc_fx.c | 3 + lib_enc/guided_plc_enc_fx.c | 3 + lib_enc/hf_cod_amrwb_fx.c | 3 + lib_enc/hq_classifier_enc_fx.c | 3 + lib_enc/hq_core_enc_fx.c | 9 +- lib_enc/hq_env_enc_fx.c | 3 + lib_enc/hq_hr_enc_fx.c | 3 + lib_enc/hq_lr_enc_fx.c | 3 + lib_enc/hvq_enc_fx.c | 3 + lib_enc/igf_enc_fx.c | 242 +- lib_enc/igf_scf_enc_fx.c | 122 +- lib_enc/init_enc_fx.c | 49 +- lib_enc/inov_enc_fx.c | 9 +- lib_enc/isf_enc_amr_wb_fx.c | 34 +- lib_enc/ivas_agc_enc_fx.c | 34 +- lib_enc/ivas_core_enc_fx.c | 433 +--- lib_enc/ivas_core_pre_proc_front_fx.c | 300 +-- lib_enc/ivas_core_pre_proc_fx.c | 338 +-- lib_enc/ivas_corecoder_enc_reconfig_fx.c | 49 +- lib_enc/ivas_cpe_enc_fx.c | 261 +- lib_enc/ivas_decision_matrix_enc_fx.c | 118 +- lib_enc/ivas_dirac_enc_fx.c | 34 +- lib_enc/ivas_enc_cov_handler_fx.c | 34 +- lib_enc/ivas_enc_fx.c | 47 +- lib_enc/ivas_entropy_coder_fx.c | 53 +- lib_enc/ivas_front_vad_fx.c | 41 +- lib_enc/ivas_init_enc_fx.c | 49 +- lib_enc/ivas_ism_dtx_enc_fx.c | 34 +- lib_enc/ivas_ism_enc_fx.c | 65 +- lib_enc/ivas_ism_metadata_enc_fx.c | 44 +- lib_enc/ivas_ism_param_enc_fx.c | 34 +- lib_enc/ivas_lfe_enc_fx.c | 38 +- lib_enc/ivas_masa_enc_fx.c | 34 +- lib_enc/ivas_mc_param_enc_fx.c | 34 +- lib_enc/ivas_mc_paramupmix_enc_fx.c | 37 +- lib_enc/ivas_mcmasa_enc_fx.c | 34 +- lib_enc/ivas_mct_core_enc_fx.c | 34 +- lib_enc/ivas_mct_enc_fx.c | 50 +- lib_enc/ivas_mct_enc_mct_fx.c | 34 +- lib_enc/ivas_mdct_core_enc_fx.c | 61 +- lib_enc/ivas_omasa_enc_fx.c | 66 +- lib_enc/ivas_osba_enc_fx.c | 34 +- lib_enc/ivas_pca_enc_fx.c | 34 +- lib_enc/ivas_qmetadata_enc_fx.c | 49 +- lib_enc/ivas_qspherical_enc_fx.c | 34 +- lib_enc/ivas_range_uni_enc_fx.c | 34 +- lib_enc/ivas_rom_enc.h | 34 +- lib_enc/ivas_rom_enc_fx.c | 34 +- lib_enc/ivas_sba_enc_fx.c | 34 +- lib_enc/ivas_sce_enc_fx.c | 59 +- lib_enc/ivas_sns_enc_fx.c | 34 +- lib_enc/ivas_spar_encoder_fx.c | 56 +- lib_enc/ivas_spar_md_enc_fx.c | 34 +- lib_enc/ivas_stat_enc.h | 66 +- lib_enc/ivas_stereo_adapt_GR_enc_fx.c | 34 +- lib_enc/ivas_stereo_classifier_fx.c | 97 +- lib_enc/ivas_stereo_cng_enc_fx.c | 34 +- lib_enc/ivas_stereo_dft_enc_fx.c | 186 +- lib_enc/ivas_stereo_dft_enc_itd_fx.c | 43 +- lib_enc/ivas_stereo_dft_td_itd_fx.c | 42 +- lib_enc/ivas_stereo_dmx_evs_fx.c | 34 +- lib_enc/ivas_stereo_eclvq_enc_fx.c | 34 +- lib_enc/ivas_stereo_ica_enc_fx.c | 34 +- lib_enc/ivas_stereo_icbwe_enc_fx.c | 42 +- lib_enc/ivas_stereo_mdct_core_enc_fx.c | 66 +- lib_enc/ivas_stereo_mdct_igf_enc_fx.c | 34 +- lib_enc/ivas_stereo_mdct_stereo_enc_fx.c | 66 +- lib_enc/ivas_stereo_switching_enc_fx.c | 80 +- lib_enc/ivas_stereo_td_analysis_fx.c | 58 +- lib_enc/ivas_stereo_td_enc_fx.c | 46 +- lib_enc/ivas_tcx_core_enc_fx.c | 135 +- lib_enc/ivas_td_low_rate_enc_fx.c | 34 +- lib_enc/lead_indexing_fx.c | 3 + lib_enc/lib_enc.h | 82 +- lib_enc/lib_enc_fx.c | 245 +- lib_enc/long_enr_fx.c | 3 + lib_enc/lp_exc_e_fx.c | 3 + lib_enc/lsf_enc_fx.c | 3 + lib_enc/lsf_msvq_ma_enc_fx.c | 3 + lib_enc/ltd_stable_fx.c | 3 + lib_enc/mdct_classifier_fx.c | 3 + lib_enc/mdct_selector_fx.c | 3 + lib_enc/mslvq_enc_fx.c | 3 + lib_enc/multi_harm_fx.c | 3 + lib_enc/nelp_enc_fx.c | 34 +- lib_enc/nois_est_fx.c | 3 + lib_enc/noise_adjust_fx.c | 3 + lib_enc/normalizecoefs_fx.c | 3 + lib_enc/peak_vq_enc_fx.c | 3 + lib_enc/pit_enc_fx.c | 3 + lib_enc/pitch_ol2_fx.c | 3 + lib_enc/pitch_ol_fx.c | 3 + lib_enc/plc_enc_ext_fx.c | 3 + lib_enc/ppp_enc_fx.c | 3 + lib_enc/pre_proc_fx.c | 7 +- lib_enc/prot_fx_enc.h | 160 +- lib_enc/pvq_core_enc_fx.c | 3 + lib_enc/pvq_encode_fx.c | 3 + lib_enc/q_gain2p_fx.c | 3 + lib_enc/qlpc_avq_fx.c | 3 + lib_enc/qlpc_stoch_fx.c | 3 + lib_enc/range_enc_fx.c | 3 + lib_enc/re8_cod_fx.c | 3 + lib_enc/reordernorm_fx.c | 3 + lib_enc/rom_enc.h | 34 +- lib_enc/rom_enc_fx.c | 34 +- lib_enc/rst_enc_fx.c | 3 + lib_enc/scale_enc_fx.c | 3 + lib_enc/set_impulse_fx.c | 3 + lib_enc/setmodeindex_fx.c | 3 + lib_enc/sig_clas_fx.c | 3 + lib_enc/spec_center_fx.c | 3 + lib_enc/spec_flatness_fx.c | 3 + lib_enc/speech_music_classif_fx.c | 46 +- lib_enc/stat_enc.h | 88 +- lib_enc/stat_noise_uv_enc_fx.c | 3 + lib_enc/subband_fft_fx.c | 3 + lib_enc/swb_bwe_enc_fx.c | 95 +- lib_enc/swb_bwe_enc_hr_fx.c | 3 + lib_enc/swb_bwe_enc_lr_fx.c | 34 +- lib_enc/swb_pre_proc_fx.c | 238 +- lib_enc/swb_tbe_enc_fx.c | 69 +- lib_enc/tcq_core_enc_fx.c | 3 + lib_enc/tcx_ltp_enc_fx.c | 3 + lib_enc/tcx_utils_enc_fx.c | 156 +- lib_enc/tfa_enc_fx.c | 3 + lib_enc/tns_base_enc_fx.c | 3 + lib_enc/transient_detection_fx.c | 15 +- lib_enc/transition_enc_fx.c | 3 + lib_enc/update_decision_fx.c | 3 + lib_enc/updt_enc_fx.c | 10 +- lib_enc/updt_tar_fx.c | 3 + lib_enc/vad_basop.h | 3 + lib_enc/vad_basop_fx.c | 3 + lib_enc/vad_fx.c | 3 + lib_enc/vad_param_updt_fx.c | 3 + lib_enc/vad_proc_fx.c | 3 + lib_enc/vbr_average_rate_fx.c | 3 + lib_enc/vlpc_1st_cod_fx.c | 3 + lib_enc/vlpc_2st_cod_fx.c | 3 + lib_enc/voiced_enc_fx.c | 3 + lib_enc/waveadjust_fec_cod_fx.c | 3 + lib_isar/isar_MSPred.c | 34 +- lib_isar/isar_PerceptualModel.c | 34 +- lib_isar/isar_PredDecoder.c | 34 +- lib_isar/isar_PredEncoder.c | 34 +- lib_isar/isar_RMSEnvGrouping.c | 40 +- lib_isar/isar_cnst.h | 34 +- lib_isar/isar_lc3plus_common.c | 34 +- lib_isar/isar_lc3plus_common.h | 34 +- lib_isar/isar_lc3plus_dec.c | 34 +- lib_isar/isar_lc3plus_dec.h | 34 +- lib_isar/isar_lc3plus_enc.c | 34 +- lib_isar/isar_lc3plus_enc.h | 34 +- lib_isar/isar_lc3plus_payload.c | 34 +- lib_isar/isar_lc3plus_payload.h | 34 +- lib_isar/isar_lcld_decoder.c | 35 +- lib_isar/isar_lcld_encoder.c | 34 +- lib_isar/isar_lcld_prot.h | 34 +- lib_isar/isar_prot.h | 60 +- lib_isar/isar_rom_lcld_tables.c | 1482 +---------- lib_isar/isar_rom_lcld_tables.h | 45 +- lib_isar/isar_rom_post_rend.c | 37 +- lib_isar/isar_rom_post_rend.h | 37 +- lib_isar/isar_splitRend_lcld_dec.c | 37 +- lib_isar/isar_splitRend_lcld_enc.c | 40 +- lib_isar/isar_splitRendererPLC.c | 37 +- lib_isar/isar_splitRendererPost.c | 282 +- lib_isar/isar_splitRendererPre.c | 320 +-- lib_isar/isar_splitRenderer_utils.c | 92 +- lib_isar/isar_stat.h | 47 +- lib_isar/lib_isar_post_rend.c | 75 +- lib_isar/lib_isar_post_rend.h | 43 +- lib_isar/lib_isar_pre_rend.c | 50 +- lib_isar/lib_isar_pre_rend.h | 34 +- lib_lc3plus/adjust_global_gain_fx.c | 3 + lib_lc3plus/al_fec.c | 3 + lib_lc3plus/apply_global_gain_fx.c | 3 + lib_lc3plus/ari_codec.c | 3 + lib_lc3plus/attack_detector_fx.c | 3 + lib_lc3plus/basop_mpy_lc3plus.c | 3 + lib_lc3plus/basop_mpy_lc3plus.h | 3 + lib_lc3plus/basop_util_lc3plus.c | 3 + lib_lc3plus/basop_util_lc3plus.h | 3 + lib_lc3plus/com_entropy.c | 3 + lib_lc3plus/constants.c | 3 + lib_lc3plus/constants.h | 3 + lib_lc3plus/cutoff_bandwidth.c | 3 + lib_lc3plus/dct2_fx.c | 3 + lib_lc3plus/dct4_fx.c | 3 + lib_lc3plus/dec_entropy.c | 3 + lib_lc3plus/dec_lc3plus.c | 3 + lib_lc3plus/defines.h | 3 + lib_lc3plus/detect_cutoff_warped_fx.c | 3 + lib_lc3plus/dynmem.c | 3 + lib_lc3plus/dynmem.h | 3 + lib_lc3plus/enc_entropy.c | 3 + lib_lc3plus/enc_lc3plus.c | 3 + lib_lc3plus/estimate_global_gain_fx.c | 3 + lib_lc3plus/fft_lc3plus.c | 3 + lib_lc3plus/functions.h | 3 + lib_lc3plus/imdct_fx.c | 3 + lib_lc3plus/lc3plus.c | 3 + lib_lc3plus/lc3plus.h | 3 + lib_lc3plus/levinson_fx.c | 3 + lib_lc3plus/license.h | 3 + lib_lc3plus/ltpf_coder_fx.c | 3 + lib_lc3plus/ltpf_decoder_fx.c | 3 + lib_lc3plus/mdct_fx.c | 3 + lib_lc3plus/mdct_shaping_fx.c | 3 + lib_lc3plus/near_nyquist_detector_fx.c | 3 + lib_lc3plus/noise_factor_fx.c | 3 + lib_lc3plus/noise_filling_fx.c | 3 + lib_lc3plus/olpa_fx.c | 3 + lib_lc3plus/pc_apply_fx.c | 3 + lib_lc3plus/pc_classify_fx.c | 3 + lib_lc3plus/pc_main_fx.c | 3 + lib_lc3plus/pc_update_fx.c | 3 + lib_lc3plus/per_band_energy_fx.c | 3 + lib_lc3plus/plc_apply_fx.c | 3 + lib_lc3plus/plc_classify_fx.c | 3 + lib_lc3plus/plc_damping_scrambling_fx.c | 3 + lib_lc3plus/plc_lpc_scaling_fx.c | 3 + lib_lc3plus/plc_main_fx.c | 3 + lib_lc3plus/plc_noise_substitution_fx.c | 3 + lib_lc3plus/plc_phecu_f0_refine_first_fx.c | 3 + lib_lc3plus/plc_phecu_fec_hq_fx.c | 3 + lib_lc3plus/plc_phecu_lf_peak_analysis_fx.c | 3 + lib_lc3plus/plc_phecu_peak_locator_fx.c | 3 + lib_lc3plus/plc_phecu_setf0hz_fx.c | 3 + lib_lc3plus/plc_phecu_tools_fx.c | 3 + lib_lc3plus/plc_tdac_fx.c | 3 + lib_lc3plus/plc_tdc_inverse_odft_fx.c | 3 + lib_lc3plus/plc_tdc_lagwin_fx.c | 3 + lib_lc3plus/plc_tdc_main_fx.c | 3 + lib_lc3plus/plc_tdc_pre_emphasis_fx.c | 3 + lib_lc3plus/plc_update_aft_imdct_fx.c | 3 + lib_lc3plus/plc_update_fx.c | 3 + lib_lc3plus/plc_xcorr_fx.c | 3 + lib_lc3plus/pvq_dec_fx.c | 3 + lib_lc3plus/pvq_enc_fx.c | 3 + lib_lc3plus/pvq_index_fx.c | 3 + lib_lc3plus/quantize_spec_fx.c | 3 + lib_lc3plus/reorder_bitstream_fx.c | 3 + lib_lc3plus/resamp12k8_fx.c | 3 + lib_lc3plus/residual_coding_fx.c | 3 + lib_lc3plus/residual_decoding_fx.c | 3 + lib_lc3plus/rom_basop_util_lc3plus.c | 3 + lib_lc3plus/rom_basop_util_lc3plus.h | 3 + lib_lc3plus/scale_signal24_fx.c | 3 + lib_lc3plus/setup_com_lc3plus.c | 3 + lib_lc3plus/setup_dec_lc3plus.c | 3 + lib_lc3plus/setup_dec_lc3plus.h | 3 + lib_lc3plus/setup_enc_lc3plus.c | 3 + lib_lc3plus/setup_enc_lc3plus.h | 3 + lib_lc3plus/sns_compute_scf_fx.c | 3 + lib_lc3plus/sns_interpolate_scf_fx.c | 3 + lib_lc3plus/sns_quantize_scf_fx.c | 3 + lib_lc3plus/tns_coder_fx.c | 3 + lib_lc3plus/tns_decoder_fx.c | 3 + lib_rend/ivas_allrad_dec_fx.c | 41 +- lib_rend/ivas_binRenderer_internal_fx.c | 37 +- lib_rend/ivas_cldfb_ring_buffer.c | 37 +- lib_rend/ivas_crend_fx.c | 37 +- lib_rend/ivas_dirac_ana_fx.c | 34 +- .../ivas_dirac_dec_binaural_functions_fx.c | 34 +- lib_rend/ivas_dirac_decorr_dec_fx.c | 34 +- lib_rend/ivas_dirac_onsets_dec_fx.c | 34 +- lib_rend/ivas_dirac_output_synthesis_dec_fx.c | 36 +- lib_rend/ivas_dirac_rend_fx.c | 181 +- lib_rend/ivas_efap_fx.c | 38 +- lib_rend/ivas_hrtf_fx.c | 34 +- lib_rend/ivas_masa_merge_fx.c | 34 +- lib_rend/ivas_mcmasa_ana_fx.c | 34 +- lib_rend/ivas_objectRenderer_fx.c | 96 +- lib_rend/ivas_objectRenderer_hrFilt_fx.c | 35 +- lib_rend/ivas_objectRenderer_mix_fx.c | 48 +- lib_rend/ivas_objectRenderer_sfx_fx.c | 34 +- lib_rend/ivas_objectRenderer_sources_fx.c | 111 +- lib_rend/ivas_objectRenderer_vec_fx.c | 44 +- lib_rend/ivas_omasa_ana_fx.c | 34 +- lib_rend/ivas_orient_trk_fx.c | 34 +- lib_rend/ivas_output_init_fx.c | 34 +- lib_rend/ivas_prot_rend_fx.h | 38 +- lib_rend/ivas_reflections_fx.c | 37 +- lib_rend/ivas_render_config_fx.c | 91 +- lib_rend/ivas_reverb_delay_line_fx.c | 37 +- lib_rend/ivas_reverb_fft_filter_fx.c | 37 +- lib_rend/ivas_reverb_filter_design_fx.c | 34 +- lib_rend/ivas_reverb_fx.c | 39 +- lib_rend/ivas_reverb_iir_filter_fx.c | 37 +- lib_rend/ivas_reverb_utils_fx.c | 34 +- lib_rend/ivas_rom_TdBinauralRenderer.h | 34 +- lib_rend/ivas_rom_TdBinauralRenderer_fx.c | 40 +- lib_rend/ivas_rom_binauralRenderer.h | 34 +- lib_rend/ivas_rom_binauralRenderer_fx.c | 45 +- lib_rend/ivas_rom_binaural_crend_head.h | 34 +- lib_rend/ivas_rom_binaural_crend_head_fx.c | 34 +- lib_rend/ivas_rom_rend.h | 34 +- lib_rend/ivas_rom_rend_fx.c | 54 +- lib_rend/ivas_rotation_fx.c | 40 +- lib_rend/ivas_sba_rendering_fx.c | 34 +- lib_rend/ivas_shoebox_fx.c | 34 +- lib_rend/ivas_stat_rend.h | 49 +- lib_rend/ivas_td_decorr_fx.c | 37 +- lib_rend/ivas_td_ring_buffer_fx.c | 34 +- lib_rend/ivas_vbap_fx.c | 34 +- lib_rend/lib_rend.h | 34 +- lib_rend/lib_rend_fx.c | 106 +- lib_util/aeid_file_reader.c | 34 +- lib_util/aeid_file_reader.h | 34 +- lib_util/ambi_convert.c | 34 +- lib_util/ambi_convert.h | 34 +- lib_util/audio_file_reader.c | 34 +- lib_util/audio_file_reader.h | 34 +- lib_util/audio_file_writer.c | 34 +- lib_util/audio_file_writer.h | 34 +- lib_util/bitstream_reader.c | 34 +- lib_util/bitstream_reader.h | 34 +- lib_util/bitstream_writer.c | 34 +- lib_util/bitstream_writer.h | 34 +- lib_util/cmdl_tools.c | 34 +- lib_util/cmdl_tools.h | 34 +- lib_util/cmdln_parser.c | 34 +- lib_util/cmdln_parser.h | 34 +- lib_util/evs_rtp_payload.c | 34 +- lib_util/evs_rtp_payload.h | 34 +- lib_util/float_to_fix_ops.c | 7 +- lib_util/float_to_fix_ops.h | 5 +- lib_util/g192.c | 34 +- lib_util/g192.h | 34 +- lib_util/hrtf_file_reader.c | 34 +- lib_util/hrtf_file_reader.h | 34 +- lib_util/ism_file_reader.c | 34 +- lib_util/ism_file_reader.h | 34 +- lib_util/ism_file_writer.c | 34 +- lib_util/ism_file_writer.h | 34 +- lib_util/ivas_bpool.c | 34 +- lib_util/ivas_bpool.h | 34 +- lib_util/ivas_queue.c | 34 +- lib_util/ivas_queue.h | 34 +- lib_util/ivas_rtp_api.h | 36 +- lib_util/ivas_rtp_file.c | 49 +- lib_util/ivas_rtp_file.h | 34 +- lib_util/ivas_rtp_internal.h | 34 +- lib_util/ivas_rtp_payload.c | 34 +- lib_util/ivas_rtp_pi_data.c | 34 +- lib_util/ivas_rtp_pi_data.h | 34 +- lib_util/jbm_file_reader.c | 34 +- lib_util/jbm_file_reader.h | 34 +- lib_util/jbm_file_writer.c | 34 +- lib_util/jbm_file_writer.h | 34 +- lib_util/ls_custom_file_reader.c | 34 +- lib_util/ls_custom_file_reader.h | 34 +- lib_util/masa_file_reader.c | 34 +- lib_util/masa_file_reader.h | 34 +- lib_util/masa_file_writer.c | 34 +- lib_util/masa_file_writer.h | 34 +- lib_util/mime_io.c | 34 +- lib_util/mime_io.h | 34 +- lib_util/mutex.h | 34 +- lib_util/obj_edit_file_reader.c | 34 +- lib_util/obj_edit_file_reader.h | 34 +- lib_util/render_config_reader.c | 183 +- lib_util/render_config_reader.h | 38 +- lib_util/requests_file_reader.c | 34 +- lib_util/requests_file_reader.h | 34 +- lib_util/rotation_file_reader.c | 48 +- lib_util/rotation_file_reader.h | 34 +- lib_util/rtpdump.c | 34 +- lib_util/rtpdump.h | 34 +- lib_util/split_rend_bfi_file_reader.c | 34 +- lib_util/split_rend_bfi_file_reader.h | 34 +- lib_util/split_render_file_read_write.c | 34 +- lib_util/split_render_file_read_write.h | 34 +- lib_util/tinywavein_c.h | 34 +- lib_util/tinywaveout_c.h | 34 +- lib_util/vector3_pair_file_reader.c | 34 +- lib_util/vector3_pair_file_reader.h | 34 +- 837 files changed, 2631 insertions(+), 27669 deletions(-) delete mode 100644 lib_debug/debug.c delete mode 100644 lib_debug/debug.h delete mode 100644 lib_debug/sba_debug.c delete mode 100644 lib_debug/sba_debug.h delete mode 100644 lib_debug/snr.c diff --git a/Workspace_msvc/lib_debug.vcxproj b/Workspace_msvc/lib_debug.vcxproj index ef9c58a89..f29b302f7 100644 --- a/Workspace_msvc/lib_debug.vcxproj +++ b/Workspace_msvc/lib_debug.vcxproj @@ -102,14 +102,9 @@ - - - - - diff --git a/apps/ambi_converter.c b/apps/ambi_converter.c index 84f319238..c7691ba32 100644 --- a/apps/ambi_converter.c +++ b/apps/ambi_converter.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include #include diff --git a/apps/decoder.c b/apps/decoder.c index 1bb6db63a..302c4745b 100644 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "lib_dec.h" #include "options.h" @@ -59,17 +31,13 @@ * Local constants *------------------------------------------------------------------------------------------*/ -#if !defined( DEBUGGING ) && !defined( WMOPS ) +#if !defined( WMOPS ) static #endif int32_t frame = 0; /* Counter of frames */ #define RANDOM_INITSEED_DEC ( 0xFADE ) -#ifdef DEBUGGING -#define MIN_NUM_BITS_ACTIVE_FRAME 56 -#define NUM_BITS_SID_IVAS_5K2 104 -#endif /*------------------------------------------------------------------------------------------* @@ -159,21 +127,10 @@ typedef struct static bool parseCmdlIVAS_dec( int16_t argc, char **argv, DecArguments *arg ); static void usage_dec( void ); -#ifdef FIX_FLOAT_1539_G192_FORMAT_SWITCH static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, IVAS_DEC_HRTF_BINARY_WRAPPER *hHrtfBinary, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, ObjectEditFileReader *objectEditFileReader, ISAR_SPLIT_REND_BITS_DATA *splitRendBits, IVAS_DEC_HANDLE *phIvasDec, int16_t *pcmBuf ); -#else -static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, IVAS_DEC_HRTF_BINARY_WRAPPER *hHrtfBinary, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, ObjectEditFileReader *objectEditFileReader, ISAR_SPLIT_REND_BITS_DATA *splitRendBits, IVAS_DEC_HANDLE hIvasDec, int16_t *pcmBuf ); -#endif -#ifdef FIX_FMSW_DEC static ivas_error decodeVoIP( DecArguments arg, BS_READER_HANDLE hBsReader, IVAS_DEC_HRTF_BINARY_WRAPPER *hHrtf, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, ObjectEditFileReader *objectEditFileReader, ISAR_SPLIT_REND_BITS_DATA *splitRendBits, IVAS_DEC_HANDLE *phIvasDec, int16_t *pcmBuf ); -#else -static ivas_error decodeVoIP( DecArguments arg, BS_READER_HANDLE hBsReader, IVAS_DEC_HRTF_BINARY_WRAPPER *hHrtf, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, ObjectEditFileReader *objectEditFileReader, ISAR_SPLIT_REND_BITS_DATA *splitRendBits, IVAS_RENDER_CONFIG_DATA *renderConfig, IVAS_DEC_HANDLE *phIvasDec, int16_t *pcmBuf ); -#endif static ivas_error load_hrtf_from_file( IVAS_DEC_HRTF_BINARY_WRAPPER *hHrtfBinary, IVAS_DEC_HANDLE hIvasDec, const IVAS_AUDIO_CONFIG OutputConfig, const int32_t output_Fs ); static void do_object_editing_fx( IVAS_EDITABLE_PARAMETERS *editableParameters, ObjectEditFileReader *objectEditFileReader ); -#ifndef FIX_FMSW_DEC -static ivas_error restartDecoder( IVAS_DEC_HANDLE *phIvasDec, const IVAS_DEC_MODE decMode, DecArguments *arg, IVAS_RENDER_CONFIG_DATA *renderConfig, IVAS_CUSTOM_LS_DATA *hLsCustomData ); -#endif /*------------------------------------------------------------------------------------------* @@ -507,13 +464,11 @@ int main( goto cleanup; } -#ifdef FIX_2500_RENDCONF_REFACTOR if ( RenderConfigReader_checkValues( renderConfigReader ) != IVAS_ERR_OK ) { fprintf( stderr, "Invalid renderer configuration parameters\n\n" ); goto cleanup; } -#endif aeCount = RenderConfigReader_getAcousticEnvironmentCount( renderConfigReader ); if ( aeCount > 0 ) @@ -593,27 +548,11 @@ int main( if ( arg.outputConfig == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) { -#ifdef FIX_2500_RENDCONF_REFACTOR if ( ( error = IVAS_DEC_GetAcousticEnvironment( hIvasDec, aeID, &renderConfig.roomAcoustics ) ) != IVAS_ERR_OK ) { fprintf( stderr, "Failed to get acoustic environment with ID: %d\n\n", aeID ); goto cleanup; } -#else - if ( ( error = IVAS_DEC_GetAcousticEnvironment( hIvasDec, aeID, &renderConfig.roomAcoustics ) ) == IVAS_ERR_OK ) - { - if ( RenderConfigReader_checkValues( &renderConfig ) != IVAS_ERR_OK ) - { - fprintf( stderr, "Invalid reverberation configuration parameters\n\n" ); - goto cleanup; - } - } - else - { - fprintf( stderr, "Failed to get acoustic environment with ID: %d\n\n", aeID ); - goto cleanup; - } -#endif } /* ISAR frame size is set from command line, not renderer config file. @@ -690,19 +629,11 @@ int main( if ( arg.voipMode ) { -#ifdef FIX_FMSW_DEC error = decodeVoIP( arg, hBsReader, &hHrtfBinary, headRotReader, externalOrientationFileReader, refRotReader, referenceVectorReader, objectEditFileReader, &splitRendBits, &hIvasDec, pcmBuf ); -#else - error = decodeVoIP( arg, hBsReader, &hHrtfBinary, headRotReader, externalOrientationFileReader, refRotReader, referenceVectorReader, objectEditFileReader, &splitRendBits, &renderConfig, &hIvasDec, pcmBuf ); -#endif } else { -#ifdef FIX_FLOAT_1539_G192_FORMAT_SWITCH error = decodeG192( arg, hBsReader, &hHrtfBinary, headRotReader, externalOrientationFileReader, refRotReader, referenceVectorReader, objectEditFileReader, &splitRendBits, &hIvasDec, pcmBuf ); -#else - error = decodeG192( arg, hBsReader, &hHrtfBinary, headRotReader, externalOrientationFileReader, refRotReader, referenceVectorReader, objectEditFileReader, &splitRendBits, hIvasDec, pcmBuf ); -#endif } if ( error == IVAS_ERR_OK || error == IVAS_ERR_END_OF_FILE ) @@ -1675,11 +1606,7 @@ static void resetHeadRotation( pPos[i].x_fx = 0; pPos[i].y_fx = 0; pPos[i].z_fx = 0; -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION pPos[i].q_fact = 31; -#else - pPos[i].q_fact = 25; -#endif } return; @@ -2034,11 +1961,7 @@ static ivas_error decodeG192( Vector3PairFileReader *referenceVectorReader, ObjectEditFileReader *objectEditFileReader, ISAR_SPLIT_REND_BITS_DATA *splitRendBits, -#ifdef FIX_FLOAT_1539_G192_FORMAT_SWITCH IVAS_DEC_HANDLE *phIvasDec, -#else - IVAS_DEC_HANDLE hIvasDec, -#endif int16_t *pcmBuf ) { @@ -2046,9 +1969,7 @@ static ivas_error decodeG192( uint16_t bit_stream[IVAS_MAX_BITS_PER_FRAME + 4 * 8]; int16_t i, num_bits; int16_t bfi = 0; -#ifdef FIX_FLOAT_1539_G192_FORMAT_SWITCH IVAS_DEC_HANDLE hIvasDec = *phIvasDec; -#endif AudioFileWriter *afWriter = NULL; MasaFileWriter *masaWriter = NULL; bool decodedGoodFrame = false; @@ -2072,21 +1993,8 @@ static ivas_error decodeG192( int16_t isSplitRend, isSplitCoded; IVAS_RENDER_CONFIG_DATA renderConfig; RenderConfigReader *renderConfigReader = NULL; -#ifdef FIX_FLOAT_1539_G192_FORMAT_SWITCH bool restartNeeded; -#endif -#ifdef VARIABLE_SPEED_DECODING - if ( arg.tsmEnabled ) - { - if ( ( error = IVAS_DEC_EnableTsm( hIvasDec ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nError in IVAS_DEC_EnableTsm, code: %d\n", error ); - return error; - } - } - -#endif if ( ( error = IVAS_DEC_is_split_rendering_enabled( hIvasDec, &isSplitRend ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError in IVAS_DEC_is_split_rendering_enabled, code: %d\n", error ); @@ -2125,13 +2033,11 @@ static ivas_error decodeG192( goto cleanup; } -#ifdef FIX_2500_RENDCONF_REFACTOR if ( RenderConfigReader_checkValues( renderConfigReader ) != IVAS_ERR_OK ) { fprintf( stderr, "Invalid renderer configuration parameters\n\n" ); goto cleanup; } -#endif } for ( i = 0; i < IVAS_MAX_NUM_OBJECTS; ++i ) @@ -2294,27 +2200,11 @@ static ivas_error decodeG192( arg.aeSequence.selected = 0; } arg.aeSequence.frameCounter = 0; -#ifdef FIX_2500_RENDCONF_REFACTOR if ( ( error = RenderConfigReader_getAcousticEnvironment( renderConfigReader, arg.aeSequence.pID[arg.aeSequence.selected], &renderConfig.roomAcoustics ) ) != IVAS_ERR_OK ) { fprintf( stderr, "Failed to get acoustic environment with ID %d\n\n", arg.aeSequence.pID[arg.aeSequence.selected] ); goto cleanup; } -#else - if ( ( error = RenderConfigReader_getAcousticEnvironment( renderConfigReader, arg.aeSequence.pID[arg.aeSequence.selected], &renderConfig.roomAcoustics ) ) == IVAS_ERR_OK ) - { - if ( RenderConfigReader_checkValues( &renderConfig ) != IVAS_ERR_OK ) - { - fprintf( stderr, "Invalid acoustic environment configuratoin parameters\n\n" ); - goto cleanup; - } - } - else - { - fprintf( stderr, "Failed to get acoustic environment with ID %d\n\n", arg.aeSequence.pID[arg.aeSequence.selected] ); - goto cleanup; - } -#endif if ( ( error = IVAS_DEC_FeedRenderConfig( hIvasDec, renderConfig ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nIVAS_DEC_FeedRenderConfig failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); @@ -2347,7 +2237,6 @@ static ivas_error decodeG192( return error; } -#ifdef FIX_FLOAT_1539_G192_FORMAT_SWITCH if ( ( error = IVAS_DEC_isRestartNeeded( hIvasDec, &restartNeeded ) ) != IVAS_ERR_OK ) { return error; @@ -2355,36 +2244,12 @@ static ivas_error decodeG192( if ( restartNeeded ) { -#ifdef FIX_FMSW_DEC if ( ( error = IVAS_DEC_Restart( hIvasDec, IVAS_DEC_MODE_IVAS ) ) != IVAS_ERR_OK ) /* note: only switching within IVAS formats is supported in G.192 */ { fprintf( stderr, "\nIVAS_DEC_Restart restart failed: %s\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } -#else - IVAS_DEC_BS_FORMAT tempFormat; - if ( ( error = IVAS_DEC_GetFormat( hIvasDec, &tempFormat ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nError in IVAS_DEC_GetFormat, code: %d\n", error ); - goto cleanup; - } - IVAS_DEC_MODE codecMode = ( tempFormat == IVAS_DEC_BS_MONO ) ? IVAS_DEC_MODE_EVS : IVAS_DEC_MODE_IVAS; - error = restartDecoder( - &hIvasDec, - codecMode, - &arg, - NULL, /* ToDo : Provide rendererConfig */ - NULL /* ToDo : Provide LS Custom Data */ - ); - if ( error != IVAS_ERR_OK ) - { - fprintf( stderr, "\nFailed to restart decoder\n" ); - goto cleanup; - } - *phIvasDec = hIvasDec; /* Update for main()' s free */ -#endif } -#endif /* Placeholder for memory reallocation */ /* ... */ @@ -2862,9 +2727,6 @@ static ivas_error decodeVoIP( Vector3PairFileReader *referenceVectorReader, ObjectEditFileReader *objectEditFileReader, ISAR_SPLIT_REND_BITS_DATA *splitRendBits, -#ifndef FIX_FMSW_DEC - IVAS_RENDER_CONFIG_DATA *renderConfig, -#endif IVAS_DEC_HANDLE *phIvasDec, int16_t *pcmBuf ) { @@ -3021,14 +2883,12 @@ static ivas_error decodeVoIP( /* EVS RTP payload format has timescale 16000, JBM uses 1000 internally */ rtpTimeStamp = rtpTimeStamp / 16; -#ifdef FIX_FMSW_DEC_2 arg.decMode = ( ivasRtp.codecId == IVAS_RTP_EVS ) ? IVAS_DEC_MODE_EVS : IVAS_DEC_MODE_IVAS; if ( ( error = IVAS_DEC_Restart( hIvasDec, arg.decMode ) ) != IVAS_ERR_OK ) /* note: when the RTP bitstream starts with EVS, do the restart */ { fprintf( stderr, "\nIVAS_DEC_Restart restart failed: %s\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } -#endif } if ( error != IVAS_ERR_OK ) { @@ -3062,29 +2922,12 @@ static ivas_error decodeVoIP( /* restart decoder in case of format switching */ if ( ivasRtp.restartNeeded ) { -#ifdef FIX_FMSW_DEC arg.decMode = ( ivasRtp.codecId == IVAS_RTP_EVS ) ? IVAS_DEC_MODE_EVS : IVAS_DEC_MODE_IVAS; if ( ( error = IVAS_DEC_Restart( hIvasDec, arg.decMode ) ) != IVAS_ERR_OK ) /* note: switching between EVS and IVAS is supported in RTP */ { fprintf( stderr, "\nIVAS_DEC_Restart restart failed: %s\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } -#else - IVAS_DEC_MODE newDecModeInPacket = ( ivasRtp.codecId == IVAS_RTP_EVS ) ? IVAS_DEC_MODE_EVS : IVAS_DEC_MODE_IVAS; - if ( ( error = restartDecoder( - &hIvasDec, - newDecModeInPacket, - &arg, - renderConfig, - NULL /* ToDo : Provide LS Custom Data */ - ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nFailed to restart decoder from %d to %d\n", arg.decMode, newDecModeInPacket ); - goto cleanup; - } - - *phIvasDec = hIvasDec; /* Update for main()' s free */ -#endif ivasRtp.restartNeeded = false; bitstreamReadDone = false; parametersAvailableForEditing = false; @@ -3316,35 +3159,11 @@ static ivas_error decodeVoIP( if ( restartNeeded ) { -#ifdef FIX_FMSW_DEC if ( ( error = IVAS_DEC_Restart( hIvasDec, IVAS_DEC_MODE_IVAS ) ) != IVAS_ERR_OK ) /* note: only switching within IVAS formats is supported in non-RTP VoIP */ { fprintf( stderr, "\nIVAS_DEC_Restart restart failed: %s\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } -#else - IVAS_DEC_BS_FORMAT tempBsFormat; - if ( ( error = IVAS_DEC_GetFormat( hIvasDec, &tempBsFormat ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nError in IVAS_DEC_GetFormat, code: %d\n", error ); - goto cleanup; - } - - IVAS_DEC_MODE newDecModeInPacket = ( tempBsFormat == IVAS_DEC_BS_MONO ) ? IVAS_DEC_MODE_EVS : IVAS_DEC_MODE_IVAS; - if ( ( error = restartDecoder( - &hIvasDec, - newDecModeInPacket, - &arg, - NULL, /* ToDo : Provide rendererConfig */ - NULL /* ToDo : Provide LS Custom Data */ - ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nFailed to restart decoder\n" ); - goto cleanup; - } - - *phIvasDec = hIvasDec; /* Update for main()' s free */ -#endif bitstreamReadDone = false; parametersAvailableForEditing = false; } @@ -4037,110 +3856,4 @@ static ivas_error load_hrtf_from_file( return IVAS_ERR_OK; } -#ifndef FIX_FMSW_DEC -/*---------------------------------------------------------------------* - * restartDecoder() - * - * Restart decoder in case of IVAS format switching - *---------------------------------------------------------------------*/ - -static ivas_error restartDecoder( - IVAS_DEC_HANDLE *phIvasDec, - const IVAS_DEC_MODE decMode, - DecArguments *arg, - IVAS_RENDER_CONFIG_DATA *renderConfig, - IVAS_CUSTOM_LS_DATA *hLsCustomData ) -{ - ivas_error error = IVAS_ERR_OK; - IVAS_DEC_HANDLE hIvasDec; - - if ( phIvasDec == NULL ) - { - return IVAS_ERR_UNEXPECTED_NULL_POINTER; - } - - if ( NULL != *phIvasDec ) - { - IVAS_DEC_Close( phIvasDec ); - } - - if ( ( error = IVAS_DEC_Open( phIvasDec, decMode ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "Open failed: %s\n", IVAS_DEC_GetErrorMessage( error ) ); - goto cleanup; - } - - arg->decMode = decMode; - - hIvasDec = *phIvasDec; - - uint16_t aeID = arg->aeSequence.count > 0 ? arg->aeSequence.pID[0] : IVAS_DEFAULT_AEID; - - IVAS_AUDIO_CONFIG outputConfig = ( decMode == IVAS_DEC_MODE_IVAS ) ? arg->outputConfig : IVAS_AUDIO_CONFIG_MONO; - - if ( ( error = IVAS_DEC_Configure( hIvasDec, arg->output_Fs, outputConfig, arg->render_num_subframes, arg->customLsOutputEnabled, arg->hrtfReaderEnabled, - arg->enableHeadRotation, arg->enableExternalOrientation, arg->orientation_tracking, arg->renderConfigEnabled, arg->roomSize, arg->non_diegetic_pan_enabled, - arg->non_diegetic_pan_gain_fx, arg->dpidEnabled, aeID, arg->objEditEnabled, arg->delayCompensationEnabled ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nConfigure failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); - goto cleanup; - } - - if ( arg->outputConfig == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED || arg->outputConfig == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) - { - if ( ( error = IVAS_DEC_EnableSplitRendering( hIvasDec ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nSplit rendering configure failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); - goto cleanup; - } - } - - if ( ( error = IVAS_DEC_GetRenderNumSubfr( hIvasDec, &arg->render_num_subframes ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nIVAS_DEC_GetRenderNumSubfr failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); - goto cleanup; - } - - if ( arg->voipMode ) - { - if ( ( error = IVAS_DEC_EnableVoIP( hIvasDec, 60, arg->inputFormat ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nCould not enable VOIP: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); - goto cleanup; - } - } - - /* ISAR frame size is set from command line, not renderer config file. - * This will be ignored if output format is not split rendering. */ - if ( renderConfig != NULL ) - { - renderConfig->split_rend_config.isar_frame_size_ms = (int16_t) arg->render_num_subframes * 5; - } - - if ( arg->renderConfigEnabled && renderConfig != NULL ) - { - if ( ( error = IVAS_DEC_FeedRenderConfig( hIvasDec, *renderConfig ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nIVAS_DEC_FeedRenderConfig failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); - goto cleanup; - } - } - - if ( arg->customLsOutputEnabled && hLsCustomData != NULL ) - { - if ( ( error = IVAS_DEC_FeedCustomLsData( hIvasDec, *hLsCustomData ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nIVAS_DEC_FeedCustomLsData failed: %s\n", IVAS_DEC_GetErrorMessage( error ) ); - goto cleanup; - } - } - - return IVAS_ERR_OK; - -cleanup: - IVAS_DEC_Close( phIvasDec ); - - return error; -} -#endif #undef WMC_TOOL_SKIP diff --git a/apps/encoder.c b/apps/encoder.c index b3a359304..51c9773e2 100644 --- a/apps/encoder.c +++ b/apps/encoder.c @@ -1,40 +1,9 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "stl.h" #include "lib_enc.h" #include "cmdl_tools.h" @@ -49,19 +18,6 @@ #include "wmc_auto.h" -#ifdef DEBUG_FORCE_DIR -/* Windows does not define the S_ISREG and S_ISDIR macros in stat.h, so we do. - We have to define _CRT_INTERNAL_NONSTDC_NAMES 1 before #including sys/stat.h - in order for Microsoft's stat.h to define names like S_IFMT, S_IFREG, and S_IFDIR, - rather than just defining _S_IFMT, _S_IFREG, and _S_IFDIR as it normally does. */ -#include -#if !defined( S_ISREG ) && defined( S_IFMT ) && defined( S_IFREG ) -#define S_ISREG( m ) ( ( ( m ) & S_IFMT ) == S_IFREG ) -#endif -#if !defined( S_ISDIR ) && defined( S_IFMT ) && defined( S_IFDIR ) -#define S_ISDIR( m ) ( ( ( m ) & S_IFMT ) == S_IFDIR ) -#endif -#endif #define WMC_TOOL_SKIP @@ -69,7 +25,7 @@ * Local constants, enums *------------------------------------------------------------------------------------------*/ -#if !defined( DEBUGGING ) && !defined( WMOPS ) +#if !defined( WMOPS ) static #endif int32_t frame = 0; /* Counter of frames */ @@ -84,10 +40,6 @@ typedef union _EncInputFormatConfig /* MONO details */ bool stereoToMonoDownmix; -#ifdef DEBUGGING - /* STEREO details */ - IVAS_ENC_STEREO_MODE stereoMode; -#endif /* ISM details */ struct EncIsmConfig @@ -152,13 +104,6 @@ typedef struct const char *ca_config_file; bool mimeOutput; IVAS_ENC_COMPLEXITY_LEVEL complexityLevel; -#ifdef DEBUGGING - IVAS_ENC_FORCED_MODE forcedMode; - const char *forcedModeFile; -#ifdef DEBUG_FORCE_DIR - const char *forcedModeDir; -#endif -#endif bool pca; bool ism_extended_metadata; bool rtpdumpOutput; @@ -178,10 +123,6 @@ static bool parseCmdlIVAS_enc( int16_t argc, char *argv[], EncArguments *arg ); static void usage_enc( void ); static bool readBandwidth( FILE *file, IVAS_ENC_BANDWIDTH *bandwidth, int32_t *bandwidthFrameCounter ); static bool readBitrate( FILE *file, int32_t *bitrate ); -#ifdef DEBUGGING -static ivas_error readForcedMode( FILE *file, IVAS_ENC_FORCED_MODE *forcedMode, int32_t *forceFrameCounter ); -static IVAS_ENC_FORCED_MODE parseForcedMode( char *forcedModeChar ); -#endif /*------------------------------------------------------------------------------------------* @@ -211,9 +152,6 @@ int main( int16_t *pcmBuf = NULL; RotFileReader *sceneOrientationFileReader = NULL; RotFileReader *deviceOrientationFileReader = NULL; -#ifdef DEBUGGING - FILE *f_forcedModeProfile = NULL; -#endif #ifdef WMOPS reset_wmops(); @@ -363,7 +301,6 @@ int main( } } -#ifdef FIX_FMSW_DEC /*------------------------------------------------------------------------------------------* * Open remote requests file for rtp packing (E-bytes) *------------------------------------------------------------------------------------------*/ @@ -383,7 +320,6 @@ int main( goto cleanup; } } -#endif /*------------------------------------------------------------------------------------------* * Handle Channel-aware mode @@ -414,14 +350,6 @@ int main( goto cleanup; } -#ifdef SUPPORT_FORCE_TCX10_TCX20 -#ifdef DEBUGGING - if ( arg.forcedMode == IVAS_ENC_FORCE_TCX10 && totalBitrate < 48000 ) - { - fprintf( stderr, "Warning: Enforcing the TCX10 mode is only supported for bitrates higher or equal than 48 kbps!\n\n" ); - } -#endif -#endif /*------------------------------------------------------------------------------------------* * Configure and initialize (allocate memory for static variables) the encoder @@ -437,11 +365,7 @@ int main( } break; case IVAS_ENC_INPUT_STEREO: -#ifdef DEBUGGING - if ( ( error = IVAS_ENC_ConfigureForStereo( hIvasEnc, arg.inputFs, totalBitrate, arg.max_bwidth_user, bandwidth, arg.dtxConfig, arg.is_binaural, arg.inputFormatConfig.stereoMode ) ) != IVAS_ERR_OK ) -#else if ( ( error = IVAS_ENC_ConfigureForStereo( hIvasEnc, arg.inputFs, totalBitrate, arg.max_bwidth_user, bandwidth, arg.dtxConfig, arg.is_binaural ) ) != IVAS_ERR_OK ) -#endif { fprintf( stderr, "\nIVAS_ENC_ConfigureForStereo failed: %s\n\n", IVAS_ENC_GetErrorMessage( error ) ); goto cleanup; @@ -589,20 +513,6 @@ int main( } } -#ifdef DEBUGGING - IVAS_ENC_FORCED_MODE forcedMode = arg.forcedMode; - int32_t force_profile_cnt = 0; - - if ( arg.forcedModeFile ) - { - if ( ( f_forcedModeProfile = fopen( arg.forcedModeFile, "rb" ) ) == NULL ) - { - fprintf( stderr, "\nError: Incorrect mode specification or the profile file could not be opened: %s\n\n", arg.forcedModeFile ); - usage_enc(); - goto cleanup; - } - } -#endif /*------------------------------------------------------------------------------------------* * Allocate input data buffer @@ -678,19 +588,6 @@ int main( } } -#ifndef FIX_FMSW_DEC - /*------------------------------------------------------------------------------------------* - * Open remote requests file for rtp packing (E-bytes) - *------------------------------------------------------------------------------------------*/ - if ( arg.requestsFileName != NULL ) - { - if ( ( error = RequestsFileReader_open( arg.requestsFileName, &requestsFileReader ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nError: Can't open requests file %s \n\n", arg.requestsFileName ); - goto cleanup; - } - } -#endif /*------------------------------------------------------------------------------------------* * Run the encoder *------------------------------------------------------------------------------------------*/ @@ -793,31 +690,6 @@ int main( } } -#ifdef DEBUGGING - if ( f_forcedModeProfile ) - { - if ( ( error = readForcedMode( f_forcedModeProfile, &forcedMode, &force_profile_cnt ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nError reading from file: %s\n%s\n", arg.forcedModeFile, IVAS_ENC_GetErrorMessage( error ) ); - goto cleanup; - } - } - - /* Force mode not set when configuring, set in first frame even if not reading from file */ - if ( f_forcedModeProfile || frame == 0 ) - { - if ( ( error = IVAS_ENC_SetForcedMode( hIvasEnc, forcedMode -#ifdef DEBUG_FORCE_DIR - , - arg.forcedModeDir -#endif - ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nIVAS_ENC_SetForcedMode failed: %s\n\n", IVAS_ENC_GetErrorMessage( error ) ); - goto cleanup; - } - } -#endif /* Read ISM input metadata */ for ( i = 0; i < numIsmInputs; ++i ) @@ -1080,13 +952,6 @@ static bool parseCmdlIVAS_enc( arg->rtpdumpOutput = false; arg->sceneOrientationTrajFileName = NULL; arg->deviceOrientationTrajFileName = NULL; -#ifdef DEBUGGING - arg->forcedMode = IVAS_ENC_FORCE_UNFORCED; - arg->forcedModeFile = NULL; -#ifdef DEBUG_FORCE_DIR - arg->forcedModeDir = NULL; -#endif -#endif arg->pca = false; /*-----------------------------------------------------------------* @@ -1199,83 +1064,6 @@ static bool parseCmdlIVAS_enc( return false; } } -#ifdef DEBUGGING - /*-----------------------------------------------------------------* - * Force specific mode - *-----------------------------------------------------------------*/ - - else if ( strcmp( argv_to_upper, "-FORCE" ) == 0 ) - { - strncpy( stmp, argv[i + 1], sizeof( stmp ) ); - - arg->forcedMode = parseForcedMode( stmp ); - -#ifdef DEBUG_FORCE_DIR - if ( arg->forcedMode < IVAS_ENC_FORCE_FILE ) - { - fprintf( stdout, "Forcing codec to: %s\n", argv[i + 1] ); - } - else if ( arg->forcedMode == IVAS_ENC_FORCE_FILE ) - { - arg->forcedModeFile = argv[i + 1]; - fprintf( stdout, "Force switching file: %s\n", argv[i + 1] ); - } - else if ( arg->forcedMode == IVAS_ENC_FORCE_DIR ) - { - arg->forcedModeDir = argv[i + 1]; - fprintf( stdout, "Forcing switching directory: %s\n", argv[i + 1] ); - } - else - { - fprintf( stderr, "\nError: The force switching profile file/dir %s does not exist or could not be opened!\n\n", argv[i + 1] ); - usage_enc(); - return false; - } -#else - if ( arg->forcedMode == IVAS_ENC_FORCE_UNDEFINED ) - { - arg->forcedModeFile = argv[i + 1]; - fprintf( stdout, "Force switching file: %s\n", argv[i + 1] ); - } - else - { -#ifdef SUPPORT_FORCE_TCX10_TCX20 - if ( arg->forcedMode == IVAS_ENC_FORCE_TCX10 ) - { - strcpy( stmp, "TCX10" ); - } - else if ( arg->forcedMode == IVAS_ENC_FORCE_TCX20 ) - { - strcpy( stmp, "TCX20" ); - } - else - { - strncpy( stmp, argv[i + 1], sizeof( stmp ) ); - } - - fprintf( stdout, "Forcing codec to: %s\n", stmp ); -#else - fprintf( stdout, "Forcing codec to: %s\n", argv[i + 1] ); -#endif - } -#endif - - i += 2; - } -#ifdef DEBUG_MODE_INFO -#ifdef DEBUG_MODE_INFO_TWEAK - /*-----------------------------------------------------------------* - * Define additional subfolder for debug info output in ./res - *-----------------------------------------------------------------*/ - else if ( strcmp( argv_to_upper, "-INFO" ) == 0 ) - { - extern char infoFolder[FILENAME_MAX]; - strncpy( infoFolder, argv[i + 1], sizeof( infoFolder ) ); - i += 2; - } -#endif /* #ifdef DEBUG_MODE_INFO_TWEAK */ -#endif /* #ifdef DEBUG_MODE_INFO */ -#endif /* #ifdef DEBUGGING */ /*-----------------------------------------------------------------* * deactivate delay compensation @@ -1380,77 +1168,6 @@ static bool parseCmdlIVAS_enc( i++; arg->inputFormat = IVAS_ENC_INPUT_STEREO; -#ifdef DEBUGGING - if ( ( i < argc - 4 ) && argv[i][0] != 45 ) /* note: 45 corresponds to "-" */ - { - if ( sscanf( argv[i], "%d", &tmp ) > 0 ) - { - if ( tmp == 1 ) - { - arg->inputFormatConfig.stereoMode = IVAS_ENC_STEREO_MODE_DFT; - i++; - } - else if ( tmp == 2 ) - { - arg->inputFormatConfig.stereoMode = IVAS_ENC_STEREO_MODE_TD; - i++; - } - else if ( tmp == 3 ) - { - arg->inputFormatConfig.stereoMode = IVAS_ENC_STEREO_MODE_MDCT_DECISION; -#ifdef DEBUG_FORCE_MDCT_STEREO_MODE - i++; - - /* force mdct stereo mode for debugging purposes */ - if ( i < argc - 4 ) - { - if ( sscanf( argv[i], "%d", &tmp ) > 0 ) - { - if ( tmp == 0 ) - { - /* keep "DECISION" */ - arg->inputFormatConfig.stereoMode = IVAS_ENC_STEREO_MODE_MDCT_DECISION; - i++; - } - else if ( tmp == 1 ) - { - arg->inputFormatConfig.stereoMode = IVAS_ENC_STEREO_MODE_MDCT_FORCE_LR; - i++; - } - else if ( tmp == 2 ) - { - arg->inputFormatConfig.stereoMode = IVAS_ENC_STEREO_MODE_MDCT_FORCE_MS; - i++; - } - else - { - fprintf( stderr, "Error: Incorrect mdct stereo coding method (%d) specified\n\n", tmp ); - usage_enc(); - return false; - } - } - } -#endif - } - else - { - fprintf( stderr, "Error: Incorrect stereo mode (%d) specified\n\n", tmp ); - usage_enc(); - return false; - } - } - else - { - fprintf( stderr, "Error: Stereo mode not specified.\n\n" ); /* in the debugging stage */ - usage_enc(); - return false; - } - } - else - { - arg->inputFormatConfig.stereoMode = IVAS_ENC_STEREO_MODE_UNIFIED; - } -#endif /* DEBUGGING */ } else if ( strcmp( argv_to_upper, "-BINAURAL" ) == 0 ) { @@ -2133,18 +1850,6 @@ static void usage_enc( void ) fprintf( stdout, "-pca : activate PCA in SBA format FOA at 256 kbps \n" ); fprintf( stdout, "-level level : Complexity level, level = (1, 2, 3), will be defined after characterisation. \n" ); fprintf( stdout, " Currently, all values default to level 3 (full functionality).\n" ); -#ifdef DEBUGGING - fprintf( stdout, "-force T : Force specific mode, T = (speech, music, ACELP, GSC, TCX, HQ),\n" ); - fprintf( stdout, " alternatively, T can be a text file where each line contains \"nb_frames T\"\n" ); -#ifdef DEBUG_FORCE_DIR - fprintf( stdout, " or T can be a directory containing external binary files for modes/parameters enforcement\n" ); -#endif -#endif -#ifdef DEBUG_MODE_INFO -#ifdef DEBUG_MODE_INFO_TWEAK - fprintf( stdout, "-info : specify subfolder name for debug output\n" ); -#endif -#endif fprintf( stdout, "-q : Quiet mode, no frame counters\n" ); fprintf( stdout, " default is deactivated\n" ); fprintf( stdout, "-rtpdump : RTPDump output, hf_only=1 by default. The encoder will packetize the \n" ); @@ -2246,170 +1951,6 @@ static bool readBitrate( } -#ifdef DEBUGGING -/*---------------------------------------------------------------------* - * parseForcedMode() - * - * - *---------------------------------------------------------------------*/ - -static IVAS_ENC_FORCED_MODE parseForcedMode( - char *forcedModeChar ) -{ -#ifdef DEBUG_FORCE_DIR - struct stat path_stat; -#endif - - to_upper( forcedModeChar ); - -#ifdef DEBUG_FORCE_DIR - if ( ( strcmp( forcedModeChar, "SPEECH" ) == 0 ) || ( strcmp( forcedModeChar, "'SPEECH'" ) == 0 ) || - ( strcmp( forcedModeChar, "0" ) == 0 ) ) - { - return IVAS_ENC_FORCE_SPEECH; - } - else if ( ( strcmp( forcedModeChar, "MUSIC" ) == 0 ) || ( strcmp( forcedModeChar, "'MUSIC'" ) == 0 ) || ( strcmp( forcedModeChar, "AUDIO" ) == 0 ) || ( strcmp( forcedModeChar, "'AUDIO'" ) == 0 ) || ( strcmp( forcedModeChar, "1" ) == 0 ) ) - { - return IVAS_ENC_FORCE_MUSIC; - } - else if ( ( strcmp( forcedModeChar, "ACELP" ) == 0 ) || ( strcmp( forcedModeChar, "'ACELP'" ) == 0 ) ) - { - return IVAS_ENC_FORCE_ACELP; - } - else if ( ( strcmp( forcedModeChar, "GSC" ) == 0 ) || ( strcmp( forcedModeChar, "'GSC'" ) == 0 ) ) - { - return IVAS_ENC_FORCE_GSC; - } - if ( ( strcmp( forcedModeChar, "TCX" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX'" ) == 0 ) -#ifdef SUPPORT_FORCE_TCX10_TCX20 - || ( strcmp( forcedModeChar, "TCX20" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX20'" ) == 0 ) -#endif - ) - { -#ifdef SUPPORT_FORCE_TCX10_TCX20 - return IVAS_ENC_FORCE_TCX20; -#else - return IVAS_ENC_FORCE_TCX; -#endif - } -#ifdef SUPPORT_FORCE_TCX10_TCX20 - if ( ( strcmp( forcedModeChar, "TCX10" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX10'" ) == 0 ) ) - { - return IVAS_ENC_FORCE_TCX10; - } -#endif - else if ( ( strcmp( forcedModeChar, "HQ" ) == 0 ) || ( strcmp( forcedModeChar, "'HQ'" ) == 0 ) ) - { - return IVAS_ENC_FORCE_HQ; - } - else - { - if ( stat( forcedModeChar, &path_stat ) != 0 ) - { - return IVAS_ENC_FORCE_UNDEFINED; - } - - /* check if the argument represents an existing file or directory */ - if ( S_ISDIR( path_stat.st_mode ) ) - { - /* it's a directory */ - return IVAS_ENC_FORCE_DIR; - } - else - { - /* it's a file */ - return IVAS_ENC_FORCE_FILE; - } - } -#else - if ( ( strcmp( forcedModeChar, "SPEECH" ) == 0 ) || ( strcmp( forcedModeChar, "'SPEECH'" ) == 0 ) || - ( strcmp( forcedModeChar, "0" ) == 0 ) ) - { - return IVAS_ENC_FORCE_SPEECH; - } - if ( ( strcmp( forcedModeChar, "MUSIC" ) == 0 ) || ( strcmp( forcedModeChar, "'MUSIC'" ) == 0 ) || ( strcmp( forcedModeChar, "AUDIO" ) == 0 ) || ( strcmp( forcedModeChar, "'AUDIO'" ) == 0 ) || ( strcmp( forcedModeChar, "1" ) == 0 ) ) - { - return IVAS_ENC_FORCE_MUSIC; - } - if ( ( strcmp( forcedModeChar, "ACELP" ) == 0 ) || ( strcmp( forcedModeChar, "'ACELP'" ) == 0 ) ) - { - return IVAS_ENC_FORCE_ACELP; - } - if ( ( strcmp( forcedModeChar, "GSC" ) == 0 ) || ( strcmp( forcedModeChar, "'GSC'" ) == 0 ) ) - { - return IVAS_ENC_FORCE_GSC; - } - if ( ( strcmp( forcedModeChar, "TCX" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX'" ) == 0 ) -#ifdef SUPPORT_FORCE_TCX10_TCX20 - || ( strcmp( forcedModeChar, "TCX20" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX20'" ) == 0 ) -#endif - ) - { -#ifdef SUPPORT_FORCE_TCX10_TCX20 - return IVAS_ENC_FORCE_TCX20; -#else - return IVAS_ENC_FORCE_TCX; -#endif - } -#ifdef SUPPORT_FORCE_TCX10_TCX20 - if ( ( strcmp( forcedModeChar, "TCX10" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX10'" ) == 0 ) ) - { - return IVAS_ENC_FORCE_TCX10; - } -#endif - if ( ( strcmp( forcedModeChar, "HQ" ) == 0 ) || ( strcmp( forcedModeChar, "'HQ'" ) == 0 ) ) - { - return IVAS_ENC_FORCE_HQ; - } - - return IVAS_ENC_FORCE_UNDEFINED; -#endif -} - - -/*---------------------------------------------------------------------* - * readForcedMode() - * - * - *---------------------------------------------------------------------*/ - -static ivas_error readForcedMode( - FILE *file, - IVAS_ENC_FORCED_MODE *forcedMode, - int32_t *forceFrameCounter ) -{ - int16_t res; - char stmp[8]; - - if ( *forceFrameCounter == 0 ) - { - /* read next force and number of frames from the profile file */ - while ( ( res = (int16_t) fscanf( file, "%d %7s", forceFrameCounter, stmp ) ) != 2 && feof( file ) ) - { - rewind( file ); - } - - *forcedMode = parseForcedMode( stmp ); - - if ( *forcedMode == IVAS_ENC_FORCE_UNDEFINED ) - { - fprintf( stderr, "Error: incorect mode specification or the force profile file could not be opened: %s\n\n", stmp ); - return IVAS_ERR_WRONG_PARAMS; - } - - if ( res != 2 && !feof( file ) ) - { - fprintf( stderr, "Error: incorrect format of the force profile file (please ensure that it does not contain any empty lines)\n\n" ); - return IVAS_ERR_WRONG_PARAMS; - } - } - - /* current profile still active, only decrease the counter */ - ( *forceFrameCounter )--; - - return IVAS_ERR_OK; -} -#endif #undef WMC_TOOL_SKIP diff --git a/apps/isar_post_rend.c b/apps/isar_post_rend.c index c3fe556c8..2c8764fbb 100644 --- a/apps/isar_post_rend.c +++ b/apps/isar_post_rend.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "lib_isar_post_rend.h" #include @@ -42,9 +14,6 @@ #include "rotation_file_reader.h" #include "split_render_file_read_write.h" #include "split_rend_bfi_file_reader.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "stl.h" #include "wmc_auto.h" #include "ivas_rtp_file.h" @@ -63,7 +32,7 @@ #define ISAR_MAX16B_FX 32767 #define ISAR_MIN16B_FX ( -32768 ) -#if !defined( DEBUGGING ) && !defined( WMOPS ) +#if !defined( WMOPS ) static #endif int32_t frame = 0; @@ -1464,17 +1433,6 @@ int main( fprintf( stdout, "\n\nRendering of %d frames finished\n\n", frame ); -#ifdef DEBUGGING - int32_t cnt_frames_limited, noClipping; - if ( ( cnt_frames_limited = ISAR_POST_REND_GetCntFramesLimited( hIsarPostRend ) ) > 0 ) - { - fprintf( stdout, "Limiter applied in %d frames.\n\n", cnt_frames_limited ); - } - if ( ( noClipping = ISAR_POST_REND_GetNoCLipping( hIsarPostRend ) ) > 0 ) - { - fprintf( stdout, "Clipping (saturation) detected: %d samples clipped!!!\n\n", noClipping ); - } -#endif /*------------------------------------------------------------------------------------------* * Close files and deallocate resources @@ -1506,9 +1464,6 @@ cleanup: ISAR_POST_REND_Close( &hIsarPostRend ); -#ifdef DEBUGGING - dbgclose(); -#endif #ifdef WMOPS print_wmops(); print_mem( NULL ); diff --git a/apps/renderer.c b/apps/renderer.c index 8c48c97c6..56e39898f 100644 --- a/apps/renderer.c +++ b/apps/renderer.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "lib_rend.h" #include "typedef.h" @@ -76,7 +48,7 @@ #define OMASA_TDREND_MATCHING_GAIN_DB ( -2.0f ) -#if !defined( DEBUGGING ) && !defined( WMOPS ) +#if !defined( WMOPS ) static #endif int32_t frame = 0; @@ -732,9 +704,6 @@ static int16_t get_cldfb_in_flag( cldfb_in_flag = 0; if ( renderConfig->split_rend_config.rendererSelection == IVAS_BIN_RENDERER_TYPE_FASTCONV ) { -#ifdef DEBUGGING - cldfb_in_flag = 1; -#endif if ( audioConfig == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED ) { cldfb_in_flag = 1; @@ -1174,7 +1143,6 @@ int main( fprintf( stderr, "\nError in Renderer Config Init: %s\n", ivas_error_to_string( error ) ); goto cleanup; } -#ifdef FIX_1452_DEFAULT_REVERB if ( args.outConfig.audioConfig == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) { @@ -1220,7 +1188,6 @@ int main( goto cleanup; } } -#endif if ( args.renderConfigFilePath[0] != '\0' ) { @@ -1246,13 +1213,11 @@ int main( fprintf( stderr, "\nFailed to read renderer configuration from file %s\n", args.renderConfigFilePath ); goto cleanup; } -#ifdef FIX_2500_RENDCONF_REFACTOR if ( RenderConfigReader_checkValues( renderConfigReader ) != IVAS_ERR_OK ) { fprintf( stderr, "Invalid renderer configuration parameters\n\n" ); goto cleanup; } -#endif if ( ( error = RenderConfigReader_getDirectivity( renderConfigReader, args.directivityPatternId, renderConfig.directivity_fx ) ) != IVAS_ERR_OK ) { fprintf( stderr, "Failed to get directivity patterns for one or more of IDs: %d %d %d %d\n\n", args.directivityPatternId[0], args.directivityPatternId[1], args.directivityPatternId[2], args.directivityPatternId[3] ); @@ -1266,27 +1231,11 @@ int main( if ( args.outConfig.audioConfig == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) { aeID = args.aeSequence.count > 0 ? args.aeSequence.pID[0] : IVAS_DEFAULT_AEID; -#ifdef FIX_2500_RENDCONF_REFACTOR if ( ( error = RenderConfigReader_getAcousticEnvironment( renderConfigReader, aeID, &renderConfig.roomAcoustics ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nFailed to get acoustic environment with ID: %d\n\n", aeID ); goto cleanup; } -#else - if ( ( error = RenderConfigReader_getAcousticEnvironment( renderConfigReader, aeID, &renderConfig.roomAcoustics ) ) == IVAS_ERR_OK ) - { - if ( RenderConfigReader_checkValues( &renderConfig ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nInvalid room acoustics configuration parameters\n\n" ); - goto cleanup; - } - } - else - { - fprintf( stderr, "Failed to get acoustic environment with ID: %d\n\n", aeID ); - goto cleanup; - } -#endif } /* ISAR frame size is set from command line, not renderer config file. @@ -1731,27 +1680,11 @@ int main( args.aeSequence.selected = 0; } args.aeSequence.frameCounter = 0; -#ifdef FIX_2500_RENDCONF_REFACTOR if ( ( error = RenderConfigReader_getAcousticEnvironment( renderConfigReader, args.aeSequence.pID[args.aeSequence.selected], &renderConfig.roomAcoustics ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nFailed to get acoustic environment with ID %d\n\n", args.aeSequence.pID[args.aeSequence.selected] ); goto cleanup; } -#else - if ( ( error = RenderConfigReader_getAcousticEnvironment( renderConfigReader, args.aeSequence.pID[args.aeSequence.selected], &renderConfig.roomAcoustics ) ) == IVAS_ERR_OK ) - { - if ( RenderConfigReader_checkValues( &renderConfig ) != IVAS_ERR_OK ) - { - fprintf( stderr, "Invalid acoustic environment configuration parameters\n\n" ); - goto cleanup; - } - } - else - { - fprintf( stderr, "Failed to get acoustic environment with ID %d\n\n", args.aeSequence.pID[args.aeSequence.selected] ); - goto cleanup; - } -#endif if ( ( error = IVAS_REND_FeedRenderConfig( hIvasRend, renderConfig ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nIVAS_REND_FeedRenderConfig failed: %s\n\n", ivas_error_to_string( error ) ); @@ -3203,11 +3136,7 @@ static void IsmPositionProvider_getNextFrame( } -#ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW /* Wrap azimuth to lie within (0, 360] range */ -#else - /* Wrap azimuth to lie within (-180, 180] range */ -#endif while ( LT_32( objectMetadataBuffer->positions[objIdx].azimuth_fx, 0 ) ) { @@ -3218,13 +3147,11 @@ static void IsmPositionProvider_getNextFrame( objectMetadataBuffer->positions[objIdx].azimuth_fx = L_sub( objectMetadataBuffer->positions[objIdx].azimuth_fx, DEG_360_IN_Q22 ); } -#ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW IF( objectMetadataBuffer->positions[objIdx].non_diegetic_flag && objectMetadataBuffer->positions[objIdx].azimuth_fx >= DEG_180_IN_Q22 ) { /* Wrap azimuth to lie within [-180, 180) range for non-diegetic panning */ objectMetadataBuffer->positions[objIdx].azimuth_fx = L_sub( objectMetadataBuffer->positions[objIdx].azimuth_fx, DEG_360_IN_Q22 ); } -#endif /* Clamp elevation to lie within [-90, 90] range (can't be wrapped easily) */ objectMetadataBuffer->positions[objIdx].elevation_fx = L_min( L_max( objectMetadataBuffer->positions[objIdx].elevation_fx, -DEG_90_IN_Q22 ), DEG_90_IN_Q22 ); diff --git a/lib_basop/basop32.c b/lib_basop/basop32.c index 1b9ef845d..3cda5910c 100644 --- a/lib_basop/basop32.c +++ b/lib_basop/basop32.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /* v.2.3 - 30.Nov.2009 ============================================================================= @@ -896,7 +868,6 @@ Word16 shr_o( Word16 var1, Word16 var2, Flag *Overflow ) Word16 shr( Word16 var1, Word16 var2 ) { -#ifdef FIX_BASOP_2563_CRASH_HQ_GENERIC_DEC Flag Overflow; Word16 result; @@ -908,9 +879,6 @@ Word16 shr( Word16 var1, Word16 var2 ) assert( 0 ); } return result; -#else - return shr_o( var1, var2, NULL ); -#endif } Word16 shr_sat( Word16 var1, Word16 var2 ) { diff --git a/lib_basop/basop32.h b/lib_basop/basop32.h index 7fe294167..4241580e2 100644 --- a/lib_basop/basop32.h +++ b/lib_basop/basop32.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /* =========================================================================== diff --git a/lib_basop/complex_basop.c b/lib_basop/complex_basop.c index f8006ed46..60f40fc51 100644 --- a/lib_basop/complex_basop.c +++ b/lib_basop/complex_basop.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /***************************************************************************** * diff --git a/lib_basop/complex_basop.h b/lib_basop/complex_basop.h index bf1641e74..05b3a79cf 100644 --- a/lib_basop/complex_basop.h +++ b/lib_basop/complex_basop.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /***************************************************************************** * diff --git a/lib_basop/enh1632.c b/lib_basop/enh1632.c index f397c3432..d4250daa4 100644 --- a/lib_basop/enh1632.c +++ b/lib_basop/enh1632.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /* =========================================================================== File: ENH1632.C v.2.3 - 30.Nov.2009 diff --git a/lib_basop/enh1632.h b/lib_basop/enh1632.h index f91494fb1..12d2eb382 100644 --- a/lib_basop/enh1632.h +++ b/lib_basop/enh1632.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /* =========================================================================== File: ENH1632.H v.2.3 - 30.Nov.2009 diff --git a/lib_basop/enh32.c b/lib_basop/enh32.c index d2931dd5d..e5c58fd76 100644 --- a/lib_basop/enh32.c +++ b/lib_basop/enh32.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /***************************************************************************** * * Enhanced 32 bit operators : diff --git a/lib_basop/enh32.h b/lib_basop/enh32.h index 1d275cdd2..90fb64379 100644 --- a/lib_basop/enh32.h +++ b/lib_basop/enh32.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef _ENH32_H #define _ENH32_H diff --git a/lib_basop/enh40.c b/lib_basop/enh40.c index 57df99e5c..593c8cdac 100644 --- a/lib_basop/enh40.c +++ b/lib_basop/enh40.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /* =========================================================================== diff --git a/lib_basop/enh40.h b/lib_basop/enh40.h index 8cfb0c600..dfce706ea 100644 --- a/lib_basop/enh40.h +++ b/lib_basop/enh40.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /* =========================================================================== diff --git a/lib_basop/enh64.c b/lib_basop/enh64.c index 8bffb620c..7456f4c0b 100644 --- a/lib_basop/enh64.c +++ b/lib_basop/enh64.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /***************************************************************************** * * Enhanced 64 bit operators : diff --git a/lib_basop/enh64.h b/lib_basop/enh64.h index c3896bb0d..9276c78bd 100644 --- a/lib_basop/enh64.h +++ b/lib_basop/enh64.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef _ENH64_H #define _ENH64_H diff --git a/lib_basop/enhUL32.c b/lib_basop/enhUL32.c index 565082120..185dcf328 100644 --- a/lib_basop/enhUL32.c +++ b/lib_basop/enhUL32.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /* ============================================================================ File: ENHUL32.C v.1.0 - 01.July.2018 diff --git a/lib_basop/enhUL32.h b/lib_basop/enhUL32.h index d200342b4..8e2c9de31 100644 --- a/lib_basop/enhUL32.h +++ b/lib_basop/enhUL32.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /* ============================================================================ File: ENHUL32.H v.1.0 - 01.July.2018 diff --git a/lib_basop/move.h b/lib_basop/move.h index 7f1003119..8b02febf5 100644 --- a/lib_basop/move.h +++ b/lib_basop/move.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_basop/stl.h b/lib_basop/stl.h index 6badc3bcf..4fe4467b6 100644 --- a/lib_basop/stl.h +++ b/lib_basop/stl.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_basop/typedef.h b/lib_basop/typedef.h index 9968d4c84..00effd03f 100644 --- a/lib_basop/typedef.h +++ b/lib_basop/typedef.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_basop/typedefs.h b/lib_basop/typedefs.h index 001f3f164..00ab37936 100644 --- a/lib_basop/typedefs.h +++ b/lib_basop/typedefs.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /* =========================================================================== File: TYPEDEFS.H v.2.3 - 30.Nov.2009 diff --git a/lib_com/ACcontextMapping_fx.c b/lib_com/ACcontextMapping_fx.c index 19cbea1a4..884e03880 100644 --- a/lib_com/ACcontextMapping_fx.c +++ b/lib_com/ACcontextMapping_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/ari_fx.c b/lib_com/ari_fx.c index 32bb550b2..fdbe33195 100644 --- a/lib_com/ari_fx.c +++ b/lib_com/ari_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -9,26 +12,6 @@ #include "cnst.h" -#ifndef FIX_2402_SIMPLIFY_ARI_CODEC -/** - * \brief 31x16 Bit multiply (x*y) - * - * \param[i] xh high part, bit [30..15] - * \param[i] xl low part, 15 LSBits - * \param[i] y - * - * \return x*y - */ -Word32 L_multi31x16_X2( Word16 xh, Word16 xl, Word16 y ) -{ - Word32 z; - - z = L_shl( L_mult0( xh, y ), 15 ); - z = L_mac0( z, xl, y ); - - return z; -} -#endif /*--------------------------------------------------------------- Ari 14 bits common routines diff --git a/lib_com/ari_hm_fx.c b/lib_com/ari_hm_fx.c index e52e783f8..650ac4b8b 100644 --- a/lib_com/ari_hm_fx.c +++ b/lib_com/ari_hm_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/arith_coder_fx.c b/lib_com/arith_coder_fx.c index 2467df93a..d9d1c1eb6 100644 --- a/lib_com/arith_coder_fx.c +++ b/lib_com/arith_coder_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/basop_com_lpc.c b/lib_com/basop_com_lpc.c index 182ab57bb..a070dfa31 100644 --- a/lib_com/basop_com_lpc.c +++ b/lib_com/basop_com_lpc.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/basop_lsf_tools.c b/lib_com/basop_lsf_tools.c index 9cb5d9180..04de2b6b3 100644 --- a/lib_com/basop_lsf_tools.c +++ b/lib_com/basop_lsf_tools.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/basop_proto_func.h b/lib_com/basop_proto_func.h index 845d14a27..008d568b6 100644 --- a/lib_com/basop_proto_func.h +++ b/lib_com/basop_proto_func.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/basop_settings.h b/lib_com/basop_settings.h index 6d1d513a2..d1fcd16fd 100644 --- a/lib_com/basop_settings.h +++ b/lib_com/basop_settings.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/basop_tcx_utils.c b/lib_com/basop_tcx_utils.c index 60200d968..dd83d9d12 100644 --- a/lib_com/basop_tcx_utils.c +++ b/lib_com/basop_tcx_utils.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/basop_util.c b/lib_com/basop_util.c index 335f61c1e..2f1c4fe87 100644 --- a/lib_com/basop_util.c +++ b/lib_com/basop_util.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/basop_util.h b/lib_com/basop_util.h index d52830430..83de824eb 100644 --- a/lib_com/basop_util.h +++ b/lib_com/basop_util.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/bitalloc_fx.c b/lib_com/bitalloc_fx.c index 5dc472047..ffa327f43 100644 --- a/lib_com/bitalloc_fx.c +++ b/lib_com/bitalloc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/bitallocsum_fx.c b/lib_com/bitallocsum_fx.c index d052b8187..967b449d2 100644 --- a/lib_com/bitallocsum_fx.c +++ b/lib_com/bitallocsum_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/bits_alloc_fx.c b/lib_com/bits_alloc_fx.c index 720196316..4a41e6726 100644 --- a/lib_com/bits_alloc_fx.c +++ b/lib_com/bits_alloc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -1746,9 +1749,6 @@ static Word16 allocate_unused( } ELSE { -#ifdef DEBUG_MODE_TD - IVAS_ERROR( IVAS_ERR_WRONG_MODE, "unknown mode in bit_alloc.c" ); -#endif } max_bit_per_pos = s_min( unused_bits, sub( max_bit_per_pos, prm_bit_mode[subfr] ) ); diff --git a/lib_com/bitstream_fx.c b/lib_com/bitstream_fx.c index 92f09b498..645b38019 100644 --- a/lib_com/bitstream_fx.c +++ b/lib_com/bitstream_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 @@ -48,23 +20,7 @@ #include "wmc_auto.h" #include "ivas_prot_fx.h" #include "prot_fx_enc.h" -#ifdef DEBUGGING -#include "debug.h" -#ifdef DBG_BITSTREAM_ANALYSIS -#include -#endif -#endif - -#ifdef DEBUGGING - -#define FEC_SEED 12558 -/*-------------------------------------------------------------------* - * Global variables - *--------------------------------------------------------------------*/ - -FILE *FEC_pattern = NULL; /* FEC pattern file (for simulation of FEC) */ -#endif #define STEP_MAX_NUM_INDICES 100 /* increase the maximum number of allowed indices in the list by this amount */ @@ -359,9 +315,6 @@ ivas_error ind_list_realloc( { new_ind_list[i].id = old_ind_list[i].id; new_ind_list[i].value = old_ind_list[i].value; -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - strncpy( new_ind_list[i].function_name, old_ind_list[i].function_name, 100 ); -#endif move16(); move16(); } @@ -373,9 +326,6 @@ ivas_error ind_list_realloc( FOR( ; i < max_num_indices; i++ ) { new_ind_list[i].nb_bits = -1; -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - sprintf( new_ind_list[i].function_name, "RESET in ind_list_realloc" ); -#endif move16(); } @@ -971,9 +921,6 @@ void move_indices( move16(); move16(); -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - strncpy( new_ind_list[i].function_name, old_ind_list[i].function_name, 100 ); -#endif old_ind_list[i].nb_bits = -1; move16(); } @@ -988,15 +935,9 @@ void move_indices( move16(); move16(); move16(); -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - strncpy( new_ind_list[i].function_name, old_ind_list[i].function_name, 100 ); -#endif old_ind_list[i].nb_bits = -1; move16(); -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - sprintf( old_ind_list[i].function_name, "RESET in move_indices" ); -#endif } } @@ -1026,9 +967,6 @@ ivas_error check_ind_list_limits( /* the re-allocation can be avoided by increasing the limits in get_ivas_max_num_indices() or get_ivas_max_num_indices_metadata() */ IF( GE_16( (Word16) ( &hBstr->ind_list[hBstr->nb_ind_tot] - ivas_ind_list_zero ), *( hBstr->ivas_max_num_indices ) ) ) { -#ifdef DEBUGGING - fprintf( stderr, "Warning: The maximum number of indices %d has been exceeded in frame %d! Increase the limits in get_ivas_max_num_indices() or get_max_num_indices_metadata().\n", *( hBstr->ivas_max_num_indices ), frame ); -#endif /* reallocate the buffer of indices with increased limit */ IF( NE_32( ( error = ind_list_realloc( *hBstr->ivas_ind_list_zero, *( hBstr->ivas_max_num_indices ) + STEP_MAX_NUM_INDICES, hBstr->st_ivas ) ), IVAS_ERR_OK ) ) @@ -1042,9 +980,6 @@ ivas_error check_ind_list_limits( { IF( hBstr->nb_ind_tot == 0 ) { -#ifdef DEBUGGING - fprintf( stderr, "Warning: Trying to overwrite an existing indice ID = %d in frame %d!\n", hBstr->ind_list[hBstr->nb_ind_tot].id, frame ); -#endif /* move the pointer to the next available empty slot */ ivas_ind_list_last = &ivas_ind_list_zero[*( hBstr->ivas_max_num_indices )]; WHILE( hBstr->ind_list[0].nb_bits > 0 && hBstr->ind_list < ivas_ind_list_last ) @@ -1054,9 +989,6 @@ ivas_error check_ind_list_limits( IF( hBstr->ind_list >= ivas_ind_list_last ) { -#ifdef DEBUGGING - fprintf( stderr, "Warning: The maximum number of indices %d has been exceeded in frame %d! Increase the limits in get_ivas_max_num_indices() or get_max_num_indices_metadata().\n", *( hBstr->ivas_max_num_indices ), frame ); -#endif /* no available empty slot -> need to re-allocate the buffer */ IF( NE_32( ( error = ind_list_realloc( *hBstr->ivas_ind_list_zero, *( hBstr->ivas_max_num_indices ) + STEP_MAX_NUM_INDICES, hBstr->st_ivas ) ), IVAS_ERR_OK ) ) @@ -1067,1891 +999,13 @@ ivas_error check_ind_list_limits( } ELSE { -#ifdef DEBUGGING - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Buffer of indices corrupted in frame %d! Attempt to overwrite indice ID = %d (value: %d, bits: %d)!\n", frame, hBstr->ind_list[hBstr->nb_ind_tot].id, hBstr->ind_list[hBstr->nb_ind_tot].value, hBstr->ind_list[hBstr->nb_ind_tot].nb_bits ); -#else return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Buffer of indices corrupted! Attempt to overwrite indice ID = %d (value: %d, bits: %d)!\n", hBstr->ind_list[hBstr->nb_ind_tot].id, hBstr->ind_list[hBstr->nb_ind_tot].value, hBstr->ind_list[hBstr->nb_ind_tot].nb_bits ); -#endif } } return error; } -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) -const char *named_indices_table[] = { - "IND_IVAS_FORMAT", - "IND_SMODE_OMASA", - "IND_SMODE", - "IND_SID_TYPE", - "IND_BWIDTH", - "IND_CORE", - "IND_PPP_NELP_MODE", - "IND_ACELP_16KHZ", - "IND_ACELP_SIGNALLING", - "IND_SHARP_FLAG", - "IND_MDCT_CORE", - "IND_TCX_CORE", - "IND_BWE_FLAG", - "IND_HQ_SWITCHING_FLG", - "IND_LAST_L_FRAME", - "IND_VAD_FLAG", - "IND_HQ_BWIDTH", - "IND_TC_SUBFR", - "IND_TC_SUBFR", - "IND_TC_SUBFR", - "IND_TC_SUBFR", - "IND_GSC_IVAS_SP", - "IND_LSF_PREDICTOR_SELECT_BIT", - "IND_LSF", - "IND_LSF", - "IND_LSF", - "IND_LSF", - "IND_LSF", - "IND_LSF", - "IND_LSF", - "IND_LSF", - "IND_LSF", - "IND_LSF", - "IND_LSF", - "IND_LSF", - "IND_LSF", - "IND_LSF", - "IND_LSF", - "IND_LSF", - "IND_LSF", - "IND_MID_FRAME_LSF_INDEX", - "IND_ISF_0_0", - "IND_ISF_0_1", - "IND_ISF_0_2", - "IND_ISF_0_3", - "IND_ISF_0_4", - "IND_ISF_1_0", - "IND_ISF_1_1", - "IND_ISF_1_2", - "IND_ISF_1_3", - "IND_ISF_1_4", - "IND_IC_LSF_PRED", - "IND_GSC_ATTACK", - "IND_GSC_SWB_SPEECH", - "IND_NOISE_LEVEL", - "IND_HF_NOISE", - "IND_PIT_CONTR_IDX", - "IND_FEC_CLAS", - "IND_FEC_ENR", - "IND_FEC_POS", - "IND_ES_PRED", - "IND_HARM_FLAG_ACELP", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "TAG_ALG_CDBK_4T64_24KBIT_END", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "TAG_ACELP_SUBFR_LOOP_END", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_HF", - "IND_HQ_VOICING_FLAG", - "IND_HQ_SWB_CLAS", - "IND_NF_IDX", - "IND_LC_MODE", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_SWB_FENV_HQ", - "IND_SWB_FENV_HQ", - "IND_SWB_FENV_HQ", - "IND_SWB_FENV_HQ", - "IND_SWB_FENV_HQ", - "IND_FB_FENV_HQ", - "IND_FB_FENV_HQ", - "IND_FB_FENV_HQ", - "IND_FB_FENV_HQ", - "IND_FB_FENV_HQ", - "IND_DELTA_ENV_HQ", - "IND_HVQ_BWE_NL", - "IND_HVQ_BWE_NL", - "IND_NUM_PEAKS", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_FLAGN", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_NF_GAIN", - "IND_HVQ_NF_GAIN", - "IND_HQ2_SWB_CLAS", - "IND_HQ2_DENG_MODE", - "IND_HQ2_DENG_8SMODE", - "IND_HQ2_DENG_8SMODE_N0", - "IND_HQ2_DENG_8SMODE_N1", - "IND_HQ2_DENG_8SPOS", - "IND_HQ2_DENG_8SDEPTH", - "IND_HQ2_DENG_HMODE", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_LAST_BA_MAX_BAND", - "IND_HQ2_LAST_BA_MAX_BAND", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_END", - "IND_HVQ_PVQ_GAIN", - "IND_HVQ_PVQ_GAIN", - "IND_HVQ_PVQ_GAIN", - "IND_HVQ_PVQ_GAIN", - "IND_HVQ_PVQ_GAIN", - "IND_HVQ_PVQ_GAIN", - "IND_HVQ_PVQ_GAIN", - "IND_HVQ_PVQ_GAIN", - "IND_NOISINESS", - "IND_ENERGY", - "IND_CNG_HO", - "IND_SID_BW", - "IND_CNG_ENV1", - "IND_WB_FENV", - "IND_WB_CLASS", - "IND_IG1", - "IND_IG2A", - "IND_IG2B", - "IND_NELP_FID", - "IND_DELTALAG", - "IND_POWER", - "IND_AMP0", - "IND_AMP1", - "IND_GLOBAL_ALIGNMENT", - "IND_PVQ_FINE_GAIN", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_SHB_SUBGAIN", - "IND_SHB_FRAMEGAIN", - "IND_STEREO_ICBWE_MSFLAG", - "IND_SHB_ENER_SF", - "IND_SHB_RES_GS", - "IND_SHB_RES_GS", - "IND_SHB_RES_GS", - "IND_SHB_RES_GS", - "IND_SHB_RES_GS", - "IND_SHB_VF", - "IND_SHB_LSF", - "IND_SHB_LSF", - "IND_SHB_LSF", - "IND_SHB_LSF", - "IND_SHB_LSF", - "IND_SHB_MIRROR", - "IND_SHB_GRID", - "IND_SWB_CLASS", - "IND_SWB_TENV", - "IND_SWB_TENV", - "IND_SWB_TENV", - "IND_SWB_TENV", - "IND_SWB_FENV", - "IND_SWB_FENV", - "IND_SWB_FENV", - "IND_SWB_FENV", - "IND_SHB_CNG_GAIN", - "IND_DITHERING", - "IND_FB_SLOPE", - "IND_HQ2_SPT_SHORTEN", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_DUMMY", - "IND_LAGINDICES", - "IND_NOISEG", - "IND_AUDIO_GAIN", - "IND_AUDIO_DELAY", - "IND_AUDIO_DELAY", - "IND_AUDIO_DELAY", - "IND_AUDIO_DELAY", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "TAG_HR_BWE_LOOP_END", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_AUDIO_DELAY", - "IND_CORE_SWITCHING_AUDIO_GAIN", - "IND_STEREO_ICBWE_REF", - "IND_STEREO_ICBWE_SP", - "IND_STEREO_ICBWE_GS", - "IND_STEREO_REFCHAN", - "IND_STEREO_CORRSTATS", - "IND_STEREO_GD", - "IND_STEREO_LRTD_FLAG", - "IND_STEREO_LPC_REUSE", - "IND_STEREO_TD_ALPHA", - "IND_STEREO_2ND_CODER_T", - "IND_UNUSED" -}; -#endif /*-------------------------------------------------------------------* @@ -2973,27 +1027,11 @@ ivas_error push_indice( error = IVAS_ERR_OK; move32(); -#ifdef DEBUGGING - if ( nb_bits < ( 32 - 1 ) && ( value >> nb_bits ) > 0 ) - { - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Indice ID = %d with value %d exceeds the range of %d bits (frame %d) !\n", id, value, nb_bits, frame ); - } - - if ( nb_bits > 16 ) - { - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Indice ID = %d with value %d is trying to allocate %d bits which exceeds 16 bits (frame %d) !\n", id, value, nb_bits, frame ); - } - -#endif /* check the limits of the list of indices */ IF( NE_32( ( error = check_ind_list_limits( hBstr ) ), IVAS_ERR_OK ) ) { -#ifdef DEBUGGING - return IVAS_ERROR( error, "Error occured in push_indice() while re-allocating the list of indices (frame %d) !\n", frame ); -#else return IVAS_ERROR( error, "Error occured in push_indice() while re-allocating the list of indices!\n" ); -#endif } /* find the location in the list of indices based on ID */ @@ -3014,9 +1052,6 @@ ivas_error push_indice( hBstr->ind_list[j].id = hBstr->ind_list[j - 1].id; hBstr->ind_list[j].nb_bits = hBstr->ind_list[j - 1].nb_bits; hBstr->ind_list[j].value = hBstr->ind_list[j - 1].value; -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - strncpy( hBstr->ind_list[j].function_name, hBstr->ind_list[j - 1].function_name, 100 ); -#endif move16(); move16(); move16(); @@ -3028,9 +1063,6 @@ ivas_error push_indice( hBstr->ind_list[i].id = id; hBstr->ind_list[i].value = value; hBstr->ind_list[i].nb_bits = nb_bits; -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - strncpy( hBstr->ind_list[i].function_name, named_indices_table[id], 100 ); -#endif move16(); move16(); move16(); @@ -3049,12 +1081,7 @@ ivas_error push_indice( * * Push a new indice into the buffer at the next position *-------------------------------------------------------------------*/ -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) -ivas_error push_next_indice_( - const char *caller, -#else ivas_error push_next_indice( -#endif BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */ UWord16 value, /* i : value of the quantized indice */ Word16 nb_bits /* i : number of bits used to quantize the indice */ @@ -3066,18 +1093,6 @@ ivas_error push_next_indice( error = IVAS_ERR_OK; move32(); -#ifdef DEBUGGING - if ( nb_bits < ( 32 - 1 ) && ( value >> nb_bits ) > 0 ) - { - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Indice with value %d exceeds the range of %d bits (frame %d) !\n", value, nb_bits, frame ); - } - - if ( nb_bits > 16 ) - { - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Indice with value %d is trying to allocate %d bits which exceeds 16 bits !\n", value, nb_bits ); - } - -#endif /* check the limits of the list of indices */ IF( NE_32( ( error = check_ind_list_limits( hBstr ) ), IVAS_ERR_OK ) ) @@ -3104,9 +1119,6 @@ ivas_error push_next_indice( move16(); move16(); -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - strncpy( hBstr->ind_list[hBstr->nb_ind_tot].function_name, caller, 100 ); -#endif /* updates */ hBstr->nb_ind_tot = add( hBstr->nb_ind_tot, 1 ); @@ -3123,12 +1135,7 @@ ivas_error push_next_indice( * Push a bit buffer into the buffer at the next position *-------------------------------------------------------------------*/ -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) -ivas_error push_next_bits_( - const char *caller, -#else ivas_error push_next_bits( -#endif BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */ const UWord16 bits[], /* i : bit buffer to pack, sequence of single bits */ const Word16 nb_bits /* i : number of bits to pack */ @@ -3165,20 +1172,13 @@ ivas_error push_next_bits( /* check the limits of the list of indices */ IF( NE_32( ( error = check_ind_list_limits( hBstr ) ), IVAS_ERR_OK ) ) { -#ifdef DEBUGGING - return IVAS_ERROR( error, "Error occured in push_next_bits() while re-allocating the list of indices (frame %d) !\n", frame ); -#else return IVAS_ERROR( error, "Error occured in push_next_bits() while re-allocating the list of indices!\n" ); -#endif } ptr = &hBstr->ind_list[hBstr->nb_ind_tot]; ptr->value = code; ptr->nb_bits = 16; ptr->id = prev_id; -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - strncpy( ptr->function_name, caller, 100 ); -#endif hBstr->nb_ind_tot = add( hBstr->nb_ind_tot, 1 ); move16(); move16(); @@ -3193,20 +1193,13 @@ ivas_error push_next_bits( /* check the limits of the list of indices */ IF( NE_32( ( error = check_ind_list_limits( hBstr ) ), IVAS_ERR_OK ) ) { -#ifdef DEBUGGING - return IVAS_ERROR( error, "Error occured in push_next_bits() while re-allocating the list of indices (frame %d) !\n", frame ); -#else return IVAS_ERROR( error, "Error occured in push_next_bits() while re-allocating the list of indices!\n" ); -#endif } ptr = &hBstr->ind_list[hBstr->nb_ind_tot]; ptr->value = bits[i]; ptr->nb_bits = 1; ptr->id = prev_id; -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - strncpy( ptr->function_name, caller, 100 ); -#endif hBstr->nb_ind_tot = add( hBstr->nb_ind_tot, 1 ); move16(); move16(); @@ -3289,9 +1282,6 @@ UWord16 delete_indice( move16(); move16(); move16(); -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - strncpy( hBstr->ind_list[j].function_name, hBstr->ind_list[i].function_name, 100 ); -#endif } j++; @@ -3304,9 +1294,6 @@ UWord16 delete_indice( /* reset the shifted indices at the end of the list */ hBstr->ind_list[j].nb_bits = -1; move16(); -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - sprintf( hBstr->ind_list[j].function_name, "RESET in delete_indice" ); -#endif } return sub( i, j ); @@ -3573,9 +1560,6 @@ static Word16 write_indices_to_stream_fx( Word16 i, k; Word16 value, nb_bits; UWord16 mask; -#ifdef ENABLE_BITRATE_VERIFICATION - int16_t total_nb_bits = 0; -#endif FOR( i = 0; i < num_indices; i++ ) { @@ -3586,9 +1570,6 @@ static Word16 write_indices_to_stream_fx( IF( nb_bits > 0 ) { -#ifdef ENABLE_BITRATE_VERIFICATION - total_nb_bits += nb_bits; -#endif /* mask from MSB to LSB */ mask = (UWord16) L_shl( 1, sub( nb_bits, 1 ) ); @@ -3611,22 +1592,8 @@ static Word16 write_indices_to_stream_fx( mask = (UWord16) L_shr( mask, 1 ); } } -#ifdef DEBUGGING - else if ( nb_bits == 0 ) - { - /* fprintf( stderr, "Warning: %s: nb_bits == 0!\n", __func__ ); */ - } - else - { - /* fprintf( stderr, "Warning: %s: nb_bits == %d!\n", __func__, nb_bits ); */ - } -#endif } -#ifdef ENABLE_BITRATE_VERIFICATION - return total_nb_bits; -#else return 0; -#endif } @@ -3653,9 +1620,6 @@ static ivas_error write_indices_element_fx( Indice *ind_list_metadata; Word16 n, n_channels; -#ifdef ENABLE_BITRATE_VERIFICATION - int16_t total_nb_bits; -#endif ivas_error error; error = IVAS_ERR_OK; @@ -3703,12 +1667,6 @@ static ivas_error write_indices_element_fx( move16(); } } -#ifdef DEBUGGING - else - { - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Error: Bitstream writing error in frame %d. Exiting!\n", frame ); - } -#endif } n_channels = 1; @@ -3741,105 +1699,21 @@ static ivas_error write_indices_element_fx( pt_stream_loc += nb_bits_tot_metadata - 1; pt_stream_end = pt_stream_loc + 1; -#ifdef ENABLE_BITRATE_VERIFICATION - total_nb_bits = -#endif write_indices_to_stream_fx( ind_list_metadata, &pt_stream_loc, -1, nb_ind_tot_metadata ); -#ifdef ENABLE_BITRATE_VERIFICATION - if ( total_nb_bits != nb_bits_tot_metadata ) - { - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Bitstream write size mismatch! Written bits: %d vs. Reference bits: %d\n", total_nb_bits, nb_bits_tot_metadata ); - } -#endif /* restore previous pointer position */ pt_stream_loc = pt_stream_backup; } -#ifdef ENABLE_BITRATE_VERIFICATION - total_nb_bits = -#endif write_indices_to_stream_fx( sts[n]->hBstr->ind_list, &pt_stream_loc, 1, sts[n]->hBstr->nb_ind_tot ); -#ifdef ENABLE_BITRATE_VERIFICATION - if ( total_nb_bits != sts[n]->hBstr->nb_bits_tot ) - { - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Bitstream write size mismatch! Written bits: %d vs. Reference bits: %d\n", total_nb_bits, sts[n]->hBstr->nb_bits_tot ); - } -#endif if ( pt_stream_loc > pt_stream_end ) { pt_stream_end = pt_stream_loc; } } -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - if ( is_SCE ) /* EVS and SCE */ - { - static FILE *f1 = 0; - - if ( f1 == 0 ) - f1 = fopen( "bitstream_text", "w" ); - - for ( int16_t i = 0; i < sts[0]->hBstr->nb_ind_tot; i++ ) - { - Indice *ind_list = sts[0]->hBstr->ind_list; - int16_t value = ind_list[i].value; - int16_t nb_bits = ind_list[i].nb_bits; - char *function_name = ind_list[i].function_name; - - fprintf( f1, "%d %d %d %s %d %d\n", frame, element_id, i, function_name, nb_bits, value ); - } - - if ( st_ivas->hSCE[element_id]->hMetaData != NULL ) - { - for ( int16_t i = 0; i < st_ivas->hSCE[element_id]->hMetaData->nb_ind_tot; i++ ) - { - Indice *ind_list = st_ivas->hSCE[element_id]->hMetaData->ind_list; - int16_t value = ind_list[i].value; - int16_t nb_bits = ind_list[i].nb_bits; - char *function_name = ind_list[i].function_name; - - fprintf( f1, "%d %d %d %s %d %d\n", frame, element_id, i, function_name, nb_bits, value ); - } - } - } - else - { - static FILE *f1 = 0; - - if ( f1 == 0 ) - f1 = fopen( "bitstream_text", "w" ); - - - for ( n = 0; n < n_channels; n++ ) - { - for ( int16_t i = 0; i < sts[n]->hBstr->nb_ind_tot; i++ ) - { - Indice *ind_list = sts[n]->hBstr->ind_list; - int16_t value = ind_list[i].value; - int16_t nb_bits = ind_list[i].nb_bits; - char *function_name = ind_list[i].function_name; - - fprintf( f1, "%d %d %d %d %s %d %d\n", frame, element_id, n, i, function_name, nb_bits, value ); - } - } - - if ( st_ivas->hCPE[element_id]->hMetaData != NULL ) - { - for ( int16_t i = 0; i < st_ivas->hCPE[element_id]->hMetaData->nb_ind_tot; i++ ) - { - Indice *ind_list = st_ivas->hCPE[element_id]->hMetaData->ind_list; - int16_t value = ind_list[i].value; - int16_t nb_bits = ind_list[i].nb_bits; - char *function_name = ind_list[i].function_name; - - fprintf( f1, "%d %d %d %d %s %d %d\n", frame, element_id, -1, i, function_name, nb_bits, value ); - } - } - } -#endif /*----------------------------------------------------------------* * Clearing of indices @@ -3890,11 +1764,6 @@ ivas_error write_indices_ivas_fx( { Word16 i, n; UWord16 *pt_stream; -#ifdef ENABLE_BITRATE_VERIFICATION - Encoder_State **sts; - int32_t ivas_total_brate; - int16_t ch; -#endif ivas_error error; error = IVAS_ERR_OK; @@ -3907,45 +1776,6 @@ ivas_error write_indices_ivas_fx( move16(); } -#ifdef ENABLE_BITRATE_VERIFICATION - i = 0; - - for ( n = 0; n < st_ivas->nSCE; n++ ) - { - sts = st_ivas->hSCE[n]->hCoreCoder; - i += sts[0]->hBstr->nb_bits_tot; - - if ( st_ivas->hSCE[n]->hMetaData != NULL ) - { - i += st_ivas->hSCE[n]->hMetaData->nb_bits_tot; - } - } - - for ( n = 0; n < st_ivas->nCPE; n++ ) - { - sts = st_ivas->hCPE[n]->hCoreCoder; - for ( ch = 0; ch < CPE_CHANNELS; ch++ ) - { - i += sts[ch]->hBstr->nb_bits_tot; - } - - if ( st_ivas->hCPE[n]->hMetaData != NULL ) - { - i += st_ivas->hCPE[n]->hMetaData->nb_bits_tot; - } - } - - ivas_total_brate = st_ivas->hEncoderConfig->ivas_total_brate; - if ( st_ivas->hEncoderConfig->Opt_SC_VBR ) - { - ivas_total_brate = st_ivas->hSCE[0]->hCoreCoder[0]->total_brate; - } - - if ( i * FRAMES_PER_SEC != ivas_total_brate && i >= ACELP_11k60 / FRAMES_PER_SEC ) - { - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Bitstream write size mismatch! Actual bitrate: %ld vs. Reference bitrate: %d\n", i * 50L, ivas_total_brate ); - } -#endif /*-----------------------------------------------------------------* * Encode Payload @@ -3982,10 +1812,6 @@ void convertSerialToBytestream_fx( { Word16 i, ia7, isr3; UWord8 bit, bitinbyte; -#ifdef DEBUGGING - UWord8 bitinbyte2, bytestream_tmp; - assert( num_bits <= MAX_16 ); /* 512 kbps = 10240 bits, num_bits should always fits Word16 */ -#endif FOR( i = 0; i < num_bits; ++i ) { @@ -4003,24 +1829,13 @@ void convertSerialToBytestream_fx( ia7 = s_and( i, 0x7 ); isr3 = shr( i, 3 ); bitinbyte = (UWord8) shl( (Word16) bit, sub( 7, ia7 ) ); -#ifdef DEBUGGING - bitinbyte2 = bit << ( 7 - ( i & 0x7 ) ); - assert( bitinbyte2 == bitinbyte ); -#endif IF( !( ia7 ) ) { bytestream[isr3] = 0; move16(); } /*bytestream[i >> 3] |= bitinbyte;*/ -#ifdef DEBUGGING - bytestream_tmp = bytestream[isr3]; - bytestream_tmp |= bitinbyte2; -#endif bytestream[isr3] = (Word8) s_or( bytestream[isr3], bitinbyte ); -#ifdef DEBUGGING - assert( bytestream_tmp == bytestream[isr3] ); -#endif move16(); } @@ -4078,9 +1893,6 @@ static void decoder_selectCodec( move16(); BREAK; default: /* validate that total_brate (derived from RTP packet or a file header) is one of the defined bitrates */ -#ifdef DEBUGGING - IVAS_ERROR( IVAS_ERR_INTERNAL, "Error illegal total bitrate (= %d) \n", total_brate ); -#endif st->codec_mode = st->last_codec_mode; move16(); st->bfi = 1; @@ -4174,12 +1986,6 @@ static void dec_prm_core( Decoder_State *st ) BREAK; } } -#ifdef DEBUGGING - if ( n == FRAME_SIZE_NB ) - { - assert( !"Bitrate not supported: not part of EVS" ); - } -#endif /* Get bandwidth mode */ st->bwidth = get_next_indice_fx( st, FrameSizeConfig[frame_size_index].bandwidth_bits ); @@ -4299,9 +2105,6 @@ static void decision_matrix_core_dec( WHILE( acelp_sig_tbl[start_idx] != st->total_brate ) { start_idx = add( start_idx, 1 ); -#ifdef DEBUGGING - assert( ( start_idx < 194 ) && "ERROR: start_idx larger than acelp_sig_tbl[].\n" ); -#endif } /* skip the bitrate */ @@ -4574,58 +2377,6 @@ void ivas_set_bitstream_pointers( return; } -#ifdef DEBUGGING - -/*-------------------------------------------------------------------* - * file_read_FECpattern() - * - * Simulate packet losses by reading FEC pattern from external file - *-------------------------------------------------------------------*/ - -static ivas_error file_read_FECpattern( - Word16 *bfi ) -{ - ivas_error error; - - error = IVAS_ERR_OK; - *bfi = 0; - - /* FEC pattern file provided */ - if ( FEC_pattern != NULL ) - { - Word16 tmp = 0; - if ( fread( &tmp, sizeof( Word16 ), 1, FEC_pattern ) != 1 ) - { - if ( feof( FEC_pattern ) != 0 ) - { -#ifdef WRAP_AS_EIDXOR - fseek( FEC_pattern, 0L, SEEK_SET ); - fread( &tmp, sizeof( Word16 ), 1, FEC_pattern ); -#else - tmp = 0; - fseek( FEC_pattern, 0L, SEEK_SET ); -#endif - } - else - { - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Error reading the FEC pattern file !" ); - } - } - - if ( tmp == 2609 || tmp == 1 || tmp == (UWord16) 0x6B20 /* == G192_SYNC_BAD_FRAME */ ) - { - *bfi = 1; - } - else - { - *bfi = 0; - } - } - - return error; -} - -#endif /*-------------------------------------------------------------------* * read_indices() @@ -4662,21 +2413,8 @@ ivas_error read_indices_fx( move16(); sts = reset_elements( st_ivas ); -#ifdef DEBUGGING - file_read_FECpattern( &st_ivas->bfi ); - st_ivas->bfi |= bfi; - - if ( bfi == FRAMEMODE_MISSING ) - { - for ( k = 0; k < num_bits; k++ ) - { - bit_stream[k] = 0; - } - } -#else st_ivas->bfi = bfi; move16(); -#endif /* convert the frame length to total bitrate */ total_brate = imult3216( num_bits, FRAMES_PER_SEC ); diff --git a/lib_com/cb_shape_fx.c b/lib_com/cb_shape_fx.c index c30058994..5f8f87689 100644 --- a/lib_com/cb_shape_fx.c +++ b/lib_com/cb_shape_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/cldfb_evs_fx.c b/lib_com/cldfb_evs_fx.c index 2d611b27e..0e431342c 100644 --- a/lib_com/cldfb_evs_fx.c +++ b/lib_com/cldfb_evs_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -1216,12 +1219,8 @@ void analysisCldfbEncoder_fx( &enerScale.lb_scale16 ); /* get the energy */ -#ifdef HARMONIZE_2564_GetEnergyCldfb GetEnergyCldfb( EVS_MONO, -#else - GetEnergyCldfb( -#endif &st_fx->energyCoreLookahead_Fx, &st_fx->sf_energyCoreLookahead_Fx, num_slots, @@ -1240,12 +1239,8 @@ void analysisCldfbEncoder_fx( } -#ifdef HARMONIZE_2564_GetEnergyCldfb void GetEnergyCldfb( Word16 element_mode, /*!< i: | Is IVAS or EVS? */ -#else -void GetEnergyCldfb( -#endif Word32 *energyLookahead, /*!< o: Q(*sf_energyLookahead) | pointer to the result in the core look-ahead slot */ Word16 *sf_energyLookahead, /*!< o: pointer to the scalefactor of the result in the core look-ahead slot */ const Word16 numLookahead, /*!< i: Q0 the number of look-ahead time-slots */ @@ -1320,15 +1315,11 @@ void GetEnergyCldfb( move16(); energyValuesSum[j] = L_shr_r( energyValuesSum[j], 1 ); move32(); -#ifdef HARMONIZE_2564_GetEnergyCldfb nrg = L_shr_r( nrg, 1 ); if ( EQ_16( element_mode, EVS_MONO ) ) { -#endif nrg = L_shr_r( energyValues[k][j], 1 ); -#ifdef HARMONIZE_2564_GetEnergyCldfb } -#endif } energyValuesSum[j] = L_add( energyValuesSum[j], nrg ); move32(); diff --git a/lib_com/cldfb_fx.c b/lib_com/cldfb_fx.c index 6126a6ee2..fafffe298 100644 --- a/lib_com/cldfb_fx.c +++ b/lib_com/cldfb_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 @@ -55,21 +27,6 @@ static void cldfb_init_proto_and_twiddles( HANDLE_CLDFB_FILTER_BANK hs ); -#ifndef HARMONIZE_2564_GetEnergyCldfb -static void GetEnergyCldfb_ivas_fx( Word32 *energyLookahead, /*!< o: Q(*sf_energyLookahead) | pointer to the result in the core look-ahead slot */ - Word16 *sf_energyLookahead, /*!< o: pointer to the scalefactor of the result in the core look-ahead slot */ - const Word16 numLookahead, /*!< i: Q0 the number of look-ahead time-slots */ - Word16 **realValues, /*!< i: Q(sf_Values) | the real part of the CLDFB subsamples */ - Word16 **imagValues, /*!< i: Q(sf_Values) | the imaginary part of the CLDFB subsamples */ - Word16 sf_Values, /*!< i: scalefactor of the CLDFB subcamples - apply as a negated Exponent */ - Word16 numberBands, /*!< i: Q0 | number of CLDFB bands */ - Word16 numberCols, /*!< i: Q0 | number of CLDFB subsamples */ - Word32 *energyHF, /*!< o: Q31 | pointer to HF energy */ - Word16 *energyHF_Exp, /*!< o: pointer to exponent of HF energy */ - Word32 *energyValuesSum, /*!< o: Q(2*sf_Values-4) | pointer to sum array of energy values, not initialized*/ - Word16 *energyValuesSum_Exp, /*!< o: pointer to exponents of energyValuesSum, not initialized */ - TEC_ENC_HANDLE hTecEnc ); -#endif /*-------------------------------------------------------------------* * cldfbAnalysis_ivas() @@ -1456,166 +1413,6 @@ void resampleCldfb_ivas_fx( return; } -#ifndef HARMONIZE_2564_GetEnergyCldfb -static void GetEnergyCldfb_ivas_fx( - Word32 *energyLookahead, /*!< o: Q(*sf_energyLookahead) | pointer to the result in the core look-ahead slot */ - Word16 *sf_energyLookahead, /*!< o: pointer to the scalefactor of the result in the core look-ahead slot */ - const Word16 numLookahead, /*!< i: Q0 the number of look-ahead time-slots */ - Word16 **realValues, /*!< i: Q(sf_Values) | the real part of the CLDFB subsamples */ - Word16 **imagValues, /*!< i: Q(sf_Values) | the imaginary part of the CLDFB subsamples */ - Word16 sf_Values, /*!< i: scalefactor of the CLDFB subcamples - apply as a negated Exponent */ - Word16 numberBands, /*!< i: Q0 | number of CLDFB bands */ - Word16 numberCols, /*!< i: Q0 | number of CLDFB subsamples */ - Word32 *energyHF, /*!< o: Q31 | pointer to HF energy */ - Word16 *energyHF_Exp, /*!< o: pointer to exponent of HF energy */ - Word32 *energyValuesSum, /*!< o: Q(2*sf_Values-4) | pointer to sum array of energy values, not initialized*/ - Word16 *energyValuesSum_Exp, /*!< o: pointer to exponents of energyValuesSum, not initialized */ - TEC_ENC_HANDLE hTecEnc ) -{ - Word16 j; - Word16 k; - Word16 s; - Word16 sm; - Word32 nrg; - Word16 numberColsL; - Word16 numberBandsM; - Word16 numberBandsM20; - Word32 energyValues[CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; - Word16 energyValuesSumE[CLDFB_NO_CHANNELS_MAX]; - // Word16 freqTable[2] = {20, 40}; - - FOR( k = 0; k < numberCols; k++ ) - { - FOR( j = 0; j < numberBands; j++ ) - { - nrg = L_mult0( realValues[k][j], realValues[k][j] ); // Q(2*sf_Values) - nrg = L_mac0( nrg, imagValues[k][j], imagValues[k][j] ); // Q(2*sf_Values) - - energyValues[k][j] = nrg; - move32(); - } - } - - IF( GE_16( numberBands, freqTable[1] ) && hTecEnc != NULL ) - { - Word32 *tempEnergyValuesArry[CLDFB_NO_COL_MAX]; - Word16 ScaleX2; - assert( numberCols == CLDFB_NO_COL_MAX ); - FOR( j = 0; j < numberCols; j++ ) - { - tempEnergyValuesArry[j] = &energyValues[j][0]; - } - - ScaleX2 = shl( sf_Values, 1 ); - calcHiEnvLoBuff_Fix( - numberCols, - freqTable, - 1, - tempEnergyValuesArry, - hTecEnc->loBuffer, - hTecEnc->hiTempEnv, - ScaleX2 ); - } - - FOR( j = 0; j < numberBands; j++ ) - { - energyValuesSum[j] = 0; - move32(); - energyValuesSumE[j] = 31; - move16(); - FOR( k = 0; k < CLDFB_NO_COL_MAX; k++ ) - { - nrg = L_shr_r( energyValues[k][j], sub( energyValuesSumE[j], 31 ) ); // Q(2*sf_Values - (energyValuesSumE[j]-31)) - IF( LT_32( L_sub( maxWord32, nrg ), energyValuesSum[j] ) ) - { - energyValuesSumE[j] = add( energyValuesSumE[j], 1 ); - move16(); - energyValuesSum[j] = L_shr_r( energyValuesSum[j], 1 ); - move32(); - nrg = L_shr_r( nrg, 1 ); - } - energyValuesSum[j] = L_add( energyValuesSum[j], nrg ); - move32(); - } - test(); - if ( j == 0 || GT_16( energyValuesSumE[j], *energyValuesSum_Exp ) ) - { - *energyValuesSum_Exp = energyValuesSumE[j]; - move16(); - } - } - FOR( j = 0; j < numberBands; j++ ) - { - energyValuesSum[j] = L_shr_r( energyValuesSum[j], sub( *energyValuesSum_Exp, energyValuesSumE[j] ) ); // Q(energyValuesSum_Exp - (2*sf_Values)) - move32(); - } - *energyValuesSum_Exp = sub( *energyValuesSum_Exp, shl( sf_Values, 1 ) ); - move16(); - - IF( GT_16( numberBands, 20 ) ) - { - numberBandsM = s_min( numberBands, 40 ); - numberBandsM20 = sub( numberBandsM, 20 ); - - numberColsL = sub( numberCols, numLookahead ); - - /* sum up CLDFB energy above 8 kHz */ - s = BASOP_util_norm_s_bands2shift( i_mult( numberColsL, numberBandsM20 ) ); - s = sub( s, 4 ); - nrg = 0; - move32(); - FOR( k = 0; k < numberColsL; k++ ) - { - FOR( j = 20; j < numberBandsM; j++ ) - { - nrg = L_add_sat( nrg, L_shr_sat( energyValues[k][j], s ) ); - } - } - - s = sub( sub( shl( sf_Values, 1 ), 1 ), s ); - sm = sub( s_min( s, *sf_energyLookahead ), 1 ); - - *energyHF = L_add( L_shr( nrg, limitScale32( sub( s, sm ) ) ), - L_shr( *energyLookahead, sub( *sf_energyLookahead, sm ) ) ); // Q(31-(-nm)) - move32(); - - *energyHF_Exp = negate( sm ); - move16(); - - /* process look-ahead region */ - s = BASOP_util_norm_s_bands2shift( i_mult( numLookahead, numberBandsM20 ) ); - s = sub( s, 2 ); - nrg = 0; - move32(); - FOR( k = numberColsL; k < numberCols; k++ ) - { - FOR( j = 20; j < numberBandsM; j++ ) - { - nrg = L_add_sat( nrg, L_shr_sat( energyValues[k][j], s ) ); - } - } - - s = sub( shl( sf_Values, 1 ), s ); - sm = sub( s_min( s, 44 ), 1 ); - BASOP_SATURATE_WARNING_OFF_EVS - /* nrg + 6.1e-5f => value 0x40000000, scale 44 */ - *energyLookahead = L_add_sat( L_shr_sat( nrg, sub( s, sm ) ), - L_shr_sat( 0x40000000, s_max( -31, s_min( 31, sub( 44, sm ) ) ) ) ); - move32(); - BASOP_SATURATE_WARNING_ON_EVS - *sf_energyLookahead = sm; - move16(); - - return; - } - - - *energyHF = 0x40000000; - move32(); - *energyHF_Exp = 17; - move16(); -} -#endif void analysisCldfbEncoder_ivas_fx( @@ -1677,11 +1474,7 @@ void analysisCldfbEncoder_ivas_fx( move16(); AnalysisPostSpectrumScaling_Fx( st->cldfbAnaEnc, ppBuf_Real, ppBuf_Imag, ppBuf_Real16, ppBuf_Imag16, &enerScale.lb_scale16 ); -#ifdef HARMONIZE_2564_GetEnergyCldfb GetEnergyCldfb( st->element_mode, &st->energyCoreLookahead_Fx, &st->sf_energyCoreLookahead_Fx, 1, ppBuf_Real16, ppBuf_Imag16, enerScale.lb_scale16, st->cldfbAnaEnc->no_channels, st->cldfbAnaEnc->no_col, &st->currEnergyHF_fx, &st->currEnergyHF_e_fx, ppBuf_Ener, enerBuffSum_exp, st->hTECEnc ); -#else - GetEnergyCldfb_ivas_fx( &st->energyCoreLookahead_Fx, &st->sf_energyCoreLookahead_Fx, 1, ppBuf_Real16, ppBuf_Imag16, enerScale.lb_scale16, st->cldfbAnaEnc->no_channels, st->cldfbAnaEnc->no_col, &st->currEnergyHF_fx, &st->currEnergyHF_e_fx, ppBuf_Ener, enerBuffSum_exp, st->hTECEnc ); -#endif return; } diff --git a/lib_com/cng_exc_fx.c b/lib_com/cng_exc_fx.c index 5ba48494e..a353c10da 100644 --- a/lib_com/cng_exc_fx.c +++ b/lib_com/cng_exc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/cnst.h b/lib_com/cnst.h index f2f1a64e6..8eb62563b 100644 --- a/lib_com/cnst.h +++ b/lib_com/cnst.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 @@ -77,22 +49,6 @@ #define DEC_IVAS 2 /* Index for IVAS decoder */ #define OUTPUT_Q 11 -#ifdef DEBUGGING -#define FORCE_SPEECH 100 /* debugging - force speech on the command line */ -#define FORCE_MUSIC 101 /* debugging - force music on the command line */ -#define FORCE_ACELP 102 /* debugging - force ACELP core on the command line */ -#define FORCE_GSC 103 /* debugging - force GSC core on the command line */ -#ifdef SUPPORT_FORCE_TCX10_TCX20 -#define FORCE_TCX10 104 /* debugging - force TCX10 core on the command line */ -#define FORCE_TCX20 105 /* debugging - force TCX20 core on the command line */ -#define FORCE_HQ 106 /* debugging - force HQ core on the command line */ -#else -#define FORCE_TCX 104 /* debugging - force TCX core on the command line */ -#define FORCE_HQ 105 /* debugging - force HQ core on the command line */ -#endif -#define FORCE_TD_RENDERER 201 -#define FORCE_CLDFB_RENDERER 202 -#endif enum{ NB = 0, /* Indicator of 4 kHz bandwidth */ diff --git a/lib_com/codec_tcx_common_fx.c b/lib_com/codec_tcx_common_fx.c index 8517668e5..2acd3d204 100644 --- a/lib_com/codec_tcx_common_fx.c +++ b/lib_com/codec_tcx_common_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/common_api_types.h b/lib_com/common_api_types.h index 3b366fb4c..77f83dfd9 100644 --- a/lib_com/common_api_types.h +++ b/lib_com/common_api_types.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef COMMON_API_TYPES_H #define COMMON_API_TYPES_H @@ -63,10 +35,8 @@ #define IVAS_ER_LIST_HEIGHT 1.6f #define IVAS_ER_LIST_HEIGHT_FX 6710886 /* 1.6f in Q.22 */ #define IVAS_DEFAULT_AEID 65535 -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION #define IVAS_LISTENER_POSITION_MAX 327.67f #define IVAS_LISTENER_POSITION_MAX_Q22 1374347592 /* 327.67 in Q22 */ -#endif /* JBM constants for adaptive-playout */ #define IVAS_TIME_SCALE_MIN 50 /* min. time-scaling [%] */ @@ -164,11 +134,7 @@ typedef struct float x, y, z; -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION Word32 x_fx, y_fx, z_fx; /* q_fact, q_fact, q_fact */ -#else - Word32 x_fx, y_fx, z_fx; -#endif Word16 q_fact; } IVAS_VECTOR3; @@ -359,11 +325,7 @@ typedef struct _IVAS_RENDER_CONFIG float directivity[IVAS_MAX_NUM_OBJECTS * 3]; Word16 directivity_fx[IVAS_MAX_NUM_OBJECTS * 3]; // has the following q-factor pattern: {6, 6, 15, 6, 6, 15, 6, 6, 15, 6, 6, 15} float distAtt[3]; -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION Word32 distAtt_fx[3]; /* {Q25, Q28, Q28} */ -#else - Word32 distAtt_fx[3]; /* {Q27, Q30, Q30} */ -#endif } IVAS_RENDER_CONFIG_DATA, *IVAS_RENDER_CONFIG_HANDLE; diff --git a/lib_com/core_com_config_fx.c b/lib_com/core_com_config_fx.c index e2f617a62..aa045f8be 100644 --- a/lib_com/core_com_config_fx.c +++ b/lib_com/core_com_config_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/deemph_fx.c b/lib_com/deemph_fx.c index e141f9a67..90a4aa538 100644 --- a/lib_com/deemph_fx.c +++ b/lib_com/deemph_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/delay_comp_fx.c b/lib_com/delay_comp_fx.c index 6d82271ba..54efc9d8f 100644 --- a/lib_com/delay_comp_fx.c +++ b/lib_com/delay_comp_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/disclaimer.c b/lib_com/disclaimer.c index b2dab1d06..fb37f75fc 100644 --- a/lib_com/disclaimer.c +++ b/lib_com/disclaimer.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 @@ -45,7 +17,7 @@ Word16 print_disclaimer( FILE *fPtr ) fprintf( fPtr, "\n==================================================================================================\n" ); fprintf( fPtr, "\n" ); - fprintf( fPtr, " 3GPP TS26.251 IVAS Codec Version IVAS-FX-3.1 (fixed-point C-Code)\n" ); + fprintf( fPtr, " 3GPP TS26.251 IVAS Codec Version IVAS-FX-3.1RC01 (fixed-point C-Code)\n" ); fprintf( fPtr, "\n" ); fprintf( fPtr, " Based on EVS Codec (Alternative Fixed Point) 3GPP TS26.452 Nov 04, 2021,\n" ); fprintf( fPtr, " Version 16.4.0\n" ); diff --git a/lib_com/dlpc_bfi_fx.c b/lib_com/dlpc_bfi_fx.c index dffdb982a..7d1089a97 100644 --- a/lib_com/dlpc_bfi_fx.c +++ b/lib_com/dlpc_bfi_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/edct_fx.c b/lib_com/edct_fx.c index 3ec5981ae..e37f3675d 100644 --- a/lib_com/edct_fx.c +++ b/lib_com/edct_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/enhancer_fx.c b/lib_com/enhancer_fx.c index 6203dcd67..680205004 100644 --- a/lib_com/enhancer_fx.c +++ b/lib_com/enhancer_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/enr_1_az_fx.c b/lib_com/enr_1_az_fx.c index 108e25c3a..bdf5d17f8 100644 --- a/lib_com/enr_1_az_fx.c +++ b/lib_com/enr_1_az_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/env_adj_fx.c b/lib_com/env_adj_fx.c index 0cf2906d5..0a8621fbe 100644 --- a/lib_com/env_adj_fx.c +++ b/lib_com/env_adj_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/env_stab_fx.c b/lib_com/env_stab_fx.c index 33c3435db..efdd7eb33 100644 --- a/lib_com/env_stab_fx.c +++ b/lib_com/env_stab_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/env_stab_trans_fx.c b/lib_com/env_stab_trans_fx.c index 63b35b0d5..a19920895 100644 --- a/lib_com/env_stab_trans_fx.c +++ b/lib_com/env_stab_trans_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/est_tilt_fx.c b/lib_com/est_tilt_fx.c index 95e527da0..4cef9cf68 100644 --- a/lib_com/est_tilt_fx.c +++ b/lib_com/est_tilt_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/fd_cng_com_fx.c b/lib_com/fd_cng_com_fx.c index 9b13274d8..b5c79dcae 100644 --- a/lib_com/fd_cng_com_fx.c +++ b/lib_com/fd_cng_com_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -112,10 +115,8 @@ void initFdCngCom( move16(); hFdCngCom->stopFFTbin = 0; move16(); -#ifdef FIX_1559 hFdCngCom->nFFTpart = 0; move16(); -#endif hFdCngCom->frameSize = 0; move16(); hFdCngCom->fftlen = 0; diff --git a/lib_com/fft_cldfb_fx.c b/lib_com/fft_cldfb_fx.c index 0be5e2194..f4b71c0e1 100644 --- a/lib_com/fft_cldfb_fx.c +++ b/lib_com/fft_cldfb_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/fft_evs.c b/lib_com/fft_evs.c index 5748be95d..6f9ab7dae 100644 --- a/lib_com/fft_evs.c +++ b/lib_com/fft_evs.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/fft_fx.c b/lib_com/fft_fx.c index df681306a..079b5817b 100644 --- a/lib_com/fft_fx.c +++ b/lib_com/fft_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/fft_fx_evs.c b/lib_com/fft_fx_evs.c index 5cbfbc250..316b7b6e4 100644 --- a/lib_com/fft_fx_evs.c +++ b/lib_com/fft_fx_evs.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/fft_rel_fx.c b/lib_com/fft_rel_fx.c index 320bf4aa2..6b1edc858 100644 --- a/lib_com/fft_rel_fx.c +++ b/lib_com/fft_rel_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/fill_spectrum_fx.c b/lib_com/fill_spectrum_fx.c index 8dcb7150d..2974efed8 100644 --- a/lib_com/fill_spectrum_fx.c +++ b/lib_com/fill_spectrum_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/findpulse_fx.c b/lib_com/findpulse_fx.c index e95daaa69..af7b13f89 100644 --- a/lib_com/findpulse_fx.c +++ b/lib_com/findpulse_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/fine_gain_bits_fx.c b/lib_com/fine_gain_bits_fx.c index d211a8a67..3f2cf7c53 100644 --- a/lib_com/fine_gain_bits_fx.c +++ b/lib_com/fine_gain_bits_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/frame_ener_fx.c b/lib_com/frame_ener_fx.c index 6e7a6f2a2..42a4eca8c 100644 --- a/lib_com/frame_ener_fx.c +++ b/lib_com/frame_ener_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/gain_inov_fx.c b/lib_com/gain_inov_fx.c index b97f399c0..ab0c8b69c 100644 --- a/lib_com/gain_inov_fx.c +++ b/lib_com/gain_inov_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/get_gain_fx.c b/lib_com/get_gain_fx.c index 7cf27be0b..362c1f006 100644 --- a/lib_com/get_gain_fx.c +++ b/lib_com/get_gain_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/gs_bitallocation_fx.c b/lib_com/gs_bitallocation_fx.c index 67dde9137..a03718ddf 100644 --- a/lib_com/gs_bitallocation_fx.c +++ b/lib_com/gs_bitallocation_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -876,9 +879,6 @@ static Word32 Find_bit_frac_fx( } ELSE { -#ifdef DEBUGGING - printf( "1/%d NOT DEFINED in Find_bit_frac\n", nb_band ); -#endif } L_out = L_mult( inv_bandQ15, shl( remaining_bits, 2 ) ); /*Q18*/ diff --git a/lib_com/gs_gains_fx.c b/lib_com/gs_gains_fx.c index c1654b433..498a303cb 100644 --- a/lib_com/gs_gains_fx.c +++ b/lib_com/gs_gains_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/gs_inact_switching_fx.c b/lib_com/gs_inact_switching_fx.c index db833220e..44fdf1f12 100644 --- a/lib_com/gs_inact_switching_fx.c +++ b/lib_com/gs_inact_switching_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/gs_noisefill_fx.c b/lib_com/gs_noisefill_fx.c index 534f9edc2..179122481 100644 --- a/lib_com/gs_noisefill_fx.c +++ b/lib_com/gs_noisefill_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/gs_preech_fx.c b/lib_com/gs_preech_fx.c index 3f7251041..b15a68b21 100644 --- a/lib_com/gs_preech_fx.c +++ b/lib_com/gs_preech_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/guided_plc_util_fx.c b/lib_com/guided_plc_util_fx.c index 81723b426..7a11534f4 100644 --- a/lib_com/guided_plc_util_fx.c +++ b/lib_com/guided_plc_util_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/hp50_fx.c b/lib_com/hp50_fx.c index 031bca0a7..fc55a85aa 100644 --- a/lib_com/hp50_fx.c +++ b/lib_com/hp50_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/hq2_bit_alloc_fx.c b/lib_com/hq2_bit_alloc_fx.c index 40df76cae..adc07f504 100644 --- a/lib_com/hq2_bit_alloc_fx.c +++ b/lib_com/hq2_bit_alloc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/hq2_core_com_fx.c b/lib_com/hq2_core_com_fx.c index b8ae7880d..a486580a0 100644 --- a/lib_com/hq2_core_com_fx.c +++ b/lib_com/hq2_core_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include diff --git a/lib_com/hq2_noise_inject_fx.c b/lib_com/hq2_noise_inject_fx.c index c3b373d51..c2eb42439 100644 --- a/lib_com/hq2_noise_inject_fx.c +++ b/lib_com/hq2_noise_inject_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/hq_bit_allocation_fx.c b/lib_com/hq_bit_allocation_fx.c index 1ba994e95..0693b3800 100644 --- a/lib_com/hq_bit_allocation_fx.c +++ b/lib_com/hq_bit_allocation_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/hq_conf_fx.c b/lib_com/hq_conf_fx.c index 5583e231e..8c9ceb757 100644 --- a/lib_com/hq_conf_fx.c +++ b/lib_com/hq_conf_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/hq_tools_fx.c b/lib_com/hq_tools_fx.c index 1128ec0c6..78c69da49 100644 --- a/lib_com/hq_tools_fx.c +++ b/lib_com/hq_tools_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/hvq_pvq_bitalloc_fx.c b/lib_com/hvq_pvq_bitalloc_fx.c index 905749d47..b2fc6b33b 100644 --- a/lib_com/hvq_pvq_bitalloc_fx.c +++ b/lib_com/hvq_pvq_bitalloc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/ifft_rel_fx.c b/lib_com/ifft_rel_fx.c index 933925b11..fd87634f0 100644 --- a/lib_com/ifft_rel_fx.c +++ b/lib_com/ifft_rel_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/igf_base_fx.c b/lib_com/igf_base_fx.c index 7b46451c3..82d3e114a 100644 --- a/lib_com/igf_base_fx.c +++ b/lib_com/igf_base_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/index_pvq_opt_fx.c b/lib_com/index_pvq_opt_fx.c index 8e2267227..215971d7a 100644 --- a/lib_com/index_pvq_opt_fx.c +++ b/lib_com/index_pvq_opt_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/int_lsp_fx.c b/lib_com/int_lsp_fx.c index ab84c76bb..042ae93b3 100644 --- a/lib_com/int_lsp_fx.c +++ b/lib_com/int_lsp_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/interleave_spectrum_fx.c b/lib_com/interleave_spectrum_fx.c index 0b04475d9..566d5f24d 100644 --- a/lib_com/interleave_spectrum_fx.c +++ b/lib_com/interleave_spectrum_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/interpol_fx.c b/lib_com/interpol_fx.c index 78c277a21..6e0598316 100644 --- a/lib_com/interpol_fx.c +++ b/lib_com/interpol_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/isf_dec_amr_wb_fx.c b/lib_com/isf_dec_amr_wb_fx.c index 0d623b3f6..73b82d5fd 100644 --- a/lib_com/isf_dec_amr_wb_fx.c +++ b/lib_com/isf_dec_amr_wb_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" /* Compilation switches */ diff --git a/lib_com/ivas_agc_com_fx.c b/lib_com/ivas_agc_com_fx.c index 35a4f1581..8da31ae7a 100644 --- a/lib_com/ivas_agc_com_fx.c +++ b/lib_com/ivas_agc_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_arith_fx.c b/lib_com/ivas_arith_fx.c index aa261f69d..64fd3aa92 100644 --- a/lib_com/ivas_arith_fx.c +++ b/lib_com/ivas_arith_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_avq_pos_reorder_com_fx.c b/lib_com/ivas_avq_pos_reorder_com_fx.c index 5d05618e1..ab1cff678 100644 --- a/lib_com/ivas_avq_pos_reorder_com_fx.c +++ b/lib_com/ivas_avq_pos_reorder_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_cnst.h b/lib_com/ivas_cnst.h index 9c6c82507..c600bf47c 100644 --- a/lib_com/ivas_cnst.h +++ b/lib_com/ivas_cnst.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_CNST_H #define IVAS_CNST_H @@ -847,10 +819,6 @@ enum fea_names /* MDCT stereo modes */ #define SMDCT_MS_DECISION 0 -#ifdef DEBUG_FORCE_MDCT_STEREO_MODE -#define SMDCT_FORCE_LR 1 -#define SMDCT_FORCE_MS 2 -#endif #define MAX_SFB 70 /* Maximum number of stereo frequency bands = 64 + 6 for TCX after ACELP */ @@ -1256,12 +1224,8 @@ typedef enum { MASA_STEREO_NOT_DEFINED, MASA_STEREO_SPACED_MICS, -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES MASA_STEREO_DOWNMIX, MASA_DUAL_MONO -#else - MASA_STEREO_DOWNMIX -#endif } MASA_TRANSPORT_SIGNAL_TYPE; typedef enum @@ -1588,11 +1552,9 @@ typedef enum #define RESAMPLE_FACTOR_16_48_FX ( 5461 ) // Q14 #define RESAMPLE_FACTOR_32_48_FX ( 10922 ) // Q14 -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION #define DIST_ATT_DEFAULT_MAXDIST_Q25 528482304 /* Q25 */ /* Default maxDist based on maximum radius in encoded metadata (2^ISM_RADIUS_NBITS-1)*0.25 */ #define DIST_ATT_DEFAULT_REFDIST_Q28 ONE_IN_Q28 /* Q28 */ /* Default refDist 1.0 in Q28 */ #define DIST_ATT_DEFAULT_ROLLOFF_Q28 ONE_IN_Q28 /* Q28 */ /* Default rolloffFactor 1.0 in Q28 */ -#endif /* ----- Enums - TD Renderer ----- */ @@ -1650,7 +1612,6 @@ typedef enum #define IVAS_REVERB_DEFAULT_M_N_BANDS 31 #define IVAS_REVERB_DEFAULT_S_N_BANDS 60 -#ifdef FIX_1452_DEFAULT_REVERB #define IVAS_REVERB_DEFAULT_S_ACOUSTIC_PRE_DELAY_FX 2013266 /* 0.015f in Q27 */ #define IVAS_REVERB_DEFAULT_S_INPUT_PRE_DELAY_FX 2684355 /* 0.02f in Q27 */ @@ -1659,7 +1620,6 @@ typedef enum #define IVAS_REVERB_DEFAULT_L_ACOUSTIC_PRE_DELAY_FX 2181038 /* 0.01625f in Q27 */ #define IVAS_REVERB_DEFAULT_L_INPUT_PRE_DELAY_FX 13421773 /* 0.1f in Q27 */ -#endif #define LR_IAC_LENGTH_NR_FC ( RV_LENGTH_NR_FC ) #define LR_IAC_LENGTH_NR_FC_16KHZ ( RV_LENGTH_NR_FC_16KHZ ) @@ -1953,9 +1913,7 @@ typedef enum #define ONE_IN_Q31 0x7fffffff #define ONE_IN_Q45 (Word64)0x200000000000 #define ONE_IN_Q62 (Word64)0x4000000000000000 -#ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW #define MINUS_ONE_IN_Q31 ( -2147483647 - 1 ) /* same as (Word32)0x80000000 */ -#endif #define MAX_WORD16 32767 diff --git a/lib_com/ivas_cov_smooth_fx.c b/lib_com/ivas_cov_smooth_fx.c index c81de6347..0cb9215c6 100644 --- a/lib_com/ivas_cov_smooth_fx.c +++ b/lib_com/ivas_cov_smooth_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_dirac_com_fx.c b/lib_com/ivas_dirac_com_fx.c index a6aa486f2..7dd946988 100644 --- a/lib_com/ivas_dirac_com_fx.c +++ b/lib_com/ivas_dirac_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_com/ivas_entropy_coder_common_fx.c b/lib_com/ivas_entropy_coder_common_fx.c index fcf388b0c..3d6ae0a34 100644 --- a/lib_com/ivas_entropy_coder_common_fx.c +++ b/lib_com/ivas_entropy_coder_common_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_error.h b/lib_com/ivas_error.h index 3e965151e..0fc8eef8a 100644 --- a/lib_com/ivas_error.h +++ b/lib_com/ivas_error.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 @@ -93,9 +65,6 @@ typedef enum IVAS_ERR_IO_CONFIG_PAIR_NOT_SUPPORTED, IVAS_ERR_TSM_NOT_ENABLED, IVAS_ERR_FETCH_SIZE_NO_MULTIPLE_OF_5MS, -#ifdef DEBUGGING - IVAS_ERR_INVALID_FORCE_MODE, -#endif /*----------------------------------------* * input data errors * @@ -230,10 +199,6 @@ static inline const char *ivas_error_to_string( ivas_error error_code ) return "Unexpected NULL pointer"; case IVAS_ERR_METADATA_NOT_EXPECTED: return "Metadata input not expected for current configuration"; -#ifdef DEBUGGING - case IVAS_ERR_INVALID_FORCE_MODE: - return "Invalid force mode"; -#endif case IVAS_ERR_NOT_IMPLEMENTED: return "Not implemented"; case IVAS_ERR_ISM_FILE_READER_INVALID_METADATA_FORMAT: diff --git a/lib_com/ivas_error_utils.h b/lib_com/ivas_error_utils.h index 791bc458d..dedefea55 100644 --- a/lib_com/ivas_error_utils.h +++ b/lib_com/ivas_error_utils.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "options.h" diff --git a/lib_com/ivas_fb_mixer_fx.c b/lib_com/ivas_fb_mixer_fx.c index 3f1cb29e5..3a49ac865 100644 --- a/lib_com/ivas_fb_mixer_fx.c +++ b/lib_com/ivas_fb_mixer_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_com/ivas_filters_fx.c b/lib_com/ivas_filters_fx.c index 5f1b1423b..85b73fbc0 100644 --- a/lib_com/ivas_filters_fx.c +++ b/lib_com/ivas_filters_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_ism_com_fx.c b/lib_com/ivas_ism_com_fx.c index 43cdf441f..6558d082e 100644 --- a/lib_com/ivas_ism_com_fx.c +++ b/lib_com/ivas_ism_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_lfe_com_fx.c b/lib_com/ivas_lfe_com_fx.c index 8047af53f..00848a36d 100644 --- a/lib_com/ivas_lfe_com_fx.c +++ b/lib_com/ivas_lfe_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_limiter_fx.c b/lib_com/ivas_limiter_fx.c index 0ef37acdf..be02a96b9 100644 --- a/lib_com/ivas_limiter_fx.c +++ b/lib_com/ivas_limiter_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_masa_com_fx.c b/lib_com/ivas_masa_com_fx.c index d83ae1d32..5032b5429 100644 --- a/lib_com/ivas_masa_com_fx.c +++ b/lib_com/ivas_masa_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_com/ivas_mc_com_fx.c b/lib_com/ivas_mc_com_fx.c index 054143684..323423bf5 100644 --- a/lib_com/ivas_mc_com_fx.c +++ b/lib_com/ivas_mc_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_com/ivas_mc_param_com_fx.c b/lib_com/ivas_mc_param_com_fx.c index 01f8614cd..4f28a6991 100644 --- a/lib_com/ivas_mc_param_com_fx.c +++ b/lib_com/ivas_mc_param_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_com/ivas_mcmasa_com_fx.c b/lib_com/ivas_mcmasa_com_fx.c index b611b1290..8476c343b 100644 --- a/lib_com/ivas_mcmasa_com_fx.c +++ b/lib_com/ivas_mcmasa_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "ivas_cnst.h" #include "options.h" diff --git a/lib_com/ivas_mct_com_fx.c b/lib_com/ivas_mct_com_fx.c index bcfada29e..37df18757 100644 --- a/lib_com/ivas_mct_com_fx.c +++ b/lib_com/ivas_mct_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_mdct_core_com_fx.c b/lib_com/ivas_mdct_core_com_fx.c index ec623fbf1..f0261ffcc 100644 --- a/lib_com/ivas_mdct_core_com_fx.c +++ b/lib_com/ivas_mdct_core_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_mdct_imdct_fx.c b/lib_com/ivas_mdct_imdct_fx.c index 6e910289d..21f417937 100644 --- a/lib_com/ivas_mdct_imdct_fx.c +++ b/lib_com/ivas_mdct_imdct_fx.c @@ -1,43 +1,12 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" #include "prot_fx.h" #include "ivas_prot_fx.h" #include "ivas_rom_com.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "ivas_stat_com.h" #include "wmc_auto.h" diff --git a/lib_com/ivas_mdft_imdft_fx.c b/lib_com/ivas_mdft_imdft_fx.c index ae92fddf3..742dbb401 100644 --- a/lib_com/ivas_mdft_imdft_fx.c +++ b/lib_com/ivas_mdft_imdft_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -37,9 +9,6 @@ #include "ivas_rom_com.h" #include #include "wmc_auto.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "ivas_prot_fx.h" diff --git a/lib_com/ivas_omasa_com_fx.c b/lib_com/ivas_omasa_com_fx.c index e5986879b..a2aabcafe 100644 --- a/lib_com/ivas_omasa_com_fx.c +++ b/lib_com/ivas_omasa_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "options.h" #include diff --git a/lib_com/ivas_osba_com_fx.c b/lib_com/ivas_osba_com_fx.c index 5527f5389..284f2385b 100644 --- a/lib_com/ivas_osba_com_fx.c +++ b/lib_com/ivas_osba_com_fx.c @@ -1,41 +1,10 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "options.h" #include "ivas_cnst.h" #include "ivas_prot_fx.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*! r : ISM format mode */ ISM_MODE ivas_osba_ism_mode_select( diff --git a/lib_com/ivas_pca_tools_fx.c b/lib_com/ivas_pca_tools_fx.c index 115bf0b69..0ad5aad31 100644 --- a/lib_com/ivas_pca_tools_fx.c +++ b/lib_com/ivas_pca_tools_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_prot_fx.h b/lib_com/ivas_prot_fx.h index 910e872b2..e4f792e8e 100644 --- a/lib_com/ivas_prot_fx.h +++ b/lib_com/ivas_prot_fx.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_PROT_FX_H #define IVAS_PROT_FX_H @@ -1173,12 +1145,8 @@ void stereo_dft_dec_fx( Word32 stereo_dft_enc_synthesize_fx( STEREO_DFT_ENC_DATA_HANDLE hStereoDft, /* i/o: encoder stereo handle */ -#ifdef NONBE_FIX_ISSUE_2206 Word32 *output_fx, /* i/o : output synthesis q_output */ Word16 *q_output, /* i/o : output synthesis Q0 */ -#else - Word32 *output_fx, /* o : output synthesis Q16 */ -#endif Word16 *output_start_index, Word16 *output_end_index, const Word16 chan, /* i : channel number */ @@ -1358,12 +1326,8 @@ void stereo_tcx_init_dec_fx( void stereo_icBWE_enc_fx( CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT const Word16 shb_speech_ref_fx16[], /* i : SHB speech ref channel shb_speech_ref_q*/ const Word16 shb_speech_ref_q, /* i : SHB speech ref channel Q */ -#else - const Word16 shb_speech_ref_fx16[], /* i : SHB speech ref channel Q0*/ -#endif Word16 shb_speech_nonref_fx_16[], /* i/o: SHB speech non-ref channel shb_speech_nonref_e*/ Word16 shb_speech_nonref_e, /* i/o: SHB speech non-ref channel */ const Word16 *voice_factors_fx /* i : voicing factors Q15 */ @@ -1928,12 +1892,8 @@ ivas_error TDREND_MIX_LIST_SetOrient_fx( void TDREND_MIX_LIST_SetPos_fx( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION const Word32 *Pos_p, /* i : Listener's position */ const Word16 Pos_q /* i : Listener's position Q */ -#else - const Word32 *Pos_p /* i : Listener's position */ -#endif ); ivas_error TDREND_Update_listener_orientation_fx( @@ -2066,11 +2026,7 @@ void destroy_core_dec_fx( ); void ivas_destroy_dec_fx( -#ifdef FIX_FMSW_DEC Decoder_Struct **st_ivas /* i/o: IVAS decoder structure */ -#else - Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ -#endif ); ivas_error ivas_ism_dec_config_fx( @@ -2681,9 +2637,7 @@ Word16 ivas_acelp_tcx20_switching_fx( Word16 *inp_fx, /* i : new input signal */ Word16 q_inp, /* i : i/p Q */ Word16 *wsp, /* i : input weighted signal */ -#ifdef NONBE_FIX_ISSUE_2206 Word16 q_wsp, /* i : Q of input weighted signal */ -#endif Word32 non_staX, /* i : unbound non-stationarity for sp/mu clas */ Word16 *pitch_fr, /* i : fraction pitch values */ Word16 *voicing_fr, /* i : fractional voicing values */ @@ -2782,34 +2736,23 @@ void InternalTCXDecoder_fx( void stereo_tcx_core_enc( Encoder_State *st, /* i/o: encoder state structure */ -#ifdef SIMPLIFY_CORE_ENC Word16 new_samples_12k8[], /* i : buffer of input signal @12.8 kHz */ Word16 new_samples_16k[], /* i : buffer of input signal @16 kHz */ -#else - const Word16 new_samples_12k8[], /* i : buffer of input signal @12.8 kHz */ - const Word16 new_samples_16k[], /* i : buffer of input signal @16 kHz */ -#endif const Word16 Aw_fx[], /* i : weighted A(z) unquant. for subframes,Q12*/ Word16 lsp_new_fx[], /* i : LSPs at the end of the frame, Q15 */ Word16 lsp_mid_fx[], /* i : LSPs in the middle of the frame, Q15 */ Word16 pitch_buf_fx[NB_SUBFR16k], /* o : pitch for each subframe, Q6 */ const Word16 last_element_mode, /* i : last element mode, Q0 */ const Word16 vad_hover_flag, /* i : VAD hangover flag, Q0 */ -#ifdef SIMPLIFY_CORE_ENC const Word16 Q_new_orig /* i : Scaling factor of new_samples_xx[] */ -#else - Word16 Q_new -#endif ); -#ifdef SIMPLIFY_CORE_ENC void stereo_tcx_enc_scale_buffers( Encoder_State *st, /* i/o: encoder state structure */ const Word16 n_channels, /* i : number of core channels */ const Word16 Q_spec_old /* i : Q of old spectrum */ ); -#endif Word16 transient_analysis_ivas_fx( TRAN_DET_HANDLE hTranDet, /* i : handle transient detection */ const Word16 cor_map_LT[], /* i : LT correlation map Q_cor_map = Qx */ @@ -3746,11 +3689,6 @@ Word16 getNumChanSynthesis( Decoder_Struct *st_ivas /* i : IVAS decoder structure */ ); -#ifndef FIX_FMSW_DEC -void ivas_destroy_dec_fx( - Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ -); -#endif ivas_error ivas_core_dec_fx( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ SCE_DEC_HANDLE hSCE, /* i/o: SCE decoder structure */ @@ -5731,12 +5669,8 @@ void pre_proc_ivas_fx( Word16 *epsP_fx_q, /* i : LP prediction errors */ Word16 lsp_new_fx[M], /* i/o: LSPs at the end of the frame Q15*/ Word16 lsp_mid_fx[M], /* i/o: LSPs in the middle of the frame Q15*/ -#ifdef NONBE_FIX_ISSUE_2206 Word16 *new_inp_resamp16k_fx, /* o : new input signal @16kHz, non pre-emphasised, used by the WB TBE/BWE q_new_inp_resamp16k_fx*/ Word16 *q_new_inp_resamp16k_fx, /* o : Q value of new input signal @16kHz, non pre-emphasised, used by the WB TBE/BWE */ -#else - Word16 *new_inp_resamp16k_fx, /* o : new input signal @16kHz, non pre-emphasised, used by the WB TBE/BWE Q_new-1*/ -#endif Word16 *Voicing_flag, /* o : voicing flag for HQ FEC Q0*/ Word16 old_wsp_fx[], /* i : weighted input signal buffer e_old_wsp*/ const Word16 e_old_wsp, /* i : Q value of weighted input signal buffer */ @@ -5746,11 +5680,7 @@ void pre_proc_ivas_fx( const Word16 vad_hover_flag, /* i : VAD hangover flag Q0*/ const Word16 flag_16k_smc, /* i : flag to indicate if the OL SMC is run at 16 kHz Q0*/ Word32 enerBuffer_fx[CLDFB_NO_CHANNELS_MAX], /* i : energy buffer e_enerBuffer */ -#ifdef SIMPLIFY_CORE_ENC Word16 e_enerBuffer, /* i : Q value of energy buffer */ -#else - const Word16 e_enerBuffer, /* i : Q value of energy buffer */ -#endif Word16 fft_buff_fx[2 * L_FFT], /* i : FFT buffer Qx*/ const Word16 cor_map_sum_fx, /* i : speech/music clasif. parameter Q8*/ Word16 *Q_new /* i/o: Q factor of speech buffers */ @@ -6115,12 +6045,8 @@ UWord16 get_indice_st( void stereo_mdct_core_enc_fx( CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ -#ifdef NONBE_FIX_ISSUE_2206_MDCT_STEREO_FIX_2549 Word16 new_samples[CPE_CHANNELS][L_INP], /* i : new samples new_samples_q*/ Word16 *new_samples_q, -#else - Word16 new_samples[CPE_CHANNELS][L_INP], /* i : new samples Qnew-1*/ -#endif Word16 old_wsp[CPE_CHANNELS][L_WSP], /* i : 12.8kHz weighted speech (for LTP Qx*/ Word16 pitch_buf_fx[CPE_CHANNELS][NB_SUBFR16k] /* o : floating pitch for each subframe Q6*/ ); @@ -6167,12 +6093,8 @@ void stereo_switching_dec_fx( void ivas_mdct_core_whitening_enc_fx( CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ -#ifdef NONBE_FIX_ISSUE_2206_MDCT_STEREO_FIX_2549 Word16 new_samples_fx[CPE_CHANNELS][L_INP], /* i : new samples Q_new[]-1*/ Word16 *Q_new, /* i : new samples q */ -#else - Word16 new_samples_fx[CPE_CHANNELS][L_INP], /* i : new samples */ -#endif Word16 old_wsp_fx[CPE_CHANNELS][L_WSP], /* i : 12.8kHz weighted speech (for LTP */ Word16 pitch_buf[CPE_CHANNELS][NB_SUBFR16k], /* o : floating pitch for each subframe */ Word32 *mdst_spectrum_long[CPE_CHANNELS], /* o : buffer for MDST spectrum */ @@ -6535,10 +6457,6 @@ ivas_error ivas_osba_enc_reconfig_fx( void ivas_set_surplus_brate_enc( Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */ -#ifdef DEBUG_MODE_INFO - , - const int16_t *nb_bits_metadata /* i : number of metadata bits */ -#endif ); void ivas_set_surplus_brate_dec( diff --git a/lib_com/ivas_qmetadata_com_fx.c b/lib_com/ivas_qmetadata_com_fx.c index 93c3bd806..5bf93458b 100644 --- a/lib_com/ivas_qmetadata_com_fx.c +++ b/lib_com/ivas_qmetadata_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_com/ivas_qspherical_com_fx.c b/lib_com/ivas_qspherical_com_fx.c index 2a0e7797c..b8390bdc3 100644 --- a/lib_com/ivas_qspherical_com_fx.c +++ b/lib_com/ivas_qspherical_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_com/ivas_rom_com.h b/lib_com/ivas_rom_com.h index 90de10fd0..ed79c7f24 100644 --- a/lib_com/ivas_rom_com.h +++ b/lib_com/ivas_rom_com.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_ROM_COM_H #define IVAS_ROM_COM_H @@ -338,9 +310,6 @@ extern const Word32 ls_azimuth_CICP16_fx[9]; extern const Word32 ls_elevation_CICP16_fx[9]; extern const Word32 ls_azimuth_CICP19_fx[11]; extern const Word32 ls_elevation_CICP19_fx[11]; -#ifndef FIX_BASOP_2095_REMOVE_TABLES_PT01 -extern const Word16 pow_10_q11[128]; -#endif extern const Word32 pow_10_q23[14]; extern const Word16 ivas_sin_az_fx[361]; extern const Word16 ivas_sine_panning_tbl_fx[601]; diff --git a/lib_com/ivas_rom_com_fx.c b/lib_com/ivas_rom_com_fx.c index f8ef32ed0..8bb438ac2 100644 --- a/lib_com/ivas_rom_com_fx.c +++ b/lib_com/ivas_rom_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -82,173 +54,6 @@ const Word16 dft_band_res_cod[3][4] = {0,5,6,7} }; -#ifndef FIX_BASOP_2095_REMOVE_TABLES_PT01 -// Q31 -const Word32 dft_res_gains_q_Q31[][2] = -{ - /* quantization points for joint quantization of prediction gain and residual energy */ - - /* column 1 (|ILD| = 0): */ - {0, 0 }, - {0, 251216928 }, - {0, 487459456 }, - {0, 731632640 }, - {0, 997611392 }, - {0, 1299397248 }, - {0, 1666984192 }, - {0, 2147483647 }, - - /* column 2 (|ILD| = 2): */ - {246151024, 0 }, - {249475328, 247871152 }, - {258660112, 480729248 }, - {274304544, 720918848 }, - {298427200, 981720000 }, - {334663840, 1276185088 }, - {391374592, 1632160640 }, - {485919712, 2091786496 }, - - /* column 3 (|ILD| = 4): */ - {485919712, 0 }, - {492224736, 238188144 }, - {509610752, 461283776 }, - {539117184, 690072384 }, - {584326016, 936189056 }, - {651608832, 1210182144 }, - {755411712, 1534299776 }, - {924504576, 1938292992 }, - - /* column 4 (|ILD| = 6): */ - {713563712, 0 }, - {722237376, 223142880 }, - {746085184, 431184640 }, - {786311872, 642617280 }, - {847364864, 866812416 }, - {936938496, 1111020032 }, - {1072199936, 1390431232 }, - {1285225984, 1720430720 }, - - /* column 5 (|ILD| = 8): */ - {924504576, 0 }, - {934784576, 204139792 }, - {962942400, 393358880 }, - {1010083968, 583482048 }, - {1080789888, 781462848 }, - {1182728704, 991308544 }, - {1332741248, 1221608960 }, - {1559902080, 1475937536 }, - - /* column 6 (|ILD| = 10): */ - {1115604864, 0 }, - {1126709504, 182744416 }, - {1156997632, 351025536 }, - {1207276672, 517958016 }, - {1281710592, 688294272 }, - {1387005952, 863412992 }, - {1537761536, 1046870336 }, - {1757032448, 1234717184 }, - - /* column 7 (|ILD| = 13): */ - {1361843968, 0 }, - {1372924928, 149366080 }, - {1402942464, 285507936 }, - {1452130560, 417893888 }, - {1523515136, 548787328 }, - {1621670144, 677135936 }, - {1756740352, 802203264 }, - {1942499840, 915633344 }, - - /* column 8 (|ILD| = 16): */ - {1559902080, 0 }, - {1569913600, 117815248 }, - {1596862336, 224162928 }, - {1640492800, 325650848 }, - {1702660352, 423060736 }, - {1785997696, 514412544 }, - {1896788608, 597466432 }, - {2042241920, 664027712 }, - - /* column 9 (|ILD| = 19): */ - {1714196608, 0 }, - {1722634112, 90359672 }, - {1745223424, 171238192 }, - {1781415040, 247171072 }, - {1832190080, 318199104 }, - {1898830848, 382271424 }, - {1984989952, 437025792 }, - {2094086528, 475912448 }, - - /* column 10 (|ILD| = 22): */ - {1831427712, 0 }, - {1838194432, 67828272 }, - {1856228992, 128123168 }, - {1884882944, 183977072 }, - {1924581248, 235132272 }, - {1975822336, 279821408 }, - {2040659200, 316058048 }, - {2120554240, 339023232 }, - - /* column 11 (|ILD| = 25): */ - {1918819584, 0 }, - {1924055168, 50102940 }, - {1937964416, 94399088 }, - {1959916032, 135003712 }, - {1990038784, 171579648 }, - {2028424960, 202728896 }, - {2076217216, 226931040 }, - {2133943808, 240762976 }, - - /* column 12 (|ILD| = 30): */ - {2015827840, 0 }, - {2019068416, 29502130 }, - {2027636864, 55420112 }, - {2041056512, 78889960 }, - {2059271424, 99626064 }, - {2082150784, 116769424 }, - {2110128128, 129415952 }, - {2143192960, 135682304 }, - - /* column 13 (|ILD| = 35): */ - {2072441984, 0 }, - {2074364032, 17033840 }, - {2079438464, 31939524 }, - {2087347712, 45337676 }, - {2098012032, 57039312 }, - {2111296384, 66537632 }, - {2127368192, 73321536 }, - {2146126464, 76351632 }, - - /* column 14 (|ILD| = 40): */ - {2104959232, 0 }, - {2106073728, 9723806 }, - {2109011456, 18212808 }, - {2113579136, 25810606 }, - {2119712384, 32401234 }, - {2127314432, 37692632 }, - {2136458496, 41399188 }, - {2147054208, 42945376 }, - - /* column 15 (|ILD| = 45): */ - {2123466240, 0 }, - {2124103936, 5514738 }, - {2125783296, 10322954 }, - {2128390400, 14615774 }, - {2131882240, 18322330 }, - {2136200832, 21283710 }, - {2141376256, 23332410 }, - {2147348352, 24150602 }, - - /* column 16 (|ILD| = 50): */ - {2133943808, 0 }, - {2134306688, 3115998 }, - {2135260160, 5830418 }, - {2136737664, 8250632 }, - {2138715520, 10335839 }, - {2141157120, 11995844 }, - {2144077696, 13136157 }, - {2147440640, 13580687 } -}; -#endif /* tables for adaptive Golomb-Rice coding of DFT stereo parameters */ const Word16 dft_code_itd[] = @@ -3403,15 +3208,6 @@ const Word32 ls_azimuth_CICP19_fx[11] = { 125829120, -125829120, 0, 566231040, - /* Q22 */ const Word32 ls_elevation_CICP19_fx[11] = { 0, 0, 0, 0, 0, 0, 0, 146800640, 146800640, 146800640, 146800640 }; -#ifndef FIX_BASOP_2095_REMOVE_TABLES_PT01 -const Word16 pow_10_q11[128] = { - 2048, 2085, 2123, 2161, 2200, 2240, 2281, 2322, 2364, 2407, 2451, 2496, 2541, 2587, 2634, 2682, 2731, 2780, 2831, 2882, 2934, 2988, 3042, 3097, 3153, 3211, 3269, - 3328, 3389, 3450, 3513, 3576, 3641, 3708, 3775, 3843, 3913, 3984, 4056, 4130, 4205, 4281, 4359, 4438, 4519, 4601, 4684, 4769, 4856, 4944, 5034, 5125, 5218, 5313, - 5410, 5508, 5608, 5710, 5813, 5919, 6026, 6136, 6247, 6360, 6476, 6593, 6713, 6835, 6959, 7085, 7214, 7345, 7478, 7614, 7752, 7893, 8036, 8182, 8331, 8482, 8636, - 8793, 8952, 9115, 9280, 9449, 9620, 9795, 9973, 10154, 10338, 10526, 10717, 10911, 11109, 11311, 11516, 11725, 11938, 12155, 12375, 12600, 12829, 13062, 13299, - 13540, 13786, 14036, 14291, 14550, 14815, 15084, 15357, 15636, 15920, 16209, 16503, 16803, 17108, 17418, 17734, 18056, 18384, 18718, 19058, 19404, 19756, 20114 -}; -#endif // Q12 const Word16 icbwe_gsMapping_tbl_fx[16] = { -8192, -5527, -3935, -2907, -2289, -1824, -1404, -1035, -692, -404, -286, -204, -81, 0, 163, 327 diff --git a/lib_com/ivas_rotation_com_fx.c b/lib_com/ivas_rotation_com_fx.c index 27fdfb5a0..7cdcd0413 100644 --- a/lib_com/ivas_rotation_com_fx.c +++ b/lib_com/ivas_rotation_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "ivas_cnst.h" #include @@ -36,9 +8,6 @@ #include "options.h" #include "prot_fx.h" #include "ivas_prot_fx.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "wmc_auto.h" #include "basop_util.h" #include "enh64.h" diff --git a/lib_com/ivas_sba_config_fx.c b/lib_com/ivas_sba_config_fx.c index 57bd35f83..2533bf2df 100644 --- a/lib_com/ivas_sba_config_fx.c +++ b/lib_com/ivas_sba_config_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_com/ivas_sns_com_fx.c b/lib_com/ivas_sns_com_fx.c index 652b095c1..2aba4c459 100644 --- a/lib_com/ivas_sns_com_fx.c +++ b/lib_com/ivas_sns_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_spar_com_fx.c b/lib_com/ivas_spar_com_fx.c index 4733e4fa0..883cd28f8 100644 --- a/lib_com/ivas_spar_com_fx.c +++ b/lib_com/ivas_spar_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_spar_com_quant_util_fx.c b/lib_com/ivas_spar_com_quant_util_fx.c index 50820e240..a95d7c745 100644 --- a/lib_com/ivas_spar_com_quant_util_fx.c +++ b/lib_com/ivas_spar_com_quant_util_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_stat_com.h b/lib_com/ivas_stat_com.h index d3737fa19..e3aabe986 100644 --- a/lib_com/ivas_stat_com.h +++ b/lib_com/ivas_stat_com.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_STAT_COM #define IVAS_STAT_COM diff --git a/lib_com/ivas_stereo_dft_com_fx.c b/lib_com/ivas_stereo_dft_com_fx.c index c85ccf53f..4a94ae426 100644 --- a/lib_com/ivas_stereo_dft_com_fx.c +++ b/lib_com/ivas_stereo_dft_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_com/ivas_stereo_eclvq_com_fx.c b/lib_com/ivas_stereo_eclvq_com_fx.c index 7d528f5b9..f2e077b42 100644 --- a/lib_com/ivas_stereo_eclvq_com_fx.c +++ b/lib_com/ivas_stereo_eclvq_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_stereo_ica_com_fx.c b/lib_com/ivas_stereo_ica_com_fx.c index 705c1756d..9f7bdde53 100644 --- a/lib_com/ivas_stereo_ica_com_fx.c +++ b/lib_com/ivas_stereo_ica_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively FOR experts who have experience with such software and - solely FOR the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness FOR a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_com/ivas_stereo_mdct_bands_com_fx.c b/lib_com/ivas_stereo_mdct_bands_com_fx.c index 09c9d94c2..e45bf0db7 100644 --- a/lib_com/ivas_stereo_mdct_bands_com_fx.c +++ b/lib_com/ivas_stereo_mdct_bands_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_com/ivas_stereo_mdct_stereo_com_fx.c b/lib_com/ivas_stereo_mdct_stereo_com_fx.c index 02d141da2..9ff640bad 100644 --- a/lib_com/ivas_stereo_mdct_stereo_com_fx.c +++ b/lib_com/ivas_stereo_mdct_stereo_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_stereo_psychlpc_com_fx.c b/lib_com/ivas_stereo_psychlpc_com_fx.c index 3a130b8cb..04de4a5a1 100644 --- a/lib_com/ivas_stereo_psychlpc_com_fx.c +++ b/lib_com/ivas_stereo_psychlpc_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_stereo_td_bit_alloc_fx.c b/lib_com/ivas_stereo_td_bit_alloc_fx.c index 45dfb3110..770968884 100644 --- a/lib_com/ivas_stereo_td_bit_alloc_fx.c +++ b/lib_com/ivas_stereo_td_bit_alloc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_tools_fx.c b/lib_com/ivas_tools_fx.c index 753c3ae29..88d33af2d 100644 --- a/lib_com/ivas_tools_fx.c +++ b/lib_com/ivas_tools_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_com/ivas_transient_det_fx.c b/lib_com/ivas_transient_det_fx.c index ea3acdb9e..b6ae0003c 100644 --- a/lib_com/ivas_transient_det_fx.c +++ b/lib_com/ivas_transient_det_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/lag_wind_fx.c b/lib_com/lag_wind_fx.c index a83b90b9b..d39d8b9ca 100644 --- a/lib_com/lag_wind_fx.c +++ b/lib_com/lag_wind_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/lerp_fx.c b/lib_com/lerp_fx.c index 2015a074c..fade2900b 100644 --- a/lib_com/lerp_fx.c +++ b/lib_com/lerp_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/limit_t0_fx.c b/lib_com/limit_t0_fx.c index 61eea907d..d80d87a6f 100644 --- a/lib_com/limit_t0_fx.c +++ b/lib_com/limit_t0_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/log2.c b/lib_com/log2.c index 6b8b402c3..a45287d3e 100644 --- a/lib_com/log2.c +++ b/lib_com/log2.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /******************************************************************************** * * File : log2.c diff --git a/lib_com/log2.h b/lib_com/log2.h index 582d4ef74..3aad11d32 100644 --- a/lib_com/log2.h +++ b/lib_com/log2.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /******************************************************************************** * * File : log2.h diff --git a/lib_com/logqnorm_fx.c b/lib_com/logqnorm_fx.c index 20e76f497..4e4a99f65 100644 --- a/lib_com/logqnorm_fx.c +++ b/lib_com/logqnorm_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" /* Compilation switches */ diff --git a/lib_com/longarith.c b/lib_com/longarith.c index ccef60319..e78b81e7b 100644 --- a/lib_com/longarith.c +++ b/lib_com/longarith.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/low_rate_band_att_fx.c b/lib_com/low_rate_band_att_fx.c index ecb48c49e..da49a559a 100644 --- a/lib_com/low_rate_band_att_fx.c +++ b/lib_com/low_rate_band_att_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/lpc_tools_fx.c b/lib_com/lpc_tools_fx.c index a2de22ab8..a92e775d2 100644 --- a/lib_com/lpc_tools_fx.c +++ b/lib_com/lpc_tools_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/lsf_dec_bfi_fx.c b/lib_com/lsf_dec_bfi_fx.c index 41db2c647..7a60728c9 100644 --- a/lib_com/lsf_dec_bfi_fx.c +++ b/lib_com/lsf_dec_bfi_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/lsf_msvq_ma_fx.c b/lib_com/lsf_msvq_ma_fx.c index a4db79068..653ed5308 100644 --- a/lib_com/lsf_msvq_ma_fx.c +++ b/lib_com/lsf_msvq_ma_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/lsf_tools_fx.c b/lib_com/lsf_tools_fx.c index c69503350..faef9bffc 100644 --- a/lib_com/lsf_tools_fx.c +++ b/lib_com/lsf_tools_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -2071,12 +2043,6 @@ ivas_error lsf_allocate_fx( move16(); } } -#ifdef DEBUGGING - ELSE - { - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "lsf_allocate(): invalid number of bits in used predictive mode\n" ); - } -#endif } return error; @@ -2160,12 +2126,6 @@ ivas_error find_pred_mode( } } } -#ifdef DEBUGGING - if ( *predmode == -1 ) - { - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "\nfind_pred_mode(): incorrect coder_type specification: %d\n", coder_type ); - } -#endif return error; diff --git a/lib_com/lsp_conv_poly_fx.c b/lib_com/lsp_conv_poly_fx.c index 3bbf81137..44e23f8ad 100644 --- a/lib_com/lsp_conv_poly_fx.c +++ b/lib_com/lsp_conv_poly_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/math_32.h b/lib_com/math_32.h index aa3bc1f27..11f009ea6 100644 --- a/lib_com/math_32.h +++ b/lib_com/math_32.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef _MATH_32_H_ #define _MATH_32_H_ diff --git a/lib_com/math_op.c b/lib_com/math_op.c index 12d14ca6a..495769383 100644 --- a/lib_com/math_op.c +++ b/lib_com/math_op.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*___________________________________________________________________________ | | | This file contains mathematic operations in fixed point. | diff --git a/lib_com/math_op.h b/lib_com/math_op.h index d4eca9f2b..6d63aa74b 100644 --- a/lib_com/math_op.h +++ b/lib_com/math_op.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*--------------------------------------------------------------------------* * MATH_OP.H * *--------------------------------------------------------------------------* diff --git a/lib_com/mime.h b/lib_com/mime.h index 803e54cb0..d210372be 100644 --- a/lib_com/mime.h +++ b/lib_com/mime.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/modif_fs_fx.c b/lib_com/modif_fs_fx.c index 08cd1322b..05ed04415 100644 --- a/lib_com/modif_fs_fx.c +++ b/lib_com/modif_fs_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/mslvq_com_fx.c b/lib_com/mslvq_com_fx.c index 76a639539..f8d2cb8c0 100644 --- a/lib_com/mslvq_com_fx.c +++ b/lib_com/mslvq_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/nelp_fx.c b/lib_com/nelp_fx.c index 4a4cb66b1..20d3ba56f 100644 --- a/lib_com/nelp_fx.c +++ b/lib_com/nelp_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/oper_32b.c b/lib_com/oper_32b.c index 47b39ee48..33913f7dc 100644 --- a/lib_com/oper_32b.c +++ b/lib_com/oper_32b.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /***************************************************************************** * $Id: oper_32b.c 1094 2014-02-10 17:12:11Z jdr $ * diff --git a/lib_com/oper_32b.h b/lib_com/oper_32b.h index d68fb5d68..d0e3891aa 100644 --- a/lib_com/oper_32b.h +++ b/lib_com/oper_32b.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /* Double precision operations */ /* $Id: oper_32b.h 1094 2014-02-10 17:12:11Z jdr $ */ #ifndef _OPER_32b_H diff --git a/lib_com/options.h b/lib_com/options.h index 9ce33d497..4618e26be 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 @@ -47,93 +19,16 @@ /* ################### Start DEBUGGING switches ######################## */ -#ifndef RELEASE -/*#define DEBUGGING*/ /* Activate debugging part of the code */ -#endif /*#define WMOPS*/ /* Activate complexity and memory counters */ /*#define WMOPS_PER_FRAME*/ /* Output per-frame complexity (writes one float value per frame to the file "wmops_analysis") */ /*#define WMOPS_DETAIL*/ /* Output detailed complexity printout for every function. Increases runtime overhead */ /*#define WMOPS_WC_FRAME_ANALYSIS*/ /* Output detailed complexity analysis for the worst-case frame */ /*#define MEM_COUNT_DETAILS*/ /* Output detailed memory analysis for the worst-case frame (writes to the file "mem_analysis.csv") */ -#ifdef DEBUGGING -/*#define DBG_BITSTREAM_ANALYSIS*/ /* Write bitstream with annotations to a text file */ -#define DEBUG_MODE_INFO /* Define to output most important parameters to the subdirectory "res/" */ -#define DEBUG_MODE_INFO_TWEAK /* Enable command line switch to specify subdirectory for debug info output inside "./res/" */ -#define DEBUG_FORCE_MDCT_STEREO_MODE /* Force stereo mode decision for MDCT stereo: -stereo 3 1 forces L/R coding and -stereo 3 2 forces full M/S coding */ -/*#define DEBUG_FORCE_DIR*/ /* Force modes/parameters by reading from external binary files */ -/*#define DBG_WAV_WRITER*/ /* Enable dbgwrite_wav() function for generating ".wav" files */ -#define SUPPORT_FORCE_TCX10_TCX20 /* VA: Enable -force tcx10|tcx20 command-line option */ -/*#define DEBUG_MODE_JBM */ /* define to output JBM relevant parameters */ -#define ENABLE_BITRATE_VERIFICATION /* Enable bitrate verification - use when playing with bit budget */ -/*#define DEBUG_APA_SILENCE_NON_SCALED*/ /* Switch APA into mode that replaces contents of non-scaled frames with silence. Useful for identifying scaled regions in the audio output of the decoder */ - -#endif /* DEBUGGING */ /* #################### End DEBUGGING switches ############################ */ -/* keep as part of options.h */ -/*#define DISABLE_LIMITER*/ - -/* ################### Start MAINTENANCE switches ########################### */ - -/* ################### Start BE switches ################################# */ -/* only BE switches wrt wrt. TS 26.251 V3.0 */ - -/*#define FIX_I4_OL_PITCH*/ /* fix open-loop pitch used for EVS core switching */ -#define FIX_1990_SANITIZER_IN_REVERB_LOAD /* Nokia: Fix issue part of issue 1990 by introducing missing free of structure - keep until #2059 is addressed */ -#define TMP_1342_WORKAROUND_DEC_FLUSH_BROKEN_IN_SR /* FhG: Temporary workaround for incorrect implementation of decoder flush with split rendering */ -#define NONBE_1122_KEEP_EVS_MODE_UNCHANGED /* FhG: Disables fix for issue 1122 in EVS mode to keep BE tests green. This switch should be removed once the 1122 fix is added to EVS via a CR. */ -#define NONBE_FIX_ISSUE_2206 /* FhG: Calculate st->q_inp and Q_new dynamically for all data paths instead of assuming constant values */ -#define NONBE_FIX_ISSUE_2206_TV1 /* VA/FhG: Calculate st->q_inp also considering st->mem_q decimation memory to avoid saturation */ -#define NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT /* FhG: Dynamic scale of shb_speech buffers */ -#define NONBE_FIX_ISSUE_2206_TD_CHANNEL_EXTRAPOLATION /* FhG: Use different scale to avoid saturation of LPC coefficient in TD Stereo signal extrapolation. */ -#define NONBE_FIX_ISSUE_2206_AVOID_OVERFLOW_SWB_fenv_fx2 /* FhG: Avoid overflow of SWB_fenv_fx in SWB_BWE_encoding_fx because of very small energies. */ -#define NONBE_FIX_ISSUE_2206_AVOID_OVERFLOW_MSVQ_Interpol_Tran_fx /* FhG: Fix saturation crash in MSVQ_Interpol_Tran_fx() */ -#define NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT_FIX_2527 /* Fix crash from issue #2527 */ -#define FIX_FLOAT_1539_G192_FORMAT_SWITCH /* VA/Nokia: reintroduce format switching for g192 bitstreams */ -#define SIMPLIFY_CORE_ENC /* VA: basop issue 2430: Simplify ivas_core_enc_fx() */ -#define FIX_2402_SIMPLIFY_ARI_CODEC /* FhG: basop issue 2402: simplified arithmetic in TCX arithmetic coder */ -#define FIX_2402_REPL_EVS_ARI_CODEC_ENC /* FhG: basop issue 2402: replace EVS arith encoder with IVAS arith encoder */ -#define FIX_BASOP_2551_HARM_SCALAR_QUAN /* FhG: issue 2551: Harmonize function pair tcx_scalar_quantization_fx*/ -#define HARMONIZE_2564_GetEnergyCldfb /* FhG: harmonize GetEnergyCldfb derivates for evs/ivas */ -#define FIX_BASOP_2555_FRAMELEN_CALC /* FhG: BASOP issue 2555: Simplify (sub-)framelength calculation in ivas_mdct_core_tns_ns_fx() */ -#define FIX_BASOP_2095_REMOVE_TABLES_PT01 /* FhG: BASOP issue 2095: remove unused tables, part 01 */ -#define FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 /* FhG: part 2 of basop issue 2346: Review potentially duplicated IGF functions */ -#define FIX_BASOP_2563_CRASH_HQ_GENERIC_DEC /* Eri: BASOP issue 2563: Crash in hq_generic decoding. EVS code --> solve with _sat operator */ -#define FIX_2095_REMOVE_UNUSED_ISAR_TABLES /* Dolby: remove unused ISAR */ -#define FIX_BASOP_2560_STEREO_DFT_DEC_RESET /* FhG: BASOP issue 2560: align reset of hStereoDft->res_gains_ind_fx[][] between BASOP and float */ -#define HARMONIZE_2539_cng_energy /* FhG: basop issue 2539: harmonize cng_energy with its ivas derivate */ -#define FIX_1585_ASAN_FORMAT_SW_ALT /* VA: float issue 1585: alternative fix memory leaks with format switching */ - -/* #################### End BE switches ################################## */ - -/* #################### Start NON-BE switches ############################ */ -/* any switch which is non-be wrt. TS 26.251 V3.0 */ - -#define FIX_2500_RENDCONF_REFACTOR /* Eri: Basop issue #2500: Renderer configuration range check before conversion to fixed point. Harmonize between BASOP/float */ -#define FIX_BASOP_2023_TDREND_DISTATT_PRECISION /* Eri: Basop issue 2023: Distance attenuation scaling, adding clamping of distance att input and listener position */ -#define FIX_BASOP_2023_TDREND_DISTATT_PRECISION_BUGFIX /* Eri: Bug discovered in cleanup of basop issue 2023 */ -#define FIX_1576_LCLD_CRASH_DIFFERENT_CODEC_ISAR_FRAME_SIZE /* Dolby: float issue 1576: fix for crash in LCLD mode when codec frame size is less than isar frame size */ -#define FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW /* Orange: float issue 1548: Harmonize non diegetic panning law in ISM and renderers */ -#define FIX_1452_DEFAULT_REVERB /* Nokia/Philips/FhG: Fix default room presets and their usage in renderer */ -#define NONBE_FIX_ISSUE_2206_MDCT_STEREO_FIX_2549 /* FhG: Correct scale inconsistency of old_inp_16k_fx buffer scale. */ -#define FIX_BASOP_2548_ProcessIGF_fx_PREDICTIONGAIN /* FhG: fixes obvious bug for IVAS path. For EVS path, issue is still not resolved */ -#define FIX_FMSW_DEC /* float issue 1542: fix JBM issue in format switching */ -#define FIX_FMSW_DEC_2 /* float issue 1575: fix crash for format switching when bitsream starts with EVS */ -#define FIX_BASOP_2562_HQ_PREECHO_SAT /* Eri/Orange: Basop issue 2562: Add saturation to L_add in preecho calculations */ -#define FIX_BASOP_2561_STEREO_DFT_ENC_COMPUTE_ITD /* BASOP issue 2561: fix diffs in stereo_dft_enc_compute_itd() between float and BASOP */ -#define FIX_BASOP_2517_CLICK_IN_OMASA_LTV /* FhG: BASOP #2517: preserve precision by removing one-bit headroom from Q_min and allowing saturation during buffer scaling */ -#define NONBE_FIX_ISSUE_2518 /* FhG: Fix issue 2518, noise during ACELP switching from 16KHz to 12k8Hz by improving Q_new calculation. */ -#define NONBE_FIX_ISSUE_2518_TRANSENC_SAT_FIX /* FhG: Fix issue 2518, fix wrong amplitude because of saturation of x_tran in transf_cdbk_enc_fx() for transient signals. */ -#define FIX_BASOP_2559_Q_SYNTH_HISTORY_RESET /* FhG: BASOP issue 2559: reset hTcxDec->q_synth_history_fx in allocate_CoreCoder_TCX_fx() */ -#define FIX_FLOAT_1578_OMASA_REND_SPIKES /* Nokia: Float issue 1578: Fix spikes and collapsed perception in OMASA/MASA rendering to FOA/HOA */ -#define FIX_1521_SBA_LOUDNESS_STEREO /* FhG: issue 1521: Fix loudness for SBA to stereo rendering */ -#define FIX_1559 /* Eri/FhG: fix for Issue 1559 in FD CNG with bitrate/bw switching */ - -/* ##################### End NON-BE switches ########################### */ -/* ################## End MAINTENANCE switches ######################### */ /* clang-format on */ #endif diff --git a/lib_com/parameter_bitmaping_fx.c b/lib_com/parameter_bitmaping_fx.c index 02ab3ee9a..0920db4cb 100644 --- a/lib_com/parameter_bitmaping_fx.c +++ b/lib_com/parameter_bitmaping_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include #include "options.h" diff --git a/lib_com/phase_dispersion_fx.c b/lib_com/phase_dispersion_fx.c index 5269a2ca3..d50c3273e 100644 --- a/lib_com/phase_dispersion_fx.c +++ b/lib_com/phase_dispersion_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/ppp_fx.c b/lib_com/ppp_fx.c index 12a35b393..5a52e3644 100644 --- a/lib_com/ppp_fx.c +++ b/lib_com/ppp_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/pred_lt4_fx.c b/lib_com/pred_lt4_fx.c index f4f68f58a..1464d2735 100644 --- a/lib_com/pred_lt4_fx.c +++ b/lib_com/pred_lt4_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/preemph_fx.c b/lib_com/preemph_fx.c index 46c8ccc36..ef673065e 100644 --- a/lib_com/preemph_fx.c +++ b/lib_com/preemph_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/prot_fx.h b/lib_com/prot_fx.h index 7d541d076..a7c5c521a 100644 --- a/lib_com/prot_fx.h +++ b/lib_com/prot_fx.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef PROT_FX2_H #define PROT_FX2_H @@ -3989,11 +3961,7 @@ Word16 find_guarded_bits_fx( const Word32 n ); Word16 L_norm_arr( const Word32 *arr, Word16 size ); Word16 L_norm_arr_cmplx( const cmplx *arr, Word16 size ); -#ifdef NONBE_FIX_ISSUE_2206 Word16 norm_arr( const Word16 *arr, Word16 size ); -#else -Word16 norm_arr( Word16 *arr, Word16 size ); -#endif Word16 W_norm_arr( Word64 *arr, Word16 size ); Word16 get_min_scalefactor( Word32 x, Word32 y ); @@ -4104,12 +4072,8 @@ void analysisCldfbEncoder_fx( Word16 *enerBuffSum_exp, CLDFB_SCALE_FACTOR *scale ); -#ifdef HARMONIZE_2564_GetEnergyCldfb void GetEnergyCldfb( Word16 element_mode, /*!< i: | Is IVAS or EVS? */ -#else -void GetEnergyCldfb( -#endif Word32 *energyLookahead, /*!< o: Q31 | pointer to the result in the core look-ahead slot */ Word16 *sf_energyLookahead, /*!< o: pointer to the scalefactor of the result in the core look-ahead slot - apply as negative exponent*/ const Word16 numLookahead, /*!< i: Q0 the number of look-ahead time-slots */ @@ -5050,12 +5014,6 @@ Word16 IGFCommonFuncsIGFGetCFTables_fx( const Word16 **cf_off_se11 /* o : offsets for CF tables above */ ); -#ifndef FIX_2402_SIMPLIFY_ARI_CODEC -Word32 L_multi31x16_X2( - Word16 xh, - Word16 xl, - Word16 y ); -#endif #ifndef FIX_2402_INLINE_FCT_ARI_CODEC Word32 mul_sbc_14bits( @@ -8470,24 +8428,8 @@ void con_tcx_fx( const Word16 *A_cng /* i : CNG LP filter coefficients */ ); -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC void ari_start_encoding_14bits_fx( -#else -void ari_start_encoding_14bits_ivas_fx( -#endif Tastat *s ); -#ifndef FIX_BASOP_2551_HARM_SCALAR_QUAN -void tcx_scalar_quantization_ivas_fx( - Word32 *x, /* i: input coefficients */ - Word16 x_e, /* i: exponent */ - Word16 *xq, /* o: quantized coefficients */ - Word16 L_frame, /* i: frame length */ - Word16 gain, /* i: quantization gain */ - Word16 gain_e, /* i: quantization gain exponent */ - Word16 offset, /* i: rounding offset (deadzone) */ - Word8 const *memQuantZeros_fx, /* i: coefficients to be set to 0 */ - const Word16 alfe_flag ); -#else void tcx_scalar_quantization_fx( Word32 *x, /* i: input coefficients */ Word16 x_e, /* i: exponent */ @@ -8499,7 +8441,6 @@ void tcx_scalar_quantization_fx( Word8 const *memQuantZeros_fx, /* i: coefficients to be set to 0 */ const Word16 alfe_flag, const Word16 element_mode ); -#endif // !FIX_BASOP_2551_HARM_SCALAR_QUAN Word16 RCcontextMapping_encode2_estimate_no_mem_s17_LCS_fx( @@ -8564,14 +8505,12 @@ void Copy_Scale_sig( const Word16 exp0 /* i : exponent: x = round(x << exp) Qx ?exp */ ); -#ifdef NONBE_FIX_ISSUE_2206 void Copy_Scale_sig_nosat( const Word16 x[], /* i : signal to scale i Qx */ Word16 y[], /* o : scaled signal output Qx */ const Word16 lg, /* i : size of x[] Q0 */ const Word16 exp0 /* i : exponent: x = round(x << exp) Qx ?exp */ ); -#endif void Scale_sig32( Word32 x[], /* i/o: signal to scale Qx */ @@ -8607,14 +8546,12 @@ void Copy_Scale_sig_32_16( const Word16 exp0 /* i : exponent: x = round(x << exp) Qx ?exp */ ); -#ifdef NONBE_FIX_ISSUE_2206 void Copy_Scale_sig_32_16_nosat( const Word32 x[], /* i : signal to scale input Qx */ Word16 y[], /* o : scaled signal output Qx */ const Word16 lg, /* i : size of x[] Q0 */ const Word16 exp0 /* i : exponent: x = round(x << exp) Qx ?exp */ ); -#endif void Random_Fill( Word16 *seed, /* i/o: random seed */ @@ -9465,11 +9402,7 @@ void IGFSaveSpectrumForITF_ivas_fx( const Word32 *pITFSpectrum, /* i : MDCT spectrum */ Word16 exp_pITFSpectrum ); -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC Word16 ari_encode_14bits_ext_fx( -#else -Word16 ari_encode_14bits_ext_ivas_fx( -#endif Word16 *ptr, /* Q0 */ Word16 bp, /* Q0 */ Tastat *s, @@ -9477,11 +9410,7 @@ Word16 ari_encode_14bits_ext_ivas_fx( UWord16 const *cum_freq /* Q0 */ ); -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC Word16 ari_encode_14bits_sign_fx( -#else -Word16 ari_encode_14bits_sign_ivas_fx( -#endif Word16 *ptr, /* Q0 */ Word16 bp, /* Q0 */ Word32 bits, /* Q0 */ @@ -9489,11 +9418,7 @@ Word16 ari_encode_14bits_sign_ivas_fx( Word16 sign /* Q0 */ ); -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC Word16 ari_done_encoding_14bits_fx( -#else -Word16 ari_done_encoding_14bits_ivas_fx( -#endif Word16 *ptr, /* Q0 */ Word16 bp, /* Q0 */ Tastat *s ); @@ -9770,28 +9695,14 @@ ivas_error push_indice( Word16 nb_bits /* i : number of bits used to quantize the indice */ ); -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) -#define push_next_indice( ... ) push_next_indice_( __func__, __VA_ARGS__ ) -#define push_next_bits( ... ) push_next_bits_( __func__, __VA_ARGS__ ); -#endif -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) -ivas_error push_next_indice_( - const char *caller, -#else ivas_error push_next_indice( -#endif BSTR_ENC_HANDLE hBstr, UWord16 value, /* i : value of the quantized indice */ Word16 nb_bits /* i : number of bits used to quantize the indice */ ); -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) -ivas_error push_next_bits_( - const char *caller, -#else ivas_error push_next_bits( -#endif BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */ const UWord16 bits[], /* i : bit buffer to pack, sequence of single bits */ const Word16 nb_bits /* i : number of bits to pack */ @@ -9914,13 +9825,6 @@ Word32 ar_div_ivas( Word32 num, Word32 denum ); -#ifdef DEBUGGING -void read_next_force( - int16_t *force, /* i/o: force value (0/1, 0 = speech, 1 = music)*/ - FILE *f_force, /* i : force switching profile (0 if N/A) */ - int32_t *force_profile_cnt /* i/o: counter of frames for force switching profile file */ -); -#endif ivas_error init_encoder_fx( Encoder_State *st, /* i/o: state structure */ diff --git a/lib_com/pvq_com_fx.c b/lib_com/pvq_com_fx.c index f86e66f60..6a3d5adbb 100644 --- a/lib_com/pvq_com_fx.c +++ b/lib_com/pvq_com_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/range_com_fx.c b/lib_com/range_com_fx.c index d437494f7..0d124fd19 100644 --- a/lib_com/range_com_fx.c +++ b/lib_com/range_com_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/re8_ppv_fx.c b/lib_com/re8_ppv_fx.c index 5398214b4..430967bce 100644 --- a/lib_com/re8_ppv_fx.c +++ b/lib_com/re8_ppv_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/re8_util_fx.c b/lib_com/re8_util_fx.c index cf5db258d..3b7547d93 100644 --- a/lib_com/re8_util_fx.c +++ b/lib_com/re8_util_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/recovernorm_fx.c b/lib_com/recovernorm_fx.c index 83167ea62..60f0092a9 100644 --- a/lib_com/recovernorm_fx.c +++ b/lib_com/recovernorm_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/reordvct_fx.c b/lib_com/reordvct_fx.c index e89e9ed38..a3f87094e 100644 --- a/lib_com/reordvct_fx.c +++ b/lib_com/reordvct_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" /* Compilation switches */ diff --git a/lib_com/residu_fx.c b/lib_com/residu_fx.c index d4de347d5..1ead1febe 100644 --- a/lib_com/residu_fx.c +++ b/lib_com/residu_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/rom_basic_math.c b/lib_com/rom_basic_math.c index 589935254..56fe4164b 100644 --- a/lib_com/rom_basic_math.c +++ b/lib_com/rom_basic_math.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "options.h" /* Compilation switches */ #include "cnst.h" /* Decoder static structure */ #include "stl.h" diff --git a/lib_com/rom_basic_math.h b/lib_com/rom_basic_math.h index 0f4826d0c..31ea26df9 100644 --- a/lib_com/rom_basic_math.h +++ b/lib_com/rom_basic_math.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "options.h" /* Compilation switches */ #include "cnst.h" /* Decoder static structure */ #include "stl.h" diff --git a/lib_com/rom_basop_util.c b/lib_com/rom_basop_util.c index 321658f7a..ca4bba915 100644 --- a/lib_com/rom_basop_util.c +++ b/lib_com/rom_basop_util.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "rom_basop_util.h" #include "stl.h" diff --git a/lib_com/rom_basop_util.h b/lib_com/rom_basop_util.h index ffbc7292a..77095837a 100644 --- a/lib_com/rom_basop_util.h +++ b/lib_com/rom_basop_util.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/rom_com.h b/lib_com/rom_com.h index 9a2caa064..53634d083 100644 --- a/lib_com/rom_com.h +++ b/lib_com/rom_com.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 @@ -1136,9 +1108,6 @@ extern const Word32 rot_vec_syn_re_L60_fx[30]; // Q31 extern const Word32 rot_vec_syn_im_L60_fx[30]; // Q31 extern const Word16 bpf_weights_16_Fx[16]; // Q15 -#ifndef FIX_BASOP_2095_REMOVE_TABLES_PT01 -extern const Word16 bpf_weights_16_ivas_fx[16]; // Q15 -#endif extern const Word32 bpf_weights_16_ivas_fx_32[16]; // Q30 extern const Word16 CNG_details_codebook_fx[64][NUM_ENV_CNG]; // Q6 @@ -1606,8 +1575,5 @@ extern const Word32 rot_vec_ana_re_L60_fx[30]; // Q29 extern const Word32 rot_vec_ana_im_L60_fx[30]; // Q29 extern const Word16 LP_assym_window_fx[]; /* Assymetric window for LP analysis @12.8kHz (Q15) */ -#ifndef FIX_BASOP_2095_REMOVE_TABLES_PT01 -extern const Word16 LP_assym_window_16k_fx[]; /* Assymetric window for LP analysis @16kHz (Q15) */ -#endif #endif diff --git a/lib_com/rom_com_fx.c b/lib_com/rom_com_fx.c index d2f077a3e..6c0b1e973 100644 --- a/lib_com/rom_com_fx.c +++ b/lib_com/rom_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 @@ -6822,15 +6794,6 @@ const Word16 bpf_weights_16_Fx[16] = 3/*0.000081f Q15*/, 2/*0.000052f Q15*/, 1/*0.000017f Q15*/, 1/*0.000016f Q15*/ }; -#ifndef FIX_BASOP_2095_REMOVE_TABLES_PT01 -const Word16 bpf_weights_16_ivas_fx[16] = -{ - 32767/*0.999969f Q15*/, 23022/*0.702561f Q15*/, 6843/*0.208838f Q15*/, 51/*0.001553f Q15*/, - 58/*0.001777f Q15*/, 45/*0.001370f Q15*/, 30/*0.000926f Q15*/, 18/*0.000554f Q15*/, - 9/*0.000270f Q15*/, 3/*0.000080f Q15*/, 1/*0.000030f Q15*/, 3/*0.000082f Q15*/, - 3/*0.000081f Q15*/, 2/*0.000052f Q15*/, 1/*0.000017f Q15*/, 1/*0.000016f Q15*/ -}; -#endif const Word32 bpf_weights_16_ivas_fx_32[16] = { 1073784774/*1.000040f Q30*/, 754369130/*0.702561f Q30*/, 224238095/*0.208838f Q30*/, 1667521/*0.001553f Q30*/, @@ -36533,411 +36496,6 @@ const Word16 LP_assym_window_fx[L_LP] = { 0x0b0f, 0x0ad8, 0x0aa8, 0x0a82, 0x0a64, 0x0a4e, 0x0a41, 0x0a3d }; -#ifndef FIX_BASOP_2095_REMOVE_TABLES_PT01 -/* LP analysis window (length of the window is 25ms which is 400 samples at 16kHz (Q15) */ -const Word16 LP_assym_window_16k_fx[L_LP_16k] = { - 0x0a3d, - 0x0a3e, - 0x0a42, - 0x0a49, - 0x0a53, - 0x0a5f, - 0x0a6e, - 0x0a7f, - 0x0a93, - 0x0aaa, - 0x0ac4, - 0x0ae0, - 0x0aff, - 0x0b21, - 0x0b45, - 0x0b6c, - 0x0b96, - 0x0bc2, - 0x0bf1, - 0x0c23, - 0x0c57, - 0x0c8e, - 0x0cc7, - 0x0d03, - 0x0d41, - 0x0d82, - 0x0dc6, - 0x0e0c, - 0x0e55, - 0x0ea0, - 0x0eee, - 0x0f3e, - 0x0f91, - 0x0fe6, - 0x103e, - 0x1098, - 0x10f4, - 0x1153, - 0x11b4, - 0x1218, - 0x127e, - 0x12e6, - 0x1351, - 0x13be, - 0x142d, - 0x149e, - 0x1512, - 0x1588, - 0x1600, - 0x167a, - 0x16f6, - 0x1774, - 0x17f5, - 0x1878, - 0x18fc, - 0x1983, - 0x1a0c, - 0x1a96, - 0x1b23, - 0x1bb1, - 0x1c42, - 0x1cd4, - 0x1d68, - 0x1dfe, - 0x1e96, - 0x1f30, - 0x1fcb, - 0x2068, - 0x2107, - 0x21a7, - 0x2249, - 0x22ed, - 0x2392, - 0x2439, - 0x24e1, - 0x258b, - 0x2636, - 0x26e2, - 0x2790, - 0x2840, - 0x28f0, - 0x29a2, - 0x2a56, - 0x2b0a, - 0x2bc0, - 0x2c77, - 0x2d2e, - 0x2de7, - 0x2ea2, - 0x2f5d, - 0x3019, - 0x30d6, - 0x3194, - 0x3253, - 0x3313, - 0x33d3, - 0x3495, - 0x3557, - 0x361a, - 0x36dd, - 0x37a2, - 0x3867, - 0x392c, - 0x39f2, - 0x3ab9, - 0x3b80, - 0x3c47, - 0x3d0f, - 0x3dd7, - 0x3ea0, - 0x3f68, - 0x4032, - 0x40fb, - 0x41c4, - 0x428e, - 0x4358, - 0x4422, - 0x44ec, - 0x45b6, - 0x4680, - 0x4749, - 0x4813, - 0x48dd, - 0x49a6, - 0x4a6f, - 0x4b38, - 0x4c01, - 0x4cca, - 0x4d92, - 0x4e59, - 0x4f20, - 0x4fe7, - 0x50ad, - 0x5173, - 0x5238, - 0x52fd, - 0x53c1, - 0x5484, - 0x5547, - 0x5608, - 0x56c9, - 0x578a, - 0x5849, - 0x5908, - 0x59c5, - 0x5a82, - 0x5b3d, - 0x5bf8, - 0x5cb2, - 0x5d6a, - 0x5e21, - 0x5ed8, - 0x5f8d, - 0x6041, - 0x60f3, - 0x61a5, - 0x6255, - 0x6303, - 0x63b0, - 0x645c, - 0x6507, - 0x65b0, - 0x6657, - 0x66fd, - 0x67a2, - 0x6844, - 0x68e6, - 0x6985, - 0x6a23, - 0x6abf, - 0x6b5a, - 0x6bf2, - 0x6c89, - 0x6d1e, - 0x6db2, - 0x6e43, - 0x6ed2, - 0x6f60, - 0x6fec, - 0x7075, - 0x70fd, - 0x7183, - 0x7206, - 0x7288, - 0x7307, - 0x7385, - 0x7400, - 0x7479, - 0x74f0, - 0x7565, - 0x75d7, - 0x7648, - 0x76b6, - 0x7721, - 0x778b, - 0x77f2, - 0x7857, - 0x78b9, - 0x7919, - 0x7977, - 0x79d2, - 0x7a2b, - 0x7a81, - 0x7ad5, - 0x7b27, - 0x7b76, - 0x7bc2, - 0x7c0c, - 0x7c54, - 0x7c98, - 0x7cdb, - 0x7d1b, - 0x7d58, - 0x7d93, - 0x7dcb, - 0x7e00, - 0x7e33, - 0x7e63, - 0x7e91, - 0x7ebc, - 0x7ee4, - 0x7f0a, - 0x7f2d, - 0x7f4d, - 0x7f6b, - 0x7f86, - 0x7f9e, - 0x7fb3, - 0x7fc6, - 0x7fd7, - 0x7fe4, - 0x7fef, - 0x7ff7, - 0x7ffc, - 0x7fff, - 0x7fff, - 0x7ff9, - 0x7fee, - 0x7fde, - 0x7fc8, - 0x7fac, - 0x7f8c, - 0x7f65, - 0x7f39, - 0x7f08, - 0x7ed1, - 0x7e95, - 0x7e54, - 0x7e0d, - 0x7dc1, - 0x7d70, - 0x7d19, - 0x7cbd, - 0x7c5c, - 0x7bf6, - 0x7b8b, - 0x7b1b, - 0x7aa5, - 0x7a2b, - 0x79ab, - 0x7927, - 0x789e, - 0x7810, - 0x777d, - 0x76e6, - 0x764a, - 0x75a9, - 0x7504, - 0x745a, - 0x73ac, - 0x72fa, - 0x7243, - 0x7188, - 0x70c9, - 0x7006, - 0x6f3f, - 0x6e74, - 0x6da5, - 0x6cd2, - 0x6bfc, - 0x6b22, - 0x6a44, - 0x6963, - 0x687f, - 0x6797, - 0x66ac, - 0x65be, - 0x64cd, - 0x63d9, - 0x62e2, - 0x61e8, - 0x60ec, - 0x5fed, - 0x5eeb, - 0x5de7, - 0x5ce1, - 0x5bd8, - 0x5ace, - 0x59c1, - 0x58b3, - 0x57a2, - 0x5690, - 0x557c, - 0x5467, - 0x5350, - 0x5238, - 0x511f, - 0x5005, - 0x4ee9, - 0x4dcd, - 0x4cb0, - 0x4b92, - 0x4a74, - 0x4955, - 0x4836, - 0x4716, - 0x45f6, - 0x44d6, - 0x43b6, - 0x4297, - 0x4177, - 0x4058, - 0x3f39, - 0x3e1b, - 0x3cfe, - 0x3be1, - 0x3ac5, - 0x39aa, - 0x3891, - 0x3778, - 0x3661, - 0x354b, - 0x3436, - 0x3323, - 0x3212, - 0x3102, - 0x2ff5, - 0x2ee9, - 0x2de0, - 0x2cd8, - 0x2bd3, - 0x2ad0, - 0x29d0, - 0x28d2, - 0x27d7, - 0x26df, - 0x25e9, - 0x24f7, - 0x2407, - 0x231a, - 0x2231, - 0x214b, - 0x2068, - 0x1f89, - 0x1ead, - 0x1dd5, - 0x1d00, - 0x1c2f, - 0x1b62, - 0x1a99, - 0x19d4, - 0x1913, - 0x1856, - 0x179d, - 0x16e9, - 0x1638, - 0x158d, - 0x14e5, - 0x1442, - 0x13a4, - 0x130a, - 0x1275, - 0x11e5, - 0x1159, - 0x10d3, - 0x1051, - 0x0fd4, - 0x0f5c, - 0x0ee9, - 0x0e7b, - 0x0e12, - 0x0daf, - 0x0d50, - 0x0cf7, - 0x0ca3, - 0x0c55, - 0x0c0b, - 0x0bc7, - 0x0b88, - 0x0b4f, - 0x0b1b, - 0x0aed, - 0x0ac3, - 0x0aa0, - 0x0a82, - 0x0a69, - 0x0a56, - 0x0a48, - 0x0a40, - 0x0a3d, -}; -#endif /* 4-bit/3-bit TD SWB BWE differential LSF scalar quantizer tables */ /*Q15*/ diff --git a/lib_com/scale_mem_fx.c b/lib_com/scale_mem_fx.c index 1bb6fbe3c..cfc9839aa 100644 --- a/lib_com/scale_mem_fx.c +++ b/lib_com/scale_mem_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/stab_est_fx.c b/lib_com/stab_est_fx.c index 4b553eb54..88d358a1c 100644 --- a/lib_com/stab_est_fx.c +++ b/lib_com/stab_est_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/stat_com.h b/lib_com/stat_com.h index b9f0119ce..243e3d367 100644 --- a/lib_com/stat_com.h +++ b/lib_com/stat_com.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/stat_noise_uv_mod_fx.c b/lib_com/stat_noise_uv_mod_fx.c index 301fb108b..958ba9c00 100644 --- a/lib_com/stat_noise_uv_mod_fx.c +++ b/lib_com/stat_noise_uv_mod_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/swb_bwe_com_fx.c b/lib_com/swb_bwe_com_fx.c index 434dd6a80..f4f699af2 100644 --- a/lib_com/swb_bwe_com_fx.c +++ b/lib_com/swb_bwe_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -2748,11 +2720,7 @@ void hq_generic_decoding_fx( tmp1_fx = extract_h( L_shl( L_tmp1, exp1 ) ); tmp2_fx = extract_h( L_shl( L_tmp2, exp2 ) ); tmp3_fx = div_s( tmp2_fx, tmp1_fx ); /*15 + exp2 + 15 - (exp1 + 15) */ -#ifdef FIX_BASOP_2563_CRASH_HQ_GENERIC_DEC tmp3_fx = shr_sat( tmp3_fx, add( 5, sub( exp2, exp1 ) ) ); /*10 */ -#else - tmp3_fx = shr( tmp3_fx, add( 5, sub( exp2, exp1 ) ) ); /*10 */ -#endif if ( LT_16( tmp3_fx, 307 /*0.3 in Q10 */ ) ) { diff --git a/lib_com/swb_bwe_com_hr_fx.c b/lib_com/swb_bwe_com_hr_fx.c index a1d6fe2a0..94d4fa079 100644 --- a/lib_com/swb_bwe_com_hr_fx.c +++ b/lib_com/swb_bwe_com_hr_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/swb_bwe_com_lr_fx.c b/lib_com/swb_bwe_com_lr_fx.c index 9b6c6cd8e..5acbda917 100644 --- a/lib_com/swb_bwe_com_lr_fx.c +++ b/lib_com/swb_bwe_com_lr_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/swb_tbe_com_fx.c b/lib_com/swb_tbe_com_fx.c index 70684ccd5..fde28479f 100644 --- a/lib_com/swb_tbe_com_fx.c +++ b/lib_com/swb_tbe_com_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -5281,11 +5284,7 @@ static void Estimate_mix_factors_fx( pow3 = Dot_product( shb_res_local, shb_res_local, L_FRAME16k ); /* (2*Q_shb+1) */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT pow3 = L_add_sat( pow3, L_shl( 21475l /*0.00001f in Q31*/, 2 * Q_shb + 1 - 31 ) ); /* (2*Q_shb+1) */ -#else - pow3 = L_add( pow3, L_shl( 21475l /*0.00001f in Q31*/, 2 * Q_shb + 1 - 31 ) ); /* (2*Q_shb+1) */ -#endif if ( pow3 == 0 ) { pow3 = 1; diff --git a/lib_com/syn_12k8_fx.c b/lib_com/syn_12k8_fx.c index 7edf3a44b..e4ad81ed7 100644 --- a/lib_com/syn_12k8_fx.c +++ b/lib_com/syn_12k8_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/syn_filt_fx.c b/lib_com/syn_filt_fx.c index 58592f617..20bed9104 100644 --- a/lib_com/syn_filt_fx.c +++ b/lib_com/syn_filt_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/tcq_position_arith_fx.c b/lib_com/tcq_position_arith_fx.c index 431a509b1..16bf92363 100644 --- a/lib_com/tcq_position_arith_fx.c +++ b/lib_com/tcq_position_arith_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/tcx_ltp_fx.c b/lib_com/tcx_ltp_fx.c index ebe14f5f3..7b48b31e9 100644 --- a/lib_com/tcx_ltp_fx.c +++ b/lib_com/tcx_ltp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/tcx_mdct_fx.c b/lib_com/tcx_mdct_fx.c index 5903bc31c..64bc0c340 100644 --- a/lib_com/tcx_mdct_fx.c +++ b/lib_com/tcx_mdct_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/tcx_mdct_window_fx.c b/lib_com/tcx_mdct_window_fx.c index dd3ad48fe..9724da1da 100644 --- a/lib_com/tcx_mdct_window_fx.c +++ b/lib_com/tcx_mdct_window_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_com/tcx_utils_fx.c b/lib_com/tcx_utils_fx.c index 6ebd1dbf5..b2ea5504a 100644 --- a/lib_com/tcx_utils_fx.c +++ b/lib_com/tcx_utils_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/tec_com_fx.c b/lib_com/tec_com_fx.c index 5760b56b3..ab12f5e52 100644 --- a/lib_com/tec_com_fx.c +++ b/lib_com/tec_com_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/tns_base.c b/lib_com/tns_base.c index fe6f5d8ef..f46ac7120 100644 --- a/lib_com/tns_base.c +++ b/lib_com/tns_base.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/tools_fx.c b/lib_com/tools_fx.c index e15184cba..087eeca1c 100644 --- a/lib_com/tools_fx.c +++ b/lib_com/tools_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 @@ -1249,7 +1221,6 @@ void Copy_Scale_sig( return; } -#ifdef NONBE_FIX_ISSUE_2206 /*-------------------------------------------------------------------* * Copy_Scale_sig * @@ -1302,7 +1273,6 @@ void Copy_Scale_sig_nosat( return; } -#endif /*-------------------------------------------------------------------* * Copy_Scale_sig @@ -1339,14 +1309,7 @@ void Copy_Scale_sig_16_32_DEPREC( } return; } -#ifdef DEBUGGING - if ( exp0 >= 16 ) - { - printf( "Issue in Copy_Scale_sig_16_32_DEPREC\n" ); - } -#else assert( exp0 < 16 ); -#endif tmp = shl_sat( 1, exp0 ); FOR( i = 0; i < lg; i++ ) { @@ -1461,7 +1424,6 @@ void Copy_Scale_sig_32_16( return; } -#ifdef NONBE_FIX_ISSUE_2206 void Copy_Scale_sig_32_16_nosat( const Word32 x[], /* i : signal to scale input Qx */ Word16 y[], /* o : scaled signal output Qx */ @@ -1493,7 +1455,6 @@ void Copy_Scale_sig_32_16_nosat( return; } -#endif /*-------------------------------------------------------------------* * Scale_sig32 @@ -5443,15 +5404,9 @@ Word16 L_norm_arr_cmplx( return q; } -#ifdef NONBE_FIX_ISSUE_2206 Word16 norm_arr( const Word16 *arr, Word16 size ) -#else -Word16 norm_arr( - Word16 *arr, - Word16 size ) -#endif { Word16 q = 15; Word16 exp = 0; diff --git a/lib_com/trans_direct_fx.c b/lib_com/trans_direct_fx.c index 0f07d3499..63f6900b9 100644 --- a/lib_com/trans_direct_fx.c +++ b/lib_com/trans_direct_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/trans_inv_fx.c b/lib_com/trans_inv_fx.c index 405dd1914..4524b039e 100644 --- a/lib_com/trans_inv_fx.c +++ b/lib_com/trans_inv_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -746,11 +749,7 @@ void preecho_sb_fx( } } -#ifdef FIX_BASOP_2562_HQ_PREECHO_SAT tmp_fxL1 = L_add_sat( eshbmean2_fx, es_mdct_hb_fx[ind3] ); /*2*(q_sig16)*/ -#else - tmp_fxL1 = L_add( eshbmean2_fx, es_mdct_hb_fx[ind3] ); /*2*(q_sig16)*/ -#endif Mpy_32_16_ss( tmp_fxL1, 4369, &eshbmean3_fx, &tmp_u16 ); /*10922 : 1/3*/ tmp_fxL1 = L_sub( es_mdct_hb_fx[ind3], es_mdct_hb_fx[ind5] ); /*2*(q_sig16)*/ diff --git a/lib_com/vlpc_2st_com_fx.c b/lib_com/vlpc_2st_com_fx.c index 6f930f08f..1d07e170f 100644 --- a/lib_com/vlpc_2st_com_fx.c +++ b/lib_com/vlpc_2st_com_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/weight_a_fx.c b/lib_com/weight_a_fx.c index eac5ee6b3..c2f4feced 100644 --- a/lib_com/weight_a_fx.c +++ b/lib_com/weight_a_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/weight_fx.c b/lib_com/weight_fx.c index 87335d88d..c2a7f4965 100644 --- a/lib_com/weight_fx.c +++ b/lib_com/weight_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/wi_fx.c b/lib_com/wi_fx.c index ce5a0e7f0..e63f5439b 100644 --- a/lib_com/wi_fx.c +++ b/lib_com/wi_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/window_fx.c b/lib_com/window_fx.c index 74582520e..888ed1dc8 100644 --- a/lib_com/window_fx.c +++ b/lib_com/window_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/window_ola_fx.c b/lib_com/window_ola_fx.c index 6b41dcd04..800aaa93d 100644 --- a/lib_com/window_ola_fx.c +++ b/lib_com/window_ola_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_com/wtda_fx.c b/lib_com/wtda_fx.c index ddbd244a7..3a2eb9301 100644 --- a/lib_com/wtda_fx.c +++ b/lib_com/wtda_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_debug/debug.c b/lib_debug/debug.c deleted file mode 100644 index 59ca6252e..000000000 --- a/lib_debug/debug.c +++ /dev/null @@ -1,997 +0,0 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#include -#include -#include -#include -#include -#include -#include "options.h" -#ifdef DEBUGGING -#include "debug.h" -#include -#ifdef DEBUG_MODE_INFO -#ifdef DEBUG_MODE_INFO_TWEAK -#include -#include -#endif -#endif -#endif -#include "cnst.h" -#include -#include -#include -#ifdef _WIN32 -#include -#else -#endif -#ifdef DBG_WAV_WRITER -#include "tinywaveout_c.h" -#endif -#include "wmc_auto.h" - - -/*-------------------------------------------------------------------* - * Global variables used for debugging but not under DEBUGGING flag - *--------------------------------------------------------------------*/ - -#ifdef DEBUGGING -uint16_t g_nPrintedLines = 0; - -int16_t g_verbose = 0; /* global variable for debugging */ -#ifdef DEBUG_MODE_INFO -#ifdef DEBUG_MODE_INFO_TWEAK -char infoFolder[FILENAME_MAX]; -#endif -#endif -#endif - -FILE *DJB_delay = NULL; /* per-frame de-jitter buffer delay dump out file */ - -#ifdef DEBUGGING -int16_t debug_level = 0; -#endif - -/*-------------------------------------------------------------------* - * Read/write I/O tool - *--------------------------------------------------------------------*/ - -#ifdef DEBUGGING -#define N_FILEPTR 500 -#define N_DBGFLAG 100 -#define N_DBGVAL 100 -#define N_TYPES 6 - -static FILE *in_fileptr[N_FILEPTR]; -static FILE *out_fileptr[N_FILEPTR]; -#ifdef DBG_WAV_WRITER -static WAVEFILEOUT *out_wavfileptr[N_FILEPTR]; -#endif -static char *in_filename[N_FILEPTR]; -static char *out_filename[N_FILEPTR]; -#ifdef DBG_WAV_WRITER -static char *out_wavfilename[N_FILEPTR]; -#endif -static int16_t in_count = 0; -static int16_t out_count = 0; -#ifdef DBG_WAV_WRITER -static int16_t out_wav_count = 0; -#endif - -static int16_t flag_count = 0; -static char *flag_name[N_DBGFLAG]; -static int16_t val_count = 0; -static char *val_name[N_DBGVAL]; -static char *val[N_DBGVAL]; - -static char *type_list[N_TYPES] = { "char", "short", "int", "long", "float", "double" }; - -static void setvalue( - const char *value_name, /* i : Value name */ - const char *value /* i : Value as string */ -); - -static int16_t make_dirs( const char *const pathname ); - -/*-------------------------------------------------------------------* - * dbgwrite() - * - * Writes the buffer content to the specified file. If the file is not in the - * debug file list, it is opened before write. - *--------------------------------------------------------------------*/ - -int16_t dbgwrite( - const void *const buffer, /* i : Write buffer */ - const int16_t size, /* i : Element size */ - const int16_t count, /* i : Number of elements */ - const int16_t repeat, /* i : Number of times the elements are repeated */ -#ifdef DEBUG_MODE_INFO_TWEAK - const char *filename /* i : Output file name */ -#else - const char *const filename -#endif -) -{ - int16_t index, i; - void *tmp_buf; - -#ifdef DEBUG_MODE_INFO -#ifdef DEBUG_MODE_INFO_TWEAK - char filename_mod[FILENAME_MAX]; - int16_t textmode = 0; - int16_t x = *(const int16_t *const) buffer; /* currently the textmode is only defined with "short" as input */ - memset( filename_mod, 0, FILENAME_MAX ); - tweakdbgfolder( filename, filename_mod, &textmode ); - if ( filename_mod[0] != 0 ) - { - filename = filename_mod; - } -#endif -#endif - - index = lookup( filename, (const char *const *) out_filename, out_count ); - - if ( index == -1 ) - { - if ( make_dirs( filename ) != 0 ) - { - fprintf( stderr, "dbgwrite: Could not create directory structure for %s. Exiting..\n", filename ); - exit( -1 ); - } - - index = out_count; - out_fileptr[index] = fopen( filename, "wb" ); - out_filename[index] = malloc( sizeof( char ) * ( strlen( filename ) + 1 ) ); - strcpy( out_filename[index], filename ); - out_count++; - } - - if ( out_fileptr[index] != NULL ) - { - tmp_buf = calloc( count * repeat, size ); - if ( buffer != NULL ) - { - for ( i = 0; i < repeat; i++ ) - { - memcpy( (char *) tmp_buf + i * size * count, buffer, size * count ); - } - } -#ifdef DEBUG_MODE_INFO -#ifdef DEBUG_MODE_INFO_TWEAK - if ( 1 == textmode && 2 == size ) - { /* currently the textmode is only defined with "short" as input */ - fprintf( out_fileptr[index], "%d\n", x ); - } - else - { -#endif -#endif - fwrite( tmp_buf, size * count * repeat, 1, out_fileptr[index] ); -#ifdef DEBUG_MODE_INFO -#ifdef DEBUG_MODE_INFO_TWEAK - } -#endif -#endif - free( tmp_buf ); - } - else - { - fprintf( stderr, "dbgwrite: Could not write to file: %s. Exiting..\n", filename ); - exit( -1 ); - } - - return 0; -} - - -/*-------------------------------------------------------------------* - * dbgwrite_mat_repeat() - * - * Writes buffer a buffer containing a column-wise ordered matrix - * to the specified file. If the file is not in the - * debug file list, it is opened before write. - *--------------------------------------------------------------------*/ - -void dbgwrite_mat_repeat( float *buffer, /* i : write buffer */ - int16_t nRow, /* i : matrix size (rows) */ - int16_t mCol, /* i : matrix size (columns) */ - int16_t row_repeat, /* i : number of times rows are repeated */ - int16_t col_repeat, /* i : number of times columns are repeated */ -#ifdef DEBUG_MODE_INFO_TWEAK - const char *filename /* i : Output file name */ -#else - const char *const filename -#endif -) -{ - float *copy_buffer = calloc( nRow * row_repeat * mCol * col_repeat, sizeof( float ) ); - int16_t r, c, rr, cc; - float *cp = ©_buffer[0]; - float *colp; - for ( c = 0; c < mCol; c++ ) - { - for ( cc = 0; cc < col_repeat; cc++ ) - { - colp = buffer + c * nRow; - for ( r = 0; r < nRow; r++ ) - { - for ( rr = 0; rr < row_repeat; rr++ ) - { - *( cp++ ) = *colp; - } - colp++; - } - } - } - - dbgwrite( copy_buffer, sizeof( float ), nRow * row_repeat * mCol * col_repeat, 1, filename ); - free( copy_buffer ); -} - - -/*-------------------------------------------------------------------* - * dbgappend() - * - * Appends the buffer content to the specified file. If the file is not in the - * debug file list, it is opened before first write. - *--------------------------------------------------------------------*/ - -int16_t dbgappend( - const void *const buffer, /* i : Append buffer */ - const int16_t size, /* i : Element size */ - const int16_t count, /* i : Number of elements */ - const int16_t repeat, /* i : Number of times the elements are repeated */ -#ifdef DEBUG_MODE_INFO_TWEAK - const char *filename /* i : Output file name */ -#else - const char *const filename -#endif -) -{ - int16_t index, i; - -#ifdef DEBUG_MODE_INFO -#ifdef DEBUG_MODE_INFO_TWEAK - char filename_mod[FILENAME_MAX]; - int16_t textmode = 0; /* textmode is only implemented in dbgwrite() currently */ - memset( filename_mod, 0, FILENAME_MAX ); - tweakdbgfolder( filename, filename_mod, &textmode ); - if ( filename_mod[0] != 0 ) - { - filename = filename_mod; - } -#endif -#endif - index = lookup( filename, (const char *const *) out_filename, out_count ); - - if ( index == -1 ) - { - if ( make_dirs( filename ) != 0 ) - { - fprintf( stderr, "dbgwrite: Could not create directory structure for %s. Exiting..\n", filename ); - exit( -1 ); - } - - index = out_count; - out_fileptr[index] = fopen( filename, "ab" ); - out_filename[index] = malloc( sizeof( char ) * ( strlen( filename ) + 1 ) ); - strcpy( out_filename[index], filename ); - out_count++; - } - - if ( out_fileptr[index] != NULL ) - { - for ( i = 0; i < repeat; i++ ) - { - fwrite( buffer, size, count, out_fileptr[index] ); - } - } - else - { - fprintf( stderr, "dbgappend: Could not write to file: %s. Exiting..\n", filename ); - exit( -1 ); - } - - return 0; -} - -/*-------------------------------------------------------------------* - * dbgread() - * - * Reads data from the specified file. If the file is not open, it will be - * opened. - *--------------------------------------------------------------------*/ - -int16_t dbgread( - void *const buffer, /* o : Read buffer */ - const int16_t size, /* i : Element size */ - const int16_t count, /* i : Number of elements */ -#ifdef DEBUG_MODE_INFO_TWEAK - const char *filename /* i : Input file name */ -#else - const char *const filename -#endif -) -{ - int16_t index; - -#ifdef DEBUG_MODE_INFO -#ifdef DEBUG_MODE_INFO_TWEAK - char filename_mod[FILENAME_MAX]; - int16_t textmode = 0; /* textmode is only implemented in dbgwrite() currently */ - memset( filename_mod, 0, FILENAME_MAX ); - tweakdbgfolder( filename, filename_mod, &textmode ); - if ( filename_mod[0] != 0 ) - { - filename = filename_mod; - } -#endif -#endif - - index = lookup( filename, (const char *const *) in_filename, in_count ); - - if ( index == -1 ) - { - index = in_count; - in_fileptr[index] = fopen( filename, "rb" ); -#ifdef DEBUG_FORCE_DIR - if ( in_fileptr[index] == NULL ) - { - /* file does not exist or could not be opened -> just return */ - return -1; - } -#endif - in_filename[index] = malloc( sizeof( char ) * ( strlen( filename ) + 1 ) ); - strcpy( in_filename[index], filename ); - in_count++; - } - - if ( in_fileptr[index] != NULL ) - { - fread( buffer, size, count, in_fileptr[index] ); - } - else - { - fprintf( stderr, "dbgread: Could not read from file: %s. Exiting..\n", filename ); - exit( -1 ); - } - - return 0; -} - -/*-------------------------------------------------------------------* - * dbgclose() - * - * Closes opened files and frees allocated memory - *--------------------------------------------------------------------*/ - -void dbgclose( void ) -{ - int16_t i; - - for ( i = 0; i < in_count; i++ ) - { - fclose( in_fileptr[i] ); - free( in_filename[i] ); - } - - for ( i = 0; i < out_count; i++ ) - { - fclose( out_fileptr[i] ); - free( out_filename[i] ); - } - -#ifdef DBG_WAV_WRITER - for ( i = 0; i < out_wav_count; i++ ) - { - CloseWav( out_wavfileptr[i] ); - free( out_wavfilename[i] ); - } -#endif - for ( i = 0; i < snr_count; i++ ) - { - free( snr_name[i] ); - } - - for ( i = 0; i < flag_count; i++ ) - { - free( flag_name[i] ); - } - - for ( i = 0; i < val_count; i++ ) - { - free( val_name[i] ); - free( val[i] ); - } - - return; -} - - -/*-------------------------------------------------------------------* - * dbgflag() - * - * Checks if a debug flag is set. The flag is identified with a string. - *--------------------------------------------------------------------*/ - -int16_t dbgflag( - const char *flagname /* i : Flag name */ -) -{ - int16_t result; - - result = lookup( flagname, (const char *const *) flag_name, flag_count ); - - return ( result != -1 ); -} - -/*-------------------------------------------------------------------* - * setflag() - * - * Sets the flag with the specified string - *--------------------------------------------------------------------*/ - -void setflag( - const char *flagname /* i : Flag name */ -) -{ - int16_t result; - - result = lookup( flagname, (const char *const *) flag_name, flag_count ); - - if ( result == -1 ) - { - flag_name[flag_count] = malloc( sizeof( char ) * ( strlen( flagname ) + 1 ) ); - strcpy( flag_name[flag_count], flagname ); - flag_count++; - } - - return; -} - -/*----------------------------------------------------------------------------* - * dbgargs() - * - * N.B. Should be run before existing command line interpretation - * - * Command line interpreter for debug arguments. Removes the debug - * arguments after interpretation so that existing command line interpretation - * may be run afterwards. - * - * Arguments: - * -D flag_name Sets the debug flag labelled flag_name. - * The function dbgflag("flag_name") will return 1. - * - * -V val_name val Sets the debug value labelled val_name to val. - * dbgvalue("type","val_name",&value) will retrieve the value - * - *-----------------------------------------------------------------------------*/ - -/*! r: No. debug arguments */ -int16_t dbgargs( - int32_t *argc, /* i/o: No. input arguments / No. arguments without dbg arguments */ - char *argv[] /* i/o: Input arguments / Input arguments without dbg arguments */ -) -{ - int16_t i, j, dbgargs; - - i = 0; - dbgargs = 0; - while ( i < *argc ) - { - if ( strcmp( argv[i], "-D" ) == 0 ) - { - j = i; - dbgargs++; - i++; - setflag( argv[i] ); - for ( ; j < *argc - 2; j++ ) - { - argv[j] = argv[j + 2]; - } - *argc -= 2; - i -= 2; - } - - if ( strcmp( argv[i], "-V" ) == 0 ) - { - j = i; - dbgargs++; - i++; - setvalue( argv[i], argv[i + 1] ); - for ( ; j < *argc - 3; j++ ) - { - argv[j] = argv[j + 3]; - } - *argc -= 3; - i -= 3; - } - i++; - } - - return dbgargs; -} - -/*-------------------------------------------------------------------* - * dbgvalue() - * - * Lookup a debug value - * - * Allowed typestr values: - * "char","short","int","long","float","double" - * - * If the value is not set, the output value is not assigned - * - *-------------------------------------------------------------------*/ - -/*! r: Returns 1 if value is assigned, otherwise 0 */ -int16_t dbgvalue( - const char *typestr, /* i : Type as string:"int","char",... */ - const char *value_name, /* i : Value tag name given on command line */ - ... /* o : Output variable, type: pointer to "typestr" */ -) -{ - int16_t index; - char *value; - int16_t assigned; - char *c; - int16_t *sh; - int *i; - int32_t *l; - float *f; - double *d; - va_list ap; - va_start( ap, value_name ); - - index = lookup( value_name, (const char *const *) val_name, val_count ); - - if ( index != -1 ) - { - value = val[index]; - index = lookup( typestr, (const char *const *) type_list, N_TYPES ); - switch ( index ) - { - case 0: - c = va_arg( ap, char * ); - sscanf( value, "%c", c ); - break; - case 1: - sh = va_arg( ap, int16_t * ); - sscanf( value, "%hi", sh ); - break; - case 2: - i = va_arg( ap, int * ); - sscanf( value, "%i", i ); - break; - case 3: - l = va_arg( ap, int32_t * ); - sscanf( value, "%i", l ); - break; - case 4: - f = va_arg( ap, float * ); - sscanf( value, "%f", f ); - break; - case 5: - d = va_arg( ap, double * ); - sscanf( value, "%lf", d ); - break; - default: - fprintf( stderr, "dbgvalue::Unsupported type string %s. Exiting...\n", typestr ); - exit( -1 ); - } - assigned = 1; - } - else - { - assigned = 0; - } - - va_end( ap ); - - return assigned; -} - -/*-------------------------------------------------------------------* - * lookup() - * - * Returns the index of the given string, or -1 if not found - *--------------------------------------------------------------------*/ - -/*! r: Index of string, -1 if not found */ -int16_t lookup( - const char *const str, /* i : String to lookup */ - const char *const *const list, /* i : List of strings */ - const int16_t n_elem /* i : Number of elements */ -) -{ - int16_t i, result; - - result = -1; - i = 0; - while ( i < n_elem && result == -1 ) - { - if ( strcmp( str, list[i] ) == 0 ) - { - result = i; - } - i++; - } - - return result; -} - -/*-------------------------------------------------------------------* - * setvalue() - * - * Sets the debug name value pair - *--------------------------------------------------------------------*/ - -static void setvalue( - const char *value_name, /* i : Value name */ - const char *value ) /* i : Value as string */ - -{ - int16_t result; - - result = lookup( value_name, (const char *const *) val_name, val_count ); - - if ( result == -1 ) - { - val_name[val_count] = malloc( sizeof( char ) * ( strlen( value_name ) + 1 ) ); - strcpy( val_name[val_count], value_name ); - val[val_count] = malloc( sizeof( char ) * ( strlen( value ) + 1 ) ); - strcpy( val[val_count], value ); - val_count++; - fprintf( stdout, "\nDebug value set: %s = %s\n", value_name, value ); - } - else - { - fprintf( stdout, "\n*** Value %s already set: %s\n", value_name, val[result] ); - } - - return; -} - -#ifdef DEBUG_MODE_INFO -#ifdef DEBUG_MODE_INFO_TWEAK -/*-------------------------------------------------------------------* - * tweakdbgfolder() - * - * in: filename - * out: filename_mod - * - * returns modified path to debug files for reading and writing functions. - * creates in "./res" if given on command line - * with switch -info . - * - *--------------------------------------------------------------------*/ - -int16_t tweakdbgfolder( const char *filename, char *filename_mod, int16_t *textmode ) -{ - int16_t i, j; - char *p_infoFolder = infoFolder; - char *p_filename_mod = filename_mod; - int16_t n_prefix = 0; - char *suffix; - - /* if debug folder name given on command line, write debug info to sub folder */ - if ( infoFolder[0] != 0 ) - { - if ( filename[0] == '.' ) - { - n_prefix = 5; - } - else if ( filename[0] == 'r' ) - { - n_prefix = 3; - } - else - { - fprintf( stderr, "tweakdbgfolder: Unexpected debug folder. Exiting..\n" ); - exit( -1 ); - } - for ( i = 0; i <= n_prefix; i++ ) - { - p_filename_mod[i] = filename[i]; - } - j = i; - while ( *p_infoFolder != 0 ) - { - p_filename_mod[i] = *p_infoFolder; - i++; - p_infoFolder++; - } - p_filename_mod[i] = '/'; - i++; - - while ( filename[j] != 0 ) - { - p_filename_mod[i] = filename[j]; - i++; - j++; - } - /* detect textmode, only working with given debug folder name, otherwise no counter available for length of filename */ - suffix = &p_filename_mod[i - 4]; - if ( strncmp( suffix, ".txt", 4 ) == 0 ) - { - *textmode = 1; - } - else - { - *textmode = 0; - } - } - - - return 0; -} -#endif -#endif - - -#ifdef DEBUGGING -/*-------------------------------------------------------------------* - * fname() - * - * returns file name (string) that identifies - parameter/signal to be outputted - - channel ID (0 or 1) - - element ID (0, 1, etc.) - *--------------------------------------------------------------------*/ - -char debug_dir[6] = "res/"; - -char tmp_fname[FILENAME_MAX]; - -char *fname( - char *dir, - char *file, - const int16_t n, - const int16_t id, - const int16_t enc_dec ) -{ - char idd[6]; - - assert( id < 100 ); - sprintf( idd, ".id%d", id ); - - strcpy( tmp_fname, dir ); -#ifdef DEBUG_FORCE_DIR - size_t len; - len = strlen( tmp_fname ); - if ( tmp_fname[len - 1] != '/' && tmp_fname[len - 1] != '\\' ) - { - /* add trailing '/' slash */ - strcat( tmp_fname, "/" ); - } -#endif - strcat( tmp_fname, file ); - - if ( enc_dec == DEC ) - strcat( tmp_fname, ".dec" ); - if ( id > 0 ) - strcat( tmp_fname, idd ); - if ( n > 0 ) - strcat( tmp_fname, ".ch2" ); - - return tmp_fname; -} -#endif - - -/*-------------------------------------------------------------------* - * make_dirs() - * - * extract path(s) form the pathname and create them if not existing - *--------------------------------------------------------------------*/ - -int16_t make_dirs( const char *const pathname ) -{ - const char *p; - char *temp; - char sep = 0; -#ifdef _WIN32 - struct _stat s = { 0 }; -#else - struct stat s = { 0 }; -#endif - /* find path separator */ - if ( strchr( pathname, '\\' ) != NULL ) - { - sep = '\\'; - } - else if ( strchr( pathname, '/' ) != NULL ) - { - sep = '/'; - } - - if ( sep != 0 ) - { - temp = calloc( strlen( pathname ) + 1, sizeof( char ) ); - p = pathname; - while ( ( p = strchr( p, sep ) ) != NULL ) - { - /* skip consecutive separators and '.', '..' symbols */ - if ( p != pathname && ( *( p - 1 ) == sep || *( p - 1 ) == '.' ) ) - { - p++; - continue; - } - - /* put the path up to this point into a temp dir */ - memcpy( temp, pathname, p - pathname ); - temp[p - pathname] = '\0'; - p++; - - /* check if path exists and create it with mkdir() if not */ -#ifdef _WIN32 - if ( _stat( temp, &s ) == -1 ) - { - if ( _mkdir( temp ) != 0 ) - { - if ( errno != 0 ) - { - return 1; - } - } - } -#else - if ( stat( temp, &s ) == -1 ) - { - if ( mkdir( temp, 0755 ) != 0 ) - { - if ( errno != 0 ) - { - return 1; - } - } - } -#endif - } - - free( temp ); - } - - return 0; -} - -#ifdef DBG_WAV_WRITER -int16_t dbgwrite_wav( - const float *buffer[], /* i : Write buffer */ - const int16_t count_per_ch, /* i : Number of elements */ - const char *const filename, - int32_t fs, - int16_t num_chs ) -{ - int16_t index, i; - int16_t *tmp_buf; - - index = lookup( filename, (const char *const *) out_wavfilename, out_wav_count ); - - if ( index == -1 ) - { - if ( make_dirs( filename ) != 0 ) - { - fprintf( stderr, "dbgwrite: Could not create directory structure for %s. Exiting..\n", filename ); - exit( -1 ); - } - - index = out_wav_count; - out_wavfileptr[index] = CreateWav( (const char *) filename, fs, num_chs, 16 /* const uint32_t writeWaveExt */ ); - out_wavfilename[index] = malloc( sizeof( char ) * ( strlen( filename ) + 1 ) ); - strcpy( out_wavfilename[index], filename ); - out_wav_count++; - } - - if ( out_wavfileptr[index] != NULL ) - { - int16_t j, k; - float tmp; - tmp_buf = (int16_t *) calloc( count_per_ch * num_chs, sizeof( int16_t ) ); - k = 0; - for ( j = 0; j < count_per_ch; j++ ) - { - for ( i = 0; i < num_chs; i++, k++ ) - { - tmp = roundf( buffer[i][j] ); - tmp_buf[k] = ( tmp > MAX16B_FLT ) ? MAX16B : ( tmp < MIN16B_FLT ) ? MIN16B - : (short) tmp; - } - } - WriteWavShort( out_wavfileptr[index], tmp_buf, count_per_ch * num_chs ); - free( tmp_buf ); - } - else - { - fprintf( stderr, "dbgwrite_wav: Could not write to file: %s. Exiting..\n", filename ); - exit( -1 ); - } - - return 0; -} -#endif - - -int16_t dbgwrite_txt( - const float *buffer, /* i : Write buffer */ - const int16_t count, /* i : Number of elements */ - const char *const filename, - const char *const msg_opt ) -{ - int16_t index, i; - - index = lookup( filename, (const char *const *) out_filename, out_count ); - - if ( index == -1 ) - { - if ( make_dirs( filename ) != 0 ) - { - fprintf( stderr, "dbgwrite: Could not create directory structure for %s. Exiting..\n", filename ); - exit( -1 ); - } - - index = out_count; - out_fileptr[index] = fopen( filename, "w" ); - out_filename[index] = malloc( sizeof( char ) * ( strlen( filename ) + 1 ) ); - strcpy( out_filename[index], filename ); - out_count++; - } - - if ( out_fileptr[index] != NULL ) - { - if ( buffer != NULL ) - { - if ( msg_opt == NULL ) - { - for ( i = 0; i < count; i++ ) - { - fprintf( out_fileptr[index], "%f\n", buffer[i] ); - } - } - else - { - for ( i = 0; i < count; i++ ) - { - fprintf( out_fileptr[index], "%s %f\n", msg_opt, buffer[i] ); - } - } - } - } - else - { - fprintf( stderr, "dbgwrite_txt: Could not write to file: %s. Exiting..\n", filename ); - exit( -1 ); - } - - return 0; -} -#endif /* DEBUGGING */ diff --git a/lib_debug/debug.h b/lib_debug/debug.h deleted file mode 100644 index 5d905d0e4..000000000 --- a/lib_debug/debug.h +++ /dev/null @@ -1,266 +0,0 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#ifndef DEBUG_H -#define DEBUG_H - -#include "options.h" -#include -#include -#ifdef DEBUG_SBA -#include "sba_debug.h" -#endif - -/*------------------------------------------------------------------------------------------* - * Global variables used for debugging - *------------------------------------------------------------------------------------------*/ - -#ifdef DEBUGGING -extern int32_t frame; -#endif - -#ifdef DEBUGGING -extern uint16_t g_nPrintedLines; -extern int16_t g_verbose; -#endif - -#ifdef DEBUGGING -extern int16_t debug_level; -#define DEBUG_LINE( level ) if ( ( level ) <= debug_level ) -#else -#define DEBUG_LINE( level ) if ( 0 ) -#endif - -#ifdef DEBUGGING -extern char tmp_fname[]; -extern char debug_dir[6]; -char *fname( char *dir, char *file, const int16_t n, const int16_t id, const int16_t enc_dec ); -#endif - -#ifdef DEBUG_FORCE_DIR -#define FORCE_DIR_MAX_LENGTH 255 /* maximum length of the directory for modes/parameters enforcement */ -#endif - -#define MAX16B_FLT 32767.0f -#define MIN16B_FLT ( -32768.0f ) - -/*------------------------------------------------------------------------------------------* - * Read/write I/O tool - *------------------------------------------------------------------------------------------*/ - -#ifdef DEBUGGING - -int16_t lookup( - const char *const str, - const char *const *const list, - const int16_t n_elem ); - -#ifdef DEBUG_MODE_INFO -#ifdef DEBUG_MODE_INFO_TWEAK -int16_t tweakdbgfolder( - const char *filename, - char *filename_mod, - int16_t *textmode ); -#endif -#endif - -int16_t dbgwrite( - const void *const buffer, - const int16_t size, - const int16_t count, - const int16_t repeat, -#ifdef DEBUG_MODE_INFO_TWEAK - const char *filename -#else - const char *const filename -#endif -); - -#ifdef DBG_WAV_WRITER -int16_t dbgwrite_wav( - const float *buffer[], /* i : Write buffer */ - const int16_t count_per_ch, /* i : Number of elements */ - const char *const filename, - int32_t fs, - int16_t num_chs ); -#endif - -int16_t dbgwrite_txt( - const float *buffer, /* i : Write buffer */ - const int16_t count, /* i : Number of elements */ - const char *const filename, - const char *const msg_opt ); - -void dbgwrite_mat_repeat( - float *buffer, /* i : write buffer */ - int16_t nRow, /* i : matrix size (rows) */ - int16_t mCol, /* i : matrix size (columns) */ - int16_t row_repeat, /* i : number of times rows are repeated */ - int16_t col_repeat, /* i : number of times columns are repeated */ -#ifdef DEBUG_MODE_INFO_TWEAK - const char *filename /* i : Output file name */ -#else - const char *const filename -#endif -); - -int16_t dbgappend( - const void *const buffer, - const int16_t size, - const int16_t count, - const int16_t repeat, -#ifdef DEBUG_MODE_INFO_TWEAK - const char *filename -#else - const char *const filename -#endif -); - -int16_t dbgread( - void *const buffer, - const int16_t size, - const int16_t count, -#ifdef DEBUG_MODE_INFO_TWEAK - const char *filename -#else - const char *const filename -#endif -); - -void dbgclose( void ); - -int16_t dbgflag( - const char *flagname ); - -void setflag( - const char *flagname ); - -int16_t dbgargs( - int32_t *argc, - char *argv[] ); - -int16_t dbgvalue( - const char *typestr, - const char *value_name, - ... ); - -extern FILE *DJB_delay; - -extern FILE *FEC_pattern; - -#endif /* DEBUGGING */ - -/*------------------------------------------------------------------------------------------* - * SNR measurement tool - *------------------------------------------------------------------------------------------*/ - -#ifdef DEBUGGING - -extern int16_t snr_count; -extern char *snr_name[]; - -void snr( - const float *const signal, - const float *const noise, - const int16_t length, - const char *const name ); - -void snr_diff( - const float *const clean, - const float *const degraded, - const int16_t length, - const int16_t delay, - const char *const name ); - -void snr_celp( - const int16_t L_frame, - const int16_t L_subfr, - const float gamma, - const float tilt_fac, - const int16_t vad_flag, - const int16_t coder_type, - const float *input, - const float *output, - const float *A, - const int16_t idchan, - const char *name ); - -void print_snr( void ); - -#else - -#define print_snr( void ) - -#endif - -/*------------------------------------------------------------------------------------------* - * SD analysis tool - *------------------------------------------------------------------------------------------*/ - -#ifdef DEBUGGING - -/*! r: SD in a given frequency range */ -float sd_range( - const float lsf[], /* i : vector of unquantized LSF values */ - const float lsf_q[], /* i : vector of quantized LSF values */ - const int16_t order, /* i : dimension of the vectors */ - const int32_t fs, /* i : sampling frequency */ - const float min_freq, /* i : minimum frequency of interest */ - const float max_freq, /* i : maximum frequency of interest */ - const char *const name, /* i : string for SD entry in the global table */ - const int16_t Opt_AMR_WB /* i : flag indicating AMR-WB IO mode */ -); - -/*! r: SD respecting critical bands */ -float sd_crit( - const float lsf[], /* i : vector of unquantized LSF values */ - const float lsf_q[], /* i : vector of quantized LSF values */ - const int16_t order, /* i : dimension of the vectors */ - const int32_t fs, /* i : sampling frequency */ - const float min_freq, /* i : minimal frequency */ - const float max_freq, /* i : maximal frequency */ - int16_t *min_band, /* o : minimal critical band */ - int16_t *max_band, /* o : maximal critical band */ - float sd_bands[], /* i/o: SD in critical bands */ - const char *const name, /* i : string for SD entry in the global table */ - const int16_t Opt_AMR_WB /* i : flag indicating AMR-WB IO mode */ -); - -void print_sd( void ); - -#else - -#define print_sd( void ) - -#endif - -#endif /* DEBUG_H */ diff --git a/lib_debug/sba_debug.c b/lib_debug/sba_debug.c deleted file mode 100644 index 5f7e846ae..000000000 --- a/lib_debug/sba_debug.c +++ /dev/null @@ -1,432 +0,0 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#include -#include -#include -#include -#include -#include "options.h" -#include "ivas_cnst.h" -#include "sba_debug.h" -#include "debug.h" -#include -#include "wmc_auto.h" -#ifdef DEBUG_SBA -#include -#include "tinywaveout_c.h" - -/*-------------------------------------------------------------------* - * Global variables used for debugging but not under DEBUGGING flag - *--------------------------------------------------------------------*/ - -#define MAX_IN_FILE_LEN ( 1000 ) -#define MAX_PLUG_IN_FILE_LEN ( MAX_IN_FILE_LEN ) -#define MAX_DEBUG_TAG_LEN ( 50 ) -#define NUM_DEBUG_FILES ( 5 ) -#define MAX_TAG_LEN ( 200 ) - -WAVEFILEOUT *spar_foa_enc_wav[3]; -WAVEFILEOUT *spar_foa_dec_wav[NUM_DEBUG_FILES]; -float max_diff = 0; -int32_t dbg_frm_num; -int32_t dbg_band; -int32_t dbg_type; -int32_t iter_max = 0; -FILE *fFb_pcm = NULL; -int8_t file_names[NUM_DEBUG_FILES][MAX_TAG_LEN + MAX_DEBUG_TAG_LEN]; - - -#ifdef DEBUG_AGC -FILE *agcOut = NULL; /* temporary AGC bitstream */ -#endif - -/*-----------------------------------------------------------------------------------------* - * Function description - * cstrcpy() - Custom implementation of strcpy - * - * Inputs: - * const char* _Source -> Source buffer - * _SizeInBytes -> Destination buffer size in bytes - * - * Outputs: - * char* _Destination -> Destination buffer - *-----------------------------------------------------------------------------------------*/ - -static void cstrcpy( char *_Destination, size_t _SizeInBytes, const char *_Source ) -{ - size_t SourceSizeInBytes = strlen( _Source ); - if ( _SizeInBytes > SourceSizeInBytes ) - { - strcpy( _Destination, _Source ); - } - else - { - assert( 0 ); - } - - return; -} - - -/*-----------------------------------------------------------------------------------------* - * Function description - * cstrcat() - Custom implementation of strcat - * - * Inputs: - * const char* _Source -> Source buffer - * _SizeInBytes -> Destination buffer size in bytes - * - * Outputs: - * char* _Destination -> Destination buffer - *-----------------------------------------------------------------------------------------*/ - -static void cstrcat( char *_Destination, size_t _SizeInBytes, const char *_Source ) -{ - size_t SourceSizeInBytes = strlen( _Source ); - size_t DestSizeInBytes = _SizeInBytes - strlen( _Destination ); - if ( DestSizeInBytes > SourceSizeInBytes ) - { - strcat( _Destination, _Source ); - } - else - { - assert( 0 ); - } - - return; -} - - -#ifdef DEBUG_AGC -void ivas_close_agc_debug_files( void ) -{ - if ( agcOut != NULL ) - { - fclose( agcOut ); - agcOut = NULL; - } - - return; -} - -void ivas_open_agc_debug_files( int16_t agc ) -{ - /* Temporary AGC file */ - if ( agc > 0 ) - { - char agcFilename[50] = "agcBitstream.bin"; - if ( ( agcOut = fopen( agcFilename, "wb" ) ) == NULL ) - { - fprintf( stderr, "Error: Gain Control bitstream file %s could not be opened\n\n", agcFilename ); - exit( -1 ); - } - fprintf( stdout, "Temporary gain control bitstream file %s is opened\n", agcFilename ); - } - - return; -} -#endif - -static void UpdateWave( - const uint32_t sampleRate, - const uint32_t numChannels, - const uint32_t bps, - WAVEFILEOUT *spar_wav ) -{ - uint32_t blockAlignment = 0; - uint16_t writeValue16; - uint32_t writeValue32; - - writeValue16 = LittleEndian16( (int16_t) numChannels ); - /*Fseek to number of channel writing position*/ - fseek( spar_wav->theFile, 22, SEEK_SET ); - fwrite( &writeValue16, sizeof( writeValue16 ), 1, spar_wav->theFile ); - blockAlignment = numChannels * ( bps >> 3 ); - writeValue16 = LittleEndian16( (int16_t) blockAlignment ); - fseek( spar_wav->theFile, 4, SEEK_CUR ); - writeValue32 = LittleEndian32( sampleRate * blockAlignment ); - fwrite( &writeValue32, sizeof( writeValue32 ), 1, spar_wav->theFile ); - fwrite( &writeValue16, sizeof( writeValue16 ), 1, spar_wav->theFile ); - - return; -} - - -void ivas_spar_dump_signal_wav( - const int16_t input_frame, - float **ppPcm, - float pcm_array[IVAS_SPAR_MAX_CH][L_FRAME48k], - const int16_t no_channel, - WAVEFILEOUT *wave_file, - char *location ) -{ - float tmp_value; - int16_t pcm_value, i, j, k; - int16_t debug_tmp[IVAS_SPAR_MAX_CH * L_FRAME48k * 2]; - - k = 0; - int16_t Clipping = 0; - float largest_value = 0; - float db_value = 0; - - for ( j = 0; j < input_frame; j++ ) - { - for ( i = 0; i < no_channel; i++, k++ ) - { - if ( ppPcm ) - { - tmp_value = roundf( ppPcm[i][j] ); - } - else - { - tmp_value = roundf( pcm_array[i][j] ); - } - - if ( tmp_value > MAX16B_FLT ) - { - largest_value = (float) fabs( tmp_value ) > largest_value ? (float) fabs( tmp_value ) : largest_value; - tmp_value = MAX16B; - Clipping++; - } - else if ( tmp_value < MIN16B_FLT ) - { - largest_value = (float) fabs( tmp_value ) > largest_value ? (float) fabs( tmp_value ) : largest_value; - tmp_value = MIN16B; - Clipping++; - } - pcm_value = (int16_t) tmp_value; - /*pcm_value = (tmp_value > MAX16B_FLT) ? MAX16B : (tmp_value < MIN16B_FLT) ? MIN16B - : (short)tmp_value;*/ - debug_tmp[k] = pcm_value; - } - } - if ( Clipping ) - { - db_value = 20.f * (float) log( largest_value ); - fprintf( stderr, "%d\t Clipping detected ", Clipping ); - } - - WriteWavShort( wave_file, debug_tmp, ( no_channel * input_frame ) ); - - if ( db_value ) - { - fprintf( stderr, "\t In %s largest clipped sample in dB %f \n", location, db_value ); - } - - return; -} - - -void ivas_close_sba_decoder_debug_files( - const int32_t fs, - const int16_t n_ch, - const int16_t n_transport, - const int16_t pca_ingest_channels ) -{ - if ( spar_foa_dec_wav[0] != NULL ) - { - UpdateWave( fs, n_transport, 32, spar_foa_dec_wav[0] ); - CloseWav( spar_foa_dec_wav[0] ); - } - if ( spar_foa_dec_wav[1] != NULL ) - { - UpdateWave( fs, n_transport, 16, spar_foa_dec_wav[1] ); - CloseWav( spar_foa_dec_wav[1] ); - } - if ( spar_foa_dec_wav[2] != NULL ) - { - UpdateWave( fs, pca_ingest_channels, 16, spar_foa_dec_wav[2] ); - CloseWav( spar_foa_dec_wav[2] ); - } - if ( spar_foa_dec_wav[3] != NULL ) - { - UpdateWave( fs, n_ch, 16, spar_foa_dec_wav[3] ); - CloseWav( spar_foa_dec_wav[3] ); - } - - if ( spar_foa_dec_wav[4] != NULL ) - { - UpdateWave( fs, n_ch, 16, spar_foa_dec_wav[4] ); - CloseWav( spar_foa_dec_wav[4] ); - } - - return; -} - - -void ivas_close_sba_encoder_debug_files( void ) -{ - - if ( spar_foa_enc_wav[0] != NULL ) - { - CloseWav( spar_foa_enc_wav[0] ); - } - if ( spar_foa_enc_wav[1] != NULL ) - { - CloseWav( spar_foa_enc_wav[1] ); - } - if ( spar_foa_enc_wav[2] != NULL ) - { - CloseWav( spar_foa_enc_wav[2] ); - } - - /* Enable print max diff to a file */ - - /* FILE *fp = fopen("max_diff.txt", "a"); - fprintf(fp, "%s\n", file_names[0]); - fprintf(fp, "max diff = %0.15f\n frame_no = %d\n band num = %d\n coeff type %d\n", max_diff, dbg_frm_num, dbg_band, dbg_type); - fclose(fp); */ - - /* Enable print max eig iters to a file */ - - /*FILE *fp = fopen("max_iters.txt", "a"); - fprintf(fp, "%s\n", file_names[0]); - fprintf(fp, "%d\n", iter_max); - fclose(fp); */ - - return; -} - - -void ivas_open_sba_decoder_debug_files( - const int32_t fs, - const int16_t n_ch, - const int16_t n_transport ) -{ - int8_t fb_wav_dump_path[NUM_DEBUG_FILES][MAX_PLUG_IN_FILE_LEN] = { "", "", "", "", "" }; - - cstrcat( (char *) fb_wav_dump_path[0], sizeof( fb_wav_dump_path[0] ), "dec_out.wav" ); - spar_foa_dec_wav[0] = CreateWav( (const char *) fb_wav_dump_path[0], fs, n_ch, 32 /* const uint32_t writeWaveExt */ ); - - cstrcat( (char *) fb_wav_dump_path[1], sizeof( fb_wav_dump_path[1] ), "agc_dec_out.wav" ); - spar_foa_dec_wav[1] = CreateWav( (const char *) fb_wav_dump_path[1], fs, n_transport, 16 /* const uint32_t writeWaveExt */ ); - - cstrcat( (char *) fb_wav_dump_path[2], sizeof( fb_wav_dump_path[2] ), "pca_dec.wav" ); - spar_foa_dec_wav[2] = CreateWav( (const char *) fb_wav_dump_path[2], fs, n_transport, 16 /* const uint32_t writeWaveExt */ ); - - cstrcat( (char *) fb_wav_dump_path[3], sizeof( fb_wav_dump_path[3] ), "cldfbSynthesis_ivas.wav" ); - spar_foa_dec_wav[3] = CreateWav( (const char *) fb_wav_dump_path[3], fs, n_transport, 16 /* const uint32_t writeWaveExt */ ); - - cstrcat( (char *) fb_wav_dump_path[4], sizeof( fb_wav_dump_path[4] ), "cldfbAnalysis_ivas.wav" ); - spar_foa_dec_wav[4] = CreateWav( (const char *) fb_wav_dump_path[4], fs, n_transport, 16 /* const uint32_t writeWaveExt */ ); - - return; -} - - -void ivas_open_sba_encoder_debug_files( - const int32_t fs, - const int16_t n_transport, - const char *file_tag, - const int32_t ivas_total_brate, - const int16_t dtx_on ) -{ - int8_t fb_wav_dump_path[3][MAX_PLUG_IN_FILE_LEN] = { "spar_foa_enc", "spar_foa_enc", "spar_foa_enc" }; - - if ( file_tag != NULL ) - { - cstrcpy( (char *) file_names[0], sizeof( file_names[0] ), (const char *) file_tag ); - } - - /* ivas_total_brate */ - switch ( ivas_total_brate ) - { - case IVAS_24k4: - cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_ivasbr24k" ); - break; - case IVAS_32k: - cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_ivasbr32k" ); - break; - case IVAS_48k: - cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_ivasbr48k" ); - break; - case IVAS_64k: - cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_ivasbr64k" ); - break; - case IVAS_80k: - cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_ivasbr80k" ); - break; - case IVAS_96k: - cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_ivasbr96k" ); - break; - case IVAS_128k: - cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_ivasbr128k" ); - break; - case IVAS_160k: - cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_ivasbr160k" ); - break; - case IVAS_192k: - cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_ivasbr192k" ); - break; - case IVAS_256k: - cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_ivasbr256k" ); - break; - case IVAS_384k: - cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_ivasbr384k" ); - break; - case IVAS_512k: - cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_ivasbr512k" ); - break; - } - - /* DTX */ - if ( dtx_on ) - { - cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_DTX1" ); - } - else - { - cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_DTX0" ); - } - - cstrcpy( (char *) file_names[1], sizeof( file_names[1] ), (const char *) file_names[0] ); - cstrcpy( (char *) file_names[2], sizeof( file_names[2] ), (const char *) file_names[0] ); - cstrcpy( (char *) file_names[3], sizeof( file_names[3] ), (const char *) file_names[0] ); - cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_pcm.txt" ); - - cstrcat( (char *) fb_wav_dump_path[0], sizeof( fb_wav_dump_path[0] ), (const char *) file_names[2] ); - cstrcat( (char *) fb_wav_dump_path[0], sizeof( fb_wav_dump_path[0] ), "_pca_enc.wav" ); - spar_foa_enc_wav[0] = CreateWav( (const char *) fb_wav_dump_path[0], fs, n_transport, 16 /* const uint32_t writeWaveExt */ ); - - cstrcat( (char *) fb_wav_dump_path[1], sizeof( fb_wav_dump_path[1] ), (const char *) file_names[2] ); - cstrcat( (char *) fb_wav_dump_path[1], sizeof( fb_wav_dump_path[1] ), "_fb_mixer_enc.wav" ); - spar_foa_enc_wav[1] = CreateWav( (const char *) fb_wav_dump_path[1], fs, n_transport, 16 /* const uint32_t writeWaveExt */ ); - - cstrcat( (char *) fb_wav_dump_path[2], sizeof( fb_wav_dump_path[2] ), (const char *) file_names[2] ); - cstrcat( (char *) fb_wav_dump_path[2], sizeof( fb_wav_dump_path[2] ), "_agc_enc.wav" ); - spar_foa_enc_wav[2] = CreateWav( (const char *) fb_wav_dump_path[2], fs, n_transport, 16 /* const uint32_t writeWaveExt */ ); - - return; -} - -#endif /* DEBUG_SBA */ diff --git a/lib_debug/sba_debug.h b/lib_debug/sba_debug.h deleted file mode 100644 index 850e7ab67..000000000 --- a/lib_debug/sba_debug.h +++ /dev/null @@ -1,61 +0,0 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#ifndef SBA_DEBUG_H -#define SBA_DEBUG_H - -#include "options.h" -#include -#include -#ifdef DEBUG_SBA -#include "cnst.h" -#include "ivas_cnst.h" -#include "tinywaveout_c.h" - - -#ifdef DEBUG_SBA_AUDIO_DUMP -extern WAVEFILEOUT *spar_foa_enc_wav[3]; -extern WAVEFILEOUT *spar_foa_dec_wav[5]; -#endif - -#ifdef DEBUG_AGC -void ivas_close_agc_debug_files( void ); -void ivas_open_agc_debug_files( int16_t agc ); -#endif -void ivas_spar_dump_signal_wav( const int16_t input_frame, float **ppPcm, float pcm_array[IVAS_SPAR_MAX_CH][L_FRAME48k], const int16_t no_channel, WAVEFILEOUT *wave_file, char *location ); -void ivas_close_sba_encoder_debug_files( void ); -void ivas_open_sba_encoder_debug_files( const int32_t fs, const int16_t n_transport, const char *file_tag, const int32_t ivas_total_brate, const int16_t dtx_on ); -void ivas_close_sba_decoder_debug_files( const int32_t fs, const int16_t n_ch, const int16_t n_transport, const int16_t pca_ingest_channels ); -void ivas_open_sba_decoder_debug_files( const int32_t fs, const int16_t n_ch, const int16_t n_transport ); -#endif - -#endif /* SBA_DEBUG_H */ diff --git a/lib_debug/snr.c b/lib_debug/snr.c deleted file mode 100644 index 743a632a6..000000000 --- a/lib_debug/snr.c +++ /dev/null @@ -1,465 +0,0 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#include -#include "options.h" -#ifdef DEBUGGING -#include "debug.h" -#endif -#include -#include -#include -#include "wmc_auto.h" -#include "cnst.h" -#include "ivas_cnst.h" - -#ifdef DEBUGGING - -/*-------------------------------------------------------------------* - * Local constants - *--------------------------------------------------------------------*/ - -#define N_SNRPTR 100 -#define MAX_SIGNAL_LENGTH 1024 -#define MAX_DELAY 320 - -/*-------------------------------------------------------------------* - * Global variables - *--------------------------------------------------------------------*/ - -int16_t snr_count = 0; -char *snr_name[N_SNRPTR] = { 0 }; - -#ifdef DEBUG_MODE_INFO -float snr_[2][320]; -#endif - -/*-------------------------------------------------------------------* - * Local variables - *--------------------------------------------------------------------*/ - -static double signal_energy[N_SNRPTR]; -static double noise_energy[N_SNRPTR]; -static double acc_seg_snr[N_SNRPTR]; -static int32_t seg_count[N_SNRPTR]; -static double acc_wseg_snr[N_SNRPTR]; -static double wseg_count[N_SNRPTR]; -static float *mem_delay_comp[N_SNRPTR] = { 0 }; -static float mem_deemph_x[MAX_INPUT_CHANNELS] = { 0 }; -static float mem_deemph_y[MAX_INPUT_CHANNELS] = { 0 }; -static float mem_synth_snr[MAX_INPUT_CHANNELS][M]; - - -/*-------------------------------------------------------------------* - * Local functions - they are copies of functions declared in prot.h but - here we do not want to include prot.h due to its dependencies - *--------------------------------------------------------------------*/ - -#ifdef DEBUG_MODE_INFO -static void set_f( - float y[], /* i/o: Vector to set */ - const float a, /* i : Value to set the vector to */ - const int16_t N /* i : Lenght of the vector */ -) -{ - int16_t i; - - for ( i = 0; i < N; i++ ) - { - y[i] = a; - } - - return; -} -#endif - -static float sum2_f( - const float *vec, /* i : input vector */ - const int16_t lvec /* i : length of input vector */ -) -{ - int16_t i; - float tmp; - - tmp = 0.0f; - for ( i = 0; i < lvec; i++ ) - { - tmp += vec[i] * vec[i]; - } - - return tmp; -} - - -static void mvr2r( - const float x[], /* i : input vector */ - float y[], /* o : output vector */ - const int16_t n /* i : vector size */ -) -{ - int16_t i; - - if ( n <= 0 ) - { - /* cannot transfer vectors with size 0 */ - return; - } - - if ( y < x ) - { - for ( i = 0; i < n; i++ ) - { - y[i] = x[i]; - } - } - else - { - for ( i = n - 1; i >= 0; i-- ) - { - y[i] = x[i]; - } - } - - return; -} - -static void residu( - const float *a, /* i : LP filter coefficients */ - const int16_t m, /* i : order of LP filter */ - const float *x, /* i : input signal (usually speech) */ - float *y, /* o : output signal (usually residual) */ - const int16_t l /* i : size of filtering */ -) -{ - float s; - int16_t i, j; - - for ( i = 0; i < l; i++ ) - { - s = x[i]; - for ( j = 1; j <= m; j++ ) - { - s += a[j] * x[i - j]; - } - y[i] = s; - } - - return; -} - -static void deemph( - float *signal, /* i/o: signal */ - const float mu, /* i : deemphasis factor */ - const int16_t L, /* i : vector size */ - float *mem /* i/o: memory (y[-1]) */ -) -{ - int16_t i; - - signal[0] = signal[0] + mu * ( *mem ); - for ( i = 1; i < L; i++ ) - { - signal[i] = signal[i] + mu * signal[i - 1]; - } - - *mem = signal[L - 1]; - - if ( ( *mem < 1e-10 ) & ( *mem > -1e-10 ) ) - { - *mem = 0; - } - - return; -} - -static void weight_a( - const float *a, /* i : LP filter coefficients */ - float *ap, /* o : weighted LP filter coefficients */ - const float gamma, /* i : weighting factor */ - const int16_t m /* i : order of LP filter */ -) -{ - float f; - int16_t i; - - ap[0] = a[0]; - f = gamma; - - for ( i = 1; i <= m; i++ ) - { - ap[i] = f * a[i]; - f *= gamma; - } - - return; -} - - -/*-------------------------------------------------------------------* - * snr() - * - * Calculates and accumulates SNR values for a signal specified with a - * certain string. The signal is input in segments having certain length, - * for which a global SNR, segmental SNR and weighted segmental SNR is computed. - *--------------------------------------------------------------------*/ - -void snr( - const float *const signal, - const float *const noise, - const int16_t length, - const char *const name ) -{ - int16_t index; - double signal_sumsq, noise_sumsq, frame_snr, seg_en; - - index = lookup( name, (const char *const *) snr_name, snr_count ); - if ( index == -1 ) - { - index = snr_count; - signal_energy[index] = 0; - noise_energy[index] = 0; - acc_seg_snr[index] = 0; - seg_count[index] = 0; - acc_wseg_snr[index] = 0; - wseg_count[index] = 0; - snr_name[index] = malloc( sizeof( char ) * ( strlen( name ) + 1 ) ); - strcpy( snr_name[index], name ); - snr_count++; - } - - signal_sumsq = sum2_f( signal, length ) + 0.001f; - noise_sumsq = sum2_f( noise, length ) + 0.001f; - if ( signal_sumsq < noise_sumsq ) - signal_sumsq = noise_sumsq; - frame_snr = 10 * log10( signal_sumsq / noise_sumsq ); - seg_en = 10 * log10( signal_sumsq / length ); - if ( seg_en < 0.0 ) - seg_en = 0.0; - - signal_energy[index] += signal_sumsq; - noise_energy[index] += noise_sumsq; - acc_seg_snr[index] += frame_snr; - seg_count[index]++; - acc_wseg_snr[index] += frame_snr * seg_en; - wseg_count[index] += seg_en; - - return; -} - - -/*-------------------------------------------------------------------* - * snr_diff() - * - * Calculates and accumulates SNR values for a signal specified with a - * certain string. The signal is input in segments having certain length, - * for which a global SNR, segmental SNR and weighted segmental SNR is computed. - * A delay between both signals is taken into account - * and compensated for (positive value means degraded signal is delayed). - *--------------------------------------------------------------------*/ - -void snr_diff( - const float *const clean, - const float *const degraded, - const int16_t length, - const int16_t delay, - const char *const name ) -{ - int16_t i, index; - float noise[MAX_SIGNAL_LENGTH], comp_buf[MAX_SIGNAL_LENGTH + MAX_DELAY]; - - if ( length > MAX_SIGNAL_LENGTH ) - { - fprintf( stdout, "snr_diff::Input segment too long. Exiting...\n" ); - exit( -1 ); - } - - if ( delay < 0 ) - { - fprintf( stdout, "snr_diff::Degraded signal cannot have negative delay. Exiting...\n" ); - exit( -1 ); - } - - /* search for the name in the database */ - index = (int16_t) lookup( name, (const char *const *) snr_name, snr_count ); - if ( index == -1 ) - { - index = (int16_t) snr_count; - signal_energy[index] = 0.0f; - noise_energy[index] = 0.0f; - acc_seg_snr[index] = 0.0f; - seg_count[index] = 0; - acc_wseg_snr[index] = 0.001f; - wseg_count[index] = 0.001f; - snr_name[index] = malloc( sizeof( char ) * ( strlen( name ) + 1 ) ); - mem_delay_comp[index] = calloc( delay, sizeof( float ) ); - strcpy( snr_name[index], name ); - snr_count++; - } - - /* delay compensation - introduction of delay to the clean signal */ - mvr2r( mem_delay_comp[index], comp_buf, delay ); - mvr2r( clean, comp_buf + delay, length ); - mvr2r( comp_buf + length, mem_delay_comp[index], delay ); - - for ( i = 0; i < length; i++ ) - { - noise[i] = comp_buf[i] - degraded[i]; - } - - snr( comp_buf, noise, length, name ); - - return; -} - - -/*-------------------------------------------------------------------* - * snr_celp() - * - * Calculates SNR, segmental SNR and weighted segmental SNR values for active - * frames (GENERIC, VOICED, TRANSITION and AUDIO) of CELP-coded signals. Both, the input and output - * signals are first converted to the perceptually weighted domain, subtracted to - * obtain the noise signal and de-emphasized. - *--------------------------------------------------------------------*/ - -void snr_celp( - const int16_t L_frame, - const int16_t L_subfr, - const float gamma, - const float tilt_fac, - const int16_t vad_flag, - const int16_t coder_type, - const float *input, - const float *output, - const float *A, - const int16_t idchan, - const char *name ) -{ - int16_t i; - float noise[L_FRAME16k], Ap[M + 1], x[L_FRAME16k], y[L_FRAME16k], synth_buf[M + L_FRAME16k], *synth; - const float *p_A; - int16_t j; -#ifdef DEBUG_MODE_INFO - float signal2, noise2, subframe_snr; -#endif - - synth = synth_buf + M; - mvr2r( mem_synth_snr[idchan], synth_buf, M ); - mvr2r( output, synth, L_frame ); - mvr2r( synth_buf + L_frame, mem_synth_snr[idchan], M ); - - p_A = A; - for ( i = 0; i < L_frame; i += L_subfr ) - { - weight_a( p_A, Ap, gamma, M ); - residu( Ap, M, &input[i], &x[i], L_subfr ); - residu( Ap, M, &synth[i], &y[i], L_subfr ); - p_A += ( M + 1 ); - - deemph( &x[i], tilt_fac, L_subfr, &mem_deemph_x[idchan] ); - deemph( &y[i], tilt_fac, L_subfr, &mem_deemph_y[idchan] ); - - for ( j = 0; j < L_subfr; j++ ) - { - noise[i + j] = x[i + j] - y[i + j]; - } - -#ifdef DEBUG_MODE_INFO - signal2 = sum2_f( &x[i], L_subfr ) + 0.001f; - noise2 = sum2_f( &noise[i], L_subfr ) + 0.001f; - if ( signal2 < noise2 ) - signal2 = noise2; - subframe_snr = 10.0f * log10f( signal2 / noise2 ); - - if ( L_frame == L_FRAME ) - { - set_f( snr_[idchan] + i * 5 / 4, subframe_snr, L_subfr * 5 / 4 ); - } - else - { - set_f( snr_[idchan] + i, subframe_snr, L_subfr ); - } -#endif - } - - if ( vad_flag == 1 && ( coder_type == GENERIC || coder_type == VOICED || coder_type == TRANSITION || coder_type == AUDIO ) ) - { - snr( x, noise, L_frame, name ); - } - - return; -} - -/*-------------------------------------------------------------------* - * print_snr() - * - * Finalizes and presents accumulated SNR data - *--------------------------------------------------------------------*/ - -void print_snr( void ) -{ - int16_t i; - double snr, segsnr, wsegsnr; - - if ( snr_count > 0 ) - { - fprintf( stdout, "\n --- SNR report --- \n" ); - - for ( i = 0; i < snr_count; i++ ) - { - snr = 10 * log10( signal_energy[i] / ( noise_energy[i] + 0.0001f ) ); - segsnr = acc_seg_snr[i] / ( seg_count[i] + 0.0001f ); - wsegsnr = acc_wseg_snr[i] / ( wseg_count[i] + 0.0001f ); - fprintf( stdout, "%-22s %6.3f dB SNR %6.3f dB SegSNR %6.3f dB WSegSNR\n", snr_name[i], snr, segsnr, wsegsnr ); - } - fprintf( stdout, "\n" ); - } - - /* free allocated memory */ - for ( i = 0; i < N_SNRPTR; i++ ) - { - if ( snr_name[i] ) - { - free( snr_name[i] ); - snr_name[i] = NULL; - } - - if ( mem_delay_comp[i] ) - { - free( mem_delay_comp[i] ); - mem_delay_comp[i] = NULL; - } - } - - return; -} - -#endif diff --git a/lib_debug/wmc_auto.c b/lib_debug/wmc_auto.c index 5a14edc31..8831ab700 100644 --- a/lib_debug/wmc_auto.c +++ b/lib_debug/wmc_auto.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /* * (C) 2024 copyright VoiceAge Corporation. All Rights Reserved. * diff --git a/lib_debug/wmc_auto.h b/lib_debug/wmc_auto.h index 64e2c751a..64ac4a337 100644 --- a/lib_debug/wmc_auto.h +++ b/lib_debug/wmc_auto.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /* * (C) 2024 copyright VoiceAge Corporation. All Rights Reserved. * diff --git a/lib_dec/ACcontextMapping_dec_fx.c b/lib_dec/ACcontextMapping_dec_fx.c index a483972ff..d9f0c2034 100644 --- a/lib_dec/ACcontextMapping_dec_fx.c +++ b/lib_dec/ACcontextMapping_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -524,9 +527,6 @@ Word16 RCcontextMapping_decode2_no_mem_s17_LCS_fx( move16(); /* Confirm that there is no overflow */ -#ifdef DEBUGGING - assert( st->next_bit_pos - start_bit_pos + rest_bits <= 0 ); -#endif /* Store decoded data */ x[a1_i] = a; @@ -578,9 +578,6 @@ Word16 RCcontextMapping_decode2_no_mem_s17_LCS_fx( assert( rc_st_dec.bit_error_detected == 0 ); /* Cross-check: No overflow */ -#ifdef DEBUGGING - assert( k == lastnz ); -#endif /* Decode signs */ n = nt; @@ -684,9 +681,6 @@ Word16 RCcontextMapping_decode2_no_mem_s17_LCS_fx( move16(); /* Confirm that there is no overflow */ -#ifdef DEBUGGING - assert( st->next_bit_pos - start_bit_pos + rest_bits <= 0 ); -#endif /* Store decoded data */ x[k + 0] = a; diff --git a/lib_dec/FEC_HQ_core_fx.c b/lib_dec/FEC_HQ_core_fx.c index 641f60059..179a54344 100644 --- a/lib_dec/FEC_HQ_core_fx.c +++ b/lib_dec/FEC_HQ_core_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/FEC_HQ_phase_ecu_fx.c b/lib_dec/FEC_HQ_phase_ecu_fx.c index 1a8361ecf..b747cf6b0 100644 --- a/lib_dec/FEC_HQ_phase_ecu_fx.c +++ b/lib_dec/FEC_HQ_phase_ecu_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/FEC_adapt_codebook_fx.c b/lib_dec/FEC_adapt_codebook_fx.c index 5428d057b..723b2ab48 100644 --- a/lib_dec/FEC_adapt_codebook_fx.c +++ b/lib_dec/FEC_adapt_codebook_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/FEC_clas_estim_fx.c b/lib_dec/FEC_clas_estim_fx.c index 946f770e8..ee9085f09 100644 --- a/lib_dec/FEC_clas_estim_fx.c +++ b/lib_dec/FEC_clas_estim_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/FEC_fx.c b/lib_dec/FEC_fx.c index 9e164827c..b3d7a69be 100644 --- a/lib_dec/FEC_fx.c +++ b/lib_dec/FEC_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/FEC_lsf_estim_fx.c b/lib_dec/FEC_lsf_estim_fx.c index ddf1f7df6..de8852d68 100644 --- a/lib_dec/FEC_lsf_estim_fx.c +++ b/lib_dec/FEC_lsf_estim_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/FEC_pitch_estim_fx.c b/lib_dec/FEC_pitch_estim_fx.c index 066afccf9..09215fd78 100644 --- a/lib_dec/FEC_pitch_estim_fx.c +++ b/lib_dec/FEC_pitch_estim_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/FEC_scale_syn_fx.c b/lib_dec/FEC_scale_syn_fx.c index 32d7b569a..6c4233302 100644 --- a/lib_dec/FEC_scale_syn_fx.c +++ b/lib_dec/FEC_scale_syn_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/LD_music_post_filter_fx.c b/lib_dec/LD_music_post_filter_fx.c index 1fd33d11c..2eea39462 100644 --- a/lib_dec/LD_music_post_filter_fx.c +++ b/lib_dec/LD_music_post_filter_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/TonalComponentDetection_fx.c b/lib_dec/TonalComponentDetection_fx.c index 2223bfa9c..58685434c 100644 --- a/lib_dec/TonalComponentDetection_fx.c +++ b/lib_dec/TonalComponentDetection_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/acelp_core_dec_fx.c b/lib_dec/acelp_core_dec_fx.c index 4ca6b2e8c..18b7c60cd 100644 --- a/lib_dec/acelp_core_dec_fx.c +++ b/lib_dec/acelp_core_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_dec/acelp_core_switch_dec_fx.c b/lib_dec/acelp_core_switch_dec_fx.c index 20343394b..59d19f9df 100644 --- a/lib_dec/acelp_core_switch_dec_fx.c +++ b/lib_dec/acelp_core_switch_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/amr_wb_dec_fx.c b/lib_dec/amr_wb_dec_fx.c index 1fdfe44a4..905412f5e 100644 --- a/lib_dec/amr_wb_dec_fx.c +++ b/lib_dec/amr_wb_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/ari_dec_fx.c b/lib_dec/ari_dec_fx.c index 99d33cc59..f3c2f0815 100644 --- a/lib_dec/ari_dec_fx.c +++ b/lib_dec/ari_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -13,7 +16,6 @@ * Ari decode 14 bits routines -------------------------------------------------------------*/ -#ifdef FIX_2402_SIMPLIFY_ARI_CODEC static Word32 L_msui_32_16( Word32 cum, Word32 range, Word16 cum_freq ) { /* WMOPS counting is done using L_sub, similar to other MSU operations */ @@ -21,15 +23,10 @@ static Word32 L_msui_32_16( Word32 cum, Word32 range, Word16 cum_freq ) /* Note: No overflow or saturation feature required. */ return L_sub( cum, range * cum_freq ); } -#endif Word32 ari_decode_overflow_fx( Tastat *s ) { -#ifdef FIX_2402_SIMPLIFY_ARI_CODEC return ( L_sub( s->high, s->low ) <= 0 ); -#else - return ( L_sub( L_sub( s->high, 1 ), s->low ) <= 0 ); -#endif } /** @@ -92,10 +89,6 @@ static Word16 ari_lookup_s17_fx( ) { const UWord16 *p; -#ifndef FIX_2402_SIMPLIFY_ARI_CODEC - Word32 tmp; - Word16 range_l, range_h; -#endif p = cum_freq; @@ -104,42 +97,6 @@ static Word16 ari_lookup_s17_fx( /* tmp_p = p+8; if (tmp_p[0]*range>cum) p = tmp_p; */ /* max value in p[x] is 16384 => 14 bits */ -#ifndef FIX_2402_SIMPLIFY_ARI_CODEC - range_l = extract_l( L_and( range, 0x7FFF ) ); - range_h = extract_l( L_shr( range, 15 ) ); - - tmp = L_multi31x16_X2( range_h, range_l, p[8] ); - IF( GT_32( tmp, cum ) ) - { - p = p + 8; - } - - tmp = L_multi31x16_X2( range_h, range_l, p[4] ); - IF( GT_32( tmp, cum ) ) - { - p = p + 4; - } - - - tmp = L_multi31x16_X2( range_h, range_l, p[2] ); - IF( GT_32( tmp, cum ) ) - { - p = p + 2; - } - - tmp = L_multi31x16_X2( range_h, range_l, p[1] ); - IF( GT_32( tmp, cum ) ) - { - p = p + 1; - - tmp = L_multi31x16_X2( range_h, range_l, p[1] ); - test(); - IF( EQ_32( (Word32) ( &cum_freq[15] - p ), 0 ) && ( GT_32( tmp, cum ) ) ) - { - p = p + 1; - } - } -#else if ( L_msui_32_16( cum, range, p[8] ) < 0 ) { p = p + 8; @@ -165,7 +122,6 @@ static Word16 ari_lookup_s17_fx( move16(); } } -#endif /* return extract_l(L_shr(L_sub((Word32)p,(Word32)cum_freq),1)); */ L_sub( 0, 0 ); @@ -179,99 +135,6 @@ static Word16 ari_lookup_s27_fx( UWord16 const *cum_freq /* Q0 */ ) { -#ifndef FIX_2402_SIMPLIFY_ARI_CODEC - Word32 tmp; - Word16 range_l, range_h; - Word16 il, ih, im; - - /* Note: For each indirect addressing p[i], we assume a tmp pointer init followed by a costfree reading the value */ - /* If the value multiplied by range is greater than cum, the pointer p is set to the tmp pointer */ - /* tmp_p = p+8; if (tmp_p[0]*range>cum) p = tmp_p; */ - - /* max value in p[x] is 16384 => 14 bits */ - range_l = extract_l( L_and( range, 0x7FFF ) ); - range_h = extract_l( L_shr( range, 15 ) ); - - /* begin change when compared with ari_decode_14bits_s17_ext_fx, - starting with line: tmp = L_multi31x16_X2(range_h, range_l, p[8]); */ - il = 0; - move16(); - ih = 27; - move16(); - - /* do a five step binary search, using the interval [il, ih) */ - im = 13; - move16(); /* (il + ih) >> 1 */ - tmp = L_multi31x16_X2( range_h, range_l, cum_freq[im] ); - tmp = L_sub( tmp, cum ); - if ( ( tmp > 0 ) ) - { - il = im; - move16(); - } - if ( ( tmp <= 0 ) ) - { - ih = im; - move16(); - } - - im = shr( add( il, ih ), 1 ); - tmp = L_multi31x16_X2( range_h, range_l, cum_freq[im] ); - tmp = L_sub( tmp, cum ); - if ( tmp > 0 ) - { - il = im; - move16(); - } - if ( tmp <= 0 ) - { - ih = im; - move16(); - } - - im = shr( add( il, ih ), 1 ); - tmp = L_multi31x16_X2( range_h, range_l, cum_freq[im] ); - tmp = L_sub( tmp, cum ); - if ( tmp > 0 ) - { - il = im; - move16(); - } - if ( tmp <= 0 ) - { - ih = im; - move16(); - } - - im = shr( add( il, ih ), 1 ); - tmp = L_multi31x16_X2( range_h, range_l, cum_freq[im] ); - tmp = L_sub( tmp, cum ); - if ( tmp > 0 ) - { - il = im; - move16(); - } - if ( tmp <= 0 ) - { - ih = im; - move16(); - } - - IF( GT_16( sub( ih, il ), 1 ) ) /* if the interval has more than one symbol */ - { - /* here, only ih == il + 2 is possible, which means two symbols in the interval */ - im = add( il, 1 ); /* (il + ih) >> 1 */ - tmp = L_multi31x16_X2( range_h, range_l, cum_freq[im] ); - tmp = L_sub( tmp, cum ); - if ( tmp > 0 ) - { - il = im; - move16(); - } - } - - return il; -#else const UWord16 *p = cum_freq; @@ -305,7 +168,6 @@ static Word16 ari_lookup_s27_fx( L_sub( 0, 0 ); L_shr( 0, 0 ); /* pointer subtraction */ return extract_l( p - cum_freq ); -#endif } static Word16 ari_lookup_bit_fx( @@ -319,26 +181,10 @@ static Word16 ari_lookup_bit_fx( (void) cum_freq; -#ifndef FIX_2402_SIMPLIFY_ARI_CODEC - range = L_shl( range, 13 ); /* L_multi31x16_X2(range_h, range_l, 8192) */ - cum = L_sub( range, cum ); - - if ( cum > 0 ) - { - symbol = 1; - move16(); - } - if ( cum <= 0 ) - { - symbol = 0; - move16(); - } -#else if ( L_msui_32_16( cum, range, 8192 ) < 0 ) { symbol = add( symbol, 1 ); /* symbol = 1 */ } -#endif return symbol; } @@ -366,15 +212,7 @@ static Word16 ari_decode_14bits_ext_fx( range = L_sub( high, low ); cum = L_add( L_shl( L_sub( value, low ), stat_bitsnew ), sub( shl( 1, stat_bitsnew ), 1 ) ); -#ifndef FIX_2402_SIMPLIFY_ARI_CODEC - if ( cum < 0 ) - { - cum = 0x7fffffff; - move32(); - } -#else assert( cum >= 0 ); -#endif symbol = lookup_fn( cum, range, cum_freq ); @@ -446,9 +284,6 @@ static Word16 ari_lookup_pow_fx( Tastat *s, Word16 base ) { Word32 cum, range; Word16 symbol; -#ifndef FIX_2402_SIMPLIFY_ARI_CODEC - Word16 range_h, range_l; -#endif Word16 pows[12]; /* "base" to the power of 2, 4, 8,... 2^12 */ Word16 lowlim, highlim, testval; Word16 k; @@ -456,10 +291,6 @@ static Word16 ari_lookup_pow_fx( Tastat *s, Word16 base ) range = L_sub( s->high, s->low ); cum = L_add( L_shl( L_sub( s->value, s->low ), stat_bitsnew ), ( ( 1 << stat_bitsnew ) - 1 ) ); -#ifndef FIX_2402_SIMPLIFY_ARI_CODEC - range_h = extract_l( L_shr( range, 15 ) ); - range_l = extract_l( L_and( range, 0x7FFF ) ); -#endif symbol = 0; move16(); @@ -468,11 +299,7 @@ static Word16 ari_lookup_pow_fx( Tastat *s, Word16 base ) move16(); /* search for the interval where "cum" fits */ -#ifdef FIX_2402_SIMPLIFY_ARI_CODEC IF( L_msui_32_16( cum, range, lowlim ) < 0 ) /* below pow-1 */ -#else - IF( GT_32( L_multi31x16_X2( range_h, range_l, lowlim ), cum ) ) /* below pow-1 */ -#endif { pows[0] = base; move16(); @@ -487,11 +314,7 @@ static Word16 ari_lookup_pow_fx( Tastat *s, Word16 base ) move16(); testval = mult_r( pows[k], base ); -#ifdef FIX_2402_SIMPLIFY_ARI_CODEC IF( L_msui_32_16( cum, range, shr( testval, 1 ) ) >= 0 ) -#else - IF( LE_32( L_multi31x16_X2( range_h, range_l, shr( testval, 1 ) ), cum ) ) /* found! big range is [lowlim,testval], (now narrow it down) */ -#endif { lowlim = testval; move16(); @@ -507,11 +330,7 @@ static Word16 ari_lookup_pow_fx( Tastat *s, Word16 base ) { testval = mult_r( highlim, pows[k + 1] ); -#ifdef FIX_2402_SIMPLIFY_ARI_CODEC IF( L_msui_32_16( cum, range, shr( testval, 1 ) ) >= 0 ) -#else - IF( LE_32( L_multi31x16_X2( range_h, range_l, shr( testval, 1 ) ), cum ) ) -#endif { lowlim = testval; move16(); diff --git a/lib_dec/ari_hm_dec_fx.c b/lib_dec/ari_hm_dec_fx.c index 2d02da71a..9af7206d2 100644 --- a/lib_dec/ari_hm_dec_fx.c +++ b/lib_dec/ari_hm_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_dec/arith_coder_dec_fx.c b/lib_dec/arith_coder_dec_fx.c index 3ac4963c0..41bf9b768 100644 --- a/lib_dec/arith_coder_dec_fx.c +++ b/lib_dec/arith_coder_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/avq_dec_fx.c b/lib_dec/avq_dec_fx.c index 4e4735b83..93feec6ed 100644 --- a/lib_dec/avq_dec_fx.c +++ b/lib_dec/avq_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/bass_psfilter_fx.c b/lib_dec/bass_psfilter_fx.c index d2558f47c..5cfb8c801 100644 --- a/lib_dec/bass_psfilter_fx.c +++ b/lib_dec/bass_psfilter_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/cng_dec_fx.c b/lib_dec/cng_dec_fx.c index 56d2bd29c..6510c9eb0 100644 --- a/lib_dec/cng_dec_fx.c +++ b/lib_dec/cng_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/core_dec_init_fx.c b/lib_dec/core_dec_init_fx.c index dbffbcc02..4a0d41946 100644 --- a/lib_dec/core_dec_init_fx.c +++ b/lib_dec/core_dec_init_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/core_dec_reconf_fx.c b/lib_dec/core_dec_reconf_fx.c index d844e666b..281777b1c 100644 --- a/lib_dec/core_dec_reconf_fx.c +++ b/lib_dec/core_dec_reconf_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/core_dec_switch_fx.c b/lib_dec/core_dec_switch_fx.c index a9d9d24d7..bbcffdeea 100644 --- a/lib_dec/core_dec_switch_fx.c +++ b/lib_dec/core_dec_switch_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/core_switching_dec_fx.c b/lib_dec/core_switching_dec_fx.c index 7fa00ef85..2c29f4826 100644 --- a/lib_dec/core_switching_dec_fx.c +++ b/lib_dec/core_switching_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/d_gain2p_fx.c b/lib_dec/d_gain2p_fx.c index c9a35c181..57dafed55 100644 --- a/lib_dec/d_gain2p_fx.c +++ b/lib_dec/d_gain2p_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/dec2t32_fx.c b/lib_dec/dec2t32_fx.c index 77ded3a34..f15c8b3c5 100644 --- a/lib_dec/dec2t32_fx.c +++ b/lib_dec/dec2t32_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/dec4t64_fx.c b/lib_dec/dec4t64_fx.c index 062157dca..db7f631ed 100644 --- a/lib_dec/dec4t64_fx.c +++ b/lib_dec/dec4t64_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/dec_LPD_fx.c b/lib_dec/dec_LPD_fx.c index 5b1a13023..0eebe8de0 100644 --- a/lib_dec/dec_LPD_fx.c +++ b/lib_dec/dec_LPD_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/dec_ace_fx.c b/lib_dec/dec_ace_fx.c index 515251e7f..7c4a72309 100644 --- a/lib_dec/dec_ace_fx.c +++ b/lib_dec/dec_ace_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/dec_acelp_fx.c b/lib_dec/dec_acelp_fx.c index c07ba25a6..ff94614e5 100644 --- a/lib_dec/dec_acelp_fx.c +++ b/lib_dec/dec_acelp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/dec_acelp_tcx_main_fx.c b/lib_dec/dec_acelp_tcx_main_fx.c index dfeb3773a..6a6a8a0a7 100644 --- a/lib_dec/dec_acelp_tcx_main_fx.c +++ b/lib_dec/dec_acelp_tcx_main_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/dec_amr_wb_fx.c b/lib_dec/dec_amr_wb_fx.c index af6c706f7..72940857c 100644 --- a/lib_dec/dec_amr_wb_fx.c +++ b/lib_dec/dec_amr_wb_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/dec_gen_voic_fx.c b/lib_dec/dec_gen_voic_fx.c index e1a3917df..86abfb751 100644 --- a/lib_dec/dec_gen_voic_fx.c +++ b/lib_dec/dec_gen_voic_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/dec_higher_acelp_fx.c b/lib_dec/dec_higher_acelp_fx.c index 842749fa4..4d594f293 100644 --- a/lib_dec/dec_higher_acelp_fx.c +++ b/lib_dec/dec_higher_acelp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/dec_nelp_fx.c b/lib_dec/dec_nelp_fx.c index 130b486ac..dcb55f8ef 100644 --- a/lib_dec/dec_nelp_fx.c +++ b/lib_dec/dec_nelp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/dec_pit_exc_fx.c b/lib_dec/dec_pit_exc_fx.c index 83818d1c9..d766a8f3a 100644 --- a/lib_dec/dec_pit_exc_fx.c +++ b/lib_dec/dec_pit_exc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/dec_post_fx.c b/lib_dec/dec_post_fx.c index 829005b0a..f219497fc 100644 --- a/lib_dec/dec_post_fx.c +++ b/lib_dec/dec_post_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/dec_ppp_fx.c b/lib_dec/dec_ppp_fx.c index 37277b06f..ddfec5f48 100644 --- a/lib_dec/dec_ppp_fx.c +++ b/lib_dec/dec_ppp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/dec_prm_fx.c b/lib_dec/dec_prm_fx.c index 5da9b6f1a..f95a7745c 100644 --- a/lib_dec/dec_prm_fx.c +++ b/lib_dec/dec_prm_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/dec_tcx_fx.c b/lib_dec/dec_tcx_fx.c index f48ae67d8..6d86a618d 100644 --- a/lib_dec/dec_tcx_fx.c +++ b/lib_dec/dec_tcx_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/dec_tran_fx.c b/lib_dec/dec_tran_fx.c index 20d5f4b22..1ed1752a2 100644 --- a/lib_dec/dec_tran_fx.c +++ b/lib_dec/dec_tran_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/dec_uv_fx.c b/lib_dec/dec_uv_fx.c index a2d59c08a..5d09d8c78 100644 --- a/lib_dec/dec_uv_fx.c +++ b/lib_dec/dec_uv_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/decision_matrix_dec_fx.c b/lib_dec/decision_matrix_dec_fx.c index 055f1325f..f458ddbba 100644 --- a/lib_dec/decision_matrix_dec_fx.c +++ b/lib_dec/decision_matrix_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/dlpc_avq_fx.c b/lib_dec/dlpc_avq_fx.c index 9080fd5aa..a79b385ba 100644 --- a/lib_dec/dlpc_avq_fx.c +++ b/lib_dec/dlpc_avq_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/dlpc_stoch_fx.c b/lib_dec/dlpc_stoch_fx.c index 7a5175fb8..524f23d2e 100644 --- a/lib_dec/dlpc_stoch_fx.c +++ b/lib_dec/dlpc_stoch_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/er_dec_acelp_fx.c b/lib_dec/er_dec_acelp_fx.c index 06e146504..da899b9f2 100644 --- a/lib_dec/er_dec_acelp_fx.c +++ b/lib_dec/er_dec_acelp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/er_dec_tcx_fx.c b/lib_dec/er_dec_tcx_fx.c index b6f5823c3..87830f86b 100644 --- a/lib_dec/er_dec_tcx_fx.c +++ b/lib_dec/er_dec_tcx_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/er_scale_syn_fx.c b/lib_dec/er_scale_syn_fx.c index efe8aa965..52c0dfc8d 100644 --- a/lib_dec/er_scale_syn_fx.c +++ b/lib_dec/er_scale_syn_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/er_sync_exc_fx.c b/lib_dec/er_sync_exc_fx.c index 22224f35e..50d34b4e7 100644 --- a/lib_dec/er_sync_exc_fx.c +++ b/lib_dec/er_sync_exc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/er_util_fx.c b/lib_dec/er_util_fx.c index 78fb12f10..01c4de76d 100644 --- a/lib_dec/er_util_fx.c +++ b/lib_dec/er_util_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/evs_dec_fx.c b/lib_dec/evs_dec_fx.c index add3a07c3..195f5ce50 100644 --- a/lib_dec/evs_dec_fx.c +++ b/lib_dec/evs_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/fd_cng_dec_fx.c b/lib_dec/fd_cng_dec_fx.c index 3aa0562c3..50ad6fb2d 100644 --- a/lib_dec/fd_cng_dec_fx.c +++ b/lib_dec/fd_cng_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -19,9 +22,6 @@ #include "basop_util.h" #include "rom_basop_util.h" #include "ivas_rom_dec.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #define CNA_ACT_DN_LARGE_PARTITION 50 /* index of the first larger partition */ @@ -3923,9 +3923,7 @@ void configureFdCngDec_fx( { Word16 j, stopBandFR; HANDLE_FD_CNG_COM hsCom = hFdCngDec->hFdCngCom; -#ifdef FIX_1559 Word16 nFFTpart_prev; -#endif hsCom->CngBandwidth = bwidth; /*Q0*/ move16(); @@ -4060,10 +4058,8 @@ void configureFdCngDec_fx( hsCom->stopBand = add( hsCom->FdCngSetup.sidPartitions[( hsCom->FdCngSetup.numPartitions - 1 )], 1 ); /*Q0*/ initPartitions( hsCom->FdCngSetup.sidPartitions, hsCom->FdCngSetup.numPartitions, hsCom->startBand, hsCom->stopBand, hsCom->part, &hsCom->npart, hsCom->midband, hsCom->psize, hsCom->psize_norm, &hsCom->psize_norm_exp, hsCom->psize_inv, 0 ); -#ifdef FIX_1559 nFFTpart_prev = hsCom->nFFTpart; move16(); -#endif IF( EQ_16( hsCom->stopFFTbin, 160 ) ) { hsCom->nFFTpart = 17; @@ -4089,7 +4085,6 @@ void configureFdCngDec_fx( move16(); } -#ifdef FIX_1559 /* In case of going from a lower number of partitions to a higher number, initialize the higher ines which might be zero and/or outdated with the highest partitions value this avoids almost-zero values to linger around and causing signal bursts after switching to higher bitrate. @@ -4102,7 +4097,6 @@ void configureFdCngDec_fx( move16(); } } -#endif stopBandFR = 40; //(Word16)floor(1000.f /*Hz*/ / 25.f /*Hz/Bin*/); move16(); diff --git a/lib_dec/gain_dec_fx.c b/lib_dec/gain_dec_fx.c index 90d065b0a..8b0835311 100644 --- a/lib_dec/gain_dec_fx.c +++ b/lib_dec/gain_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/gaus_dec_fx.c b/lib_dec/gaus_dec_fx.c index 4fcbaf514..0f64ad045 100644 --- a/lib_dec/gaus_dec_fx.c +++ b/lib_dec/gaus_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/gs_dec_amr_wb_fx.c b/lib_dec/gs_dec_amr_wb_fx.c index 49ba5a85c..e9e860077 100644 --- a/lib_dec/gs_dec_amr_wb_fx.c +++ b/lib_dec/gs_dec_amr_wb_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/gs_dec_fx.c b/lib_dec/gs_dec_fx.c index eb9845dc8..3d05662a9 100644 --- a/lib_dec/gs_dec_fx.c +++ b/lib_dec/gs_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/hdecnrm_fx.c b/lib_dec/hdecnrm_fx.c index 2efea77b0..122114ec2 100644 --- a/lib_dec/hdecnrm_fx.c +++ b/lib_dec/hdecnrm_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/hf_synth_fx.c b/lib_dec/hf_synth_fx.c index f2be9219d..7e96f83e5 100644 --- a/lib_dec/hf_synth_fx.c +++ b/lib_dec/hf_synth_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/hq_classifier_dec_fx.c b/lib_dec/hq_classifier_dec_fx.c index d00426514..85ce1ffc2 100644 --- a/lib_dec/hq_classifier_dec_fx.c +++ b/lib_dec/hq_classifier_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/hq_conf_fec_fx.c b/lib_dec/hq_conf_fec_fx.c index 55c8bb8a0..514e00dbe 100644 --- a/lib_dec/hq_conf_fec_fx.c +++ b/lib_dec/hq_conf_fec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/hq_core_dec_fx.c b/lib_dec/hq_core_dec_fx.c index 644b8b370..3cf9b830f 100644 --- a/lib_dec/hq_core_dec_fx.c +++ b/lib_dec/hq_core_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/hq_env_dec_fx.c b/lib_dec/hq_env_dec_fx.c index c00b7711d..8a26118c8 100644 --- a/lib_dec/hq_env_dec_fx.c +++ b/lib_dec/hq_env_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/hq_hr_dec_fx.c b/lib_dec/hq_hr_dec_fx.c index 0c9fb88d6..224af7ef9 100644 --- a/lib_dec/hq_hr_dec_fx.c +++ b/lib_dec/hq_hr_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/hq_lr_dec_fx.c b/lib_dec/hq_lr_dec_fx.c index 7ec1d15db..26db0f34c 100644 --- a/lib_dec/hq_lr_dec_fx.c +++ b/lib_dec/hq_lr_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/igf_dec_fx.c b/lib_dec/igf_dec_fx.c index 06bdba2d8..e3781181a 100644 --- a/lib_dec/igf_dec_fx.c +++ b/lib_dec/igf_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/igf_scf_dec_fx.c b/lib_dec/igf_scf_dec_fx.c index 71a4b1e77..30d42dd95 100644 --- a/lib_dec/igf_scf_dec_fx.c +++ b/lib_dec/igf_scf_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/init_dec_fx.c b/lib_dec/init_dec_fx.c index 9ab72547b..86ce4d214 100644 --- a/lib_dec/init_dec_fx.c +++ b/lib_dec/init_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_dec/inov_dec_fx.c b/lib_dec/inov_dec_fx.c index 21e70e083..3beebe250 100644 --- a/lib_dec/inov_dec_fx.c +++ b/lib_dec/inov_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/ivas_agc_dec_fx.c b/lib_dec/ivas_agc_dec_fx.c index c091579e4..bd9ed1d1b 100644 --- a/lib_dec/ivas_agc_dec_fx.c +++ b/lib_dec/ivas_agc_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_dec/ivas_core_dec_fx.c b/lib_dec/ivas_core_dec_fx.c index 06ae20608..c67a797b9 100644 --- a/lib_dec/ivas_core_dec_fx.c +++ b/lib_dec/ivas_core_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_corecoder_dec_reconfig_fx.c b/lib_dec/ivas_corecoder_dec_reconfig_fx.c index 670f559d2..ad88ae91f 100644 --- a/lib_dec/ivas_corecoder_dec_reconfig_fx.c +++ b/lib_dec/ivas_corecoder_dec_reconfig_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "options.h" #include "ivas_cnst.h" @@ -477,9 +449,6 @@ ivas_error ivas_hp20_dec_reconfig_fx( ) { Word16 i, nchan_hp20; -#ifndef FIX_1585_ASAN_FORMAT_SW_ALT - Word32 **old_mem_hp20_out_fx; -#endif ivas_error error; error = IVAS_ERR_OK; @@ -493,7 +462,6 @@ ivas_error ivas_hp20_dec_reconfig_fx( IF( GT_16( nchan_hp20, nchan_hp20_old ) ) { -#ifdef FIX_1585_ASAN_FORMAT_SW_ALT /* create additional hp20 memories */ FOR( i = nchan_hp20_old; i < nchan_hp20; i++ ) { @@ -504,72 +472,15 @@ ivas_error ivas_hp20_dec_reconfig_fx( set32_fx( st_ivas->mem_hp20_out_fx[i], 0, L_HP20_MEM + 2 ); } -#else - /* save old mem_hp_20 pointer */ - old_mem_hp20_out_fx = st_ivas->mem_hp20_out_fx; - st_ivas->mem_hp20_out_fx = NULL; - - IF( ( st_ivas->mem_hp20_out_fx = (Word32 **) malloc( nchan_hp20 * sizeof( Word32 * ) ) ) == NULL ) - { - return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for HP20 filter memory\n" ) ); - } - - FOR( i = 0; i < nchan_hp20_old; i++ ) - { - st_ivas->mem_hp20_out_fx[i] = old_mem_hp20_out_fx[i]; - move32(); - old_mem_hp20_out_fx[i] = NULL; - } - /* create additional hp20 memories */ - FOR( ; i < nchan_hp20; i++ ) - { - IF( ( st_ivas->mem_hp20_out_fx[i] = (Word32 *) malloc( ( L_HP20_MEM + 2 ) * sizeof( Word32 ) ) ) == NULL ) - { - return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for HP20 filter memory\n" ) ); - } - - set32_fx( st_ivas->mem_hp20_out_fx[i], 0, L_HP20_MEM + 2 ); - } - - free( old_mem_hp20_out_fx ); - old_mem_hp20_out_fx = NULL; -#endif } ELSE IF( LT_16( nchan_hp20, nchan_hp20_old ) ) { -#ifdef FIX_1585_ASAN_FORMAT_SW_ALT /* remove superfluous hp20 memories */ FOR( i = nchan_hp20; i < nchan_hp20_old; i++ ) { free( st_ivas->mem_hp20_out_fx[i] ); st_ivas->mem_hp20_out_fx[i] = NULL; } -#else - /* save old mem_hp_20 pointer */ - old_mem_hp20_out_fx = st_ivas->mem_hp20_out_fx; - st_ivas->mem_hp20_out_fx = NULL; - - IF( ( st_ivas->mem_hp20_out_fx = (Word32 **) malloc( nchan_hp20 * sizeof( Word32 * ) ) ) == NULL ) - { - return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for HP20 filter memory\n" ) ); - } - - FOR( i = 0; i < nchan_hp20; i++ ) - { - st_ivas->mem_hp20_out_fx[i] = old_mem_hp20_out_fx[i]; - move32(); - old_mem_hp20_out_fx[i] = NULL; - } - /* remove superfluous hp20 memories */ - FOR( ; i < nchan_hp20_old; i++ ) - { - free( old_mem_hp20_out_fx[i] ); - old_mem_hp20_out_fx[i] = NULL; - } - - free( old_mem_hp20_out_fx ); - old_mem_hp20_out_fx = NULL; -#endif } return error; diff --git a/lib_dec/ivas_cpe_dec_fx.c b/lib_dec/ivas_cpe_dec_fx.c index 9db1333c4..5571d909c 100644 --- a/lib_dec/ivas_cpe_dec_fx.c +++ b/lib_dec/ivas_cpe_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_dec/ivas_dec_fx.c b/lib_dec/ivas_dec_fx.c index e66824819..0161cbaa8 100644 --- a/lib_dec/ivas_dec_fx.c +++ b/lib_dec/ivas_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -38,9 +10,6 @@ #include "ivas_prot_rend_fx.h" #include "ivas_rom_com.h" #include "wmc_auto.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*--------------------------------------------------------------------------* diff --git a/lib_dec/ivas_dec_render_fx.c b/lib_dec/ivas_dec_render_fx.c index edfb1a83e..e2ea3952d 100644 --- a/lib_dec/ivas_dec_render_fx.c +++ b/lib_dec/ivas_dec_render_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -38,9 +10,6 @@ #include "ivas_prot_rend_fx.h" #include "ivas_rom_com.h" #include "wmc_auto.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*-----------------------------------------------------------------------* @@ -327,11 +296,7 @@ ivas_error ivas_dec_render_fx( { ivas_apply_non_diegetic_panning_fx( p_tc_fx[0], p_output_fx, st_ivas->hDecoderConfig->non_diegetic_pan_gain_fx, *nSamplesRendered ); } -#ifdef DEBUGGING - ELSE IF( EQ_32( st_ivas->renderer_type, RENDERER_SBA_LINEAR_ENC ) || EQ_32( st_ivas->renderer_type, RENDERER_BINAURAL_FASTCONV ) ) -#else ELSE IF( EQ_32( st_ivas->renderer_type, RENDERER_SBA_LINEAR_ENC ) ) -#endif { /* Convert to Ambisonics */ FOR( i = 0; i < st_ivas->nchan_transport; i++ ) @@ -934,13 +899,11 @@ ivas_error ivas_dec_render_fx( ivas_TD_RINGBUF_PushChannels( st_ivas->hSplitBinRend->hMultiBinTdData, p_output_fx_const, *nSamplesRendered ); } -#ifdef TMP_1342_WORKAROUND_DEC_FLUSH_BROKEN_IN_SR if ( st_ivas->flushing ) { nchan_out_syn_output = BINAURAL_CHANNELS; move16(); } -#endif } ELSE { @@ -952,9 +915,7 @@ ivas_error ivas_dec_render_fx( { IF( NE_32( st_ivas->ivas_format, MONO_FORMAT ) ) { -#ifndef DISABLE_LIMITER ivas_limiter_dec_fx( st_ivas->hLimiter, p_output_fx, nchan_out, *nSamplesRendered, st_ivas->BER_detect, output_q_factor ); -#endif } } @@ -1336,7 +1297,6 @@ ivas_error ivas_jbm_dec_flush_renderer_fx( { IF( NE_16( st_ivas->ivas_format, MONO_FORMAT ) ) { -#ifndef DISABLE_LIMITER Word16 exp = 11; move16(); FOR( ch_idx = 0; ch_idx < MAX_OUTPUT_CHANNELS + MAX_NUM_OBJECTS; ch_idx++ ) @@ -1344,7 +1304,6 @@ ivas_error ivas_jbm_dec_flush_renderer_fx( p_output_fx[ch_idx] = st_ivas->p_output_fx[ch_idx]; } ivas_limiter_dec_fx( st_ivas->hLimiter, p_output_fx, st_ivas->hDecoderConfig->nchan_out, *nSamplesRendered, st_ivas->BER_detect, exp ); -#endif } } @@ -1697,9 +1656,6 @@ static void ivas_dec_tc_buffer_playout_fx( slots_to_render = sub( slots_to_render, hTcBuffer->subframe_nbslots[last_sf] ); last_sf = add( last_sf, 1 ); } -#ifdef DEBUGGING - assert( slots_to_render == 0 ); -#endif FOR( ch_idx = 0; ch_idx < hTcBuffer->nchan_transport_rend; ch_idx++ ) { diff --git a/lib_dec/ivas_decision_matrix_dec_fx.c b/lib_dec/ivas_decision_matrix_dec_fx.c index 06f11158a..f4bc73c7d 100644 --- a/lib_dec/ivas_decision_matrix_dec_fx.c +++ b/lib_dec/ivas_decision_matrix_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_dirac_dec_fx.c b/lib_dec/ivas_dirac_dec_fx.c index 23e90009b..163abbbf5 100644 --- a/lib_dec/ivas_dirac_dec_fx.c +++ b/lib_dec/ivas_dirac_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -364,11 +336,7 @@ static ivas_error ivas_dirac_rend_config_fx( return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for DirAC\n" ) ); } } -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES ivas_masa_init_stereotype_detection_fx( hDirACRend->masa_stereo_type_detect, ivas_total_brate ); -#else - ivas_masa_init_stereotype_detection_fx( hDirACRend->masa_stereo_type_detect ); -#endif } ELSE { @@ -2179,9 +2147,6 @@ static void binRenderer_split_fx( /* Perform binaural rendering */ ivas_binRenderer_fx( hBinRenderer, &hSplitBinRend->splitrend.multiBinPoseData, hCombinedOrientationData, numTimeSlots, -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - NULL, -#endif Cldfb_RealBuffer_Binaural_loc, Cldfb_ImagBuffer_Binaural_loc, RealBuffer_fx, ImagBuffer_fx, &input_q ); FOR( slot_idx = 0; slot_idx < numTimeSlots; slot_idx++ ) @@ -2229,9 +2194,6 @@ static void binRenderer_fx( /* Perform binaural rendering */ ivas_binRenderer_fx( hBinRenderer, NULL, hCombinedOrientationData, numTimeSlots, -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - NULL, -#endif Cldfb_RealBuffer_Binaural_fx, Cldfb_ImagBuffer_Binaural_fx, RealBuffer_fx, ImagBuffer_fx, &input_q ); return; diff --git a/lib_dec/ivas_dirac_output_synthesis_cov_fx.c b/lib_dec/ivas_dirac_output_synthesis_cov_fx.c index 86035f089..50903212b 100644 --- a/lib_dec/ivas_dirac_output_synthesis_cov_fx.c +++ b/lib_dec/ivas_dirac_output_synthesis_cov_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "basop_util.h" #include "enh32.h" diff --git a/lib_dec/ivas_entropy_decoder_fx.c b/lib_dec/ivas_entropy_decoder_fx.c index ea350ff4a..dca34bc7c 100644 --- a/lib_dec/ivas_entropy_decoder_fx.c +++ b/lib_dec/ivas_entropy_decoder_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_init_dec_fx.c b/lib_dec/ivas_init_dec_fx.c index fd440677b..aacd86ee5 100644 --- a/lib_dec/ivas_init_dec_fx.c +++ b/lib_dec/ivas_init_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -108,9 +80,6 @@ ivas_error ivas_dec_get_format_fx( Word16 nchan_ism, element_mode_flag; Word16 sba_order, sba_planar, sba_analysis_order; Word32 ivas_total_brate; -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - Word16 Opt_tsm; -#endif UWord16 *bit_stream_orig; AUDIO_CONFIG signaled_config; ivas_error error; @@ -122,10 +91,6 @@ ivas_error ivas_dec_get_format_fx( ivas_total_brate = st_ivas->hDecoderConfig->ivas_total_brate; move32(); -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - Opt_tsm = st_ivas->hDecoderConfig->Opt_tsm; - move16(); -#endif bit_stream_orig = st_ivas->bit_stream; /*-------------------------------------------------------------------* @@ -146,24 +111,10 @@ ivas_error ivas_dec_get_format_fx( !( EQ_32( st_ivas->ivas_format, MASA_FORMAT ) && EQ_32( st_ivas->last_ivas_format, MASA_ISM_FORMAT ) ) && !( EQ_32( st_ivas->ivas_format, MASA_ISM_FORMAT ) && EQ_32( st_ivas->last_ivas_format, MASA_FORMAT ) ) ) { -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - IF( Opt_tsm ) - { -#endif st_ivas->restartNeeded = 1; move16(); return IVAS_ERR_OK; -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - } - ELSE - { -#ifdef DEBUGGING - fprintf( stderr, "\nError: Changing the number of ISMs is not supported!\n" ); -#endif - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" ); - } -#endif } /*-------------------------------------------------------------------* @@ -201,24 +152,10 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( nchan_ism, st_ivas->nchan_ism ) ) { -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - IF( Opt_tsm ) - { -#endif st_ivas->restartNeeded = 1; move16(); return IVAS_ERR_OK; -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - } - ELSE - { -#ifdef DEBUGGING - fprintf( stderr, "\nError: Changing the number of ISMs is not supported!\n" ); -#endif - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" ); - } -#endif } st_ivas->nchan_ism = nchan_ism; @@ -242,24 +179,10 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( sba_planar, st_ivas->sba_planar ) ) { -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - IF( Opt_tsm ) - { -#endif st_ivas->restartNeeded = 1; move16(); return IVAS_ERR_OK; -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - } - ELSE - { -#ifdef DEBUGGING - fprintf( stderr, "\nError: Changing the SBA planar/3D layout is not supported!\n" ); -#endif - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong SBA planar flag signalled!" ); - } -#endif } /* read Ambisonic (SBA) order */ @@ -270,24 +193,10 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( sba_order, st_ivas->sba_order ) ) { -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - IF( Opt_tsm ) - { -#endif st_ivas->restartNeeded = 1; move16(); return IVAS_ERR_OK; -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - } - ELSE - { -#ifdef DEBUGGING - fprintf( stderr, "\nError: Changing the SBA order is not supported!\n" ); -#endif - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong SBA order signalled!" ); - } -#endif } sba_analysis_order = ivas_sba_get_analysis_order_fx( ivas_total_brate, sba_order ); @@ -303,12 +212,7 @@ ivas_error ivas_dec_get_format_fx( k = extract_l( Mpy_32_32_r( ivas_total_brate, ONE_BY_FRAMES_PER_SEC_Q31 ) ); IF( st_ivas->bit_stream[k - 1] ) { -#ifdef FIX_FLOAT_1539_G192_FORMAT_SWITCH if ( st_ivas->nchan_transport == 1 ) -#else - test(); - if ( st_ivas->nchan_transport == 1 && Opt_tsm ) -#endif { masaRestartCandidate = 1; move16(); @@ -321,12 +225,7 @@ ivas_error ivas_dec_get_format_fx( } ELSE { -#ifdef FIX_FLOAT_1539_G192_FORMAT_SWITCH if ( st_ivas->nchan_transport == 2 ) -#else - test(); - if ( st_ivas->nchan_transport == 2 && Opt_tsm ) -#endif { masaRestartCandidate = 1; move16(); @@ -376,24 +275,10 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( nchan_ism, st_ivas->nchan_ism ) ) { -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - IF( Opt_tsm ) - { -#endif st_ivas->restartNeeded = 1; move16(); return IVAS_ERR_OK; -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - } - ELSE - { -#ifdef DEBUGGING - fprintf( stderr, "\nError: Changing the number of ISMs is not supported!\n" ); -#endif - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" ); - } -#endif } st_ivas->nchan_ism = nchan_ism; @@ -412,24 +297,10 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( nchan_ism, st_ivas->nchan_ism ) ) { -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - IF( Opt_tsm ) - { -#endif st_ivas->restartNeeded = 1; move16(); return IVAS_ERR_OK; -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - } - ELSE - { -#ifdef DEBUGGING - fprintf( stderr, "\nError: Changing the number of ISMs is not supported!\n" ); -#endif - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" ); - } -#endif } st_ivas->nchan_ism = nchan_ism; @@ -444,24 +315,10 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( nchan_ism, st_ivas->nchan_ism ) ) { -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - IF( Opt_tsm ) - { -#endif st_ivas->restartNeeded = 1; move16(); return IVAS_ERR_OK; -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - } - ELSE - { -#ifdef DEBUGGING - fprintf( stderr, "\nError: Changing the number of ISMs is not supported!\n" ); -#endif - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" ); - } -#endif } st_ivas->nchan_ism = nchan_ism; @@ -489,24 +346,10 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( sba_order, st_ivas->sba_order ) ) { -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - IF( Opt_tsm ) - { -#endif st_ivas->restartNeeded = 1; move16(); return IVAS_ERR_OK; -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - } - ELSE - { -#ifdef DEBUGGING - fprintf( stderr, "\nError: Changing the SBA order is not supported!\n" ); -#endif - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong SBA order signalled!" ); - } -#endif } st_ivas->ism_mode = ivas_osba_ism_mode_select( ivas_total_brate, st_ivas->nchan_ism ); @@ -533,24 +376,10 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_32( st_ivas->transport_config, signaled_config ) ) { -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - IF( Opt_tsm ) - { -#endif st_ivas->restartNeeded = 1; move16(); return IVAS_ERR_OK; -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - } - ELSE - { -#ifdef DEBUGGING - fprintf( stderr, "\nError: Switching of MC configurations is not supported!\n" ); -#endif - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "wrong MC configuration signalled!" ); - } -#endif } st_ivas->mc_mode = ivas_mc_mode_select_fx( ivas_mc_map_output_config_to_mc_ls_setup_fx( signaled_config ), ivas_total_brate ); @@ -649,24 +478,10 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( nchan_ism, st_ivas->nchan_ism ) ) { -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - IF( Opt_tsm ) - { -#endif st_ivas->restartNeeded = 1; move16(); return IVAS_ERR_OK; -#ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH - } - ELSE - { -#ifdef DEBUGGING - fprintf( stderr, "\nError: Changing the number of ISMs is not supported!\n" ); -#endif - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" ); - } -#endif } st_ivas->nchan_ism = nchan_ism; @@ -1572,12 +1387,8 @@ ivas_error ivas_init_decoder_front( * Allocate and initialize Custom loudspeaker layout handle *--------------------------------------------------------------------*/ -#ifdef FIX_FMSW_DEC test(); IF( st_ivas->hDecoderConfig->Opt_LsCustom && st_ivas->hLsSetupCustom == NULL ) -#else - IF( st_ivas->hDecoderConfig->Opt_LsCustom ) -#endif { IF( EQ_32( ( error = ivas_ls_custom_open_fx( &( st_ivas->hLsSetupCustom ) ) ), IVAS_ERR_OK ) ) { @@ -1594,12 +1405,8 @@ ivas_error ivas_init_decoder_front( * Allocate and initialize Head-Tracking handle *--------------------------------------------------------------------*/ -#ifdef FIX_FMSW_DEC test(); IF( st_ivas->hDecoderConfig->Opt_Headrotation && st_ivas->hHeadTrackData == NULL ) -#else - IF( st_ivas->hDecoderConfig->Opt_Headrotation ) -#endif { IF( NE_32( ( error = ivas_headTrack_open_fx( &( st_ivas->hHeadTrackData ) ) ), IVAS_ERR_OK ) ) { @@ -1616,12 +1423,8 @@ ivas_error ivas_init_decoder_front( * Allocate and initialize external orientation handle *--------------------------------------------------------------------*/ -#ifdef FIX_FMSW_DEC test(); IF( st_ivas->hDecoderConfig->Opt_ExternalOrientation && st_ivas->hExtOrientationData == NULL ) -#else - IF( st_ivas->hDecoderConfig->Opt_ExternalOrientation ) -#endif { IF( NE_32( ( error = ivas_external_orientation_open_fx( &( st_ivas->hExtOrientationData ), st_ivas->hDecoderConfig->render_num_subframes ) ), IVAS_ERR_OK ) ) { @@ -1634,12 +1437,8 @@ ivas_error ivas_init_decoder_front( *--------------------------------------------------------------------*/ test(); -#ifdef FIX_FMSW_DEC test(); IF( ( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation ) && st_ivas->hCombinedOrientationData == NULL ) -#else - IF( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation ) -#endif { IF( NE_32( ( error = ivas_combined_orientation_open_fx( &( st_ivas->hCombinedOrientationData ), st_ivas->hDecoderConfig->output_Fs, st_ivas->hDecoderConfig->render_num_subframes ) ), IVAS_ERR_OK ) ) { @@ -1657,15 +1456,10 @@ ivas_error ivas_init_decoder_front( test(); test(); test(); -#ifdef FIX_FMSW_DEC test(); IF( ( EQ_16( st_ivas->hDecoderConfig->output_config, IVAS_AUDIO_CONFIG_BINAURAL ) || EQ_16( st_ivas->hDecoderConfig->output_config, IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR ) || EQ_16( st_ivas->hDecoderConfig->output_config, IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) || EQ_16( st_ivas->hDecoderConfig->output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED ) || EQ_16( st_ivas->hDecoderConfig->output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) || ( EQ_16( st_ivas->hDecoderConfig->output_config, IVAS_AUDIO_CONFIG_STEREO ) && st_ivas->hDecoderConfig->Opt_non_diegetic_pan ) ) && st_ivas->hRenderConfig == NULL ) -#else - IF( EQ_16( st_ivas->hDecoderConfig->output_config, IVAS_AUDIO_CONFIG_BINAURAL ) || EQ_16( st_ivas->hDecoderConfig->output_config, IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR ) || EQ_16( st_ivas->hDecoderConfig->output_config, IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) || EQ_16( st_ivas->hDecoderConfig->output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED ) || EQ_16( st_ivas->hDecoderConfig->output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) || - ( EQ_16( st_ivas->hDecoderConfig->output_config, IVAS_AUDIO_CONFIG_STEREO ) && st_ivas->hDecoderConfig->Opt_non_diegetic_pan ) ) -#endif { IF( NE_32( ( error = ivas_render_config_open_fx( &( st_ivas->hRenderConfig ) ) ), IVAS_ERR_OK ) ) { @@ -1678,10 +1472,8 @@ ivas_error ivas_init_decoder_front( } } -#ifdef TMP_1342_WORKAROUND_DEC_FLUSH_BROKEN_IN_SR st_ivas->flushing = 0; move16(); -#endif return error; } @@ -2743,19 +2535,6 @@ ivas_error ivas_init_decoder_fx( /* set number of output channels used for synthesis/decoding */ n = getNumChanSynthesis( st_ivas ); -#ifndef FIX_1585_ASAN_FORMAT_SW_ALT - IF( n > 0 ) - { - IF( ( st_ivas->mem_hp20_out_fx = (Word32 **) malloc( n * sizeof( Word32 * ) ) ) == NULL ) - { - return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for HP20 filter memory\n" ) ); - } - } - ELSE - { - st_ivas->mem_hp20_out_fx = NULL; - } -#endif FOR( i = 0; i < n; i++ ) { IF( ( st_ivas->mem_hp20_out_fx[i] = (Word32 *) malloc( ( L_HP20_MEM + 2 ) * sizeof( Word32 ) ) ) == NULL ) @@ -2765,12 +2544,10 @@ ivas_error ivas_init_decoder_fx( set32_fx( st_ivas->mem_hp20_out_fx[i], 0, L_HP20_MEM + 2 ); } -#ifdef FIX_1585_ASAN_FORMAT_SW_ALT FOR( ; i < MAX_OUTPUT_CHANNELS + MAX_NUM_OBJECTS; i++ ) { st_ivas->mem_hp20_out_fx[i] = NULL; } -#endif /*-------------------------------------------------------------------* * Allocate and initialize rendering handles @@ -3383,17 +3160,10 @@ void ivas_initialize_handles_dec( st_ivas->hCPE[i] = NULL; } -#ifdef FIX_FMSW_DEC IF( !st_ivas->restartNeeded ) { -#endif st_ivas->bit_stream = NULL; -#ifdef FIX_FMSW_DEC } -#endif -#ifndef FIX_1585_ASAN_FORMAT_SW_ALT - st_ivas->mem_hp20_out_fx = NULL; -#endif st_ivas->hLimiter = NULL; /* ISM metadata handles */ @@ -3437,10 +3207,8 @@ void ivas_initialize_handles_dec( st_ivas->hMasaIsmData = NULL; st_ivas->hSbaIsmData = NULL; -#ifdef FIX_FMSW_DEC IF( !st_ivas->restartNeeded ) { -#endif st_ivas->hHeadTrackData = NULL; st_ivas->hHrtfTD = NULL; st_ivas->hLsSetupCustom = NULL; @@ -3450,9 +3218,7 @@ void ivas_initialize_handles_dec( st_ivas->acousticEnvironmentsCount = 0; move16(); st_ivas->pAcousticEnvironments = NULL; -#ifdef FIX_FMSW_DEC } -#endif st_ivas->hSplitBinRend = NULL; FOR( i = 0; i < MAX_HEAD_ROT_POSES - 1; ++i ) @@ -3480,17 +3246,11 @@ void ivas_initialize_handles_dec( *-------------------------------------------------------------------------*/ void ivas_destroy_dec_fx( -#ifdef FIX_FMSW_DEC Decoder_Struct **st_ivas_out /* i/o: IVAS decoder handle */ -#else - Decoder_Struct *st_ivas /* i/o: IVAS decoder handle */ -#endif ) { Word16 i; -#ifdef FIX_FMSW_DEC Decoder_Struct *st_ivas = *st_ivas_out; -#endif /* CLDFB handles */ FOR( i = 0; i < MAX_INTERN_CHANNELS; i++ ) @@ -3537,7 +3297,6 @@ void ivas_destroy_dec_fx( } /* HP20 filter handles */ -#ifdef FIX_1585_ASAN_FORMAT_SW_ALT FOR( i = 0; i < MAX_OUTPUT_CHANNELS + MAX_NUM_OBJECTS; i++ ) { IF( st_ivas->mem_hp20_out_fx[i] != NULL ) @@ -3546,18 +3305,6 @@ void ivas_destroy_dec_fx( st_ivas->mem_hp20_out_fx[i] = NULL; } } -#else - IF( st_ivas->mem_hp20_out_fx != NULL ) - { - FOR( i = 0; i < getNumChanSynthesis( st_ivas ); i++ ) - { - free( st_ivas->mem_hp20_out_fx[i] ); - st_ivas->mem_hp20_out_fx[i] = NULL; - } - free( st_ivas->mem_hp20_out_fx ); - st_ivas->mem_hp20_out_fx = NULL; - } -#endif /* ISM metadata handles */ ivas_ism_metadata_close( st_ivas->hIsmMetaData, 0 ); @@ -3633,18 +3380,14 @@ void ivas_destroy_dec_fx( ivas_ls_setup_conversion_close_fx( &st_ivas->hLsSetUpConversion ); /* Custom LS configuration handle */ -#ifdef FIX_FMSW_DEC IF( !st_ivas->restartNeeded ) { -#endif IF( st_ivas->hLsSetupCustom != NULL ) { free( st_ivas->hLsSetupCustom ); st_ivas->hLsSetupCustom = NULL; } -#ifdef FIX_FMSW_DEC } -#endif /* Mono downmix structure */ ivas_mono_dmx_renderer_close( &st_ivas->hMonoDmxRenderer ); @@ -3680,13 +3423,11 @@ void ivas_destroy_dec_fx( /* HRTF statistics */ ivas_HRTF_statistics_binary_close_fx( &st_ivas->hHrtfStatistics ); -#ifdef FIX_FMSW_DEC /* Limiter struct */ ivas_limiter_close_fx( &( st_ivas->hLimiter ) ); IF( !st_ivas->restartNeeded ) { -#endif /* Config. Renderer */ ivas_render_config_close_fx( &( st_ivas->hRenderConfig ) ); @@ -3697,17 +3438,12 @@ void ivas_destroy_dec_fx( st_ivas->pAcousticEnvironments = NULL; } -#ifndef FIX_FMSW_DEC - /* Limiter struct */ - ivas_limiter_close_fx( &( st_ivas->hLimiter ) ); -#endif /* Decoder configuration structure */ IF( st_ivas->hDecoderConfig != NULL ) { free( st_ivas->hDecoderConfig ); st_ivas->hDecoderConfig = NULL; } -#ifdef FIX_FMSW_DEC } ELSE { @@ -3721,7 +3457,6 @@ void ivas_destroy_dec_fx( move16(); move16(); } -#endif /* TC buffer structure */ ivas_dec_tc_buffer_close_fx( &st_ivas->hTcBuffer ); @@ -3739,15 +3474,11 @@ void ivas_destroy_dec_fx( } /* main IVAS handle */ -#ifdef FIX_FMSW_DEC if ( !st_ivas->restartNeeded ) { free( *st_ivas_out ); *st_ivas_out = NULL; } -#else - free( st_ivas ); -#endif return; } diff --git a/lib_dec/ivas_ism_dec_fx.c b/lib_dec/ivas_ism_dec_fx.c index c57989ae7..2a6806f25 100644 --- a/lib_dec/ivas_ism_dec_fx.c +++ b/lib_dec/ivas_ism_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_ism_dtx_dec_fx.c b/lib_dec/ivas_ism_dtx_dec_fx.c index d283832b3..468cdff63 100644 --- a/lib_dec/ivas_ism_dtx_dec_fx.c +++ b/lib_dec/ivas_ism_dtx_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_ism_metadata_dec_fx.c b/lib_dec/ivas_ism_metadata_dec_fx.c index 4e9fe4154..bf8003c21 100644 --- a/lib_dec/ivas_ism_metadata_dec_fx.c +++ b/lib_dec/ivas_ism_metadata_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_ism_param_dec_fx.c b/lib_dec/ivas_ism_param_dec_fx.c index 4a00c193c..b5f0bf19c 100644 --- a/lib_dec/ivas_ism_param_dec_fx.c +++ b/lib_dec/ivas_ism_param_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -38,9 +10,6 @@ #include "ivas_rom_com.h" #include "wmc_auto.h" #include "ivas_prot_fx.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*-----------------------------------------------------------------------* diff --git a/lib_dec/ivas_ism_renderer_fx.c b/lib_dec/ivas_ism_renderer_fx.c index bd1b654e9..28f178013 100644 --- a/lib_dec/ivas_ism_renderer_fx.c +++ b/lib_dec/ivas_ism_renderer_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -185,10 +157,6 @@ void ivas_ism_render_sf_fx( n_samples_rendered_loop = 0; move16(); -#ifdef DEBUGGING - assert( slots_to_render == 0 ); - assert( last_sf <= st_ivas->hTcBuffer->nb_subframes ); -#endif WHILE( slots_to_render > 0 ) { diff --git a/lib_dec/ivas_lfe_dec_fx.c b/lib_dec/ivas_lfe_dec_fx.c index 20b2ac7c7..9af0f9274 100644 --- a/lib_dec/ivas_lfe_dec_fx.c +++ b/lib_dec/ivas_lfe_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_lfe_plc_fx.c b/lib_dec/ivas_lfe_plc_fx.c index a088b44ad..7999077e7 100755 --- a/lib_dec/ivas_lfe_plc_fx.c +++ b/lib_dec/ivas_lfe_plc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_ls_custom_dec_fx.c b/lib_dec/ivas_ls_custom_dec_fx.c index b6ae99039..5548ec4c9 100644 --- a/lib_dec/ivas_ls_custom_dec_fx.c +++ b/lib_dec/ivas_ls_custom_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" #include "prot_fx.h" diff --git a/lib_dec/ivas_masa_dec_fx.c b/lib_dec/ivas_masa_dec_fx.c index 6c80c617d..463bb2b7d 100644 --- a/lib_dec/ivas_masa_dec_fx.c +++ b/lib_dec/ivas_masa_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_dec/ivas_mc_param_dec_fx.c b/lib_dec/ivas_mc_param_dec_fx.c index 4a191876c..b2755d840 100644 --- a/lib_dec/ivas_mc_param_dec_fx.c +++ b/lib_dec/ivas_mc_param_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_mc_paramupmix_dec_fx.c b/lib_dec/ivas_mc_paramupmix_dec_fx.c index ecd8418f1..d4bec8816 100644 --- a/lib_dec/ivas_mc_paramupmix_dec_fx.c +++ b/lib_dec/ivas_mc_paramupmix_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_dec/ivas_mcmasa_dec_fx.c b/lib_dec/ivas_mcmasa_dec_fx.c index b4fa9d08c..4b91c76f8 100644 --- a/lib_dec/ivas_mcmasa_dec_fx.c +++ b/lib_dec/ivas_mcmasa_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "options.h" #include diff --git a/lib_dec/ivas_mct_core_dec_fx.c b/lib_dec/ivas_mct_core_dec_fx.c index 2bba7429b..8926a9113 100644 --- a/lib_dec/ivas_mct_core_dec_fx.c +++ b/lib_dec/ivas_mct_core_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -197,9 +169,6 @@ void ivas_mct_core_dec( Word16 tcx_offsetFB; Word16 left_rect; Word16 L_spec; -#ifdef DEBUG_MCT - float nrg[MCT_MAX_CHANNELS]; -#endif Word32 *x_fx[MCT_MAX_CHANNELS][NB_DIV]; push_wmops( "mct_decoding" ); diff --git a/lib_dec/ivas_mct_dec_fx.c b/lib_dec/ivas_mct_dec_fx.c index 11892029f..8c8345b34 100644 --- a/lib_dec/ivas_mct_dec_fx.c +++ b/lib_dec/ivas_mct_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_dec/ivas_mct_dec_mct_fx_fx.c b/lib_dec/ivas_mct_dec_mct_fx_fx.c index f4d289ee2..ca33e8dae 100644 --- a/lib_dec/ivas_mct_dec_mct_fx_fx.c +++ b/lib_dec/ivas_mct_dec_mct_fx_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_mdct_core_dec_fx.c b/lib_dec/ivas_mdct_core_dec_fx.c index 61c4bf0ce..fc08ce17c 100644 --- a/lib_dec/ivas_mdct_core_dec_fx.c +++ b/lib_dec/ivas_mdct_core_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -1510,11 +1482,7 @@ void ivas_mdct_core_tns_ns_fx( Word16 left_rect[CPE_CHANNELS]; Word16 L_spec[CPE_CHANNELS]; Word32 sns_int_scf_fx[FDNS_NPTS]; -#ifdef FIX_BASOP_2555_FRAMELEN_CALC Word16 length; -#else - Word16 exp, length; -#endif /* Initializations */ sts = hCPE->hCoreCoder; @@ -1529,7 +1497,6 @@ void ivas_mdct_core_tns_ns_fx( FOR( ch = 0; ch < CPE_CHANNELS; ch++ ) { st = sts[ch]; -#ifdef FIX_BASOP_2555_FRAMELEN_CALC IF( EQ_16( st->core, TCX_20_CORE ) ) { nSubframes[ch] = 1; @@ -1556,32 +1523,6 @@ void ivas_mdct_core_tns_ns_fx( move16(); move16(); } -#else - IF( EQ_16( st->core, TCX_20_CORE ) ) - { - nSubframes[ch] = 1; - } - ELSE - { - nSubframes[ch] = NB_DIV; - } - move16(); - - L_frame_global[ch] = BASOP_Util_Divide3216_Scale( st->L_frame, nSubframes[ch], &exp ); - move16(); - L_frame_global[ch] = shl( L_frame_global[ch], add( exp, 1 ) ); - move16(); - - L_frameTCX_glob[ch] = BASOP_Util_Divide3216_Scale( st->hTcxDec->L_frameTCX, nSubframes[ch], &exp ); - move16(); - L_frameTCX_glob[ch] = shl( L_frameTCX_glob[ch], add( exp, 1 ) ); - move16(); - - L_spec[ch] = BASOP_Util_Divide3216_Scale( st->hTcxCfg->tcx_coded_lines, nSubframes[ch], &exp ); - move16(); - L_spec[ch] = shl( L_spec[ch], add( exp, 1 ) ); - move16(); -#endif test(); test(); diff --git a/lib_dec/ivas_mono_dmx_renderer_fx.c b/lib_dec/ivas_mono_dmx_renderer_fx.c index dfdfd057f..aa89fe1ef 100644 --- a/lib_dec/ivas_mono_dmx_renderer_fx.c +++ b/lib_dec/ivas_mono_dmx_renderer_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_objectRenderer_internal_fx.c b/lib_dec/ivas_objectRenderer_internal_fx.c index 8806a6aef..8aa1ef8c8 100644 --- a/lib_dec/ivas_objectRenderer_internal_fx.c +++ b/lib_dec/ivas_objectRenderer_internal_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -37,9 +9,6 @@ #include "ivas_rom_com.h" #include "wmc_auto.h" #include "ivas_prot_fx.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*---------------------------------------------------------------------* @@ -264,16 +233,6 @@ ivas_error ivas_td_binaural_renderer_sf_fx( enableCombinedOrientation = st_ivas->hCombinedOrientationData->enableCombinedOrientation[st_ivas->hCombinedOrientationData->subframe_idx]; move16(); -#ifndef FIX_BASOP_2023_TDREND_DISTATT_PRECISION - /* Shifting x_fx, y_fx, z_fx to the same Q-factor as Listener_p->Pos_q (usually Q25) */ - Word16 pos_q = st_ivas->hBinRendererTd->Listener_p->Pos_q; - move16(); - tmp_vector_fx->x_fx = L_shr( tmp_vector_fx->x_fx, sub( tmp_vector_fx->q_fact, pos_q ) ); - tmp_vector_fx->y_fx = L_shr( tmp_vector_fx->y_fx, sub( tmp_vector_fx->q_fact, pos_q ) ); - tmp_vector_fx->z_fx = L_shr( tmp_vector_fx->z_fx, sub( tmp_vector_fx->q_fact, pos_q ) ); - tmp_vector_fx->q_fact = pos_q; - move16(); -#endif } ELSE { diff --git a/lib_dec/ivas_omasa_dec_fx.c b/lib_dec/ivas_omasa_dec_fx.c index 49554d356..b41a7ef28 100644 --- a/lib_dec/ivas_omasa_dec_fx.c +++ b/lib_dec/ivas_omasa_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "options.h" #include diff --git a/lib_dec/ivas_osba_dec_fx.c b/lib_dec/ivas_osba_dec_fx.c index 66e92c9fd..eaf71c3e4 100644 --- a/lib_dec/ivas_osba_dec_fx.c +++ b/lib_dec/ivas_osba_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "options.h" #include diff --git a/lib_dec/ivas_out_setup_conversion_fx.c b/lib_dec/ivas_out_setup_conversion_fx.c index a8fe1d0b0..51c8dd1d2 100644 --- a/lib_dec/ivas_out_setup_conversion_fx.c +++ b/lib_dec/ivas_out_setup_conversion_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -39,9 +11,6 @@ #include "ivas_rom_rend.h" #include "wmc_auto.h" #include "ivas_prot_fx.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*----------------------------------------------------------------------------------* diff --git a/lib_dec/ivas_output_config_fx.c b/lib_dec/ivas_output_config_fx.c index b57f4100b..06b5f9ec7 100644 --- a/lib_dec/ivas_output_config_fx.c +++ b/lib_dec/ivas_output_config_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_pca_dec_fx.c b/lib_dec/ivas_pca_dec_fx.c index e5cab04c0..ff4d7e902 100644 --- a/lib_dec/ivas_pca_dec_fx.c +++ b/lib_dec/ivas_pca_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_post_proc_fx.c b/lib_dec/ivas_post_proc_fx.c index b6eb91fd9..14b2926d3 100644 --- a/lib_dec/ivas_post_proc_fx.c +++ b/lib_dec/ivas_post_proc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_dec/ivas_qmetadata_dec_fx.c b/lib_dec/ivas_qmetadata_dec_fx.c index 7974350ce..deeb1acac 100644 --- a/lib_dec/ivas_qmetadata_dec_fx.c +++ b/lib_dec/ivas_qmetadata_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_dec/ivas_qspherical_dec_fx.c b/lib_dec/ivas_qspherical_dec_fx.c index f0a7b03f6..432da3377 100644 --- a/lib_dec/ivas_qspherical_dec_fx.c +++ b/lib_dec/ivas_qspherical_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_range_uni_dec_fx.c b/lib_dec/ivas_range_uni_dec_fx.c index 540c33123..78fa15cff 100644 --- a/lib_dec/ivas_range_uni_dec_fx.c +++ b/lib_dec/ivas_range_uni_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "ivas_cnst.h" diff --git a/lib_dec/ivas_rom_dec.h b/lib_dec/ivas_rom_dec.h index f79e95cef..474172988 100644 --- a/lib_dec/ivas_rom_dec.h +++ b/lib_dec/ivas_rom_dec.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_ROM_DEC_H #define IVAS_ROM_DEC_H @@ -96,8 +68,5 @@ extern const Word16 dirac_dithering_ele_scale_fx[DIRAC_DIFFUSE_LEVELS]; extern const HUFF_NODE_TABLE ivas_mc_paramupmix_huff_nodes_df0; extern const HUFF_NODE_TABLE ivas_mc_paramupmix_huff_nodes_df; -#ifndef FIX_2095_REMOVE_UNUSED_ISAR_TABLES -extern const HUFF_NODE_TABLE ivas_mc_paramupmix_huff_nodes_dt; -#endif #endif /* IVAS_ROM_DEC_H */ diff --git a/lib_dec/ivas_rom_dec_fx.c b/lib_dec/ivas_rom_dec_fx.c index 0f1b4108a..cc2865986 100644 --- a/lib_dec/ivas_rom_dec_fx.c +++ b/lib_dec/ivas_rom_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -476,76 +448,6 @@ static const Word16 huff_nodes_alpha_1D_DF[64][2] = { -2, -62 } }; -#ifndef FIX_2095_REMOVE_UNUSED_ISAR_TABLES -/* Alpha Fine Huffman table dt */ -static const Word16 huff_nodes_alpha_1D_DT[64][2] = -{ - { -33, 1 }, - { -34, 2 }, - { -32, 3 }, - { 5, 4 }, - { -31, -35 }, - { 7, 6 }, - { -36, 8 }, - { -30, 9 }, - { 11, 10 }, - { -29, -37 }, - { 13, 12 }, - { 15, 14 }, - { -28, -38 }, - { 17, 16 }, - { -27, -39 }, - { 19, 18 }, - { -40, 20 }, - { -26, 21 }, - { 23, 22 }, - { -25, -41 }, - { 25, 24 }, - { -24, -42 }, - { 27, 26 }, - { -23, -43 }, - { 29, 28 }, - { -22, -44 }, - { 31, 30 }, - { -45, 32 }, - { -21, 33 }, - { -20, 34 }, - { -46, 35 }, - { -47, 36 }, - { -19, 37 }, - { -48, 38 }, - { -18, 39 }, - { 41, 40 }, - { -17, -49 }, - { 43, 42 }, - { -50, 44 }, - { -16, 45 }, - { 47, 46 }, - { -51, 48 }, - { -15, 49 }, - { 51, 50 }, - { -52, -65 }, - { -1, -14 }, - { 53, 52 }, - { -53, 54 }, - { -13, 55 }, - { 57, 56 }, - { -12, 58 }, - { -54, 59 }, - { 61, 60 }, - { -11, -55 }, - { -56, 62 }, - { -10, 63 }, - { -9, -57 }, - { -5, -6 }, - { -58, -61 }, - { -7, -59 }, - { -8, -62 }, - { -4, -60 }, - { -3, -64 }, - { -2, -63 } -}; -#endif /* Beta Fine Huffman table df0 */ static const Word16 huff_nodes_first_band_beta[8][2] = @@ -559,13 +461,6 @@ static const Word16 huff_nodes_beta_1D_DF[16][2] = { -9, 1 }, { -10, 2 }, { -8, 3 }, { -11, 4 }, { -7, 5 }, { 7, 6 }, { -6, -12 }, { 9, 8 }, { -5, -13 }, { 11, 10 }, { -4, -14 }, { -15, 12 }, { -3, 13 }, { -16, 14 }, { -2, 15 }, { -1, -17 } }; -#ifndef FIX_2095_REMOVE_UNUSED_ISAR_TABLES -/* Beta Fine Huffman table dt */ -static const Word16 huff_nodes_beta_1D_DT[16][2] = -{ - { -9, 1 }, { -10, 2 }, { -8, 3 }, { -11, 4 }, { -7, 5 }, { 7, 6 }, { -6, -12 }, { -13, 8 }, { -5, 9 }, { -14, 10 }, { -4, 11 }, { -15, 12 }, { -3, 13 }, { -16, 14 }, { -2, 15 }, { -1, -17 } -}; -#endif const HUFF_NODE_TABLE ivas_mc_paramupmix_huff_nodes_df0 = { @@ -579,12 +474,5 @@ const HUFF_NODE_TABLE ivas_mc_paramupmix_huff_nodes_df = huff_nodes_beta_1D_DF }; -#ifndef FIX_2095_REMOVE_UNUSED_ISAR_TABLES -const HUFF_NODE_TABLE ivas_mc_paramupmix_huff_nodes_dt = -{ - huff_nodes_alpha_1D_DT, - huff_nodes_beta_1D_DT -}; -#endif /* clang-format on */ diff --git a/lib_dec/ivas_sba_dec_fx.c b/lib_dec/ivas_sba_dec_fx.c index 24dcdce22..fb5fea8bd 100644 --- a/lib_dec/ivas_sba_dec_fx.c +++ b/lib_dec/ivas_sba_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "enh32.h" #include diff --git a/lib_dec/ivas_sba_dirac_stereo_dec_fx.c b/lib_dec/ivas_sba_dirac_stereo_dec_fx.c index 1e39811e2..aa63cb5d8 100644 --- a/lib_dec/ivas_sba_dirac_stereo_dec_fx.c +++ b/lib_dec/ivas_sba_dirac_stereo_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -1519,14 +1491,8 @@ void ivas_sba_dirac_stereo_dec_fx( synchro_synthesis_fx( st_ivas->hDecoderConfig->ivas_total_brate, hCPE, output, output_frame, 1 /*st_ivas->sba_dirac_stereo_flag*/, q_dft[0] ); /* output scaling */ -#ifdef FIX_1521_SBA_LOUDNESS_STEREO IF( !sba_mono_flag ) -#else - test(); - IF( !sba_mono_flag && !( EQ_16( st_ivas->ivas_format, SBA_ISM_FORMAT ) && EQ_16( st_ivas->ism_mode, ISM_MODE_NONE ) ) ) -#endif { -#ifdef FIX_1521_SBA_LOUDNESS_STEREO test(); IF( EQ_16( st_ivas->ivas_format, SBA_ISM_FORMAT ) && EQ_16( st_ivas->ism_mode, ISM_MODE_NONE ) ) { @@ -1542,10 +1508,6 @@ void ivas_sba_dirac_stereo_dec_fx( v_multc_fx( output[0], INV_SQRT2_FX, output[0], output_frame ); v_multc_fx( output[1], INV_SQRT2_FX, output[1], output_frame ); } -#else - v_shr( output[0], 1, output[0], output_frame ); /*0.5f*/ - v_shr( output[1], 1, output[1], output_frame ); /*0.5f*/ -#endif } /* delay HB synth */ diff --git a/lib_dec/ivas_sba_rendering_internal_fx.c b/lib_dec/ivas_sba_rendering_internal_fx.c index d595b8ae5..38c3f919f 100644 --- a/lib_dec/ivas_sba_rendering_internal_fx.c +++ b/lib_dec/ivas_sba_rendering_internal_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -38,9 +10,6 @@ #include "ivas_cnst.h" #include "wmc_auto.h" #include "ivas_prot_fx.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*-------------------------------------------------------------------------* @@ -554,9 +523,6 @@ void ivas_sba_mix_matrix_determiner_fx( ivas_agc_dec_process_fx( hSpar->hAgcDec, ( output_fx ), ( output_fx ), nchan_transport, output_frame ); Q_p_output = sub( Q_p_output, 3 ); -#ifdef DEBUGGING - dbgwrite_txt( (const float *) ( output_fx[0] ), output_frame, "fix_ivas_agc_dec_process_output.txt", NULL ); -#endif /* Convert numeric range back */ FOR( ch = 0; ch < nchan_out; ch++ ) diff --git a/lib_dec/ivas_sce_dec_fx.c b/lib_dec/ivas_sce_dec_fx.c index 22bd4094a..acc86787c 100644 --- a/lib_dec/ivas_sce_dec_fx.c +++ b/lib_dec/ivas_sce_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_dec/ivas_sns_dec_fx.c b/lib_dec/ivas_sns_dec_fx.c index 1120c4eb9..30c62db36 100644 --- a/lib_dec/ivas_sns_dec_fx.c +++ b/lib_dec/ivas_sns_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten FORschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten FORschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement beFORe making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively FOR experts who have experience with such software and - solely FOR the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness FOR a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_spar_decoder_fx.c b/lib_dec/ivas_spar_decoder_fx.c index f36cdc0cb..df45a28e4 100644 --- a/lib_dec/ivas_spar_decoder_fx.c +++ b/lib_dec/ivas_spar_decoder_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -41,9 +13,6 @@ #include "ivas_stat_com.h" #include "wmc_auto.h" #include "ivas_prot_fx.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*-------------------------------------------------------------------* * Local function prototypes diff --git a/lib_dec/ivas_spar_md_dec_fx.c b/lib_dec/ivas_spar_md_dec_fx.c index 54fc60583..6f5c324a6 100644 --- a/lib_dec/ivas_spar_md_dec_fx.c +++ b/lib_dec/ivas_spar_md_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -904,17 +876,6 @@ void ivas_spar_md_dec_process_fx( ivas_get_spar_matrices_fx( hMdDec, num_bands_out, num_md_sub_frames, bw, dtx_vad, nB, num_md_chs, active_w_vlbr, dyn_active_w_flag ); -#ifdef DEBUG_SPAR_DIRAC_WRITE_OUT_PRED_PARS - { - static FILE *fid = 0; - int16_t band = 9; - if ( !fid ) - { - fid = fopen( "pred_coeffs_dec.txt", "wt" ); - } - fprintf( fid, "%.6f\n", hMdDec->mixer_mat[1][0][band] ); - } -#endif ivas_spar_md_fill_invalid_bands_fx( &hMdDec->spar_coeffs, &hMdDec->spar_coeffs_prev, &hMdDec->valid_bands[0], &hMdDec->base_band_age[0], num_bands_out, num_md_chs, num_md_sub_frames ); diff --git a/lib_dec/ivas_stat_dec.h b/lib_dec/ivas_stat_dec.h index 8a1444278..75dd54fb0 100644 --- a/lib_dec/ivas_stat_dec.h +++ b/lib_dec/ivas_stat_dec.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_STAT_DEC_H #define IVAS_STAT_DEC_H @@ -1114,11 +1086,7 @@ typedef struct Decoder_Struct UWord16 *bit_stream; /* Pointer to bitstream buffer */ Word16 writeFECoffset; /* parameter for debugging JBM stuff */ -#ifdef FIX_1585_ASAN_FORMAT_SW_ALT Word32 *mem_hp20_out_fx[MAX_OUTPUT_CHANNELS + MAX_NUM_OBJECTS]; /* output signals HP filter memories */ -#else - Word32 **mem_hp20_out_fx; /* output signals HP filter memories */ -#endif IVAS_LIMITER_HANDLE hLimiter; /* Limiter handle */ /* core-decoder modules */ @@ -1194,9 +1162,7 @@ typedef struct Decoder_Struct Word16 ism_extmeta_active; /* Extended metadata active in decoder */ Word16 ism_extmeta_cnt; /* Change frame counter for extended metadata */ -#ifdef TMP_1342_WORKAROUND_DEC_FLUSH_BROKEN_IN_SR Word16 flushing; -#endif Word16 restartNeeded; /* Flag to signal decoder restart */ } Decoder_Struct; diff --git a/lib_dec/ivas_stereo_adapt_GR_dec_fx.c b/lib_dec/ivas_stereo_adapt_GR_dec_fx.c index 064f31719..564eb759d 100644 --- a/lib_dec/ivas_stereo_adapt_GR_dec_fx.c +++ b/lib_dec/ivas_stereo_adapt_GR_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_stereo_cng_dec_fx.c b/lib_dec/ivas_stereo_cng_dec_fx.c index bf09e2336..dca5aae24 100644 --- a/lib_dec/ivas_stereo_cng_dec_fx.c +++ b/lib_dec/ivas_stereo_cng_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_stereo_dft_dec_dmx_fx.c b/lib_dec/ivas_stereo_dft_dec_dmx_fx.c index 125063b3f..d4a325515 100644 --- a/lib_dec/ivas_stereo_dft_dec_dmx_fx.c +++ b/lib_dec/ivas_stereo_dft_dec_dmx_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_dec/ivas_stereo_dft_dec_fx.c b/lib_dec/ivas_stereo_dft_dec_fx.c index 60bab87f0..d10270ef0 100644 --- a/lib_dec/ivas_stereo_dft_dec_fx.c +++ b/lib_dec/ivas_stereo_dft_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -41,9 +13,6 @@ #include "ivas_rom_dec.h" #include "wmc_auto.h" #include "basop_util.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*-------------------------------------------------------------------* @@ -115,21 +84,13 @@ void stereo_dft_dec_reset_fx( set16_fx( hStereoDft->res_pred_index_previous, 0, STEREO_DFT_BAND_MAX ); -#ifdef FIX_BASOP_2560_STEREO_DFT_DEC_RESET FOR( i = 0; i < STEREO_DFT_BAND_MAX; i++ ) -#else - FOR( i = 0; i < STEREO_DFT_BAND_MAX * 2; i++ ) -#endif { hStereoDft->res_gains_ind_fx[0][i] = 1006632960; /* 15.0f in Q26 */ move32(); } -#ifdef FIX_BASOP_2560_STEREO_DFT_DEC_RESET set32_fx( hStereoDft->res_gains_ind_fx[1], 0, STEREO_DFT_BAND_MAX ); -#else - set32_fx( hStereoDft->res_gains_ind_fx[1], 0, STEREO_DFT_BAND_MAX * 2 ); -#endif /*residual coding*/ set16_fx( hStereoDft->res_cod_mode, hStereoDft->hConfig->res_cod_mode, STEREO_DFT_DEC_DFT_NB ); @@ -4419,9 +4380,6 @@ void stereo_dft_dec_read_BS_fx( hStereoDft->res_global_gain_fx = ECSQ_dequantize_gain_fx( I ); /* Q15 */ move32(); -#ifdef DEBUGGING - dbgwrite_txt( (const float *) ( &hStereoDft->res_global_gain_fx ), 1, "fixed_res_global_gain.txt", NULL ); -#endif ecsq_inst.config_index = sub( shl( hStereoDft->res_cod_mode[k_offset], 1 ), 1 ); /* Q0 */ move16(); @@ -4439,9 +4397,6 @@ void stereo_dft_dec_read_BS_fx( ECSQ_dequantize_vector_fx( dec, hStereoDft->res_global_gain_fx, hStereoDft->res_cod_line_max, res_buf_fx ); -#ifdef DEBUGGING - dbgwrite_txt( (const float *) res_buf_fx, hStereoDft->res_cod_line_max, "fixed_res_buf.txt", NULL ); -#endif } ELSE { diff --git a/lib_dec/ivas_stereo_dft_plc_fx.c b/lib_dec/ivas_stereo_dft_plc_fx.c index 670b19e36..16ed90470 100644 --- a/lib_dec/ivas_stereo_dft_plc_fx.c +++ b/lib_dec/ivas_stereo_dft_plc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_stereo_eclvq_dec_fx.c b/lib_dec/ivas_stereo_eclvq_dec_fx.c index f487d2f0c..4f008bd93 100644 --- a/lib_dec/ivas_stereo_eclvq_dec_fx.c +++ b/lib_dec/ivas_stereo_eclvq_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_stereo_esf_dec_fx.c b/lib_dec/ivas_stereo_esf_dec_fx.c index a438c3e5c..9bda4f8ca 100644 --- a/lib_dec/ivas_stereo_esf_dec_fx.c +++ b/lib_dec/ivas_stereo_esf_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_stereo_ica_dec_fx.c b/lib_dec/ivas_stereo_ica_dec_fx.c index 9345fccae..2258f8ba8 100644 --- a/lib_dec/ivas_stereo_ica_dec_fx.c +++ b/lib_dec/ivas_stereo_ica_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_dec/ivas_stereo_icbwe_dec_fx.c b/lib_dec/ivas_stereo_icbwe_dec_fx.c index 0ccd2ed43..26baabfaf 100644 --- a/lib_dec/ivas_stereo_icbwe_dec_fx.c +++ b/lib_dec/ivas_stereo_icbwe_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_dec/ivas_stereo_mdct_core_dec_fx.c b/lib_dec/ivas_stereo_mdct_core_dec_fx.c index d40505a35..27f14e7cf 100644 --- a/lib_dec/ivas_stereo_mdct_core_dec_fx.c +++ b/lib_dec/ivas_stereo_mdct_core_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_dec/ivas_stereo_mdct_stereo_dec_fx.c b/lib_dec/ivas_stereo_mdct_stereo_dec_fx.c index 6e5fa6b77..69639695d 100644 --- a/lib_dec/ivas_stereo_mdct_stereo_dec_fx.c +++ b/lib_dec/ivas_stereo_mdct_stereo_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_dec/ivas_stereo_switching_dec_fx.c b/lib_dec/ivas_stereo_switching_dec_fx.c index f0684a3f4..8edd7b9c4 100644 --- a/lib_dec/ivas_stereo_switching_dec_fx.c +++ b/lib_dec/ivas_stereo_switching_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -82,10 +54,8 @@ static ivas_error allocate_CoreCoder_TCX_fx( st->hTcxDec->q_old_synth = 0; move16(); set16_fx( st->hTcxDec->synth_history_fx, 0, L_PROT48k + L_FRAME48k ); -#ifdef FIX_BASOP_2559_Q_SYNTH_HISTORY_RESET st->hTcxDec->q_synth_history_fx = 0; move16(); -#endif } IF( st->hTcxCfg == NULL ) diff --git a/lib_dec/ivas_stereo_td_dec_fx.c b/lib_dec/ivas_stereo_td_dec_fx.c index 39b861ace..f052f947c 100644 --- a/lib_dec/ivas_stereo_td_dec_fx.c +++ b/lib_dec/ivas_stereo_td_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_svd_dec_fx.c b/lib_dec/ivas_svd_dec_fx.c index 775cbcfeb..baa5c1839 100755 --- a/lib_dec/ivas_svd_dec_fx.c +++ b/lib_dec/ivas_svd_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -49,9 +21,6 @@ #define SVD_ZERO_FLUSH_THRESHOLD_FX ( 0 ) #define CONVERGENCE_FACTOR_FX 214748 /* factor for SVD convergence (as per latest float code: 1.0e-04f) */ -#ifndef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW -#define MINUS_ONE_IN_Q31 ( -2147483647 - 1 ) -#endif /*-----------------------------------------------------------------------* * Local function prototypes diff --git a/lib_dec/ivas_tcx_core_dec_fx.c b/lib_dec/ivas_tcx_core_dec_fx.c index eb5c88faa..cae906804 100644 --- a/lib_dec/ivas_tcx_core_dec_fx.c +++ b/lib_dec/ivas_tcx_core_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_dec/ivas_td_low_rate_dec_fx.c b/lib_dec/ivas_td_low_rate_dec_fx.c index a5141e398..5f0bc16c1 100644 --- a/lib_dec/ivas_td_low_rate_dec_fx.c +++ b/lib_dec/ivas_td_low_rate_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/jbm_jb4_circularbuffer.h b/lib_dec/jbm_jb4_circularbuffer.h index 4817f1649..0d60ad008 100644 --- a/lib_dec/jbm_jb4_circularbuffer.h +++ b/lib_dec/jbm_jb4_circularbuffer.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_dec/jbm_jb4_circularbuffer_fx.c b/lib_dec/jbm_jb4_circularbuffer_fx.c index b26e8c49e..5734583e7 100644 --- a/lib_dec/jbm_jb4_circularbuffer_fx.c +++ b/lib_dec/jbm_jb4_circularbuffer_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_dec/jbm_jb4_inputbuffer.h b/lib_dec/jbm_jb4_inputbuffer.h index efd782488..9e4699d2e 100644 --- a/lib_dec/jbm_jb4_inputbuffer.h +++ b/lib_dec/jbm_jb4_inputbuffer.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_dec/jbm_jb4_inputbuffer_fx.c b/lib_dec/jbm_jb4_inputbuffer_fx.c index 9dc813022..63303cf8b 100644 --- a/lib_dec/jbm_jb4_inputbuffer_fx.c +++ b/lib_dec/jbm_jb4_inputbuffer_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_dec/jbm_jb4_jmf.h b/lib_dec/jbm_jb4_jmf.h index a55991780..ca8da234a 100644 --- a/lib_dec/jbm_jb4_jmf.h +++ b/lib_dec/jbm_jb4_jmf.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_dec/jbm_jb4_jmf_fx.c b/lib_dec/jbm_jb4_jmf_fx.c index ba17c5cd8..e025273a6 100644 --- a/lib_dec/jbm_jb4_jmf_fx.c +++ b/lib_dec/jbm_jb4_jmf_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_dec/jbm_jb4sb.h b/lib_dec/jbm_jb4sb.h index ced9edadb..4c96a515a 100644 --- a/lib_dec/jbm_jb4sb.h +++ b/lib_dec/jbm_jb4sb.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 @@ -86,9 +58,7 @@ void JB4_Destroy( JB4_HANDLE *ph ); ivas_error JB4_Init( JB4_HANDLE h, const Word16 safetyMargin ); -#ifdef NONBE_1122_KEEP_EVS_MODE_UNCHANGED void JB4_TMP_SetEvsCompatFlag( JB4_HANDLE h ); -#endif JB4_DATAUNIT_HANDLE JB4_AllocDataUnit( JB4_HANDLE h ); diff --git a/lib_dec/jbm_jb4sb_fx.c b/lib_dec/jbm_jb4sb_fx.c index e93e4f7cf..a8af7724c 100644 --- a/lib_dec/jbm_jb4sb_fx.c +++ b/lib_dec/jbm_jb4sb_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 @@ -197,9 +169,7 @@ struct JB4 JB4_DATAUNIT_HANDLE freeMemorySlots[MAX_JBM_SLOTS]; UWord16 nFreeMemorySlots; /*@} */ -#ifdef NONBE_1122_KEEP_EVS_MODE_UNCHANGED bool evsMode; -#endif }; /* JB4 */ @@ -325,10 +295,8 @@ ivas_error JB4_Create( } h->nFreeMemorySlots = MAX_JBM_SLOTS; move16(); -#ifdef NONBE_1122_KEEP_EVS_MODE_UNCHANGED h->evsMode = false; move16(); -#endif *ph = h; return IVAS_ERR_OK; @@ -413,13 +381,11 @@ ivas_error JB4_Init( return IVAS_ERR_OK; } -#ifdef NONBE_1122_KEEP_EVS_MODE_UNCHANGED void JB4_TMP_SetEvsCompatFlag( JB4_HANDLE h ) { h->evsMode = true; move16(); } -#endif /* Returns a memory slot to store a new data unit */ JB4_DATAUNIT_HANDLE JB4_AllocDataUnit( @@ -773,15 +739,11 @@ static void JB4_targetPlayoutDelay( move32(); move32(); -#ifdef NONBE_1122_KEEP_EVS_MODE_UNCHANGED IF( !h->evsMode ) { -#endif *targetDtx = JB4_MAX( *targetDtx, (UWord32) h->safetyMargin ); move32(); -#ifdef NONBE_1122_KEEP_EVS_MODE_UNCHANGED } -#endif *targetStartUp = JB4_MAX( *targetStartUp, (UWord32) h->safetyMargin ); move32(); diff --git a/lib_dec/jbm_pcmdsp_apa.h b/lib_dec/jbm_pcmdsp_apa.h index 220d301a7..30a3b3d37 100644 --- a/lib_dec/jbm_pcmdsp_apa.h +++ b/lib_dec/jbm_pcmdsp_apa.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_dec/jbm_pcmdsp_apa_fx.c b/lib_dec/jbm_pcmdsp_apa_fx.c index 9a7a88bf1..bbc094bfc 100644 --- a/lib_dec/jbm_pcmdsp_apa_fx.c +++ b/lib_dec/jbm_pcmdsp_apa_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 @@ -881,16 +853,6 @@ UWord8 apa_exec_fx( move32(); } -#ifdef DEBUG_APA_SILENCE_NON_SCALED - IF( l_in == *l_out ) - { - set_s( a_out, 0, *l_out ); - } - ELSE - { - set_s( a_out, INT16_MAX, *l_out ); - } -#endif return 0; } diff --git a/lib_dec/jbm_pcmdsp_fifo.h b/lib_dec/jbm_pcmdsp_fifo.h index 77e9b655c..944a1133b 100644 --- a/lib_dec/jbm_pcmdsp_fifo.h +++ b/lib_dec/jbm_pcmdsp_fifo.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_dec/jbm_pcmdsp_similarityestimation.h b/lib_dec/jbm_pcmdsp_similarityestimation.h index 7a6d9f6da..1e065f8b1 100644 --- a/lib_dec/jbm_pcmdsp_similarityestimation.h +++ b/lib_dec/jbm_pcmdsp_similarityestimation.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_dec/jbm_pcmdsp_similarityestimation_fx.c b/lib_dec/jbm_pcmdsp_similarityestimation_fx.c index e088a38a6..65fd679c4 100644 --- a/lib_dec/jbm_pcmdsp_similarityestimation_fx.c +++ b/lib_dec/jbm_pcmdsp_similarityestimation_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_dec/jbm_pcmdsp_window.h b/lib_dec/jbm_pcmdsp_window.h index c18d11ec7..e3a7143fe 100644 --- a/lib_dec/jbm_pcmdsp_window.h +++ b/lib_dec/jbm_pcmdsp_window.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_dec/jbm_pcmdsp_window_fx.c b/lib_dec/jbm_pcmdsp_window_fx.c index 73faf37e2..c10da2567 100644 --- a/lib_dec/jbm_pcmdsp_window_fx.c +++ b/lib_dec/jbm_pcmdsp_window_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_dec/lead_deindexing_fx.c b/lib_dec/lead_deindexing_fx.c index 3773990a1..452ee40d9 100644 --- a/lib_dec/lead_deindexing_fx.c +++ b/lib_dec/lead_deindexing_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/lib_dec.h b/lib_dec/lib_dec.h index 89d2e967c..794ec3152 100644 --- a/lib_dec/lib_dec.h +++ b/lib_dec/lib_dec.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef LIB_DEC_H #define LIB_DEC_H @@ -128,13 +100,11 @@ ivas_error IVAS_DEC_Configure( const bool delayCompensationEnabled /* i : enable delay compensation */ ); -#ifdef FIX_FMSW_DEC ivas_error IVAS_DEC_Restart( IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ const IVAS_DEC_MODE mode /* i : compatibility mode (EVS or IVAS) */ ); -#endif void IVAS_DEC_Close( IVAS_DEC_HANDLE *phIvasDec /* i/o: pointer to IVAS decoder handle */ ); @@ -289,17 +259,6 @@ ivas_error IVAS_DEC_VoIP_SetScale( const Word16 scale /* i : TSM scale to set */ ); -#ifdef VARIABLE_SPEED_DECODING -ivas_error IVAS_DEC_EnableTsm( - IVAS_DEC_HANDLE hIvasDec /* i/o: IVAS decoder handle */ -); - -ivas_error IVAS_DEC_TSM_SetQuality( - IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ - const Word16 quality /* i : target TSM quality Q14 */ -); - -#endif /*! r: error code */ ivas_error IVAS_DEC_VoIP_GetSamples( IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ diff --git a/lib_dec/lib_dec_fx.c b/lib_dec/lib_dec_fx.c index c5b9a765e..ac7ef9c22 100644 --- a/lib_dec/lib_dec_fx.c +++ b/lib_dec/lib_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************************************** (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, @@ -81,9 +84,6 @@ struct IVAS_DEC bool isInitialized; Word16 bitstreamformat; /* Bitstream format flag (G.192/MIME/VOIP_G192_RTP/VOIP_RTPDUMP) */ -#ifdef DEBUGGING - bool Opt_VOIP; /* flag indicating VOIP mode with JBM */ -#endif Word16 tsm_scale; /* scale for TSM operation */ Word16 tsm_max_scaling; Word16 timeScalingDone; /* have we done already one TSM in a 20ms frame? */ @@ -129,7 +129,6 @@ static Word16 ivas_dec_split_rend_cldfb_in( const RENDERER_TYPE renderer_type ); static void update_voip_rendered20ms( IVAS_DEC_HANDLE hIvasDec, const Word16 nSamplesRendered ); -#ifdef FIX_FMSW_DEC /*---------------------------------------------------------------------* * ivas_dec_handle_init() @@ -167,7 +166,6 @@ static ivas_error ivas_dec_handle_init( move16(); move16(); -#ifdef FIX_FMSW_DEC_2 st_ivas->last_ivas_format = UNDEFINED_FORMAT; st_ivas->nSCE = 0; st_ivas->nCPE = 0; @@ -175,7 +173,6 @@ static ivas_error ivas_dec_handle_init( move16(); move16(); -#endif IF( EQ_16( mode, IVAS_DEC_MODE_EVS ) ) { st_ivas->element_mode_init = EVS_MONO; @@ -217,7 +214,6 @@ static ivas_error ivas_dec_handle_init( return IVAS_ERR_WRONG_PARAMS; } -#endif /*---------------------------------------------------------------------* * IVAS_DEC_Open() @@ -239,13 +235,11 @@ ivas_error IVAS_DEC_Open( return IVAS_ERR_UNEXPECTED_NULL_POINTER; } -#ifdef FIX_FMSW_DEC if ( *phIvasDec != NULL ) { return IVAS_ERR_WRONG_PARAMS; } -#endif /*-----------------------------------------------------------------* * Allocate and initialize IVAS application decoder handle *-----------------------------------------------------------------*/ @@ -295,10 +289,6 @@ ivas_error IVAS_DEC_Open( hIvasDec->bitstreamformat = G192; move16(); -#ifdef DEBUGGING - hIvasDec->Opt_VOIP = 0; - move16(); -#endif hIvasDec->amrwb_rfc4867_flag = -1; hIvasDec->prev_ft_speech = 1; /* RXDTX handler previous frametype flag for G.192 format AMRWB SID_FIRST detection */ hIvasDec->CNG = 0; /* RXDTX handler CNG = 1, no CNG = 0*/ @@ -326,79 +316,16 @@ ivas_error IVAS_DEC_Open( st_ivas = hIvasDec->st_ivas; -#ifdef FIX_FMSW_DEC st_ivas->restartNeeded = 0; move16(); -#endif /* initialize Decoder Config. handle */ init_decoder_config( hIvasDec->st_ivas->hDecoderConfig ); -#ifdef FIX_FMSW_DEC /* Set IVAS decoder handles to NULL + set high-level parameters */ return ivas_dec_handle_init( st_ivas, mode, &( hIvasDec->hasDecodedFirstGoodFrame ) ); -#else - /* initialize pointers to handles to NULL */ - ivas_initialize_handles_dec( st_ivas ); - - st_ivas->restartNeeded = 0; - move16(); - - /* set high-level parameters */ - st_ivas->codec_mode = 0; /* unknown before first frame */ - st_ivas->transport_config = IVAS_AUDIO_CONFIG_INVALID; - st_ivas->intern_config = IVAS_AUDIO_CONFIG_INVALID; - st_ivas->writeFECoffset = 0; - st_ivas->sba_analysis_order = 0; /* not really used in EVS mode, but initialize here to fix MSAN complaint */ - move16(); - move16(); - move16(); - move16(); - move16(); - - IF( EQ_16( mode, IVAS_DEC_MODE_EVS ) ) - { - st_ivas->element_mode_init = EVS_MONO; - st_ivas->ivas_format = MONO_FORMAT; - hIvasDec->hasDecodedFirstGoodFrame = true; /* Functionality to suppress output for initial lost frames is disabled in EVS operation */ - move16(); - move16(); - move16(); - - return IVAS_ERR_OK; - } - ELSE IF( EQ_16( mode, IVAS_DEC_MODE_IVAS ) ) - { - st_ivas->element_mode_init = -1; - st_ivas->ivas_format = UNDEFINED_FORMAT; - st_ivas->renderer_type = RENDERER_DISABLE; - st_ivas->ini_frame = 0; - st_ivas->ini_active_frame = 0; - - st_ivas->ism_mode = ISM_MODE_NONE; - st_ivas->mc_mode = MC_MODE_NONE; - - st_ivas->sba_order = 0; - st_ivas->sba_planar = 0; - - move16(); - move16(); - move16(); - move16(); - move16(); - move16(); - move16(); - move16(); - move16(); - - return IVAS_ERR_OK; - } - - return IVAS_ERR_WRONG_PARAMS; -#endif } -#ifdef FIX_FMSW_DEC /*---------------------------------------------------------------------* * IVAS_DEC_Restart() @@ -423,19 +350,14 @@ ivas_error IVAS_DEC_Restart( { return IVAS_ERR_OK; } -#ifdef FIX_FMSW_DEC_2 ELSE { /* switching between EVS and IVAS signaled in RTP */ hIvasDec->st_ivas->restartNeeded = 1; move16(); } -#else - return IVAS_ERR_WRONG_PARAMS; -#endif } -#ifdef FIX_FMSW_DEC_2 IF( NE_16( hIvasDec->mode, mode ) ) /* handle switching between EVS and IVAS */ { /* initialize JBM */ @@ -452,7 +374,6 @@ ivas_error IVAS_DEC_Restart( move16(); } -#endif hIvasDec->mode = mode; move16(); @@ -466,7 +387,6 @@ ivas_error IVAS_DEC_Restart( return ivas_dec_handle_init( hIvasDec->st_ivas, mode, &( hIvasDec->hasDecodedFirstGoodFrame ) ); } -#endif /*-------------------------------------------------------------------------* * isar_set_split_rend_setup() @@ -588,12 +508,7 @@ void IVAS_DEC_Close( ivas_destroy_handle_isar( &( *phIvasDec )->st_ivas->hSplitBinRend ); /* destroy IVAS decoder handles */ -#ifdef FIX_FMSW_DEC ivas_destroy_dec_fx( &( *phIvasDec )->st_ivas ); -#else - ivas_destroy_dec_fx( ( *phIvasDec )->st_ivas ); - ( *phIvasDec )->st_ivas = NULL; -#endif } apa_exit( &( *phIvasDec )->hTimeScaler ); @@ -1098,9 +1013,6 @@ ivas_error IVAS_DEC_EnableVoIP( hDecoderConfig = hIvasDec->st_ivas->hDecoderConfig; -#ifdef DEBUGGING - hIvasDec->Opt_VOIP = 1; -#endif hDecoderConfig->Opt_tsm = 1; move16(); move16(); @@ -1148,12 +1060,10 @@ ivas_error IVAS_DEC_EnableVoIP( return IVAS_ERR_FAILED_ALLOC; } -#ifdef NONBE_1122_KEEP_EVS_MODE_UNCHANGED if ( EQ_16( hIvasDec->mode, IVAS_DEC_MODE_EVS ) ) { JB4_TMP_SetEvsCompatFlag( hIvasDec->hVoIP->hJBM ); } -#endif /* init flush buffer (needed for binaural outputs) */ IF( ( error = create_flush_buffer_fx( hIvasDec ) ) != IVAS_ERR_OK ) @@ -1771,9 +1681,7 @@ ivas_error IVAS_DEC_GetSplitBinauralBitstream( scale_sig32( p_head_pose_buf[i], numSamplesPerChannelToOutput, sub( Q11, Q_out[i] ) ); // Q11 } -#ifndef DISABLE_LIMITER ivas_limiter_dec_fx( st_ivas->hLimiter, p_head_pose_buf, st_ivas->hDecoderConfig->nchan_out, numSamplesPerChannelToOutput, st_ivas->BER_detect, Q11 ); -#endif ivas_syn_output_fx( p_head_pose_buf, Q11, numSamplesPerChannelToOutput, st_ivas->hDecoderConfig->nchan_out, pcmBuf_out ); } @@ -3670,90 +3578,6 @@ ivas_error IVAS_DEC_VoIP_SetScale( return IVAS_ERR_OK; } -#ifdef VARIABLE_SPEED_DECODING - -/*---------------------------------------------------------------------* - * IVAS_DEC_EnableTsm( ) - * - * Enable Time-Scale Modification (TSM) - *---------------------------------------------------------------------*/ - -ivas_error IVAS_DEC_EnableTsm( - IVAS_DEC_HANDLE hIvasDec /* i/o: IVAS decoder handle */ -) -{ - AUDIO_CONFIG output_config; - ivas_error error; - - test(); - IF( hIvasDec == NULL || hIvasDec->st_ivas == NULL ) - { - return IVAS_ERR_UNEXPECTED_NULL_POINTER; - } - - hIvasDec->st_ivas->hDecoderConfig->Opt_tsm = 1; - move16(); - - /* Init flush buffer if necessary (only needed for binaural) */ - output_config = hIvasDec->st_ivas->hDecoderConfig->output_config; - - test(); - test(); - test(); - test(); - test(); - IF( hIvasDec->flushbuffer == NULL && ( EQ_32( output_config, IVAS_AUDIO_CONFIG_BINAURAL ) || EQ_32( output_config == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR ) || EQ_32( output_config == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) || EQ_32( output_config == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED ) || EQ_32( output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) ) ) - { - IF( ( error = create_flush_buffer( hIvasDec ) ) != IVAS_ERR_OK ) - { - return error; - } - } - - return IVAS_ERR_OK; -} - - -/*---------------------------------------------------------------------* - * IVAS_DEC_TSM_SetQuality( ) - * - * set the quality theshold for the time scale modiciation that is used - * to determine if the TSM yielded a signal that satisfies the minimum - * quality requirements. - * quality is lower limit for minimum quality - * Range is [-2;2] - where positive values allow - * only pasting with same phase information - * Negative values would yield cross phased pasting - * When not setting the minimum quality with this function the default - * value used is 1.0f - * - *---------------------------------------------------------------------*/ - -ivas_error IVAS_DEC_TSM_SetQuality( - IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ - const Word16 quality /* i : target TSM quality Q14 */ -) -{ - test(); - IF( hIvasDec == NULL || hIvasDec->st_ivas == NULL ) - { - return IVAS_ERR_UNEXPECTED_NULL_POINTER; - } - - IF( !hIvasDec->st_ivas->hDecoderConfig->Opt_tsm ) - { - return IVAS_ERR_TSM_NOT_ENABLED; - } - ELSE - { - hIvasDec->tsm_quality = quality; // Q14 - move16(); - } - - return IVAS_ERR_OK; -} - -#endif /*---------------------------------------------------------------------* * renderer_type_to_mode() @@ -4331,12 +4155,6 @@ ivas_error IVAS_DEC_GetEditableParameters( hIvasEditableParameters->num_obj = 0; move16(); } -#ifdef DEBUGGING - ELSE - { - assert( 0 && "This should never happen!" ); - } -#endif } ELSE IF( EQ_32( st_ivas->ivas_format, MASA_ISM_FORMAT ) || ( EQ_32( st_ivas->ivas_format, MASA_FORMAT ) && GT_16( st_ivas->nchan_ism, 0 ) ) ) { @@ -4407,12 +4225,6 @@ ivas_error IVAS_DEC_GetEditableParameters( hIvasEditableParameters->num_obj = 0; move16(); } -#ifdef DEBUGGING - ELSE - { - assert( 0 && "This should never happen!" ); - } -#endif } return IVAS_ERR_OK; @@ -4468,9 +4280,6 @@ ivas_error IVAS_DEC_SetEditableParameters( test(); IF( EQ_32( ism_mode, ISM_MODE_DISC ) || EQ_32( ism_mode, ISM_SBA_MODE_DISC ) ) { -#ifdef DEBUGGING - assert( hIvasEditableParameters.num_obj == st_ivas->nchan_ism ); -#endif FOR( obj = 0; obj < hIvasEditableParameters.num_obj; obj++ ) { st_ivas->hIsmMetaData[obj]->edited_azimuth_fx = hIvasEditableParameters.ism_metadata[obj].azimuth_fx; @@ -4513,9 +4322,6 @@ ivas_error IVAS_DEC_SetEditableParameters( } ELSE IF( EQ_32( ism_mode, ISM_MODE_PARAM ) ) { -#ifdef DEBUGGING - assert( hIvasEditableParameters.num_obj == st_ivas->nchan_ism ); -#endif FOR( obj = 0; obj < hIvasEditableParameters.num_obj; obj++ ) { st_ivas->hParamIsmDec->edited_azimuth_values_fx[obj] = hIvasEditableParameters.ism_metadata[obj].azimuth_fx; @@ -4581,21 +4387,12 @@ ivas_error IVAS_DEC_SetEditableParameters( return IVAS_ERR_OBJECTS_EDITING_NOT_SUPPORTED; } } -#ifdef DEBUGGING - ELSE - { - assert( 0 && "This should never happen!" ); - } -#endif } ELSE IF( EQ_16( st_ivas->ivas_format, MASA_ISM_FORMAT ) && ( EQ_16( ism_mode, ISM_MASA_MODE_PARAM_ONE_OBJ ) || EQ_16( ism_mode, ISM_MASA_MODE_DISC ) ) ) { Word32 id_th; Word32 threshold_azi, threshold_ele; -#ifdef DEBUGGING - assert( hIvasEditableParameters.num_obj == st_ivas->nchan_ism ); -#endif FOR( obj = 0; obj < hIvasEditableParameters.num_obj; obj++ ) { IF( st_ivas->hMasaIsmData != NULL ) @@ -5104,9 +4901,7 @@ IF( hIvasDec->hasDecodedFirstGoodFrame &&splitRendBits != NULL ) scale_sig32( p_head_pose_buf[i], *nSamplesRendered, sub( Q11, Q_out[i] ) ); // Q11 } -#ifndef DISABLE_LIMITER ivas_limiter_dec_fx( st_ivas->hLimiter, p_head_pose_buf, st_ivas->hDecoderConfig->nchan_out, *nSamplesRendered, st_ivas->BER_detect, Q11 ); -#endif ivas_syn_output_fx( p_head_pose_buf, Q11, *nSamplesRendered, st_ivas->hDecoderConfig->nchan_out, pcmBuf ); } @@ -5269,10 +5064,8 @@ ivas_error IVAS_DEC_Flush( return IVAS_ERR_UNEXPECTED_NULL_POINTER; } -#ifdef TMP_1342_WORKAROUND_DEC_FLUSH_BROKEN_IN_SR hIvasDec->st_ivas->flushing = 1; move16(); -#endif *nSamplesFlushed = s_min( nSamplesPerChannel, hIvasDec->nSamplesAvailableNext ); move16(); @@ -5295,10 +5088,8 @@ ivas_error IVAS_DEC_Flush( move16(); } -#ifdef TMP_1342_WORKAROUND_DEC_FLUSH_BROKEN_IN_SR hIvasDec->st_ivas->flushing = 0; move16(); -#endif return error; } @@ -5830,10 +5621,8 @@ static ivas_error evs_dec_main_fx( st_ivas->BER_detect = hCoreCoder[0]->BER_detect; move16(); -#ifdef FIX_FMSW_DEC st_ivas->last_ivas_format = MONO_FORMAT; move16(); -#endif /*if ( st_ivas->hDecoderConfig->Opt_tsm && st_ivas->hDecoderConfig->output_config == IVAS_AUDIO_CONFIG_MONO )*/ { @@ -6589,25 +6378,6 @@ static void setDiegeticInputPI( return; } -#ifdef DEBUGGING - -/*---------------------------------------------------------------------* - * fixedToFloat( ) - * - * - *---------------------------------------------------------------------*/ - -static float fixedToFloat( - const Word32 i, - const Word16 Q ) -{ - if ( Q < 0 ) - return ( i * (float) ( ( 1LL ) << ( -Q ) ) ); - else - return (float) ( i ) / (float) ( 1LL << Q ); -} - -#endif /*---------------------------------------------------------------------* * IVAS_DEC_FeedPiDataToDecoder( ) @@ -6644,13 +6414,6 @@ ivas_error IVAS_DEC_FeedPiDataToDecoder( case IVAS_PI_SCENE_ORIENTATION: { IVAS_QUATERNION *quat = &piData->data.scene.orientation; -#ifdef DEBUGGING - fprintf( stdout, "PI_SCENE_ORIENTATION : %f, %f, %f, %f\n", - fixedToFloat( quat->w_fx, Q15 ), - fixedToFloat( quat->x_fx, Q15 ), - fixedToFloat( quat->y_fx, Q15 ), - fixedToFloat( quat->z_fx, Q15 ) ); -#endif error = feedSinglePIorientation( hIvasDec, true, quat ); } BREAK; @@ -6658,13 +6421,6 @@ ivas_error IVAS_DEC_FeedPiDataToDecoder( case IVAS_PI_DEVICE_ORIENTATION_COMPENSATED: { IVAS_QUATERNION *quat = &piData->data.deviceCompensated.orientation; -#ifdef DEBUGGING - fprintf( stdout, "PI_DEVICE_ORIENTATION : %f, %f, %f, %f\n", - fixedToFloat( quat->w_fx, Q15 ), - fixedToFloat( quat->x_fx, Q15 ), - fixedToFloat( quat->y_fx, Q15 ), - fixedToFloat( quat->z_fx, Q15 ) ); -#endif error = feedSinglePIorientation( hIvasDec, true, quat ); } BREAK; @@ -6674,9 +6430,6 @@ ivas_error IVAS_DEC_FeedPiDataToDecoder( UWord16 aeid; aeid = piData->data.acousticEnv.aeid; move16(); -#ifdef DEBUGGING - fprintf( stdout, "PI_ACOUSTIC_ENVIRONMENT : AEID : %d\n", aeid ); -#endif test(); test(); IF( piData->data.acousticEnv.availLateReverb && st_ivas->hRenderConfig != NULL && aeid != st_ivas->hRenderConfig->roomAcoustics.aeID ) @@ -6688,9 +6441,6 @@ ivas_error IVAS_DEC_FeedPiDataToDecoder( case IVAS_PI_DIEGETIC_TYPE: { -#ifdef DEBUGGING - fprintf( stdout, "PI_DIEGETIC_TYPE : %d, %d, %d, %d, %d\n", piData->data.digeticIndicator.isDiegetic[0], piData->data.digeticIndicator.isDiegetic[1], piData->data.digeticIndicator.isDiegetic[2], piData->data.digeticIndicator.isDiegetic[3], piData->data.digeticIndicator.isDiegetic[4] ); -#endif setDiegeticInputPI( hIvasDec, piData->data.digeticIndicator.isDiegetic ); } BREAK; diff --git a/lib_dec/lp_exc_d_fx.c b/lib_dec/lp_exc_d_fx.c index 0ce010ceb..dc6dd36fd 100644 --- a/lib_dec/lp_exc_d_fx.c +++ b/lib_dec/lp_exc_d_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/lsf_dec_fx.c b/lib_dec/lsf_dec_fx.c index b44441aaa..03bca6325 100644 --- a/lib_dec/lsf_dec_fx.c +++ b/lib_dec/lsf_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/lsf_msvq_ma_dec_fx.c b/lib_dec/lsf_msvq_ma_dec_fx.c index 968f57a42..0ab544d7a 100644 --- a/lib_dec/lsf_msvq_ma_dec_fx.c +++ b/lib_dec/lsf_msvq_ma_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/nelp_dec_fx.c b/lib_dec/nelp_dec_fx.c index ff9c44bcd..307c51a9d 100644 --- a/lib_dec/nelp_dec_fx.c +++ b/lib_dec/nelp_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/peak_vq_dec_fx.c b/lib_dec/peak_vq_dec_fx.c index cf12153fd..b3fd4a9fb 100644 --- a/lib_dec/peak_vq_dec_fx.c +++ b/lib_dec/peak_vq_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/pit_dec_fx.c b/lib_dec/pit_dec_fx.c index 98dfc5d20..5fce8842b 100644 --- a/lib_dec/pit_dec_fx.c +++ b/lib_dec/pit_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/pitch_extr_fx.c b/lib_dec/pitch_extr_fx.c index bddaac82b..f0b59422e 100644 --- a/lib_dec/pitch_extr_fx.c +++ b/lib_dec/pitch_extr_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/post_dec_fx.c b/lib_dec/post_dec_fx.c index 3b1b5336a..4eb6dbcaf 100644 --- a/lib_dec/post_dec_fx.c +++ b/lib_dec/post_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/ppp_dec_fx.c b/lib_dec/ppp_dec_fx.c index a9254f68c..1cdbcd5e2 100644 --- a/lib_dec/ppp_dec_fx.c +++ b/lib_dec/ppp_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/pvq_core_dec_fx.c b/lib_dec/pvq_core_dec_fx.c index 6673c9f33..c64eb2e5b 100644 --- a/lib_dec/pvq_core_dec_fx.c +++ b/lib_dec/pvq_core_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/pvq_decode_fx.c b/lib_dec/pvq_decode_fx.c index 30fb67c35..e4001a75a 100644 --- a/lib_dec/pvq_decode_fx.c +++ b/lib_dec/pvq_decode_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/range_dec_fx.c b/lib_dec/range_dec_fx.c index fc68dee35..ccb60c193 100644 --- a/lib_dec/range_dec_fx.c +++ b/lib_dec/range_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/re8_dec_fx.c b/lib_dec/re8_dec_fx.c index 7c88bea92..e631624c2 100644 --- a/lib_dec/re8_dec_fx.c +++ b/lib_dec/re8_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/rom_dec.h b/lib_dec/rom_dec.h index f5eed905b..8bf8a1b35 100644 --- a/lib_dec/rom_dec.h +++ b/lib_dec/rom_dec.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_dec/rom_dec_fx.c b/lib_dec/rom_dec_fx.c index a8254a638..7d5377d6d 100644 --- a/lib_dec/rom_dec_fx.c +++ b/lib_dec/rom_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_dec/rst_dec_fx.c b/lib_dec/rst_dec_fx.c index cce198e33..57642ef5b 100644 --- a/lib_dec/rst_dec_fx.c +++ b/lib_dec/rst_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/stat_dec.h b/lib_dec/stat_dec.h index 58056843e..485a991b4 100644 --- a/lib_dec/stat_dec.h +++ b/lib_dec/stat_dec.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 @@ -1018,9 +990,6 @@ typedef struct Decoder_State Word16 idchan; /* channel ID (audio channel number) */ Word16 element_mode; /* element mode */ -#ifdef DEBUGGING - Word16 id_element; /* element ID */ -#endif Word32 element_brate; /* element bitrate */ Word16 codec_mode; /* Mode 1 or 2 */ Word16 mdct_sw_enable; /* MDCT switching enable flag */ diff --git a/lib_dec/stat_noise_uv_dec_fx.c b/lib_dec/stat_noise_uv_dec_fx.c index b36fec665..b7d3ff18a 100644 --- a/lib_dec/stat_noise_uv_dec_fx.c +++ b/lib_dec/stat_noise_uv_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/swb_bwe_dec_fx.c b/lib_dec/swb_bwe_dec_fx.c index f90928a96..bfd6484fd 100644 --- a/lib_dec/swb_bwe_dec_fx.c +++ b/lib_dec/swb_bwe_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/swb_bwe_dec_hr_fx.c b/lib_dec/swb_bwe_dec_hr_fx.c index ed4fcbbcc..f8af80391 100644 --- a/lib_dec/swb_bwe_dec_hr_fx.c +++ b/lib_dec/swb_bwe_dec_hr_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/swb_bwe_dec_lr_fx.c b/lib_dec/swb_bwe_dec_lr_fx.c index c7c94adac..65d0661e8 100644 --- a/lib_dec/swb_bwe_dec_lr_fx.c +++ b/lib_dec/swb_bwe_dec_lr_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/swb_tbe_dec_fx.c b/lib_dec/swb_tbe_dec_fx.c index c8dfc5a5d..66eeb9956 100644 --- a/lib_dec/swb_tbe_dec_fx.c +++ b/lib_dec/swb_tbe_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/syn_outp_fx.c b/lib_dec/syn_outp_fx.c index 82d5b1cab..3b4738acf 100644 --- a/lib_dec/syn_outp_fx.c +++ b/lib_dec/syn_outp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/tcq_core_dec_fx.c b/lib_dec/tcq_core_dec_fx.c index adebdb703..f32a4d2d7 100644 --- a/lib_dec/tcq_core_dec_fx.c +++ b/lib_dec/tcq_core_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/tcx_utils_dec_fx.c b/lib_dec/tcx_utils_dec_fx.c index 2c35ec0bc..dd248c47e 100644 --- a/lib_dec/tcx_utils_dec_fx.c +++ b/lib_dec/tcx_utils_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/tns_base_dec_fx.c b/lib_dec/tns_base_dec_fx.c index aa154531b..ac137e1d9 100644 --- a/lib_dec/tns_base_dec_fx.c +++ b/lib_dec/tns_base_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/tonalMDCTconcealment_fx.c b/lib_dec/tonalMDCTconcealment_fx.c index e45aac27c..1e5161f87 100644 --- a/lib_dec/tonalMDCTconcealment_fx.c +++ b/lib_dec/tonalMDCTconcealment_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/transition_dec_fx.c b/lib_dec/transition_dec_fx.c index 8fb036d2a..0904a1b54 100644 --- a/lib_dec/transition_dec_fx.c +++ b/lib_dec/transition_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/updt_dec_fx.c b/lib_dec/updt_dec_fx.c index 3efd07722..81d5dea0f 100644 --- a/lib_dec/updt_dec_fx.c +++ b/lib_dec/updt_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/vlpc_1st_dec_fx.c b/lib_dec/vlpc_1st_dec_fx.c index b77d7fce2..edec6ea4e 100644 --- a/lib_dec/vlpc_1st_dec_fx.c +++ b/lib_dec/vlpc_1st_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/vlpc_2st_dec_fx.c b/lib_dec/vlpc_2st_dec_fx.c index a4c1c9e7e..eca68a871 100644 --- a/lib_dec/vlpc_2st_dec_fx.c +++ b/lib_dec/vlpc_2st_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/voiced_dec_fx.c b/lib_dec/voiced_dec_fx.c index 2108baad5..8a2da63bb 100644 --- a/lib_dec/voiced_dec_fx.c +++ b/lib_dec/voiced_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_dec/waveadjust_fec_dec_fx.c b/lib_dec/waveadjust_fec_dec_fx.c index 8ac2be167..480c610ad 100644 --- a/lib_dec/waveadjust_fec_dec_fx.c +++ b/lib_dec/waveadjust_fec_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/ACcontextMapping_enc_fx.c b/lib_enc/ACcontextMapping_enc_fx.c index 46d941a8d..7283c89c6 100644 --- a/lib_enc/ACcontextMapping_enc_fx.c +++ b/lib_enc/ACcontextMapping_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -41,11 +44,7 @@ void ACcontextMapping_encode2_no_mem_s17_LC_fx( CONTEXT_HM_CONFIG *hm_cfg ) { Word16 ptr[BITBUFSIZE]; -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC Tastat as, as_overflow; -#else - TastatEnc as, as_overflow; -#endif Word16 bp, bp_overflow; Word16 a1, b1, a1_i, b1_i, k; Word16 t, pki, lev1; @@ -244,11 +243,7 @@ void ACcontextMapping_encode2_no_mem_s17_LC_fx( bp = ari_encode_14bits_ext_fx( ptr, bp, &as, add( a1, shl( b1, A_THRES_SHIFT ) ), ari_pk_s17_LC_ext[pki] ); /* Q0 */ /* Check bit budget */ -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC IF( GT_16( add( add( add( bp, extract_l( as.bits_to_follow ) ), nbbits_signs ), nbbits_lsbs ), nbbits_m2 ) ) -#else - IF( GT_16( add( add( add( bp, extract_l( as.value ) ), nbbits_signs ), nbbits_lsbs ), nbbits_m2 ) ) -#endif { ari_copy_states_fx( &as_overflow, &as ); bp = bp_overflow; /* Q0 */ @@ -278,11 +273,7 @@ void ACcontextMapping_encode2_no_mem_s17_LC_fx( move16(); bp = ari_encode_14bits_ext_fx( ptr, bp, &as, 0, ari_pk_s17_LC_ext[pki] ); /* Q0 */ -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC IF( GT_16( add( add( add( bp, extract_l( as.bits_to_follow ) ), nbbits_signs ), nbbits_lsbs ), nbbits_m2 ) ) -#else - IF( GT_16( add( add( add( bp, extract_l( as.value ) ), nbbits_signs ), nbbits_lsbs ), nbbits_m2 ) ) -#endif { ari_copy_states_fx( &as_overflow, &as ); bp = bp_overflow; /* Q0 */ diff --git a/lib_enc/FEC_enc_fx.c b/lib_enc/FEC_enc_fx.c index 3be0ff74c..9a1a99495 100644 --- a/lib_enc/FEC_enc_fx.c +++ b/lib_enc/FEC_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/SNR_calc_fx.c b/lib_enc/SNR_calc_fx.c index 8e6a555d1..836c9e40f 100644 --- a/lib_enc/SNR_calc_fx.c +++ b/lib_enc/SNR_calc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/acelp_core_enc_fx.c b/lib_enc/acelp_core_enc_fx.c index 5f38e5bd3..e63f0109d 100644 --- a/lib_enc/acelp_core_enc_fx.c +++ b/lib_enc/acelp_core_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -21,11 +24,7 @@ ivas_error acelp_core_enc_fx( Encoder_State *st, /* i/o: encoder state structure */ -#ifdef NONBE_FIX_ISSUE_2206 const Word16 inp[], /* i : input signal of the current frame Q_new-1*/ -#else - const Word16 inp[], /* i : input signal of the current frame Q_new*/ -#endif Word16 A[NB_SUBFR16k * ( M + 1 )], /* i : A(z) unquantized for the 4 subframes Q12*/ Word16 Aw[NB_SUBFR16k * ( M + 1 )], /* i : weighted A(z) unquant. for subframes Q12*/ const Word32 epsP[M + 1], /* i : LP prediction errors Qx*/ @@ -117,9 +116,7 @@ ivas_error acelp_core_enc_fx( move16(); hLPDmem->q_mem_syn = sub( Q_new, 1 ); move16(); -#ifdef NONBE_FIX_ISSUE_2518 st->mem_deemp_preQ_fx = shl_sat( st->mem_deemp_preQ_fx, sub( Q_new, st->prev_Q_new ) ); -#endif } Scale_sig32( st->Bin_E_old_fx, L_FFT / 2, sub( add( Q_new, Q_SCALE - 2 ), st->q_Bin_E_old ) ); // Q_new + Q_scale - 2 @@ -437,11 +434,7 @@ ivas_error acelp_core_enc_fx( { IF( st->hTdCngEnc != NULL ) { -#ifdef HARMONIZE_2539_cng_energy enr = cng_energy_fx( st->element_mode, st->bwidth, st->hDtxEnc->CNG_mode, st->hTdCngEnc->CNG_att_fx, exc_fx, st->L_frame, Q_new ); /* Q8 */ -#else - enr = cng_energy_ivas_fx( st->element_mode, st->bwidth, st->hDtxEnc->CNG_mode, st->hTdCngEnc->CNG_att_fx, exc_fx, st->L_frame, Q_new ); /* Q8 */ -#endif /* calculate the energy quantization index */ enr_index = add( enr, 512 /* Q8(2.0) */ ); /* enr + 2.0 */ @@ -673,7 +666,6 @@ ivas_error acelp_core_enc_fx( * Calculation of LP residual (filtering through A[z] filter) *---------------------------------------------------------------*/ -#ifdef FIX_BASOP_2517_CLICK_IN_OMASA_LTV Word16 scf = sub( norm_arr( inp - M, add( st->L_frame, M ) ), 2 ); test(); IF( NE_16( st->element_mode, EVS_MONO ) && GT_16( scf, 0 ) ) @@ -687,9 +679,6 @@ ivas_error acelp_core_enc_fx( { calc_residu_fx( st, inp, res_fx, Aq ); } -#else - calc_residu_fx( st, inp, res_fx, Aq ); -#endif calculate_hangover_attenuation_gain_fx( st, &att_fx, vad_hover_flag ); @@ -976,18 +965,6 @@ ivas_error acelp_core_enc_fx( * Updates *-----------------------------------------------------------------*/ -#ifndef NONBE_FIX_ISSUE_2518 - IF( st->element_mode > EVS_MONO ) - { - if ( st->hBWE_TD != NULL ) - { - st->Q_exc = Q_new; - move16(); - } - hLPDmem->q_lpd_old_exc = Q_new; - move16(); - } -#endif updt_enc_fx( st, old_exc_fx, pitch_buf, Es_pred_fx, Aq, lsf_new_fx, lsp_new, old_bwe_exc_fx ); diff --git a/lib_enc/acelp_core_switch_enc_fx.c b/lib_enc/acelp_core_switch_enc_fx.c index 89df6423c..f413b7578 100644 --- a/lib_enc/acelp_core_switch_enc_fx.c +++ b/lib_enc/acelp_core_switch_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -93,30 +96,6 @@ void acelp_core_switch_enc_fx( cbrate = L_min( st_fx->core_brate, ACELP_22k60 ); } } -#ifdef FIX_I4_OL_PITCH - IF( EQ_16( st_fx->last_codec_mode, MODE1 ) ) - { - /* in MODE1 T_op is at 12.8 kHz */ - IF( NE_16( st_fx->last_L_frame, L_FRAME ) ) /* ACELP@16k core -> convert T_op to 16 kHz */ - { - T_op[0] = shr( add( round_fx( L_shl( L_mult( 20480, T_op[0] ), 2 ) ), 1 ), 1 ); - move16(); - T_op[1] = shr( add( round_fx( L_shl( L_mult( 20480, T_op[1] ), 2 ) ), 1 ), 1 ); - move16(); - } - } - ELSE - { - /* in MODE2 T_op is at 16 kHz */ - IF( EQ_16( st_fx->last_L_frame, L_FRAME ) ) /* ACELP@12.8k core -> convert T_op to 12.8 kHz */ - { - move16(); - move16(); - T_op[0] = mult_r( 26214, T_op[0] ); - T_op[1] = mult_r( 26214, T_op[1] ); - } - } -#else IF( NE_16( st_fx->last_L_frame, L_FRAME ) ) { T_op[0] = shr( add( round_fx( L_shl( L_mult( 20480, T_op[0] ), 2 ) ), 1 ), 1 ); /* Q0 */ @@ -124,7 +103,6 @@ void acelp_core_switch_enc_fx( T_op[1] = shr( add( round_fx( L_shl( L_mult( 20480, T_op[1] ), 2 ) ), 1 ), 1 ); /* Q0 */ move16(); } -#endif /*----------------------------------------------------------------* * Excitation encoding @@ -136,9 +114,6 @@ void acelp_core_switch_enc_fx( encod_gen_voic_core_switch_fx( st_fx, st_fx->last_L_frame, inp, Aq, A, T_op, exc, cbrate, shift, Q_new ); i = find_indice( hBstr, TAG_ACELP_SUBFR_LOOP_START, &value, &nb_bits ); -#ifdef DEBUGGING - assert( i >= 0 && "Internal error in ACELP core switching - unable to find ACELP subframe indices!" ); -#endif WHILE( EQ_16( hBstr->ind_list[i].id, TAG_ACELP_SUBFR_LOOP_START ) ) { push_indice( hBstr, IND_CORE_SWITCHING_CELP_SUBFRAME, hBstr->ind_list[i].value, hBstr->ind_list[i].nb_bits ); diff --git a/lib_enc/acelp_enc_util_fx.c b/lib_enc/acelp_enc_util_fx.c index 83c8a8676..f812eb4e1 100644 --- a/lib_enc/acelp_enc_util_fx.c +++ b/lib_enc/acelp_enc_util_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/amr_wb_enc_fx.c b/lib_enc/amr_wb_enc_fx.c index c3ff039f9..e1ec517ab 100644 --- a/lib_enc/amr_wb_enc_fx.c +++ b/lib_enc/amr_wb_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -11,9 +14,6 @@ #include "prot_fx.h" /* Function prototypes */ #include "basop_util.h" /* Function prototypes */ #include "prot_fx_enc.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*-------------------------------------------------------------------* * amr_wb_enc() @@ -579,20 +579,6 @@ void amr_wb_enc_fx( /* update main codec parameters */ updt_enc_common_fx( st, Q_new ); -#ifdef DEBUG_MODE_INFO - dbgwrite( &st->codec_mode, sizeof( short ), 1, input_frame, "res/codec" ); - dbgwrite( &st->core, sizeof( short ), 1, input_frame, "res/core" ); - dbgwrite( &st->extl, sizeof( short ), 1, input_frame, "res/extl" ); - dbgwrite( &st->bwidth, sizeof( short ), 1, input_frame, "res/bwidth" ); - float ener_flt = st->total_brate / 1000.0f; - dbgwrite( &ener_flt, sizeof( float ), 1, input_frame, "res/total_brate" ); - ener_flt = st->core_brate / 1000.0f; - dbgwrite( &ener_flt, sizeof( float ), 1, input_frame, "res/core_brate" ); - dbgwrite( &st->coder_type, sizeof( short ), 1, input_frame, "res/coder_type" ); - dbgwrite( &st->cng_type, sizeof( short ), 1, input_frame, "res/cng_type" ); - dbgwrite( &st->L_frame, sizeof( short ), 1, input_frame, "res/L_frame" ); - dbgwrite( &st->vad_flag, sizeof( short ), 1, input_frame, "res/vad_flag" ); -#endif pop_wmops(); diff --git a/lib_enc/analy_lp_fx.c b/lib_enc/analy_lp_fx.c index 743f95af5..da029cada 100644 --- a/lib_enc/analy_lp_fx.c +++ b/lib_enc/analy_lp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/analy_sp_fx.c b/lib_enc/analy_sp_fx.c index e7d09c786..41ab14e4c 100644 --- a/lib_enc/analy_sp_fx.c +++ b/lib_enc/analy_sp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/ari_enc_fx.c b/lib_enc/ari_enc_fx.c index 2dfac3de9..c2b7e8074 100644 --- a/lib_enc/ari_enc_fx.c +++ b/lib_enc/ari_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -15,7 +18,6 @@ * forward declarations *-------------------------------------------------------------*/ -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC static Word16 ari_encode_14bits_high_low_fx( Word16 *ptr, /* Q0 */ Word16 bp, /* Q0 */ @@ -24,7 +26,6 @@ static Word16 ari_encode_14bits_high_low_fx( Word32 high, /* Q0 */ Word32 low /* Q0 */ ); -#endif /* FIX_2402_REPL_EVS_ARI_CODEC_ENC */ /*--------------------------------------------------------------- @@ -36,21 +37,6 @@ static Word16 ari_encode_14bits_high_low_fx( * \return none *-------------------------------------------------------------*/ -#ifndef FIX_2402_REPL_EVS_ARI_CODEC_ENC -void ari_copy_states_fx( - TastatEnc *source, - TastatEnc *dest ) -{ - dest->low = source->low; - move32(); - dest->high = source->high; - move32(); - dest->value = source->value; - move16(); - - return; -} -#endif /* FIX_2402_REPL_EVS_ARI_CODEC_ENC */ /*--------------------------------------------------------------- @@ -62,11 +48,7 @@ void ari_copy_states_fx( * \return none *-------------------------------------------------------------*/ -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC void ari_copy_states_fx( -#else -void ari_copy_states_ivas_fx( -#endif Tastat *source, Tastat *dest ) { @@ -96,19 +78,6 @@ void ari_copy_states_ivas_fx( * \return none *-------------------------------------------------------------*/ -#ifndef FIX_2402_REPL_EVS_ARI_CODEC_ENC -void ari_start_encoding_14bits_fx( - TastatEnc *s ) -{ - s->low = L_deposit_l( 0 ); - s->high = ari_q4new + 1; - move32(); - s->value = 0; - move16(); - - return; -} -#endif /* FIX_2402_REPL_EVS_ARI_CODEC_ENC */ /*--------------------------------------------------------------- * Ari encoder 14 bits routines @@ -146,23 +115,6 @@ Word16 ari_put_bit_plus_follow( * * \return bit consumption * ------------------------------------------------------------ - */ -#ifndef FIX_2402_REPL_EVS_ARI_CODEC_ENC -Word16 ari_done_encoding_14bits_fx( - Word16 *ptr, /* Q0 */ - Word16 bp, /* Q0 */ - TastatEnc *s ) -{ - Word16 bit; - - bit = 0; - move16(); - if ( GE_32( s->low, ari_q1new ) ) - { - bit = s_xor( bit, 1 ); - } - return ari_put_bit_plus_follow( ptr, bp, add( s->value, 1 ), bit ); -} -#endif /* FIX_2402_REPL_EVS_ARI_CODEC_ENC */ /*--------------------------------------------------------------- *ari_encode_14bits_ext_fx() @@ -178,99 +130,7 @@ Word16 ari_done_encoding_14bits_fx( * * \return bit consumption * ------------------------------------------------------------ - */ -#ifndef FIX_2402_REPL_EVS_ARI_CODEC_ENC -Word16 ari_encode_14bits_ext_fx( - Word16 *ptr, /* Q0 */ - Word16 bp, /* Q0 */ - TastatEnc *s, - Word32 symbol, /* Q0 */ - UWord16 const *cum_freq /* Q0 */ -) -{ - Word32 low; - Word32 high; - Word32 range; - Word16 bits_to_follow; - Word16 i; - UWord16 temp; - Word32 L_temp1, L_temp2; - high = L_add( s->high, 0 ); - low = L_add( s->low, 0 ); - range = L_sub( high, low ); /* Q0 */ - - L_temp1 = L_shl( range, 15 - stat_bitsnew /*both are constants*/ ); - Mpy_32_16_ss( L_temp1, cum_freq[symbol + 1], &L_temp2, &temp ); - if ( symbol != 0 ) /* when symbol is 0, range remains unchanged */ - { - Mpy_32_16_ss( L_temp1, cum_freq[symbol], &range, &temp ); - } - high = L_add( low, range ); /* Q0 */ - low = L_add( low, L_temp2 ); /* Q0 */ - - bits_to_follow = s->value; /* Q0 */ - move16(); - - FOR( i = 0; i < 0x7FFF; i++ ) - { - IF( LE_32( high, ari_q2new ) ) - { - bp = ari_put_bit_plus_follow( ptr, bp, bits_to_follow, 0 ); /* Q0 */ - bits_to_follow = 0; - move16(); - } - ELSE IF( GE_32( low, ari_q2new ) ) - { - bp = ari_put_bit_plus_follow( ptr, bp, bits_to_follow, 1 ); /* Q0 */ - bits_to_follow = 0; - move16(); - low = L_sub( low, ari_q2new ); /* Q0 */ - high = L_sub( high, ari_q2new ); /* Subtract offset to top. Q0*/ - } - ELSE - { - test(); - IF( GE_32( low, ari_q1new ) && LE_32( high, ari_q3new ) ) - { - /* Output an opposite bit */ - /* later if in middle half. */ - bits_to_follow = add( bits_to_follow, 1 ); /* Q0 */ - low = L_sub( low, ari_q1new ); /* Subtract offset to middle Q0*/ - high = L_sub( high, ari_q1new ); /* Q0 */ - } - ELSE - { - BREAK; /* Otherwise exit loop. */ - } - } - - low = L_add( low, low ); /* Q0 */ - high = L_add( high, high ); /* Scale up code range. Q0*/ - } - - s->low = low; /* Q0 */ - move32(); - s->high = high; /* Q0 */ - move32(); - s->value = bits_to_follow; /* Q0 */ - move16(); - return bp; -} -#endif /* FIX_2402_REPL_EVS_ARI_CODEC_ENC */ - -#ifndef FIX_2402_REPL_EVS_ARI_CODEC_ENC -/*------------------------------------------------------------------------ - * Function: ari_encode_overflow_fx() - * - * - *-------------------------------------------------------------------------*/ - -Word16 ari_encode_overflow_fx( - TastatEnc *s ) -{ - return L_sub( L_sub( s->high, 1 ), s->low ) <= 0; -} -#endif /* FIX_2402_REPL_EVS_ARI_CODEC_ENC */ /*------------------------------------------------------------------------ * Function: ari_encode_overflow_fx() @@ -278,86 +138,12 @@ Word16 ari_encode_overflow_fx( * *-------------------------------------------------------------------------*/ -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC Word16 ari_encode_overflow_fx( -#else -Word16 ari_encode_overflow_ivas_fx( -#endif Tastat *s ) { return L_sub( L_sub( s->high, 0 ), s->low ) <= 0; } -#ifndef FIX_2402_REPL_EVS_ARI_CODEC_ENC -/*------------------------------------------------------------------------ - * Function: ari_encode_14bits_high_low() - * - * - *-------------------------------------------------------------------------*/ - -static Word16 ari_encode_14bits_high_low( - Word16 *ptr, /* Q0 */ - Word16 bp, /* Q0 */ - Word16 bits, /* Q0 */ - TastatEnc *s, - Word32 high, /* Q0 */ - Word32 low /* Q0 */ -) -{ - Word16 bits_to_follow, tmp; - - bits_to_follow = s->value; - move16(); - - /* while there are more than 16 bits left */ - tmp = sub( 16, bits ); /* Q0 */ - WHILE( add( add( bp, bits_to_follow ), tmp ) < 0 ) - { - IF( LE_32( high, ari_q2new ) ) - { - bp = ari_put_bit_plus_follow( ptr, bp, bits_to_follow, 0 ); /* Q0 */ - bits_to_follow = 0; - move16(); - } - ELSE IF( GE_32( low, ari_q2new ) ) - { - bp = ari_put_bit_plus_follow( ptr, bp, bits_to_follow, 1 ); /* Q0 */ - bits_to_follow = 0; - move16(); - low = L_sub( low, ari_q2new ); /* Q0 */ - high = L_sub( high, ari_q2new ); /* Subtract offset to top. Q0*/ - } - ELSE - { - test(); - IF( GE_32( low, ari_q1new ) && LE_32( high, ari_q3new ) ) - { - /* Output an opposite bit */ - /* later if in middle half. */ - bits_to_follow = add( bits_to_follow, 1 ); /* Q0 */ - low = L_sub( low, ari_q1new ); /* Subtract offset to middle Q0*/ - high = L_sub( high, ari_q1new ); /* Q0 */ - } - ELSE - { - BREAK; /* Otherwise exit loop. */ - } - } - - low = L_add( low, low ); /* Q0 */ - high = L_add( high, high ); /* Scale up code range. Q0*/ - } - - s->low = low; /* Q0 */ - move32(); - s->high = high; /* Q0 */ - move32(); - s->value = bits_to_follow; /* Q0 */ - move16(); - - return bp; -} -#endif /* FIX_2402_REPL_EVS_ARI_CODEC_ENC */ /*------------------------------------------------------------------------ @@ -366,34 +152,7 @@ static Word16 ari_encode_14bits_high_low( * Encode an cumulative frequency interval. *-------------------------------------------------------------------------*/ -#ifndef FIX_2402_REPL_EVS_ARI_CODEC_ENC -Word16 ari_encode_14bits_range_fx( - Word16 *ptr, /* Q0 */ - Word16 bp, /* Q0 */ - Word16 bits, /* Q0 */ - TastatEnc *s, - Word16 cum_freq_low, /* Q0 */ - Word16 cum_freq_high /* Q0 */ -) -{ - Word32 low, high, range; - range = L_sub( s->high, s->low ); /* Q0 */ - - high = L_add( s->low, mul_sbc_14bits( range, cum_freq_high ) ); /* Q0 */ - low = L_add( s->low, mul_sbc_14bits( range, cum_freq_low ) ); /* Q0 */ - - return ari_encode_14bits_high_low( ptr, bp, bits, s, high, low ); -} - -/*------------------------------------------------------------------------ - * Function: ari_encode_14bits_range_ivas_fx - * - * Encode an cumulative frequency interval. - *-------------------------------------------------------------------------*/ -#endif /* FIX_2402_REPL_EVS_ARI_CODEC_ENC */ - -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC Word16 ari_encode_14bits_range_fx( Word16 *ptr, /* Q0 */ Word16 bp, /* Q0 */ @@ -412,7 +171,6 @@ Word16 ari_encode_14bits_range_fx( return ari_encode_14bits_high_low_fx( ptr, bp, bits, s, high, low ); } -#endif /*------------------------------------------------------------------------ * Function: ari_encode_14bits_sign_fx @@ -420,35 +178,6 @@ Word16 ari_encode_14bits_range_fx( * Encode a sign with equal probabilities. *-------------------------------------------------------------------------*/ -#ifndef FIX_2402_REPL_EVS_ARI_CODEC_ENC -Word16 ari_encode_14bits_sign_fx( - Word16 *ptr, /* Q0 */ - Word16 bp, /* Q0 */ - Word16 bits, /* Q0 */ - TastatEnc *s, - Word16 sign /* Q0 */ -) -{ - Word32 low, high, range; - Word32 L_tmp; - - high = L_add( s->high, 0 ); - low = L_add( s->low, 0 ); - range = L_sub( high, low ); /* Q0 */ - - L_tmp = L_shr( range, 1 ); - if ( sign != 0 ) - { - high = L_add( low, L_tmp ); /* Q0 */ - } - if ( sign == 0 ) - { - low = L_add( low, L_tmp ); /* Q0 */ - } - - return ari_encode_14bits_high_low( ptr, bp, bits, s, high, low ); -} -#endif /* FIX_2402_REPL_EVS_ARI_CODEC_ENC */ /*------------------------------------------------------------------------ @@ -457,43 +186,6 @@ Word16 ari_encode_14bits_sign_fx( * Finish up encoding in CBR mode. *-------------------------------------------------------------------------*/ -#ifndef FIX_2402_REPL_EVS_ARI_CODEC_ENC -Word16 ari_done_cbr_encoding_14bits_fx( - Word16 *ptr, /* Q0 */ - Word16 bp, /* Q0 */ - Word16 bits, /* Q0 */ - TastatEnc *s ) -{ - Word16 high, tmp, k; - - tmp = sub( bits, 16 ); /* Q0 */ - WHILE( GT_16( sub( tmp, bp ), s->value ) ) - { - bp = ari_encode_14bits_sign_fx( ptr, bp, bits, s, 0 ); /* Q0 */ - } - - high = extract_l( L_sub( s->high, 1 ) ); /* Q0 */ - - bp = ari_put_bit_plus_follow( ptr, bp, s->value, lshr( high, 15 ) ); /* Q0 */ - high = lshl( high, 1 ); - - tmp = s_min( 15, sub( bits, bp ) ); - FOR( k = 0; k < tmp; ++k ) - { - ptr[bp++] = lshr( high, 15 ); /* Q0 */ - move16(); - high = lshl( high, 1 ); - } - - return bp; -} - -/*------------------------------------------------------------------------ - * Function: ari_done_cbr_encoding_14bits_ivas_fx - * - * Finish up encoding in CBR mode. - *-------------------------------------------------------------------------*/ -#else Word16 ari_done_cbr_encoding_14bits_fx( Word16 *ptr, /* Q0 */ Word16 bp, /* Q0 */ @@ -522,13 +214,8 @@ Word16 ari_done_cbr_encoding_14bits_fx( return bp; } -#endif -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC void ari_start_encoding_14bits_fx( -#else -void ari_start_encoding_14bits_ivas_fx( -#endif Tastat *s ) { /* : addressing is made with walking pointer s */ @@ -549,11 +236,7 @@ void ari_start_encoding_14bits_ivas_fx( * Finish ArCo encoding *-------------------------------------------------------------*/ -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC Word16 ari_done_encoding_14bits_fx( -#else -Word16 ari_done_encoding_14bits_ivas_fx( -#endif Word16 *ptr, /* Q0 */ Word16 bp, /* Q0 */ Tastat *s ) @@ -577,11 +260,7 @@ Word16 ari_done_encoding_14bits_ivas_fx( * *-------------------------------------------------------------*/ -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC Word16 ari_encode_14bits_ext_fx( -#else -Word16 ari_encode_14bits_ext_ivas_fx( -#endif Word16 *ptr, /* Q0 */ Word16 bp, /* Q0 */ Tastat *s, @@ -735,11 +414,7 @@ static Word16 ari_encode_14bits_high_low_fx( * Encode a sign with equal probabilities. *-------------------------------------------------------------------------*/ -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC Word16 ari_encode_14bits_sign_fx( -#else -Word16 ari_encode_14bits_sign_ivas_fx( -#endif Word16 *ptr, /* Q0 */ Word16 bp, /* Q0 */ Word32 bits, /* Q0 */ diff --git a/lib_enc/ari_hm_enc_fx.c b/lib_enc/ari_hm_enc_fx.c index 121d4d9c5..70fade26c 100644 --- a/lib_enc/ari_hm_enc_fx.c +++ b/lib_enc/ari_hm_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/arith_coder_enc_fx.c b/lib_enc/arith_coder_enc_fx.c index 40c0ba7ff..99d2f679c 100644 --- a/lib_enc/arith_coder_enc_fx.c +++ b/lib_enc/arith_coder_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -529,11 +532,7 @@ static Word16 tcx_arith_encode( Word16 prm[] /* o : bit-stream Q0 */ ) { -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC Tastat as, as_lastgood; -#else - TastatEnc as, as_lastgood; -#endif Word16 bp, bp_lastgood; Word16 k; Word16 kEncoded; @@ -650,11 +649,7 @@ static Word16 tcx_arith_encode( IF( EQ_16( kEncoded, sub( L_frame, 1 ) ) ) /* RESQ bits possibly available */ { /* Limit target bits to actually needed bits */ -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC target_bits = add( add( bp, 16 ), extract_l( as.bits_to_follow ) ); -#else - target_bits = add( add( bp, 16 ), extract_l( as.value ) ); -#endif } return ari_done_cbr_encoding_14bits_fx( prm, bp, target_bits, &as ); diff --git a/lib_enc/avq_cod_fx.c b/lib_enc/avq_cod_fx.c index e54dfeda2..812ce4e7f 100644 --- a/lib_enc/avq_cod_fx.c +++ b/lib_enc/avq_cod_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -6,9 +9,6 @@ #include "options.h" /* Compilation switches */ #include "cnst.h" #include /* Compilation switches */ -#ifdef DEBUGGING -#include -#endif #include "prot_fx.h" /* Function prototypes */ #include "prot_fx_enc.h" /* Function prototypes */ #include "rom_com.h" /* Static table prototypes */ @@ -549,9 +549,6 @@ void AVQ_encmux_fx( bit_tmp = add( unusedbitsFlag, unused_bits_idx ); /*nq_est = (int16_t)ceil(0.2f * (bits - 5 * (unusedbitsFlag + unused_bits_idx)));*/ nq_est = mult( 6554, sub( bits, add( shl( bit_tmp, 2 ), bit_tmp ) ) ); -#ifdef DEBUGGING - assert( (Word16) ceil( 0.2f * ( bits - 5 * ( unusedbitsFlag + unused_bits_idx ) ) ) == nq_est ); -#endif if ( EQ_16( nq_est, 1 ) ) { diff --git a/lib_enc/bass_psfilter_enc_fx.c b/lib_enc/bass_psfilter_enc_fx.c index 083f8d68e..ac50f3e2a 100644 --- a/lib_enc/bass_psfilter_enc_fx.c +++ b/lib_enc/bass_psfilter_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/bw_detect_fx.c b/lib_enc/bw_detect_fx.c index ff60b94d0..f032ea159 100644 --- a/lib_enc/bw_detect_fx.c +++ b/lib_enc/bw_detect_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/cng_enc_fx.c b/lib_enc/cng_enc_fx.c index c28d008ab..852dc586e 100644 --- a/lib_enc/cng_enc_fx.c +++ b/lib_enc/cng_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -27,11 +30,7 @@ *---------------------------------------------------------------------*/ static void shb_CNG_encod_fx( Encoder_State *st_fx, const Word16 update_fx ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT static Word16 shb_DTX_fx( Encoder_State *st_fx, const Word16 *shb_speech_fx, const Word16 shb_speech_q, const Word16 *syn_12k8_16k ); -#else -static Word16 shb_DTX_fx( Encoder_State *st_fx, const Word16 *shb_speech_fx, const Word16 *syn_12k8_16k ); -#endif /*---------------------------------------------------------------------* * CNG_enc() @@ -894,11 +893,7 @@ void CNG_enc_fx( L_tmp = L_add_sat( L_tmp, L_tmp ); /* 2*Q_new+1 */ L_tmp = Mult_32_16( L_tmp, 128 ); /* 2*Q_new+1 */ tmp1 = add( add( Q_new, Q_new ), 1 ); -#ifdef NONBE_FIX_ISSUE_2206 env[i] = L_shr_sat( L_tmp, sub( tmp1, 6 ) ); -#else - env[i] = L_shr( L_tmp, sub( tmp1, 6 ) ); -#endif move32(); /* Q6 */ ptR++; ptI--; @@ -1460,12 +1455,8 @@ void calculate_hangover_attenuation_gain_fx( void swb_CNG_enc_fx( Encoder_State *st, /* i/o: State structure */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT const Word16 *shb_speech_fx, /* i : SHB target signal (6-14kHz) at 16kHz shb_speech_q */ const Word16 shb_speech_q, /* i : SHB target signal Q (6-14kHz) at 16kHz Q0 */ -#else - const Word16 *shb_speech_fx, /* i : SHB target signal (6-14kHz) at 16kHz Q0 */ -#endif const Word16 *syn_12k8_16k_fx /* i : ACELP core synthesis at 12.8kHz or 16kHz Q0 */ ) { @@ -1480,11 +1471,7 @@ void swb_CNG_enc_fx( IF( GE_32( st->input_Fs, L_FRAME32k * FRAMES_PER_SEC ) ) { /* decide if SHB SID encoding or not */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT shb_SID_updt = shb_DTX_fx( st, shb_speech_fx, shb_speech_q, syn_12k8_16k_fx ); -#else - shb_SID_updt = shb_DTX_fx( st, shb_speech_fx, syn_12k8_16k_fx ); -#endif /* SHB CNG encoding */ shb_CNG_encod_fx( st, shb_SID_updt ); @@ -1568,11 +1555,7 @@ static void shb_CNG_encod_fx( Word16 tmp, tmp1, tmp2, scale, exp1, exp2, ener_mid_dec_thr_e; tmp = BASOP_Util_Divide1616_Scale( st->hTdCngEnc->last_idx_ener, 22938, &scale ); // 0.7 in Q15 ->exp 0 scale = add( scale, ( 15 - 0 ) ); -#ifdef NONBE_FIX_ISSUE_2206 tmp = sub( tmp, shl_sat( 6, sub( Q15, scale ) ) ); /* Saturate, because the computation goes into a threshold decision. */ -#else - tmp = sub( tmp, shl( 6, sub( Q15, scale ) ) ); -#endif tmp1 = BASOP_Util_Divide1616_Scale( tmp, 3277, &exp1 ); exp1 = add( exp1, ( scale - 0 ) ); @@ -1580,11 +1563,7 @@ static void shb_CNG_encod_fx( tmp = BASOP_Util_Divide1616_Scale( idx_ener, 22938, &scale ); // 0.7 in Q15 ->exp 0 scale = add( scale, ( 15 - 0 ) ); -#ifdef NONBE_FIX_ISSUE_2206 tmp = sub( tmp, shl_sat( 6, sub( Q15, scale ) ) ); /* Saturate, because the computation goes into a threshold decision. */ -#else - tmp = sub( tmp, shl( 6, sub( Q15, scale ) ) ); -#endif tmp1 = BASOP_Util_Divide1616_Scale( tmp, 3277, &exp2 ); exp2 = add( exp2, ( scale - 0 ) ); @@ -1644,12 +1623,8 @@ static void shb_CNG_encod_fx( static Word16 shb_DTX_fx( Encoder_State *st, /* i/o: State structure */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT const Word16 *shb_speech_fx, /* i : SHB target signal (6-14kHz) at 16kHz shb_speech_q */ const Word16 shb_speech_q, /* i : SHB target signal (6-14kHz) at 16kHz Q Q0 */ -#else - const Word16 *shb_speech_fx, /* i : SHB target signal (6-14kHz) at 16kHz Q0 */ -#endif const Word16 *syn_12k8_16k_fx /* i : ACELP core synthesis at 12.8kHz or 16kHz Q0 */ ) { @@ -1661,9 +1636,7 @@ static Word16 shb_DTX_fx( Word16 *shb_new_speech_fx; Word32 wb_ener_fx; Word32 shb_ener_fx; -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT Word16 shb_ener_q; -#endif Word16 log_wb_ener_fx; Word16 log_shb_ener_fx; Word16 tmp; @@ -1675,20 +1648,13 @@ static Word16 shb_DTX_fx( TD_BWE_ENC_HANDLE hBWE_TD = st->hBWE_TD; shb_new_speech_fx = shb_old_speech_fx + ( ACELP_LOOK_12k8 + L_SUBFR ) * 5 / 4; -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT Copy_Scale_sig_nosat( hBWE_TD->old_speech_shb_fx, shb_old_speech_fx, ( ACELP_LOOK_12k8 + L_SUBFR ) * 5 / 4, sub( shb_speech_q, hBWE_TD->old_speech_shb_q ) ); Copy( shb_speech_fx, shb_new_speech_fx, L_FRAME16k ); Copy( shb_old_speech_fx + L_FRAME16k, hBWE_TD->old_speech_shb_fx, ( ACELP_LOOK_12k8 + L_SUBFR ) * 5 / 4 ); hBWE_TD->old_speech_shb_q = shb_speech_q; move16(); -#else - Copy( hBWE_TD->old_speech_shb_fx, shb_old_speech_fx, ( ACELP_LOOK_12k8 + L_SUBFR ) * 5 / 4 ); // old_speech_shb_fx -> Q0 - Copy( shb_speech_fx, shb_new_speech_fx, L_FRAME16k ); // Q0 - Copy( shb_old_speech_fx + L_FRAME16k, hBWE_TD->old_speech_shb_fx, ( ACELP_LOOK_12k8 + L_SUBFR ) * 5 / 4 ); // Q0 -#endif shb_ener_fx = L_deposit_l( 0 ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT FOR( i = 0; i < L_FRAME16k; i++ ) { shb_ener_fx = L_mac_sat( shb_ener_fx, shb_old_speech_fx[i], shb_old_speech_fx[i] ); // ( 2 * hBWE_TD->old_speech_shb_q + Q1 ) --> Q1 due to left shift in L_mac @@ -1696,14 +1662,6 @@ static Word16 shb_DTX_fx( shb_ener_q = add( shl( hBWE_TD->old_speech_shb_q, 1 ), 1 ); shb_ener_fx = L_add( Mpy_32_16_1( shb_ener_fx, 102 ), 1 ); /* ( 1 / L_FRAME16K ) -> 102 in Q15, shb_ener_fx in shb_ener_q */ -#else - FOR( i = 0; i < L_FRAME16k; i++ ) - { - shb_ener_fx = L_mac_sat( shb_ener_fx, shb_old_speech_fx[i], shb_old_speech_fx[i] ); // ( Q0 + Q0 + Q1 ) --> Q1 due to left shift in L_mac - } - - shb_ener_fx = L_add( Mpy_32_16_1( shb_ener_fx, 102 ), 1 ); /* ( 1 / L_FRAME16K ) -> 102 in Q15, shb_ener_fx in Q1 */ -#endif wb_ener_fx = L_deposit_l( 0 ); FOR( i = 0; i < st->L_frame; i++ ) @@ -1721,11 +1679,7 @@ static Word16 shb_DTX_fx( log_wb_ener_fx = round_fx_sat( L_shl_sat( wb_ener_fx, 10 ) ); /* log_wb_ener_fx in Q8 */ exp = norm_l( shb_ener_fx ); fra = Log2_norm_lc( L_shl( shb_ener_fx, exp ) ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT exp = sub( sub( 30, shb_ener_q ), exp ); -#else - exp = sub( 30 - 1, exp ); -#endif shb_ener_fx = Mpy_32_16( exp, fra, LG10 ); test(); diff --git a/lib_enc/cod2t32_fx.c b/lib_enc/cod2t32_fx.c index fa66223cb..e41c12d03 100644 --- a/lib_enc/cod2t32_fx.c +++ b/lib_enc/cod2t32_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/cod4t64_fast_fx.c b/lib_enc/cod4t64_fast_fx.c index c6a2811e0..85bd8fcc0 100644 --- a/lib_enc/cod4t64_fast_fx.c +++ b/lib_enc/cod4t64_fast_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_enc/cod4t64_fx.c b/lib_enc/cod4t64_fx.c index f485463a4..6dd55eda5 100644 --- a/lib_enc/cod4t64_fx.c +++ b/lib_enc/cod4t64_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/cod_ace_fx.c b/lib_enc/cod_ace_fx.c index f066d1c55..e2b6e92a6 100644 --- a/lib_enc/cod_ace_fx.c +++ b/lib_enc/cod_ace_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/cod_tcx_fx.c b/lib_enc/cod_tcx_fx.c index d043aeb49..8f70c82a5 100644 --- a/lib_enc/cod_tcx_fx.c +++ b/lib_enc/cod_tcx_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -14,9 +17,6 @@ #include "prot_fx_enc.h" #include "ivas_prot_fx.h" #include "ivas_rom_com.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #define SIMILAR_TNS_THRESHOLD_FX_IN_Q15 ( 1311 ) @@ -1438,15 +1438,6 @@ void QuantizeSpectrum_fx( &sqGain_e, EVS_MONO ); -#ifndef FIX_BASOP_2551_HARM_SCALAR_QUAN - tcx_scalar_quantization_fx( OriginalSpectrum, OriginalSpectrum_e, - sqQ, - L_spec, - sqGain, sqGain_e, - hTcxCfg->sq_rounding, - hTcxEnc->memQuantZeros, - tcxonly ); -#else tcx_scalar_quantization_fx( OriginalSpectrum, OriginalSpectrum_e, sqQ, L_spec, @@ -1455,7 +1446,6 @@ void QuantizeSpectrum_fx( hTcxEnc->memQuantZeros, tcxonly, st->element_mode ); -#endif // !FIX_BASOP_2551_HARM_SCALAR_QUAN /* Estimate original bitrate */ @@ -1544,15 +1534,6 @@ void QuantizeSpectrum_fx( EVS_MONO ); /* Quantize spectrum */ -#ifndef FIX_BASOP_2551_HARM_SCALAR_QUAN - tcx_scalar_quantization_fx( spectrum, *spectrum_e, - sqQ, - L_spec, - sqGain, sqGain_e, - hTcxCfg->sq_rounding, - hTcxEnc->memQuantZeros, - tcxonly ); -#else tcx_scalar_quantization_fx( spectrum, *spectrum_e, sqQ, L_spec, @@ -1561,7 +1542,6 @@ void QuantizeSpectrum_fx( hTcxEnc->memQuantZeros, tcxonly, st->element_mode ); -#endif // !FIX_BASOP_2551_HARM_SCALAR_QUAN /* Estimate bitrate */ stop = 0; @@ -1752,15 +1732,6 @@ void QuantizeSpectrum_fx( { sqGain = tmp1; sqGain_e = s; -#ifndef FIX_BASOP_2551_HARM_SCALAR_QUAN - tcx_scalar_quantization_fx( spectrum, *spectrum_e, - sqQ, - L_spec, - sqGain, sqGain_e, - hTcxCfg->sq_rounding, - hTcxEnc->memQuantZeros, - tcxonly ); -#else tcx_scalar_quantization_fx( spectrum, *spectrum_e, sqQ, L_spec, @@ -1770,7 +1741,6 @@ void QuantizeSpectrum_fx( tcxonly, st->element_mode ); -#endif // !FIX_BASOP_2551_HARM_SCALAR_QUAN move16(); @@ -3076,11 +3046,7 @@ void QuantizeTCXSpectrum_fx( /* Quantize original spectrum */ sqGain_fx = SQ_gain_fx( spectrum_fx, *spectrum_e, ( mult( hTcxEnc->tcx_target_bits_fac, shl( sqTargetBits, 1 ) ) ), L_spec, &sqGain_e, 1 /*signal non-EVS*/ ); -#ifndef FIX_BASOP_2551_HARM_SCALAR_QUAN - tcx_scalar_quantization_ivas_fx( spectrum_fx, *spectrum_e, sqQ, L_spec, sqGain_fx, sqGain_e, st->hTcxCfg->sq_rounding, hTcxEnc->memQuantZeros, st->tcxonly ); -#else tcx_scalar_quantization_fx( spectrum_fx, *spectrum_e, sqQ, L_spec, sqGain_fx, sqGain_e, st->hTcxCfg->sq_rounding, hTcxEnc->memQuantZeros, st->tcxonly, st->element_mode ); -#endif // !FIX_BASOP_2551_HARM_SCALAR_QUAN /* Estimate original bitrate */ stop = 0; move16(); @@ -3171,11 +3137,7 @@ void QuantizeTCXSpectrum_fx( sqGain_fx = SQ_gain_fx( spectrum_fx, *spectrum_e, shl( mult( hTcxEnc->tcx_target_bits_fac, sqTargetBits ), 1 ), L_spec, &sqGain_e, 1 /*signal non-EVS*/ ); } /* Quantize spectrum */ -#ifndef FIX_BASOP_2551_HARM_SCALAR_QUAN - tcx_scalar_quantization_ivas_fx( spectrum_fx, *spectrum_e, sqQ, L_spec, sqGain_fx, sqGain_e, st->hTcxCfg->sq_rounding, hTcxEnc->memQuantZeros, st->tcxonly ); -#else tcx_scalar_quantization_fx( spectrum_fx, *spectrum_e, sqQ, L_spec, sqGain_fx, sqGain_e, st->hTcxCfg->sq_rounding, hTcxEnc->memQuantZeros, st->tcxonly, st->element_mode ); -#endif /* Estimate bitrate */ stop = 0; move16(); @@ -3440,11 +3402,7 @@ void QuantizeTCXSpectrum_fx( move16(); sqGain_e = 1; move16(); -#ifndef FIX_BASOP_2551_HARM_SCALAR_QUAN - tcx_scalar_quantization_ivas_fx( spectrum_fx, *spectrum_e, sqQ, L_spec, sqGain_fx, sqGain_e, st->hTcxCfg->sq_rounding, hTcxEnc->memQuantZeros, st->tcxonly ); -#else tcx_scalar_quantization_fx( spectrum_fx, *spectrum_e, sqQ, L_spec, sqGain_fx, sqGain_e, st->hTcxCfg->sq_rounding, hTcxEnc->memQuantZeros, st->tcxonly, st->element_mode ); -#endif // !FIX_BASOP_2551_HARM_SCALAR_QUAN stop = 1; IF( st->element_mode > EVS_MONO ) @@ -3914,27 +3872,12 @@ void coder_tcx_post_ivas_fx( Word16 *wsig, Word16 Q_new ) { -#ifdef NONBE_FIX_ISSUE_2206 /*-----------------------------------------------------------* * Memory update * *-----------------------------------------------------------*/ /* Update LPDmem (Txnq,syn,syn_pe,old_exc,wsyn,Ai,Aq) */ tcx_encoder_memory_update_ivas_fx( wsig, synth, st->L_frame, Ai, A, hTcxCfg->preemph_fac, LPDmem, st, Q_new ); -#else - Word16 xn_buf[L_FRAME_MAX]; - - /* TCX output */ - Copy( synth, xn_buf, st->L_frame ); - - - /*-----------------------------------------------------------* - * Memory update * - *-----------------------------------------------------------*/ - - /* Update LPDmem (Txnq,syn,syn_pe,old_exc,wsyn,Ai,Aq) */ - tcx_encoder_memory_update_ivas_fx( wsig, xn_buf, st->L_frame, Ai, A, hTcxCfg->preemph_fac, LPDmem, st, synth, Q_new ); -#endif return; } diff --git a/lib_enc/cod_uv_fx.c b/lib_enc/cod_uv_fx.c index bdf5ae1c2..823ca4e42 100644 --- a/lib_enc/cod_uv_fx.c +++ b/lib_enc/cod_uv_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/comvad_decision_fx.c b/lib_enc/comvad_decision_fx.c index dafa4561c..ddb9bc5c1 100644 --- a/lib_enc/comvad_decision_fx.c +++ b/lib_enc/comvad_decision_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/cor_shif_fx.c b/lib_enc/cor_shif_fx.c index c98afa1ee..ff8534a1d 100644 --- a/lib_enc/cor_shif_fx.c +++ b/lib_enc/cor_shif_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/core_enc_2div_fx.c b/lib_enc/core_enc_2div_fx.c index 3012bb094..29c22b742 100644 --- a/lib_enc/core_enc_2div_fx.c +++ b/lib_enc/core_enc_2div_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/core_enc_init_fx.c b/lib_enc/core_enc_init_fx.c index 7efe8a9ff..f8cda6d86 100644 --- a/lib_enc/core_enc_init_fx.c +++ b/lib_enc/core_enc_init_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -28,11 +31,7 @@ static void init_tcx_ivas_fx( Encoder_State *st, const Word16 L_frame_old, const static void init_core_sig_ana_ivas_fx( Encoder_State *st ); static void init_modes_ivas_fx( Encoder_State *st, const Word32 last_total_brate ); static void init_sig_buffers_ivas_fx( Encoder_State *st, const Word16 L_frame_old, const Word16 L_subfr, const Word32 last_total_brate ); -#ifdef NONBE_FIX_ISSUE_2518 static void init_acelp_ivas_fx( Encoder_State *st, Word16 L_frame_old, const Word32 last_total_brate ); -#else -static void init_acelp_ivas_fx( Encoder_State *st, Word16 L_frame_old, Word16 shift, const Word32 last_total_brate ); -#endif /*-----------------------------------------------------------------------* * init_coder_ace_plus_fx() @@ -1089,11 +1088,7 @@ void init_coder_ace_plus_ivas_fx( /* Initialize ACELP */ -#ifdef NONBE_FIX_ISSUE_2518 init_acelp_ivas_fx( st, L_frame_old, last_total_brate ); -#else - init_acelp_ivas_fx( st, L_frame_old, 0, last_total_brate ); -#endif if ( st->ini_frame == 0 ) { @@ -1404,18 +1399,12 @@ static void init_sig_buffers_ivas_fx( Encoder_State *st, const Word16 L_frame_ol move16(); st->exp_mem_preemph_enc = st->exp_buf_speech_enc; move16(); -#ifdef NONBE_FIX_ISSUE_2206 st->mem_wsp_enc = st->buf_wspeech_enc[st->L_frame + L_SUBFR - 1]; move16(); -#else - st->mem_wsp_enc = shr( st->buf_wspeech_enc[st->L_frame + L_SUBFR - 1], sub( Q16, st->exp_buf_wspeech_enc ) ); // Q-1 - move16(); -#endif } /*coming from TCXonly modes*/ ELSE IF( !st->tcxonly && GE_32( last_total_brate, ACELP_32k ) ) { -#ifdef NONBE_FIX_ISSUE_2206 Word16 exp_buf_wspeech_enc; exp_buf_wspeech_enc = s_max( st->exp_old_wsp, st->exp_buf_wspeech_enc ); @@ -1423,27 +1412,14 @@ static void init_sig_buffers_ivas_fx( Encoder_State *st, const Word16 L_frame_ol Copy_Scale_sig_nosat( st->old_wsp_fx, st->buf_wspeech_enc + st->L_frame + L_SUBFR - L_WSP_MEM, L_WSP_MEM, sub( st->exp_old_wsp, exp_buf_wspeech_enc ) ); st->exp_buf_wspeech_enc = exp_buf_wspeech_enc; move16(); /*Resamp buffers needed only for ACELP*/ -#else - - Scale_sig( st->buf_wspeech_enc, L_FRAME16k + L_SUBFR + L_FRAME16k + L_NEXT_MAX_16k + 320, sub( 0, sub( st->exp_old_wsp, st->exp_buf_wspeech_enc ) ) ); - Copy( st->old_wsp_fx, st->buf_wspeech_enc + st->L_frame + L_SUBFR - L_WSP_MEM, L_WSP_MEM ); - // Copy_Scale_sig( st->old_wsp_fx, st->buf_wspeech_enc + st->L_frame + L_SUBFR - L_WSP_MEM, L_WSP_MEM, sub( st->prev_Q_new, st->prev_Q_old ) ); - st->exp_buf_wspeech_enc = st->exp_old_wsp; - move16(); /*Resamp buffers needed only for ACELP*/ -#endif IF( EQ_16( st->L_frame, L_FRAME16k ) ) { lerp( st->buf_wspeech_enc + st->L_frame + L_SUBFR - L_WSP_MEM, st->buf_wspeech_enc + st->L_frame + L_SUBFR - 310, 310, L_WSP_MEM ); } hLPDmem->mem_w0 = 0; move16(); -#ifdef NONBE_FIX_ISSUE_2206 st->mem_wsp_enc = st->buf_wspeech_enc[st->L_frame + L_SUBFR - 1]; move16(); -#else - st->mem_wsp_enc = shr( st->buf_wspeech_enc[st->L_frame + L_SUBFR - 1], sub( Q16, st->exp_buf_wspeech_enc ) ); // Q-1 - move16(); -#endif } } @@ -1546,11 +1522,7 @@ static void init_core_sig_ana_ivas_fx( Encoder_State *st ) * * *-----------------------------------------------------------------------*/ -#ifdef NONBE_FIX_ISSUE_2518 static void init_acelp_ivas_fx( Encoder_State *st, Word16 L_frame_old, const Word32 last_total_brate ) -#else -static void init_acelp_ivas_fx( Encoder_State *st, Word16 L_frame_old, Word16 shift, const Word32 last_total_brate ) -#endif { Word16 mem_syn_r_size_old; Word16 mem_syn_r_size_new; @@ -1733,13 +1705,8 @@ static void init_acelp_ivas_fx( Encoder_State *st, Word16 L_frame_old, Word16 sh move16(); Copy( hLPDmem->mem_syn2, tmp_buf + 1, M ); deemph_fx( tmp_buf + 1, st->preemph_fac, M, &tmp ); -#ifdef NONBE_FIX_ISSUE_2518 Residu3_fx( Ap, tmp_buf + M, &tmp, 1, 0 ); hLPDmem->mem_w0 = sub_sat( shl_sat( st->wspeech_enc[-1], sub( hLPDmem->q_mem_syn, sub( Q15, st->exp_buf_wspeech_enc ) ) ), tmp ); -#else - Residu3_fx( Ap, tmp_buf + M, &tmp, 1, 1 ); - hLPDmem->mem_w0 = sub_sat( shr_sat( st->wspeech_enc[-1], shift ), tmp ); -#endif move16(); } } diff --git a/lib_enc/core_enc_ol_fx.c b/lib_enc/core_enc_ol_fx.c index 94a306091..67776295c 100644 --- a/lib_enc/core_enc_ol_fx.c +++ b/lib_enc/core_enc_ol_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -1278,19 +1281,6 @@ void core_acelp_tcx20_switching_fx( st->acelpFramesCount = 0; move16(); } -#ifdef DEBUGGING - if ( st->force != -1 ) - { - if ( st->force == FORCE_SPEECH ) - { - st->core = ACELP_CORE; - } - else - { - st->core = TCX_20_CORE; - } - } -#endif } /* Fixed Decision (using -C) */ diff --git a/lib_enc/core_enc_reconf_fx.c b/lib_enc/core_enc_reconf_fx.c index 9f21792e3..f200fea81 100644 --- a/lib_enc/core_enc_reconf_fx.c +++ b/lib_enc/core_enc_reconf_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/core_enc_switch_fx.c b/lib_enc/core_enc_switch_fx.c index 3bea33c12..a927d0adb 100644 --- a/lib_enc/core_enc_switch_fx.c +++ b/lib_enc/core_enc_switch_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -386,24 +389,7 @@ void core_coder_mode_switch_ivas_fx( move32(); st->currEnergyHF_e_fx = 0; move16(); -#ifndef NONBE_FIX_ISSUE_2518 - Word16 shift = getScaleFactor16( st->old_inp_16k_fx, L_INP_MEM ); - Scale_sig( st->old_inp_16k_fx, L_INP_MEM, shift ); - st->exp_old_inp_16k = sub( st->exp_old_inp_16k, shift ); - move16(); - shift = getScaleFactor16( st->old_inp_12k8_fx, L_INP_MEM ); - Scale_sig( st->old_inp_12k8_fx, L_INP_MEM, shift ); - st->exp_old_inp_12k8 = sub( st->exp_old_inp_12k8, shift ); - move16(); -#endif init_coder_ace_plus_ivas_fx( st, last_total_brate, st->total_brate, MCT_flag ); -#ifndef NONBE_FIX_ISSUE_2518 - if ( st->hLPDmem != NULL ) - { - st->hLPDmem->q_lpd_old_exc = st->prev_Q_new; - move16(); - } -#endif } test(); diff --git a/lib_enc/core_enc_updt_fx.c b/lib_enc/core_enc_updt_fx.c index 3272830e8..4be0ffd2a 100644 --- a/lib_enc/core_enc_updt_fx.c +++ b/lib_enc/core_enc_updt_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/core_switching_enc_fx.c b/lib_enc/core_switching_enc_fx.c index 2ba41243a..2272e4289 100644 --- a/lib_enc/core_switching_enc_fx.c +++ b/lib_enc/core_switching_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -411,13 +414,8 @@ void core_switching_pre_enc_fx( } tmp = sub( L_LOOK_16k + L_SUBFR16k, Sample_Delay_HP ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT Copy( &hBWE_TD->old_speech_shb_fx[tmp], hBWE_FD->new_input_hp_fx, Sample_Delay_HP ); /*Q(hBWE_TD->old_speech_shb_q)*/ hBWE_FD->Q_new_input_hp = hBWE_TD->old_speech_shb_q; -#else - Copy( &hBWE_TD->old_speech_shb_fx[tmp], hBWE_FD->new_input_hp_fx, Sample_Delay_HP ); /*Q(Q_shb_spch)*/ - hBWE_FD->Q_new_input_hp = 0; -#endif move16(); IF( NE_16( st_fx->last_extl, WB_BWE ) ) @@ -567,10 +565,8 @@ void core_switching_post_enc_fx( ELSE { set16_fx( hBWE_TD->old_speech_shb_fx, 0, L_LOOK_16k + L_SUBFR16k ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT hBWE_TD->old_speech_shb_q = Q15; move16(); -#endif } swb_tbe_reset_fx( hBWE_TD->mem_csfilt_fx, hBWE_TD->mem_genSHBexc_filt_down_shb_fx, hBWE_TD->state_lpc_syn_fx, @@ -578,10 +574,8 @@ void core_switching_post_enc_fx( hBWE_TD->mem_stp_swb_fx, &( hBWE_TD->gain_prec_swb_fx ) ); set16_fx( hBWE_TD->dec_2_over_3_mem_fx, 0, L_FILT_2OVER3 ); -#ifdef NONBE_FIX_ISSUE_2206 hBWE_TD->dec_2_over_3_mem_q = Q15; move16(); -#endif IF( NE_16( st_fx->element_mode, EVS_MONO ) ) { set16_fx( st_fx->hBWE_TD->dec_2_over_3_mem_lp_fx, 0, L_FILT_2OVER3_LP ); diff --git a/lib_enc/corr_xh_fx.c b/lib_enc/corr_xh_fx.c index 14bd84b79..b69f3b5f6 100644 --- a/lib_enc/corr_xh_fx.c +++ b/lib_enc/corr_xh_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/decision_matrix_enc_fx.c b/lib_enc/decision_matrix_enc_fx.c index 0bf5c8dfa..466621518 100644 --- a/lib_enc/decision_matrix_enc_fx.c +++ b/lib_enc/decision_matrix_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -189,19 +192,12 @@ void decision_matrix_enc_fx( st_fx->core = ACELP_CORE; move16(); -#ifdef DEBUGGING - if ( st_fx->total_brate >= HQCORE_NB_MIN_RATE && ( st_fx->force == FORCE_MUSIC || ( st_fx->force == -1 && st_fx->sp_aud_decision1 == 1 ) ) ) - { - st_fx->core = HQ_CORE; - } -#else test(); IF( GE_32( st_fx->total_brate, HQCORE_NB_MIN_RATE ) && EQ_16( st_fx->sp_aud_decision1, 1 ) ) { st_fx->core = HQ_CORE; move16(); } -#endif } /*---------------------------------------------------------------------* @@ -213,14 +209,10 @@ void decision_matrix_enc_fx( st_fx->core = ACELP_CORE; move16(); -#ifdef DEBUGGING - if ( ( st_fx->total_brate >= HQCORE_WB_MIN_RATE && ( st_fx->force == FORCE_MUSIC || ( st_fx->force == -1 && st_fx->sp_aud_decision1 == 1 ) ) ) || st_fx->total_brate >= HQ_96k ) -#else test(); test(); IF( ( GE_32( st_fx->total_brate, HQCORE_WB_MIN_RATE ) && EQ_16( st_fx->sp_aud_decision1, 1 ) ) || GE_32( st_fx->total_brate, HQ_96k ) ) -#endif { st_fx->core = HQ_CORE; move16(); @@ -266,14 +258,10 @@ void decision_matrix_enc_fx( ELSE IF( EQ_16( st_fx->bwidth, SWB ) || EQ_16( st_fx->bwidth, FB ) ) { -#ifdef DEBUGGING - if ( ( st_fx->total_brate >= HQCORE_WB_MIN_RATE && ( st_fx->force == FORCE_MUSIC || ( st_fx->force == -1 && st_fx->sp_aud_decision1 == 1 ) ) ) || st_fx->total_brate >= HQ_96k ) -#else test(); test(); IF( ( GE_32( st_fx->total_brate, HQCORE_SWB_MIN_RATE ) && EQ_16( st_fx->sp_aud_decision1, 1 ) ) || GE_32( st_fx->total_brate, HQ_96k ) ) -#endif { st_fx->core = HQ_CORE; move16(); diff --git a/lib_enc/detect_transient_fx.c b/lib_enc/detect_transient_fx.c index 173092cdf..f6720faa2 100644 --- a/lib_enc/detect_transient_fx.c +++ b/lib_enc/detect_transient_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_enc/diffcod_fx.c b/lib_enc/diffcod_fx.c index 871fd422f..43ff40948 100644 --- a/lib_enc/diffcod_fx.c +++ b/lib_enc/diffcod_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/dtx_fx.c b/lib_enc/dtx_fx.c index b6b4e5a34..bcf401dcb 100644 --- a/lib_enc/dtx_fx.c +++ b/lib_enc/dtx_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/enc_acelp_fx.c b/lib_enc/enc_acelp_fx.c index 52e42582c..3801228a6 100644 --- a/lib_enc/enc_acelp_fx.c +++ b/lib_enc/enc_acelp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/enc_acelp_tcx_main_fx.c b/lib_enc/enc_acelp_tcx_main_fx.c index 34f333ae9..66056134d 100644 --- a/lib_enc/enc_acelp_tcx_main_fx.c +++ b/lib_enc/enc_acelp_tcx_main_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/enc_acelpx_fx.c b/lib_enc/enc_acelpx_fx.c index a5b11f3b0..4d9b3aff9 100644 --- a/lib_enc/enc_acelpx_fx.c +++ b/lib_enc/enc_acelpx_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/enc_amr_wb_fx.c b/lib_enc/enc_amr_wb_fx.c index e31578c7a..feb43d142 100644 --- a/lib_enc/enc_amr_wb_fx.c +++ b/lib_enc/enc_amr_wb_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/enc_gain_fx.c b/lib_enc/enc_gain_fx.c index 2e1a5019b..16444bc69 100644 --- a/lib_enc/enc_gain_fx.c +++ b/lib_enc/enc_gain_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/enc_gen_voic_fx.c b/lib_enc/enc_gen_voic_fx.c index 1ca20c9a6..c2c3cf3d9 100644 --- a/lib_enc/enc_gen_voic_fx.c +++ b/lib_enc/enc_gen_voic_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -34,12 +37,8 @@ static void rem_offset( tmp = round_fx_sat( loffset ); FOR( i = 0; i < l_subfr; i++ ) { -#ifdef NONBE_FIX_ISSUE_2206 /* The need of sub_sat() here should be revisited. */ out[i] = sub_sat( in[i], tmp ); -#else - out[i] = sub( in[i], tmp ); -#endif move16(); } diff --git a/lib_enc/enc_gen_voic_rf_fx.c b/lib_enc/enc_gen_voic_rf_fx.c index cf4b38259..39495b568 100644 --- a/lib_enc/enc_gen_voic_rf_fx.c +++ b/lib_enc/enc_gen_voic_rf_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/enc_higher_acelp_fx.c b/lib_enc/enc_higher_acelp_fx.c index 9d74cedc9..650531045 100644 --- a/lib_enc/enc_higher_acelp_fx.c +++ b/lib_enc/enc_higher_acelp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -301,7 +304,6 @@ void transf_cdbk_enc_fx( * DCT transform *--------------------------------------------------------------*/ -#ifdef NONBE_FIX_ISSUE_2518_TRANSENC_SAT_FIX Word16 q_x_tran; IF( EQ_16( st_fx->element_mode, EVS_MONO ) ) { @@ -314,13 +316,6 @@ void transf_cdbk_enc_fx( q_x_tran = s_min( Q_AVQ_OUT_DEC, norm_arr( x_norm, Nsv * WIDTH_BAND ) ); Copy_Scale_sig_nosat( x_norm, x_tran, Nsv * WIDTH_BAND, q_x_tran ); } -#else - FOR( i = 0; i < Nsv * WIDTH_BAND; i++ ) - { - x_tran[i] = shl_sat( x_norm[i], Q_AVQ_OUT_DEC ); - move16(); - } -#endif test(); test(); @@ -336,13 +331,8 @@ void transf_cdbk_enc_fx( edct2_fx( L_SUBFR, 1, x_tran, out32, &Qdct, ip_edct2_64, w_edct2_64_fx ); /*qdct = sub(Q_AVQ_OUT_DEC,qdct+Q_AVQ_OUT_DEC);*/ Qdct = negate( Qdct ); -#ifdef NONBE_FIX_ISSUE_2518_TRANSENC_SAT_FIX Copy_Scale_sig_32_16( out32, code_preQ, L_SUBFR, Qdct ); /* Output in q_x_tran */ /*qdct = q_x_tran;*/ -#else - Copy_Scale_sig_32_16( out32, code_preQ, L_SUBFR, Qdct ); /* Output in Q_AVQ_OUT_DEC */ - /*qdct = Q_AVQ_OUT_DEC;*/ -#endif } /*--------------------------------------------------------------* @@ -368,27 +358,18 @@ void transf_cdbk_enc_fx( test(); IF( GT_16( st_fx->element_mode, EVS_MONO ) && NE_16( st_fx->coder_type, INACTIVE ) && GE_32( st_fx->core_brate, MIN_BRATE_AVQ_EXC ) && LE_32( st_fx->core_brate, MAX_BRATE_AVQ_EXC_TD ) && !harm_flag_acelp && code_preQ[0] != 0 ) { -#ifdef NONBE_FIX_ISSUE_2518_TRANSENC_SAT_FIX IF( GT_16( abs_s( st_fx->last_code_preq ), shl_sat( abs_s( code_preQ[0] ), sub( Q_AVQ_OUT_DEC + 4, q_x_tran ) ) ) ) -#else - IF( GT_16( abs_s( st_fx->last_code_preq ), shl_sat( abs_s( code_preQ[0] ), 4 ) ) ) -#endif { st_fx->mem_preemp_preQ_fx = shr( st_fx->mem_preemp_preQ_fx, 4 ); move16(); } -#ifdef NONBE_FIX_ISSUE_2518_TRANSENC_SAT_FIX ELSE IF( GT_16( abs_s( st_fx->last_code_preq ), shl_sat( abs_s( code_preQ[0] ), sub( Q_AVQ_OUT_DEC + 3, q_x_tran ) ) ) ) -#else - ELSE IF( GT_16( abs_s( st_fx->last_code_preq ), shl_sat( abs_s( code_preQ[0] ), 3 ) ) ) -#endif { st_fx->mem_preemp_preQ_fx = shr( st_fx->mem_preemp_preQ_fx, 3 ); move16(); } } -#ifdef NONBE_FIX_ISSUE_2518_TRANSENC_SAT_FIX st_fx->last_code_preq = shl_sat( code_preQ[L_SUBFR - 1], sub( 1, q_x_tran ) ); // Q0 ? Q1 move16(); @@ -397,12 +378,6 @@ void transf_cdbk_enc_fx( preemph_fx( code_preQ, FAC_PRE_AVQ_FX, L_SUBFR, &( st_fx->mem_preemp_preQ_fx ) ); st_fx->mem_preemp_preQ_fx = shl_sat( st_fx->mem_preemp_preQ_fx, sub( Q_AVQ_OUT_DEC, q_x_tran ) ); move16(); -#else - st_fx->last_code_preq = shr( code_preQ[L_SUBFR - 1], 9 ); // Q0 - move16(); - - preemph_fx( code_preQ, FAC_PRE_AVQ_FX, L_SUBFR, &( st_fx->mem_preemp_preQ_fx ) ); -#endif /*--------------------------------------------------------------* * For inactive segments @@ -415,36 +390,22 @@ void transf_cdbk_enc_fx( IF( EQ_16( st_fx->coder_type, INACTIVE ) ) { /*ftemp = fcode_preQ[0] *fh1[L_SUBFR-1];*/ -#ifdef NONBE_FIX_ISSUE_2518_TRANSENC_SAT_FIX Ltmp = L_mult( code_preQ[0], h1[L_SUBFR - 1] ); /*1+14+shift + q_x_tran */ -#else - Ltmp = L_mult( code_preQ[0], h1[L_SUBFR - 1] ); /*1+14+shift + Q_AVQ_OUT */ -#endif FOR( i = 1; i < L_SUBFR; i++ ) { /*ftemp += fcode_preQ[i] * fh1[L_SUBFR-1-i];*/ Ltmp = L_mac( Ltmp, code_preQ[i], h1[L_SUBFR - 1 - i] ); } /*fxn[L_SUBFR-1] -= *fgain_preQ * ftemp;*/ -#ifdef NONBE_FIX_ISSUE_2518_TRANSENC_SAT_FIX Ltmp = L_shr( Mult_32_16( Ltmp, *gain_preQ ), sub( add( q_x_tran, 2 ), Q_new ) ); /* (2 + 1 + 14 +shift+Q_AVQ_OUT)-(Q_AVQ_OUT+2-Q_new) = 15 + Q_new + shift */ -#else - Ltmp = L_shr( Mult_32_16( Ltmp, *gain_preQ ), sub( add( Q_AVQ_OUT_DEC, 2 ), Q_new ) ); /* (2 + 1 + 14 +shift+Q_AVQ_OUT)-(Q_AVQ_OUT+2-Q_new) = 15 + Q_new + shift */ -#endif xn[L_SUBFR - 1] = round_fx( L_sub( L_mult( xn[L_SUBFR - 1], 32767 ), Ltmp ) ); /* -> Q_new + shift -1 */ } ELSE { conv_fx( code_preQ, h1, x_tran, L_SUBFR ); -#ifdef NONBE_FIX_ISSUE_2518_TRANSENC_SAT_FIX updt_tar_HR_fx( cn, cn, code_preQ, *gain_preQ, sub( Q_new, add( -15 + 2, q_x_tran ) ), L_SUBFR ); updt_tar_HR_fx( xn, xn, x_tran, *gain_preQ, sub( Q_new, add( -15 + 2, q_x_tran ) ), L_SUBFR ); -#else - updt_tar_HR_fx( cn, cn, code_preQ, *gain_preQ, sub( Q_new, add( -15 + 2, Q_AVQ_OUT_DEC ) ), L_SUBFR ); - - updt_tar_HR_fx( xn, xn, x_tran, *gain_preQ, sub( Q_new, add( -15 + 2, Q_AVQ_OUT_DEC ) ), L_SUBFR ); -#endif *gain_pit = corr_xy1_fx( xn, y1, g_corr, L_SUBFR, 0, &Overflow ); /* Q14 */ move16(); /* clip gain if necessary to avoid problems at decoder */ diff --git a/lib_enc/enc_nelp_fx.c b/lib_enc/enc_nelp_fx.c index 7eaccfcea..761fa606e 100644 --- a/lib_enc/enc_nelp_fx.c +++ b/lib_enc/enc_nelp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/enc_pit_exc_fx.c b/lib_enc/enc_pit_exc_fx.c index f93919b50..eb6958fa0 100644 --- a/lib_enc/enc_pit_exc_fx.c +++ b/lib_enc/enc_pit_exc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/enc_ppp_fx.c b/lib_enc/enc_ppp_fx.c index 5f0976604..8b48312a8 100644 --- a/lib_enc/enc_ppp_fx.c +++ b/lib_enc/enc_ppp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/enc_prm_fx.c b/lib_enc/enc_prm_fx.c index 4db8f2f2c..c812b31cd 100644 --- a/lib_enc/enc_prm_fx.c +++ b/lib_enc/enc_prm_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/enc_tran_fx.c b/lib_enc/enc_tran_fx.c index 10e458fb5..375d31c9d 100644 --- a/lib_enc/enc_tran_fx.c +++ b/lib_enc/enc_tran_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/enc_uv_fx.c b/lib_enc/enc_uv_fx.c index c09de6c3f..10ff3af0d 100644 --- a/lib_enc/enc_uv_fx.c +++ b/lib_enc/enc_uv_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -190,9 +193,6 @@ void encod_unvoiced_fx( index = gain_enc_uv_fx( code_fx, code2, L_SUBFR, &gain_pit_fx, &L_gain_code_fx, &gain_code2, st_fx->flag_noisy_speech_snr, &g_corr, Es_pred, &norm_gain_code_fx, &gain_inov_fx, FUNC_GAIN_ENC_GACELP_UV ); /* Q0 */ -#ifdef DEBUGGING - assert( st_fx->acelp_cfg.gains_mode[i_subfr_idx] == 7 && "Error: UC two-stage, only 5+2 gain Q is supported" ); -#endif push_indice( st_fx->hBstr, IND_GAIN, index, st_fx->acelp_cfg.gains_mode[i_subfr_idx] ); gp_clip_test_gain_pit_fx( st_fx->element_mode, st_fx->core_brate, gain_pit_fx, st_fx->clip_var_fx ); diff --git a/lib_enc/energy_fx.c b/lib_enc/energy_fx.c index 6a0be10a7..9c5acbc8b 100644 --- a/lib_enc/energy_fx.c +++ b/lib_enc/energy_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/eval_pit_contr_fx.c b/lib_enc/eval_pit_contr_fx.c index b9c56e401..a85238505 100644 --- a/lib_enc/eval_pit_contr_fx.c +++ b/lib_enc/eval_pit_contr_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/evs_enc_fx.c b/lib_enc/evs_enc_fx.c index c946be0d9..63b3efc32 100644 --- a/lib_enc/evs_enc_fx.c +++ b/lib_enc/evs_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -10,9 +13,6 @@ #include "rom_com.h" /* Common constants */ #include "basop_util.h" /* Function prototypes */ #include "prot_fx_enc.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*-------------------------------------------------------------------* * Local function prototypes @@ -72,9 +72,7 @@ ivas_error evs_enc_fx( Word32 L_tmp; UWord16 lsb; Word16 tmp; -#ifndef FIX_I4_OL_PITCH Word16 pitch_orig[3]; /* original open-loop pitch values that might be altered in core_acelp_tcx20_switching_fx() within MODE2 */ -#endif ivas_error error; SC_VBR_ENC_HANDLE hSC_VBR = st->hSC_VBR; TD_CNG_ENC_HANDLE hTdCngEnc = st->hTdCngEnc; @@ -89,7 +87,6 @@ ivas_error evs_enc_fx( Q_shb_spch = 0; move16(); /* to avoid compiler warnings */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT hBWE_TD->old_speech_shb_q = 0; move16(); st->hBWE_FD->Q_new_input_hp = 0; @@ -98,7 +95,6 @@ ivas_error evs_enc_fx( move16(); st->hBWE_FD->old_input_q = 0; move16(); -#endif /*------------------------------------------------------------------* * Initializiation @@ -181,13 +177,8 @@ ivas_error evs_enc_fx( * Pre-processing *---------------------------------------------------------------------*/ -#ifdef FIX_I4_OL_PITCH - pre_proc_fx( st, input_frame, old_inp_12k8, old_inp_16k, &inp, fr_bands, &Etot, &ener, A, Aw, epsP, lsp_new, lsp_mid, &vad_hover_flag, - &attack_flag, new_inp_resamp16k, &Voicing_flag, realBuffer, imagBuffer, &cldfbScale, hLPDmem->old_exc, &hq_core_type, &Q_new, &shift, Q_r ); -#else pre_proc_fx( st, input_frame, old_inp_12k8, old_inp_16k, &inp, fr_bands, &Etot, &ener, pitch_orig, A, Aw, epsP, lsp_new, lsp_mid, &vad_hover_flag, &attack_flag, new_inp_resamp16k, &Voicing_flag, realBuffer, imagBuffer, &cldfbScale, hLPDmem->old_exc, &hq_core_type, &Q_new, &shift, Q_r ); -#endif IF( EQ_16( st->mdct_sw, MODE2 ) ) { @@ -290,12 +281,10 @@ ivas_error evs_enc_fx( *---------------------------------------------------------------------*/ core_switching_post_enc_fx( st, old_inp_12k8, old_inp_16k, A, shift, Q_new, st->Q_syn2, &Q_synth ); -#ifndef FIX_I4_OL_PITCH IF( EQ_16( st->core, HQ_CORE ) ) { Copy( pitch_orig, st->pitch, 3 ); /* original open-loop pitch values might be altered in core_acelp_tcx20_switching_fx() */ } -#endif } ELSE /* MODE2 */ { @@ -319,9 +308,7 @@ ivas_error evs_enc_fx( enc_acelp_tcx_main_fx( old_inp_16k + L_INP_MEM, st, Aw, lsp_new, lsp_mid, bwe_exc_extended, voice_factors, pitch_buf, vad_hover_flag, &Q_new, &shift ); -#ifndef FIX_I4_OL_PITCH Copy( pitch_orig, st->pitch, 3 ); /* populate the original OL pitch values back Q0*/ -#endif /*---------------------------------------------------------------------* * Postprocessing for codec switching @@ -426,26 +413,16 @@ ivas_error evs_enc_fx( IF( GE_32( st->input_Fs, 16000 ) && ( LT_16( st->bwidth, SWB ) ) ) { /* Common pre-processing for WB TBE and WB BWE */ -#ifdef NONBE_FIX_ISSUE_2206 wb_pre_proc_fx( st, EVS_MONO, new_inp_resamp16k, hb_speech, -Q1 ); -#else - wb_pre_proc_fx( st, EVS_MONO, new_inp_resamp16k, hb_speech ); -#endif } -#ifdef NONBE_FIX_ISSUE_2206 st->q_inp = -Q1; /* meaning Q0 */ move16(); -#endif IF( EQ_16( st->extl, WB_TBE ) ) { /* WB TBE encoder */ -#ifdef NONBE_FIX_ISSUE_2206 wb_tbe_enc_fx( st, hb_speech, -Q1, bwe_exc_extended, Q_new, voice_factors, pitch_buf ); -#else - wb_tbe_enc_fx( st, hb_speech, bwe_exc_extended, Q_new, voice_factors, pitch_buf ); -#endif IF( EQ_16( st->codec_mode, MODE2 ) ) { tbe_write_bitstream_fx( st ); @@ -454,11 +431,7 @@ ivas_error evs_enc_fx( ELSE IF( EQ_16( st->extl, WB_BWE ) ) { /* WB BWE encoder */ -#ifdef NONBE_FIX_ISSUE_2206 wb_bwe_enc_fx( st, new_inp_resamp16k, -Q1 ); -#else - wb_bwe_enc_fx( st, new_inp_resamp16k ); -#endif } /*---------------------------------------------------------------------* @@ -470,11 +443,7 @@ ivas_error evs_enc_fx( IF( !st->Opt_SC_VBR && GE_32( st->input_Fs, 32000 ) ) { /* Common pre-processing for SWB(FB) TBE and SWB BWE */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT swb_pre_proc_fx( st, new_swb_speech, shb_speech, NULL, realBuffer, imagBuffer, 0, &cldfbScale, NULL ); -#else - swb_pre_proc_fx( st, new_swb_speech, shb_speech, realBuffer, imagBuffer, 0, &cldfbScale, NULL ); -#endif } ELSE IF( GE_32( st->input_Fs, 32000 ) ) { @@ -550,11 +519,7 @@ ivas_error evs_enc_fx( test(); IF( st->Opt_DTX_ON && GE_16( input_frame, L_FRAME32k ) ) { -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT swb_CNG_enc_fx( st, shb_speech, 0, old_syn_12k8_16k ); -#else - swb_CNG_enc_fx( st, shb_speech, old_syn_12k8_16k ); -#endif } /*---------------------------------------------------------------------* @@ -600,23 +565,6 @@ ivas_error evs_enc_fx( st->rf_mode = 1; } -#ifdef DEBUG_MODE_INFO - dbgwrite( &st->codec_mode, sizeof( short ), 1, input_frame, "res/codec" ); - dbgwrite( &st->core, sizeof( short ), 1, input_frame, "res/core" ); - dbgwrite( &st->extl, sizeof( short ), 1, input_frame, "res/extl" ); - dbgwrite( &st->bwidth, sizeof( short ), 1, input_frame, "res/bwidth" ); - float ener_flt = st->total_brate / 1000.0f; - dbgwrite( &ener_flt, sizeof( float ), 1, input_frame, "res/total_brate" ); - ener_flt = st->core_brate / 1000.0f; - dbgwrite( &ener_flt, sizeof( float ), 1, input_frame, "res/core_brate" ); - ener_flt = st->extl_brate / 1000.0f; - dbgwrite( &ener_flt, sizeof( float ), 1, input_frame, "res/extl_brate" ); - dbgwrite( &st->coder_type, sizeof( short ), 1, input_frame, "res/coder_type" ); - dbgwrite( &st->clas, sizeof( short ), 1, input_frame, "res/clas" ); - dbgwrite( &st->cng_type, sizeof( short ), 1, input_frame, "res/cng_type" ); - dbgwrite( &st->L_frame, sizeof( short ), 1, input_frame, "res/L_frame" ); - dbgwrite( &st->vad_flag, sizeof( short ), 1, input_frame, "res/vad_flag" ); -#endif pop_wmops(); diff --git a/lib_enc/ext_sig_ana_fx.c b/lib_enc/ext_sig_ana_fx.c index 33c2aa8f5..389a7976c 100644 --- a/lib_enc/ext_sig_ana_fx.c +++ b/lib_enc/ext_sig_ana_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -473,11 +476,7 @@ void core_signal_analysis_high_bitrate_fx( *-------------------------------------------------------------------*/ void core_signal_analysis_high_bitrate_ivas_fx( -#ifdef NONBE_FIX_ISSUE_2206 const Word16 *new_samples, /*i : *Q_new-1 */ -#else - const Word16 *new_samples, /*i : Q0 */ -#endif const Word16 T_op[3], /* i : open-loop pitch values for quantiz. Q0*/ Word16 lsp_new[], /* Q15 */ Word16 lsp_mid[], /* Q15 */ @@ -531,9 +530,6 @@ void core_signal_analysis_high_bitrate_ivas_fx( Word16 tmp, *tmpP16; Word16 q_mdstWin = st->q_inp, q_tcx20Win = st->q_inp; Word32 *tmpP32; -#ifndef NONBE_FIX_ISSUE_2206 - Word16 Q_exp; -#endif Word32 L_tmpbuf[N_MAX + L_MDCT_OVLP_MAX]; move16(); move16(); @@ -570,7 +566,6 @@ void core_signal_analysis_high_bitrate_ivas_fx( test(); IF( st->tcxonly && NE_16( st->element_mode, IVAS_CPE_MDCT ) ) { -#ifdef NONBE_FIX_ISSUE_2206 IF( st->element_mode > EVS_MONO ) { Word16 nq; @@ -590,11 +585,6 @@ void core_signal_analysis_high_bitrate_ivas_fx( /* st->new_speech_enc copied from new_samples in Q st->exp_buf_speech_enc This is considering new_samples is in q 0 in current code*/ } -#else - Copy_Scale_sig( new_samples, st->new_speech_enc, L_frame, sub( 15, st->exp_buf_speech_enc ) ); - /* st->new_speech_enc copied from new_samples in Q st->exp_buf_speech_enc - This is considering new_samples is in q 0 in current code*/ -#endif } /*--------------------------------------------------------------* @@ -630,7 +620,6 @@ void core_signal_analysis_high_bitrate_ivas_fx( test(); IF( st->tcxonly && NE_16( st->element_mode, IVAS_CPE_MDCT ) ) { -#ifdef NONBE_FIX_ISSUE_2206 Word16 nexp; nexp = s_max( s_max( st->exp_buf_speech_enc, st->exp_buf_speech_enc_pe ), st->exp_mem_preemph_enc ); @@ -641,31 +630,10 @@ void core_signal_analysis_high_bitrate_ivas_fx( move16(); st->exp_buf_speech_enc_pe = nexp; move16(); -#else - Copy( st->speech_enc + st->encoderLookahead_enc, st->new_speech_enc_pe, L_frame ); // Assuming both exp_buf_speech_enc_pe and exp_buf_speech_enc are same -#endif preemph_fx( st->new_speech_enc_pe, st->preemph_fac, L_frame, &( st->mem_preemph_enc ) ); // using this to keep values alligned in Q-1 } -#ifndef NONBE_FIX_ISSUE_2206 - /* Rescale Memory */ - Q_exp = sub( *Q_new, st->prev_Q_new ); - move16(); - - Scale_sig( st->old_inp_16k_fx, L_INP_MEM, sub( *Q_new, sub( Q15, st->exp_old_inp_16k ) ) ); // *Q_new - st->exp_old_inp_16k = sub( Q15, *Q_new ); - move16(); - IF( Q_exp != 0 ) - { -#ifndef NONBE_FIX_ISSUE_2206 - Scale_sig( st->buf_speech_enc_pe, st->encoderPastSamples_enc + st->encoderLookahead_enc, sub( Q_exp, sub( Q15, st->exp_buf_speech_enc_pe ) ) ); // *Q_new - st->exp_buf_speech_enc_pe = sub( Q15, Q_exp ); - move16(); -#endif - Scale_sig( &( st->mem_wsp_enc ), 1, Q_exp ); // *Q_new - } -#endif IF( EQ_16( hTcxEnc->tcxMode, TCX_10 ) ) { diff --git a/lib_enc/fd_cng_enc_fx.c b/lib_enc/fd_cng_enc_fx.c index 0c0b95ab9..9a34c7230 100644 --- a/lib_enc/fd_cng_enc_fx.c +++ b/lib_enc/fd_cng_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -1163,103 +1166,6 @@ void generate_comfort_noise_enc_fx( return; } -#ifndef HARMONIZE_2539_cng_energy -/*-------------------------------------------------------------------* - * cng_energy_fx() - * - * - *-------------------------------------------------------------------*/ - -/*! r: CNG energy */ -Word16 cng_energy_fx( - const Word16 element_mode, /* i : element mode Q0*/ - const Word16 bwidth, /* i : audio bandwidh Q0*/ - const Word16 CNG_mode, /* i : mode for DTX configuration Q0*/ - const Word16 CNG_att, /* i : attenuation factor for CNG Q7*/ - const Word16 *exc, /* i : input signal Q_new*/ - const Word16 len, /* i : vector length Q0*/ - const Word16 Q_new /* i : Input scaling */ -) -{ - Word16 i, maxv, scale; - Word16 hi, lo, enr, tmp16, att; - const Word16 *pt_res; - Word32 L_ener, L_tmp; - - maxv = 0; - move16(); - FOR( i = 0; i < len; i++ ) - { - maxv = s_max( maxv, abs_s( exc[i] ) ); - } - scale = norm_s( maxv ); - pt_res = exc; - L_ener = L_deposit_l( 1 ); - IF( EQ_16( len, L_FRAME ) ) - { - FOR( i = 0; i < 128; i++ ) - { - tmp16 = shl( *pt_res, scale ); - L_tmp = L_mult0( tmp16, tmp16 ); - pt_res++; - tmp16 = shl( *pt_res, scale ); - L_tmp = L_mac0_sat( L_tmp, tmp16, tmp16 ); /* 2*(Q_new+scale) */ - pt_res++; - L_ener = L_add( L_ener, L_shr( L_tmp, 7 ) ); /* 2*(Q_new+scale)+1, divide by L_frame done here */ - } - } - ELSE /* L_FRAME16k */ - { - FOR( i = 0; i < 160; i++ ) - { - tmp16 = shl( *pt_res, scale ); - L_tmp = L_mult0( tmp16, tmp16 ); - pt_res++; - tmp16 = shl( *pt_res, scale ); - L_tmp = L_mac0_sat( L_tmp, tmp16, tmp16 ); /* 2*(Q_new+scale) */ - pt_res++; - L_ener = L_add( L_ener, L_shr( Mult_32_16( L_tmp, 26214 /* 256/320, Q15 */ ), 7 ) ); /* 2*(Q_new+scale)+15+1-16+1, divide by L_frame done here */ - } - } - - hi = norm_l( L_ener ); - lo = Log2_norm_lc( L_shl( L_ener, hi ) ); - hi = sub( 30, add( hi, shl( add( Q_new, scale ), 1 ) ) ); /* log2 exp in Q2*(Q_new+scale) */ - L_tmp = L_Comp( hi, lo ); /* Q16 */ - enr = round_fx( L_shl( L_tmp, 8 ) ); /* Q8 (16+8-16) */ - - /* decrease the energy in case of WB input */ - test(); - IF( EQ_16( element_mode, IVAS_CPE_DFT ) || EQ_16( element_mode, IVAS_CPE_TD ) ) - { - (void) CNG_att; - } - ELSE IF( NE_16( bwidth, NB ) ) - { - IF( EQ_16( bwidth, WB ) ) - { - IF( CNG_mode >= 0 ) - { - /* Bitrate adapted attenuation */ - att = ENR_ATT_fx[CNG_mode]; - } - ELSE - { - /* Use least attenuation for higher bitrates */ - att = ENR_ATT_fx[4]; - } - } - ELSE - { - att = 384; - move16(); /*Q8*/ - } - enr = sub( enr, att ); - } - - return enr; -} -#endif /*-------------------------------------------------------------------* * cng_energy_ivas_fx() @@ -1268,11 +1174,7 @@ Word16 cng_energy_fx( *-------------------------------------------------------------------*/ /*! r: CNG energy */ -#ifdef HARMONIZE_2539_cng_energy Word16 cng_energy_fx( -#else -Word16 cng_energy_ivas_fx( -#endif const Word16 element_mode, /* i : element mode Q0*/ const Word16 bwidth, /* i : audio bandwidh Q0*/ const Word16 CNG_mode, /* i : mode for DTX configuration Q0*/ @@ -1286,13 +1188,11 @@ Word16 cng_energy_ivas_fx( Word16 hi, lo, enr, tmp16, att; const Word16 *pt_res; Word32 L_ener, L_tmp; -#ifdef HARMONIZE_2539_cng_energy Word64 W_ener = W_shr( W_deposit32_h( 1 ), 1 ); if ( EQ_16( element_mode, EVS_MONO ) ) { W_ener = W_neg( W_ener ); } -#endif maxv = 0; move16(); @@ -1304,7 +1204,6 @@ Word16 cng_energy_ivas_fx( pt_res = exc; L_ener = L_deposit_l( 1 ); -#ifdef HARMONIZE_2539_cng_energy Word16 scale_tmp; Word32 scale_tmp32; @@ -1317,13 +1216,11 @@ Word16 cng_energy_ivas_fx( move16(); scale_tmp32 = L_shr( 0x40000000, 7 - 1 ); } -#endif IF( EQ_16( len, L_FRAME ) ) { FOR( i = 0; i < 128; i++ ) { -#ifdef HARMONIZE_2539_cng_energy tmp16 = shl( *pt_res, scale_tmp ); L_tmp = L_mult0( tmp16, tmp16 ); pt_res++; @@ -1331,22 +1228,12 @@ Word16 cng_energy_ivas_fx( L_tmp = L_mac0_sat( L_tmp, tmp16, tmp16 ); pt_res++; W_ener = W_msu0_32_32( W_ener, L_tmp, scale_tmp32 ); /* 2*(Q_new+scale)+1, divide by L_frame done here */ -#else - tmp16 = shl( *pt_res, sub( scale, 4 ) ); // Q_new + scale - 4 - L_tmp = L_mult0( tmp16, tmp16 ); - pt_res++; - tmp16 = shl( *pt_res, sub( scale, 4 ) ); // Q_new + scale - 4 - L_tmp = L_mac0( L_tmp, tmp16, tmp16 ); /* 2*(Q_new+scale) + 7 */ - pt_res++; - L_ener = L_add( L_ener, L_tmp ); /* 2*(Q_new+scale)+1, divide by L_frame done here */ -#endif } } ELSE /* L_FRAME16k */ { FOR( i = 0; i < 160; i++ ) { -#ifdef HARMONIZE_2539_cng_energy tmp16 = shl( *pt_res, scale_tmp ); L_tmp = L_mult0( tmp16, tmp16 ); pt_res++; @@ -1354,18 +1241,8 @@ Word16 cng_energy_ivas_fx( L_tmp = L_mac0_sat( L_tmp, tmp16, tmp16 ); pt_res++; W_ener = W_msu0_32_32( W_ener, Mult_32_16( L_tmp, 26214 /* 256/320, Q15 */ ), scale_tmp32 ); /* 2*(Q_new+scale)+15+1-16+1, divide by L_frame done here */ -#else - tmp16 = shl( *pt_res, sub( scale, 4 ) ); // Q_new + scale - 4 - L_tmp = L_mult( tmp16, tmp16 ); - pt_res++; - tmp16 = shl( *pt_res, sub( scale, 4 ) ); // Q_new + scale - 4 - L_tmp = L_mac( L_tmp, tmp16, tmp16 ); /* 2*(Q_new+scale) - 7 */ - pt_res++; - L_ener = L_add( L_ener, Mult_32_16( L_tmp, 26214 /* 256/320, Q15 */ ) ); /* 2*(Q_new+scale)+15+1-16+1, divide by L_frame done here */ -#endif } } -#ifdef HARMONIZE_2539_cng_energy L_ener = L_shl( W_extract_h( W_ener ), 1 ); if ( EQ_16( element_mode, EVS_MONO ) ) { @@ -1376,7 +1253,6 @@ Word16 cng_energy_ivas_fx( { L_ener = L_shl( L_ener, 1 ); } -#endif hi = norm_l( L_ener ); lo = Log2_norm_lc( L_shl( L_ener, hi ) ); diff --git a/lib_enc/find_tar_fx.c b/lib_enc/find_tar_fx.c index 9a236731f..21ca6034c 100644 --- a/lib_enc/find_tar_fx.c +++ b/lib_enc/find_tar_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/find_tilt_fx.c b/lib_enc/find_tilt_fx.c index ef0f639a9..c999afee8 100644 --- a/lib_enc/find_tilt_fx.c +++ b/lib_enc/find_tilt_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/find_uv_fx.c b/lib_enc/find_uv_fx.c index 063989aff..561309541 100644 --- a/lib_enc/find_uv_fx.c +++ b/lib_enc/find_uv_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/find_wsp_fx.c b/lib_enc/find_wsp_fx.c index a16f1a95c..4f81362aa 100644 --- a/lib_enc/find_wsp_fx.c +++ b/lib_enc/find_wsp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/frame_spec_dif_cor_rate_fx.c b/lib_enc/frame_spec_dif_cor_rate_fx.c index ea810ab67..01eb3c60e 100644 --- a/lib_enc/frame_spec_dif_cor_rate_fx.c +++ b/lib_enc/frame_spec_dif_cor_rate_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/gain_enc_fx.c b/lib_enc/gain_enc_fx.c index 3e3c76323..dd05b1c58 100644 --- a/lib_enc/gain_enc_fx.c +++ b/lib_enc/gain_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/gaus_enc_fx.c b/lib_enc/gaus_enc_fx.c index 5c53881cd..13e5d798f 100644 --- a/lib_enc/gaus_enc_fx.c +++ b/lib_enc/gaus_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/gp_clip_fx.c b/lib_enc/gp_clip_fx.c index 11f5fe90c..f2580358c 100644 --- a/lib_enc/gp_clip_fx.c +++ b/lib_enc/gp_clip_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_enc/gs_enc_fx.c b/lib_enc/gs_enc_fx.c index 1e614638f..050f0eb12 100644 --- a/lib_enc/gs_enc_fx.c +++ b/lib_enc/gs_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/guided_plc_enc_fx.c b/lib_enc/guided_plc_enc_fx.c index 826d8e0f3..d3fac8019 100644 --- a/lib_enc/guided_plc_enc_fx.c +++ b/lib_enc/guided_plc_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/hf_cod_amrwb_fx.c b/lib_enc/hf_cod_amrwb_fx.c index 84ba1b484..d098d3584 100644 --- a/lib_enc/hf_cod_amrwb_fx.c +++ b/lib_enc/hf_cod_amrwb_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/hq_classifier_enc_fx.c b/lib_enc/hq_classifier_enc_fx.c index 642c503fe..177852eef 100644 --- a/lib_enc/hq_classifier_enc_fx.c +++ b/lib_enc/hq_classifier_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/hq_core_enc_fx.c b/lib_enc/hq_core_enc_fx.c index 9b7978255..5f61c996f 100644 --- a/lib_enc/hq_core_enc_fx.c +++ b/lib_enc/hq_core_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -71,11 +74,7 @@ void HQ_core_enc_init_fx( void hq_core_enc_fx( Encoder_State *st, /* i/o: encoder state structure */ -#ifdef SIMPLIFY_CORE_ENC Word16 *audio_fx, /* i : input audio signal Q0*/ -#else - const Word16 *audio_fx, /* i : input audio signal Q0*/ -#endif const Word16 input_frame_orig, /* i : frame length Q0*/ const Word16 hq_core_type, /* i : HQ core type Q0*/ const Word16 Voicing_flag, /* i : Voicing flag for FER method selection Q0*/ @@ -127,7 +126,6 @@ void hq_core_enc_fx( st->hTcxCfg->tcx_curr_overlap_mode = ALDO_WINDOW; move16(); -#ifdef SIMPLIFY_CORE_ENC /*-------------------------------------------------------------------------- * Scaling of buffers *--------------------------------------------------------------------------*/ @@ -145,7 +143,6 @@ void hq_core_enc_fx( move16(); } -#endif /*-------------------------------------------------------------------------- * Preprocessing in the first HQ frame after ACELP frame * Find the number of bits for PVQ coding diff --git a/lib_enc/hq_env_enc_fx.c b/lib_enc/hq_env_enc_fx.c index 6374a89e8..7cfb81c32 100644 --- a/lib_enc/hq_env_enc_fx.c +++ b/lib_enc/hq_env_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/hq_hr_enc_fx.c b/lib_enc/hq_hr_enc_fx.c index 91df70552..35c6a4b14 100644 --- a/lib_enc/hq_hr_enc_fx.c +++ b/lib_enc/hq_hr_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/hq_lr_enc_fx.c b/lib_enc/hq_lr_enc_fx.c index 9165eb842..f99ec0dcf 100644 --- a/lib_enc/hq_lr_enc_fx.c +++ b/lib_enc/hq_lr_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/hvq_enc_fx.c b/lib_enc/hvq_enc_fx.c index c570a6e49..57354a8d4 100644 --- a/lib_enc/hvq_enc_fx.c +++ b/lib_enc/hvq_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/igf_enc_fx.c b/lib_enc/igf_enc_fx.c index 6a2416705..e3c3a756b 100644 --- a/lib_enc/igf_enc_fx.c +++ b/lib_enc/igf_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -65,188 +68,6 @@ static void IGF_write_bits( return; } -#ifndef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 -/**********************************************************************/ /* - envelope estimation - **************************************************************************/ - -static void IGF_CalculateEnvelope( - const IGF_ENC_INSTANCE_HANDLE hInstance, /**< in: | instance handle of IGF Encoder */ - Word32 *pMDCTSpectrum, /**< in: Q31 | MDCT spectrum */ - Word16 MDCTSpectrum_e, /**< in: | exponent of MDCT spectrum */ - Word32 *pPowerSpectrum, /**< in: Q31 | MDCT^2 + MDST^2 spectrum, or estimate */ - Word16 PowerSpectrum_e, /**< in: | exponent of MDCT^2 + MDST^2 spectrum, or estimate */ - const Word16 igfGridIdx /**< in: Q0 | IGF grid index */ - -) -{ - IGF_ENC_PRIVATE_DATA_HANDLE hPrivateData; - H_IGF_GRID hGrid; - Word16 *swb_offset; - Word16 sfb; /* this is the actual scalefactor band */ - Word16 width; /* this is width in subbands of the actual scalefactor band */ - Word16 tile_idx; - Word16 strt_cpy; - Word16 gain; /* the gain which has to be applied to the source tile to get the destination energy */ - Word16 gain_exp; - Word16 tb; - Word16 zeroNrg; /* Q0 | flag indicating if the signal contains almost no energy */ - Word32 sfbEnergyR[IGF_MAX_SFB]; - Word16 sfbEnergyR_exp[IGF_MAX_SFB]; - Word32 sfbEnergyC[IGF_MAX_SFB]; /* the energy of the destination region of the tile */ - Word16 sfbEnergyC_exp[IGF_MAX_SFB]; - Word32 sfbEnergyTileR[IGF_MAX_SFB]; - Word16 sfbEnergyTileR_exp[IGF_MAX_SFB]; - Word32 sfbEnergyTileC[IGF_MAX_SFB]; /* the energy of the destination region of the tile */ - Word16 sfbEnergyTileC_exp[IGF_MAX_SFB]; - Word32 LFMDCTSpectrum[N_MAX]; - Word16 LFMDCTSpectrum_exp; - Word32 LFPowerSpectrum[N_MAX]; - Word16 tmp; - Word16 tmp_exp; - Word32 L_tmp; - Word16 shift; - - /* initialize variables */ - Copy32( pMDCTSpectrum + IGF_START_MN, hInstance->spec_be_igf, hInstance->infoStopLine - IGF_START_MN ); - hPrivateData = &hInstance->igfData; - hGrid = &hPrivateData->igfInfo.grid[igfGridIdx]; - swb_offset = hGrid->swb_offset; - move16(); - hInstance->spec_be_igf_e = MDCTSpectrum_e; - move16(); - zeroNrg = 0; - move16(); - - IF( pPowerSpectrum != NULL ) - { - FOR( tile_idx = 0; tile_idx < hGrid->nTiles; tile_idx++ ) - { - strt_cpy = hGrid->sbWrap[tile_idx]; - move16(); - FOR( sfb = hGrid->sfbWrap[tile_idx]; sfb < hGrid->sfbWrap[tile_idx + 1]; sfb++ ) - { - FOR( tb = swb_offset[sfb]; tb < swb_offset[sfb + 1]; tb++ ) - { - LFMDCTSpectrum[tb] = pMDCTSpectrum[strt_cpy]; - move32(); - LFPowerSpectrum[tb] = pPowerSpectrum[strt_cpy]; - move32(); - strt_cpy = add( strt_cpy, 1 ); - } - } - } - - IGFCommonFuncsCalcSfbEnergyPowerSpec( hGrid->startSfb, hGrid->stopSfb, hGrid->swb_offset, pPowerSpectrum, &PowerSpectrum_e, sfbEnergyC, sfbEnergyC_exp ); - - IGFCommonFuncsCalcSfbEnergyPowerSpec( hGrid->startSfb, hGrid->stopSfb, hGrid->swb_offset, LFPowerSpectrum, &PowerSpectrum_e, sfbEnergyTileC, sfbEnergyTileC_exp ); - - IGFCommonFuncsMDCTSquareSpec( hGrid->startLine, hGrid->stopLine, LFMDCTSpectrum, MDCTSpectrum_e, LFMDCTSpectrum, &LFMDCTSpectrum_exp, 0, EVS_MONO ); - - IGFCommonFuncsCalcSfbEnergyPowerSpec( hGrid->startSfb, hGrid->stopSfb, hGrid->swb_offset, LFMDCTSpectrum, &LFMDCTSpectrum_exp, sfbEnergyTileR, sfbEnergyTileR_exp ); - } - ELSE - { - IGFCommonFuncsMDCTSquareSpec( hGrid->startLine, hGrid->stopLine, pMDCTSpectrum, MDCTSpectrum_e, LFMDCTSpectrum, &LFMDCTSpectrum_exp, 0, EVS_MONO ); - - IGFCommonFuncsCalcSfbEnergyPowerSpec( hGrid->startSfb, hGrid->stopSfb, hGrid->swb_offset, LFMDCTSpectrum, &LFMDCTSpectrum_exp, sfbEnergyR, sfbEnergyR_exp ); - } - - FOR( tile_idx = 0; tile_idx < hGrid->nTiles; tile_idx++ ) - { - - FOR( sfb = hGrid->sfbWrap[tile_idx]; sfb < hGrid->sfbWrap[tile_idx + 1]; sfb++ ) - { - width = sub( swb_offset[sfb + 1], swb_offset[sfb] ); - L_tmp = 0; - move16(); - gain_exp = 0; - move16(); - - IF( pPowerSpectrum ) - { - IF( sfbEnergyTileR[sfb] == 0 ) - { - sfbEnergyTileR[sfb] = 0x00010000; - move32(); - sfbEnergyTileR_exp[sfb] = 0; - move16(); - zeroNrg = 1; - move16(); - } - IF( sfbEnergyTileC[sfb] == 0 ) - { - sfbEnergyTileC[sfb] = 0x00010000; - move32(); - sfbEnergyTileC_exp[sfb] = 0; - move16(); - zeroNrg = 1; - move16(); - } - IF( sfbEnergyC[sfb] == 0 ) - { - sfbEnergyC[sfb] = 0x00010000; - move32(); - sfbEnergyC_exp[sfb] = 0; - move16(); - zeroNrg = 1; - move16(); - } - - BASOP_Util_Divide_MantExp( round_fx_sat( sfbEnergyTileR[sfb] ), sfbEnergyTileR_exp[sfb], width, 15, &gain, &gain_exp ); - BASOP_Util_Divide_MantExp( round_fx_sat( sfbEnergyC[sfb] ), sfbEnergyC_exp[sfb], round_fx_sat( sfbEnergyTileC[sfb] ), sfbEnergyTileC_exp[sfb], &tmp, &tmp_exp ); - L_tmp = L_mult( gain, tmp ); - gain_exp = add( gain_exp, tmp_exp ); - } - ELSE - { - IF( sfbEnergyR[sfb] == 0 ) - { - sfbEnergyR[sfb] = 0x00010000; - move32(); - sfbEnergyR_exp[sfb] = 0; - move16(); - zeroNrg = 1; - move16(); - } - BASOP_Util_Divide_MantExp( round_fx_sat( sfbEnergyR[sfb] ), sfbEnergyR_exp[sfb], width, 15, &gain, &gain_exp ); - L_tmp = L_deposit_h( gain ); - } - - /* gain = 0.5f + (float)((2.885390081777927f * log(gain) + 16.f)); */ - L_tmp = BASOP_Util_Log2( L_tmp ); - L_tmp = L_add( L_tmp, L_deposit_h( shl( gain_exp, 15 - 6 ) ) ); - shift = norm_l( L_tmp ); - gain = round_fx_sat( L_shl( L_tmp, shift ) ); - gain_exp = sub( 7, shift ); - gain_exp = BASOP_Util_Add_MantExp( gain, gain_exp, 32767 /*16 Q11*/, 4, &gain ); - gain_exp = BASOP_Util_Add_MantExp( gain, gain_exp, 0x4000, 0, &gain ); - gain = shr( gain, s_min( sub( 15, gain_exp ), 15 ) ); - - if ( gain > 91 ) - { - gain = s_min( gain, 91 ); /* 13+15+63, see arithocde encode residual */ - } - if ( gain < 0 ) - { - gain = s_max( gain, 0 ); - } - - /* set gain to zero if the signal contains too less energy */ - if ( zeroNrg != 0 ) - { - gain = 0; - move16(); - } - - hPrivateData->igfScfQuantized[sfb] = gain; - move16(); - } - } - - return; -} -#endif /*-------------------------------------------------------------------* @@ -2011,11 +1832,7 @@ static Word32 IGF_getTNR_ivas_fx( * envelope estimation *-------------------------------------------------------------------*/ -#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 static void IGF_CalculateEnvelope_fx( -#else -static void IGF_CalculateEnvelope_ivas_fx( -#endif const IGF_ENC_INSTANCE_HANDLE hIGFEnc, /* i : instance handle of IGF Encoder */ Word32 *pMDCTSpectrum_fx, /* i : MDCT spectrum */ Word16 e_mdct, /* i : exp of MDCT spectrum */ @@ -2062,25 +1879,21 @@ static void IGF_CalculateEnvelope_ivas_fx( Word16 crest_exp; /*Stores the exponent of the result(return value)*/ Word16 sfm_exp; /*stores exponent for ouput from sfm*/ Word16 tmp_e; -#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 Word32 LFMDCTSpectrum[N_MAX]; Word16 sfbEnergyTileR16; Word16 sfbEnergyR16; Word16 gain16; /* the EVS gain which has to be applied to the source tile to get the destination energy */ Word16 zeroNrg; /* flag indicating if the signal contains almost no energy */ -#endif hPrivateData = &hIGFEnc->igfData; hGrid = &hPrivateData->igfInfo.grid[(Word16) igfGridIdx]; swb_offset = hGrid->swb_offset; -#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 zeroNrg = 0; sfbEnergyTileR16 = 0; temp = 0; move16(); move16(); move16(); -#endif IF( element_mode > EVS_MONO ) { @@ -2114,7 +1927,6 @@ static void IGF_CalculateEnvelope_ivas_fx( } } } -#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 ELSE { Copy32( pMDCTSpectrum_fx + IGF_START_MN, hIGFEnc->spec_be_igf, hIGFEnc->infoStopLine - IGF_START_MN ); @@ -2137,13 +1949,8 @@ static void IGF_CalculateEnvelope_ivas_fx( } } } -#endif -#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 IF( pPowerSpectrum_fx && ( element_mode > EVS_MONO ) ) -#else - IF( pPowerSpectrum_fx ) -#endif { FOR( sb = hGrid->sbWrap[0]; sb < swb_offset[hGrid->sfbWrap[hGrid->nTiles]]; sb++ ) { @@ -2185,10 +1992,8 @@ static void IGF_CalculateEnvelope_ivas_fx( { tmp = strt_cpy; move16(); -#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 IF( element_mode > EVS_MONO ) { -#endif FOR( sb = swb_offset[sfb]; sb < swb_offset[sfb + 1]; sb++ ) { Word16 shift = norm_l( pPowerSpectrum_fx[sb] ); @@ -2207,7 +2012,6 @@ static void IGF_CalculateEnvelope_ivas_fx( sfbEnergyTileR = L_deposit_h( BASOP_Util_Divide3232_Scale( sfbEnergyTileR, width, &tmp_e ) ); sfbEnergyTileR_e = add( sub( sfbEnergyTileR_e, Q31 ), tmp_e ); -#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 } ELSE { @@ -2246,7 +2050,6 @@ static void IGF_CalculateEnvelope_ivas_fx( strt_cpy += swb_offset[sfb + 1] - swb_offset[sfb]; } -#endif IF( sfbEnergyTileR == 0 ) { @@ -2257,22 +2060,14 @@ static void IGF_CalculateEnvelope_ivas_fx( } IF( sfbEnergyC == 0 ) { -#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 sfbEnergyC = ( element_mode > EVS_MONO ) ? EPSILON_FX : 0x00010000; -#else - sfbEnergyC = EPSILON_FX; -#endif sfbEnergyC_e = 0; move32(); move16(); } IF( sfbEnergyTileC == 0 ) { -#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 sfbEnergyTileC = ( element_mode > EVS_MONO ) ? EPSILON_FX : 0x00010000; -#else - sfbEnergyTileC = EPSILON_FX; -#endif sfbEnergyTileC_e = 0; temp = BASOP_Util_Divide3232_Scale( sfbEnergyC, sfbEnergyTileC, &tmp_e ); tmp_e = add( tmp_e, sub( sfbEnergyC_e, sfbEnergyTileC_e ) ); @@ -2282,33 +2077,25 @@ static void IGF_CalculateEnvelope_ivas_fx( ELSE { /*gain = (float) ( sfbEnergyTileR * ( sfbEnergyC / sfbEnergyTileC ) );*/ -#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 IF( element_mode > EVS_MONO ) { -#endif temp = BASOP_Util_Divide3232_Scale( sfbEnergyC, sfbEnergyTileC, &tmp_e ); tmp_e = add( tmp_e, sub( sfbEnergyC_e, sfbEnergyTileC_e ) ); -#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 } ELSE { BASOP_Util_Divide_MantExp( round_fx_sat( sfbEnergyC ), sfbEnergyC_e, round_fx_sat( sfbEnergyTileC ), sfbEnergyTileC_e, &tmp, &tmp_e ); } -#endif } -#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 IF( element_mode > EVS_MONO ) { -#endif gain = Mult_32_16( sfbEnergyTileR, temp ); // gain_e -#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 } ELSE { gain = L_mult( sfbEnergyTileR16, tmp ); // gain_e } -#endif gain_e = add( tmp_e, sfbEnergyTileR_e ); IF( element_mode > EVS_MONO ) @@ -2625,10 +2412,8 @@ static void IGF_CalculateEnvelope_ivas_fx( } ELSE { -#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 IF( element_mode > EVS_MONO ) { -#endif tmp_e = e_mdct; move16(); sfbEnergyR = add_sat( EPSILON_FX, BASOP_Util_Divide3216_Scale( sum2_32_fx( pMDCTSpectrum_fx + swb_offset[sfb], width, &tmp_e ) /*exp: tmp_e*/, width, &sfbEnergyR_e ) ); // sfbEnergyR_e @@ -2658,7 +2443,6 @@ static void IGF_CalculateEnvelope_ivas_fx( move16(); move16(); move16(); -#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 } ELSE { @@ -2691,21 +2475,14 @@ static void IGF_CalculateEnvelope_ivas_fx( BASOP_Util_Divide_MantExp( round_fx_sat( sfbEnergyR ), sfbEnergyR_e, width, 15, &sfbEnergyR16, &gain_e ); gain = L_deposit_h( sfbEnergyR16 ); } -#endif } -#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 IF( element_mode > EVS_MONO ) { -#endif gain = Mult_32_16( gain, att ); // gain_e gain_e = add( gain_e, 0 ); -#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 /*gain=0.5f+log2f(gain)*2+16 because 2.885390081777927f=2*1/loge(2) so 2*1/loge(2)*loge(x) can be written as 2*log2(x)*/ -#else - /*gain=0.5f+log2f(gain)*2+16 becuase 2.885390081777927f=2*1/loge(2) so 2*1/loge(2)*loge(x) can be written as 2*log2(x)*/ -#endif gain = L_add( ONE_IN_Q22, L_add( L_add( L_shr( BASOP_Util_Log2( gain ), 1 ), L_shl( gain_e, Q24 ) ), L_shl( 16, Q23 ) ) ); /*Q23*/ test(); test(); @@ -2725,7 +2502,6 @@ static void IGF_CalculateEnvelope_ivas_fx( move16(); hPrivateData->igfScfQuantized[sfb] = extract_l( L_shr( gain, Q23 ) ); /*Q0*/ move16(); -#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 } ELSE { @@ -2759,7 +2535,6 @@ static void IGF_CalculateEnvelope_ivas_fx( hPrivateData->igfScfQuantized[sfb] = gain16; move16(); } -#endif } } @@ -3531,18 +3306,7 @@ void IGFEncApplyMono_fx( calculate_hangover_attenuation_gain_fx( st, &att_fx, vad_hover_flag ); } -#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS_2 IGF_CalculateEnvelope_fx( st->hIGFEnc, pMDCTSpectrum_fx, e_mdct, pPowerSpectrumParameter_fx, pPowerSpectrumParameter_exp, igfGridIdx, st->hTranDet->transientDetector.bIsAttackPresent, last_core_acelp, st->element_mode, att_fx ); -#else - IF( EQ_16( st->element_mode, EVS_MONO ) ) - { - IGF_CalculateEnvelope( st->hIGFEnc, pMDCTSpectrum_fx, e_mdct, pPowerSpectrumParameter_fx, *e_ps, igfGridIdx ); - } - ELSE - { - IGF_CalculateEnvelope_ivas_fx( st->hIGFEnc, pMDCTSpectrum_fx, e_mdct, pPowerSpectrumParameter_fx, pPowerSpectrumParameter_exp, igfGridIdx, st->hTranDet->transientDetector.bIsAttackPresent, last_core_acelp, st->element_mode, att_fx ); - } -#endif IF( isTCX20 ) { diff --git a/lib_enc/igf_scf_enc_fx.c b/lib_enc/igf_scf_enc_fx.c index 9f55aafd4..dfa2afd13 100644 --- a/lib_enc/igf_scf_enc_fx.c +++ b/lib_enc/igf_scf_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 @@ -129,11 +101,7 @@ static void arith_encode_bits( FOR( i = nBits - 1; i >= 0; --i ) /* nBits > 0 */ { bit = s_and( shr( x, i ), 1 ); -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC hPrivateData->ptrBitIndex = ari_encode_14bits_sign_fx( ptr, hPrivateData->ptrBitIndex, MAX16B /* disable the bit count limitation */, &hPrivateData->acState_ivas_fx, bit ); -#else - hPrivateData->ptrBitIndex = ari_encode_14bits_sign_fx( ptr, hPrivateData->ptrBitIndex, MAX16B /* disable the bit count limitation */, &hPrivateData->acState_fx, bit ); -#endif move16(); } } @@ -142,11 +110,7 @@ static void arith_encode_bits( FOR( i = nBits - 1; i >= 0; --i ) /* nBits > 0 */ { bit = s_and( shr( x, i ), 1 ); -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC hPrivateData->ptrBitIndex = ari_encode_14bits_sign_fx( ptr, hPrivateData->ptrBitIndex, MAX16B /* disable the bit count limitation */, &hPrivateData->acState, bit ); -#else - hPrivateData->ptrBitIndex = ari_encode_14bits_sign_ivas_fx( ptr, hPrivateData->ptrBitIndex, MAX16B /* disable the bit count limitation */, &hPrivateData->acState, bit ); -#endif move16(); } } @@ -177,35 +141,19 @@ static void arith_encode_residual( /* encode one of the IGF_SYMBOLS_IN_TABLE == 27 alphabet symbols using the new raw AC function */ IF( EQ_16( element_mode, EVS_MONO ) ) { -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC hPrivateData->ptrBitIndex = ari_encode_14bits_ext_fx( ptr, hPrivateData->ptrBitIndex, &hPrivateData->acState_ivas_fx, x, cumulativeFrequencyTable ); -#else - hPrivateData->ptrBitIndex = ari_encode_14bits_ext_fx( ptr, - hPrivateData->ptrBitIndex, - &hPrivateData->acState_fx, - x, - cumulativeFrequencyTable ); -#endif } ELSE { -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC hPrivateData->ptrBitIndex = ari_encode_14bits_ext_fx( ptr, hPrivateData->ptrBitIndex, &hPrivateData->acState, x, cumulativeFrequencyTable ); -#else - hPrivateData->ptrBitIndex = ari_encode_14bits_ext_ivas_fx( ptr, - hPrivateData->ptrBitIndex, - &hPrivateData->acState, - x, - cumulativeFrequencyTable ); -#endif } move16(); @@ -218,35 +166,19 @@ static void arith_encode_residual( extra = sub( IGF_MIN_ENC_SEPARATE - 1, x ); IF( EQ_16( element_mode, EVS_MONO ) ) { -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC hPrivateData->ptrBitIndex = ari_encode_14bits_ext_fx( ptr, hPrivateData->ptrBitIndex, &hPrivateData->acState_ivas_fx, 0, cumulativeFrequencyTable ); -#else - hPrivateData->ptrBitIndex = ari_encode_14bits_ext_fx( ptr, - hPrivateData->ptrBitIndex, - &hPrivateData->acState_fx, - 0, - cumulativeFrequencyTable ); -#endif } ELSE { -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC hPrivateData->ptrBitIndex = ari_encode_14bits_ext_fx( ptr, hPrivateData->ptrBitIndex, &hPrivateData->acState, 0, cumulativeFrequencyTable ); -#else - hPrivateData->ptrBitIndex = ari_encode_14bits_ext_ivas_fx( ptr, - hPrivateData->ptrBitIndex, - &hPrivateData->acState, - 0, - cumulativeFrequencyTable ); -#endif } move16(); @@ -258,35 +190,19 @@ static void arith_encode_residual( IF( EQ_16( element_mode, EVS_MONO ) ) { -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC hPrivateData->ptrBitIndex = ari_encode_14bits_ext_fx( ptr, hPrivateData->ptrBitIndex, &hPrivateData->acState_ivas_fx, IGF_SYMBOLS_IN_TABLE - 1, cumulativeFrequencyTable ); -#else - hPrivateData->ptrBitIndex = ari_encode_14bits_ext_fx( ptr, - hPrivateData->ptrBitIndex, - &hPrivateData->acState_fx, - IGF_SYMBOLS_IN_TABLE - 1, - cumulativeFrequencyTable ); -#endif } ELSE { -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC hPrivateData->ptrBitIndex = ari_encode_14bits_ext_fx( ptr, hPrivateData->ptrBitIndex, &hPrivateData->acState, IGF_SYMBOLS_IN_TABLE - 1, cumulativeFrequencyTable ); -#else - hPrivateData->ptrBitIndex = ari_encode_14bits_ext_ivas_fx( ptr, - hPrivateData->ptrBitIndex, - &hPrivateData->acState, - IGF_SYMBOLS_IN_TABLE - 1, - cumulativeFrequencyTable ); -#endif } move16(); } @@ -363,35 +279,19 @@ static void encode_sfe_vector( /* encode one of the IGF_SYMBOLS_IN_TABLE == 27 alphabet symbols using the new raw AC function */ IF( EQ_16( element_mode, EVS_MONO ) ) { -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC hPrivateData->ptrBitIndex = ari_encode_14bits_ext_fx( ptr, hPrivateData->ptrBitIndex, &hPrivateData->acState_ivas_fx, shr( x[f], 2 ), (const UWord16 *) hPrivateData->cf_se00 ); -#else - hPrivateData->ptrBitIndex = ari_encode_14bits_ext_fx( ptr, - hPrivateData->ptrBitIndex, - &hPrivateData->acState_fx, - shr( x[f], 2 ), - (const UWord16 *) hPrivateData->cf_se00 ); -#endif } ELSE { -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC hPrivateData->ptrBitIndex = ari_encode_14bits_ext_fx( ptr, hPrivateData->ptrBitIndex, &hPrivateData->acState, shr( x[f], 2 ), (const UWord16 *) hPrivateData->cf_se00 ); -#else - hPrivateData->ptrBitIndex = ari_encode_14bits_ext_ivas_fx( ptr, - hPrivateData->ptrBitIndex, - &hPrivateData->acState, - shr( x[f], 2 ), - (const UWord16 *) hPrivateData->cf_se00 ); -#endif } move16(); arith_encode_bits( hPrivateData, ptr, x[f] & 3, 2, element_mode ); /* LSBs as 2 bit raw */ @@ -481,19 +381,11 @@ Word16 IGFSCFEncoderEncode_fx( /* start AC encoding */ IF( EQ_16( element_mode, EVS_MONO ) ) { -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC ari_start_encoding_14bits_fx( &hPublicData->acState_ivas_fx ); -#else - ari_start_encoding_14bits_fx( &hPublicData->acState_fx ); -#endif } ELSE { -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC ari_start_encoding_14bits_fx( &hPublicData->acState ); -#else - ari_start_encoding_14bits_ivas_fx( &hPublicData->acState ); -#endif } /* check if coder needs a reset and do it if necessary */ @@ -508,19 +400,11 @@ Word16 IGFSCFEncoderEncode_fx( /* finish AC encoding */ IF( EQ_16( element_mode, EVS_MONO ) ) { -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC hPublicData->ptrBitIndex = ari_done_encoding_14bits_fx( ptr, hPublicData->ptrBitIndex, &hPublicData->acState_ivas_fx ); -#else - hPublicData->ptrBitIndex = ari_done_encoding_14bits_fx( ptr, hPublicData->ptrBitIndex, &hPublicData->acState_fx ); -#endif } ELSE { -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC hPublicData->ptrBitIndex = ari_done_encoding_14bits_fx( ptr, hPublicData->ptrBitIndex, &hPublicData->acState ); -#else - hPublicData->ptrBitIndex = ari_done_encoding_14bits_ivas_fx( ptr, hPublicData->ptrBitIndex, &hPublicData->acState ); -#endif } hPublicData->bitCount = add( hPublicData->bitCount, hPublicData->ptrBitIndex ); move16(); diff --git a/lib_enc/init_enc_fx.c b/lib_enc/init_enc_fx.c index 52fb9b625..56292da65 100644 --- a/lib_enc/init_enc_fx.c +++ b/lib_enc/init_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 @@ -249,13 +221,11 @@ ivas_error init_encoder_fx( st->prev_Q_new = 0; move16(); -#ifdef NONBE_FIX_ISSUE_2518 if ( st->element_mode > EVS_MONO ) { st->prev_Q_new = Q15; move16(); } -#endif IF( EQ_32( st->input_Fs, 8000 ) ) { @@ -396,12 +366,10 @@ ivas_error init_encoder_fx( st->Bin_E_old_fx = st->hSignalBuf->Bin_E_old_fx; st->mem_decim_fx = st->hSignalBuf->mem_decim_fx; st->mem_decim16k_fx = st->hSignalBuf->mem_decim16k_fx; -#ifdef NONBE_FIX_ISSUE_2206 st->q_mem_decim_fx = Q15; move16(); st->q_mem_decim16k_fx = Q15; move16(); -#endif st->old_inp_12k8_fx = st->hSignalBuf->old_inp_12k8_fx; st->old_inp_16k_fx = st->hSignalBuf->old_inp_16k_fx; st->buf_speech_enc_pe = st->hSignalBuf->buf_speech_enc_pe; @@ -1151,13 +1119,6 @@ ivas_error init_encoder_fx( init_coder_ace_plus_ivas_fx( st, st->last_total_brate, igf_brate, 0 ); } -#ifndef NONBE_FIX_ISSUE_2518 - IF( st->hLPDmem != NULL ) - { - st->hLPDmem->q_lpd_old_exc = st->prev_Q_new; - move16(); - } -#endif /*-----------------------------------------------------------------* * FD-CNG encoder @@ -1242,10 +1203,6 @@ ivas_error init_encoder_fx( move16(); st->old_wsp_shift = 0; move16(); -#ifdef DEBUGGING - st->id_element = -1; /* element ID */ - move16(); -#endif return IVAS_ERR_OK; } diff --git a/lib_enc/inov_enc_fx.c b/lib_enc/inov_enc_fx.c index 95c7bf160..b8279b36c 100644 --- a/lib_enc/inov_enc_fx.c +++ b/lib_enc/inov_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -421,12 +424,6 @@ Word16 inov_encode_fx( set16_fx( y2, 0, L_SUBFR ); } } -#ifdef DEBUGGING - else - { - IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "invalid mode for acelp frame!\n" ); - } -#endif } ELSE { diff --git a/lib_enc/isf_enc_amr_wb_fx.c b/lib_enc/isf_enc_amr_wb_fx.c index bbb734f9c..c2568a058 100644 --- a/lib_enc/isf_enc_amr_wb_fx.c +++ b/lib_enc/isf_enc_amr_wb_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" /* Compilation switches */ diff --git a/lib_enc/ivas_agc_enc_fx.c b/lib_enc/ivas_agc_enc_fx.c index 4d003b568..1f0a9ae36 100644 --- a/lib_enc/ivas_agc_enc_fx.c +++ b/lib_enc/ivas_agc_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_enc/ivas_core_enc_fx.c b/lib_enc/ivas_core_enc_fx.c index b734fce52..128fb2843 100644 --- a/lib_enc/ivas_core_enc_fx.c +++ b/lib_enc/ivas_core_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -37,9 +9,6 @@ #include "wmc_auto.h" #include "prot_fx_enc.h" #include "ivas_prot_fx.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*-------------------------------------------------------------------* @@ -54,11 +23,7 @@ ivas_error ivas_core_enc_fx( MCT_ENC_HANDLE hMCT, /* i/o: MCT encoder structure */ const Word16 n_CoreChannels, /* i : number of core channels to be coded Q0*/ Word16 old_inp_12k8_fx[][L_INP_12k8], /* i : buffer of old input signal Q_new-1*/ -#ifdef NONBE_FIX_ISSUE_2206 Word16 old_inp_16k_fx[][L_INP], /* i : buffer of old input signal Q_new-1*/ -#else - Word16 old_inp_16k_fx[][L_INP], /* i : buffer of old input signal Q-1*/ -#endif Word16 Q_new[], /* i : Q factor of speech buffers */ Word32 ener_fx[], /* i : residual energy from Levinson-Durbin epsP_fx_q*/ Word16 A_fx[][NB_SUBFR16k * ( M + 1 )], /* i : A(z) unquantized for the 4 subframes Q12*/ @@ -94,9 +59,7 @@ ivas_error ivas_core_enc_fx( Word16 *inp_fx[CPE_CHANNELS]; Word16 *shb_speech_fx; Word16 new_inp_resamp16k_fx[CPE_CHANNELS][L_FRAME16k]; /* new input signal @16kHz, non pre-emphasised, used by the WB TBE/BWE */ -#ifdef NONBE_FIX_ISSUE_2206 Word16 q_new_inp_resamp16k_fx[CPE_CHANNELS]; -#endif Word16 *hb_speech_fx; Word32 bwe_exc_extended_fx[CPE_CHANNELS][L_FRAME32k + NL_BUFF_OFFSET]; /* 2 * Q_new */ Word16 old_syn_12k8_16k_fx[CPE_CHANNELS][L_FRAME16k]; /* ACELP core synthesis at 12.8kHz or 16kHz to be used by the SWB BWE */ @@ -111,11 +74,7 @@ ivas_error ivas_core_enc_fx( Word16 diff_nBits; ivas_error error; Word16 max_num_indices_BWE; -#ifdef SIMPLIFY_CORE_ENC Word16 i, shift; -#else - Word16 i, shift, Q_min; -#endif FOR( i = 0; i < CPE_CHANNELS; i++ ) { @@ -209,22 +168,6 @@ ivas_error ivas_core_enc_fx( * Pre-processing, incl. Decision matrix *---------------------------------------------------------------------*/ -#ifndef SIMPLIFY_CORE_ENC - IF( st->cldfbAnaEnc ) - { - Word16 tmp_shift = L_norm_arr( enerBuffer_fx[n], st->cldfbAnaEnc->no_channels ); - tmp_shift = sub( tmp_shift, 5 ); - IF( tmp_shift < 0 ) - { - scale_sig32( enerBuffer_fx[n], st->cldfbAnaEnc->no_channels, tmp_shift ); /* enerBuffer_fx_exp[n] - tmp_shift */ - enerBuffer_fx_exp[n] = sub( enerBuffer_fx_exp[n], tmp_shift ); - move16(); - } - } - - Scale_sig( fft_buff_fx[n], ( 2 * L_FFT ), -1 ); // To create 1 headroom for addition of magnitude square spectrum - // fft_buff_fx_exp = add(fft_buff_fx_exp,1); -#endif FOR( i = 0; i < st->nb_subfr; i++ ) { Scale_sig( &Aw_fx[n][i * ( M + 1 )], M + 1, sub( norm_s( Aw_fx[n][i * ( M + 1 )] ), 2 ) ); // scaling to Q12 @@ -238,15 +181,9 @@ ivas_error ivas_core_enc_fx( move32(); } -#ifdef NONBE_FIX_ISSUE_2206 pre_proc_ivas_fx( st, last_element_mode, element_brate, last_element_brate_tmp, input_frame, old_inp_12k8_fx[n] /* i/o: Q_new - 1 */, old_inp_16k_fx[n] /* i/o: Q_new - 1 */, &inp_fx[n], &ener_fx[n], A_fx[n], Aw_fx[n], epsP_fx[n], &epsP_fx_q[n], lsp_new_fx[n], lsp_mid_fx[n], new_inp_resamp16k_fx[n], &q_new_inp_resamp16k_fx[n], &Voicing_flag[n], old_wsp_fx[n], e_old_wsp[n], loc_harm[n], vad_flag_dtx[n], MCT_flag, vad_hover_flag[n], flag_16k_smc, enerBuffer_fx[n], enerBuffer_fx_exp[n], fft_buff_fx[n], cor_map_sum_fx[n], &Q_new[n] ); -#else - pre_proc_ivas_fx( st, last_element_mode, element_brate, last_element_brate_tmp, input_frame, old_inp_12k8_fx[n] /* i: -1, o: Q_new - 1 */, old_inp_16k_fx[n] /* i: -1, o: Q_new - 1 */, - &inp_fx[n], &ener_fx[n], A_fx[n], Aw_fx[n], epsP_fx[n], &epsP_fx_q[n], lsp_new_fx[n], lsp_mid_fx[n], new_inp_resamp16k_fx[n], &Voicing_flag[n], old_wsp_fx[n], e_old_wsp[n], loc_harm[n], - vad_flag_dtx[n], MCT_flag, vad_hover_flag[n], flag_16k_smc, enerBuffer_fx[n], enerBuffer_fx_exp[n], fft_buff_fx[n], cor_map_sum_fx[n], &Q_new[n] ); -#endif test(); IF( EQ_16( st->element_mode, IVAS_CPE_MDCT ) || EQ_16( st->element_mode, IVAS_SCE ) ) @@ -331,89 +268,12 @@ ivas_error ivas_core_enc_fx( IF( ( EQ_16( st->core, TCX_20_CORE ) || EQ_16( st->core, TCX_10_CORE ) ) && NE_16( st->element_mode, IVAS_CPE_MDCT ) ) { /* TCX core encoder */ -#ifdef SIMPLIFY_CORE_ENC stereo_tcx_core_enc( st, old_inp_12k8_fx[n] + L_INP_MEM, old_inp_16k_fx[n] + L_INP_MEM, Aw_fx[n], lsp_new_fx[n], lsp_mid_fx[n], pitch_buf_fx[n], last_element_mode, vad_hover_flag[0], Q_new[n] ); -#else - TCX_ENC_HANDLE hTcxEnc = st->hTcxEnc; - Word16 Q_spec_old, L_spec; - -#ifdef NONBE_FIX_ISSUE_2206 - Scale_sig( st->hTcxEnc->Txnq, L_FRAME32k / 2 + 64, sub( negate( 1 ), st->hTcxEnc->q_Txnq ) ); /* Q(-1) */ - st->hTcxEnc->q_Txnq = -Q1; - move16(); - - Q_spec_old = hTcxEnc->spectrum_long_e; - move16(); - - /* TCX core encoder */ - stereo_tcx_core_enc( st, old_inp_12k8_fx[n] + L_INP_MEM, old_inp_16k_fx[n] + L_INP_MEM, Aw_fx[n], lsp_new_fx[n], lsp_mid_fx[n], pitch_buf_fx[n], last_element_mode, vad_hover_flag[0], Q_new[n] ); -#else - Scale_sig( old_inp_12k8_fx[n], L_INP_12k8, sub( Q1, Q_new[n] ) ); // Q0 - Scale_sig( old_inp_16k_fx[n], L_INP, sub( Q1, Q_new[n] ) ); // Q0 - - Scale_sig( st->hTcxEnc->Txnq, L_FRAME32k / 2 + 64, sub( negate( 1 ), st->hTcxEnc->q_Txnq ) ); /* Q(-1) */ - st->hTcxEnc->q_Txnq = -Q1; - move16(); - Q_spec_old = st->hTcxEnc->spectrum_long_e; - move16(); - - /* TCX core encoder */ - stereo_tcx_core_enc( st, old_inp_12k8_fx[n] + L_INP_MEM, old_inp_16k_fx[n] + L_INP_MEM, Aw_fx[n], lsp_new_fx[n], lsp_mid_fx[n], pitch_buf_fx[n], last_element_mode, vad_hover_flag[0], 0 ); - - Scale_sig( old_inp_12k8_fx[n], L_INP_12k8, sub( Q_new[n], Q1 ) ); // Q_new[n] - 1 - Scale_sig( old_inp_16k_fx[n], L_INP, sub( Q_new[n], Q1 ) ); // Q_new[n] - 1 - - Scale_sig( st->hTcxEnc->old_out_fx, L_FRAME32k, negate( st->hTcxEnc->Q_old_out ) ); // scaling back to Q0 - st->hTcxEnc->Q_old_out = 0; - move16(); -#endif - - IF( EQ_16( hTcxEnc->tcxMode, TCX_20 ) ) - { - L_spec = st->hTcxCfg->tcx_coded_lines; - move16(); - Word16 e_max = s_max( hTcxEnc->spectrum_e[0], Q_spec_old ); - e_max = sub( e_max, L_norm_arr( hTcxEnc->spectrum_long_fx, N_MAX ) ); - scale_sig32( hTcxEnc->spectrum_fx[0], L_spec, sub( hTcxEnc->spectrum_e[0], e_max ) ); // exp(e_max) - scale_sig32( hTcxEnc->spectrum_long_fx + L_spec, sub( N_MAX, L_spec ), sub( Q_spec_old, e_max ) ); // exp(e_max) - - hTcxEnc->spectrum_long_e = e_max; - move16(); - } - ELSE - { - Word16 e_max = s_max( Q_spec_old, s_max( hTcxEnc->spectrum_e[0], hTcxEnc->spectrum_e[1] ) ); - e_max = sub( e_max, L_norm_arr( hTcxEnc->spectrum_long_fx, N_MAX ) ); - L_spec = shr( st->hTcxCfg->tcx_coded_lines, 1 ); - scale_sig32( hTcxEnc->spectrum_fx[0], L_spec, sub( hTcxEnc->spectrum_e[0], e_max ) ); // exp(e_max) - scale_sig32( hTcxEnc->spectrum_fx[1], L_spec, sub( hTcxEnc->spectrum_e[1], e_max ) ); // exp(e_max) - scale_sig32( hTcxEnc->spectrum_fx[0] + L_spec, sub( N_TCX10_MAX, L_spec ), sub( Q_spec_old, e_max ) ); // exp(e_max) - scale_sig32( hTcxEnc->spectrum_fx[1] + L_spec, sub( N_MAX - N_TCX10_MAX, L_spec ), sub( Q_spec_old, e_max ) ); // exp(e_max) - - hTcxEnc->spectrum_long_e = s_max( Q_spec_old, s_max( hTcxEnc->spectrum_e[0], hTcxEnc->spectrum_e[1] ) ); - move16(); - } - hTcxEnc->spectrum_e[0] = hTcxEnc->spectrum_long_e; - move16(); - hTcxEnc->spectrum_e[1] = hTcxEnc->spectrum_long_e; - move16(); -#endif } IF( EQ_16( st->core, HQ_CORE ) ) { /* HQ core encoder */ -#ifndef SIMPLIFY_CORE_ENC - Scale_sig( st->input_fx, input_frame, negate( st->q_inp ) ); // Q0 - st->q_inp = 0; - move16(); - Scale_sig( st->old_input_signal_fx, input_frame, negate( st->q_old_inp ) ); // Q0 - st->q_old_inp = 0; - move16(); - Scale_sig( st->hTcxEnc->Txnq, L_FRAME32k / 2 + 64, sub( 0, st->hTcxEnc->q_Txnq ) ); // Q0 - st->hTcxEnc->q_Txnq = 0; - move16(); -#endif hq_core_enc_fx( st, st->input_fx, input_frame, NORMAL_HQ_CORE, Voicing_flag[n], vad_hover_flag[0] ); } @@ -442,84 +302,23 @@ ivas_error ivas_core_enc_fx( { Word16 mdst_spectrum_e[CPE_CHANNELS][NB_DIV]; Word16 orig_spectrum_e[CPE_CHANNELS][NB_DIV]; -#ifdef SIMPLIFY_CORE_ENC Word16 Q_spec_old[CPE_CHANNELS]; -#else - Word16 pitch_buf_fx_new[CPE_CHANNELS][NB_SUBFR16k]; /* Q6 */ - FOR( n = 0; n < n_CoreChannels; n++ ) - { - st = sts[n]; -#ifndef NONBE_FIX_ISSUE_2206_MDCT_STEREO_FIX_2549 - Scale_sig( old_inp_16k_fx[n], L_INP, sub( Q1, Q_new[n] ) ); // Q0 -#endif -#ifndef NONBE_FIX_ISSUE_2518 - IF( NE_16( st->element_mode, IVAS_CPE_DFT ) && NE_16( st->element_mode, IVAS_CPE_MDCT ) ) - { - st->hTcxEnc->exp_buf_speech_ltp = st->exp_buf_speech_enc; - move16(); - } -#endif - } - Word16 Q_spec_old[2], L_spec; -#endif Q_spec_old[0] = hCPE->hCoreCoder[0]->hTcxEnc->spectrum_long_e; move16(); Q_spec_old[1] = hCPE->hCoreCoder[1]->hTcxEnc->spectrum_long_e; move16(); -#ifdef SIMPLIFY_CORE_ENC -#ifndef NONBE_FIX_ISSUE_2206 - ivas_mdct_core_whitening_enc_fx( hCPE, old_inp_16k_fx, old_wsp_fx, pitch_buf_fx_new, hMCT->p_mdst_spectrum_long_fx[cpe_id], hMCT->tnsBits[cpe_id], hMCT->p_orig_spectrum_long_fx[cpe_id], - hMCT->tnsSize[cpe_id], hMCT->p_param[cpe_id], hMCT->hBstr, 1, hMCT->nchan_out_woLFE, mdst_spectrum_e, orig_spectrum_e ); -#else -#ifdef NONBE_FIX_ISSUE_2206_MDCT_STEREO_FIX_2549 ivas_mdct_core_whitening_enc_fx( hCPE, old_inp_16k_fx, Q_new, old_wsp_fx, pitch_buf_fx, hMCT->p_mdst_spectrum_long_fx[cpe_id], hMCT->tnsBits[cpe_id], hMCT->p_orig_spectrum_long_fx[cpe_id], hMCT->tnsSize[cpe_id], hMCT->p_param[cpe_id], hMCT->hBstr, 1, hMCT->nchan_out_woLFE, mdst_spectrum_e, orig_spectrum_e ); -#else - ivas_mdct_core_whitening_enc_fx( hCPE, old_inp_16k_fx, old_wsp_fx, pitch_buf_fx, hMCT->p_mdst_spectrum_long_fx[cpe_id], hMCT->tnsBits[cpe_id], hMCT->p_orig_spectrum_long_fx[cpe_id], - hMCT->tnsSize[cpe_id], hMCT->p_param[cpe_id], hMCT->hBstr, 1, hMCT->nchan_out_woLFE, mdst_spectrum_e, orig_spectrum_e ); -#endif -#endif -#else -#ifdef NONBE_FIX_ISSUE_2206_MDCT_STEREO_FIX_2549 - ivas_mdct_core_whitening_enc_fx( hCPE, old_inp_16k_fx, Q_new, old_wsp_fx, pitch_buf_fx_new, hMCT->p_mdst_spectrum_long_fx[cpe_id], hMCT->tnsBits[cpe_id], hMCT->p_orig_spectrum_long_fx[cpe_id], - hMCT->tnsSize[cpe_id], hMCT->p_param[cpe_id], hMCT->hBstr, 1, hMCT->nchan_out_woLFE, mdst_spectrum_e, orig_spectrum_e ); -#else - ivas_mdct_core_whitening_enc_fx( hCPE, old_inp_16k_fx, old_wsp_fx, pitch_buf_fx_new, hMCT->p_mdst_spectrum_long_fx[cpe_id], hMCT->tnsBits[cpe_id], hMCT->p_orig_spectrum_long_fx[cpe_id], - hMCT->tnsSize[cpe_id], hMCT->p_param[cpe_id], hMCT->hBstr, 1, hMCT->nchan_out_woLFE, mdst_spectrum_e, orig_spectrum_e ); -#endif -#endif FOR( i = 0; i < CPE_CHANNELS; i++ ) { -#ifndef SIMPLIFY_CORE_ENC - st = sts[i]; - Word16 nSubframes = NB_DIV; - move16(); -#ifndef NONBE_FIX_ISSUE_2206_MDCT_STEREO_FIX_2549 - Scale_sig( old_inp_16k_fx[i], L_INP, sub( Q_new[i], Q1 ) ); // Q_new[n] - 1 -#endif - if ( EQ_16( st->hTcxEnc->tcxMode, TCX_20 ) ) - { - nSubframes = 1; - move16(); - } -#endif hMCT->q_mdst_spectrum_long_fx[cpe_id][i][0] = sub( Q31, mdst_spectrum_e[i][0] ); move16(); -#ifdef SIMPLIFY_CORE_ENC IF( NE_16( sts[i]->hTcxEnc->tcxMode, TCX_20 ) ) -#else - IF( EQ_16( nSubframes, NB_DIV ) ) -#endif { hMCT->q_mdst_spectrum_long_fx[cpe_id][i][1] = sub( Q31, mdst_spectrum_e[i][1] ); move16(); -#ifndef SIMPLIFY_CORE_ENC - } - IF( EQ_16( nSubframes, NB_DIV ) ) - { -#endif Word16 max_e = s_max( orig_spectrum_e[i][0], orig_spectrum_e[i][1] ); scale_sig32( hMCT->p_orig_spectrum_long_fx[cpe_id][i], N_TCX10_MAX, sub( orig_spectrum_e[i][0], max_e ) ); // exp(max_e) scale_sig32( hMCT->p_orig_spectrum_long_fx[cpe_id][i] + N_TCX10_MAX, N_TCX10_MAX, sub( orig_spectrum_e[i][1], max_e ) ); // exp(max_e) @@ -532,135 +331,12 @@ ivas_error ivas_core_enc_fx( move16(); } -#ifdef SIMPLIFY_CORE_ENC stereo_tcx_enc_scale_buffers( sts[i], CPE_CHANNELS, Q_spec_old[i] ); -#else - IF( EQ_16( st->hTcxEnc->tcxMode, TCX_20 ) ) - { - Word16 e_max = s_max( st->hTcxEnc->spectrum_e[0], Q_spec_old[i] ); - e_max = sub( e_max, L_norm_arr( st->hTcxEnc->spectrum_long_fx, N_MAX ) ); - L_spec = st->hTcxEnc->L_frameTCX; - move16(); - scale_sig32( st->hTcxEnc->spectrum_fx[0], L_spec, sub( st->hTcxEnc->spectrum_e[0], e_max ) ); // exp(e_max) - scale_sig32( st->hTcxEnc->spectrum_long_fx + L_spec, sub( N_MAX, L_spec ), sub( Q_spec_old[i], e_max ) ); // exp(e_max) - - st->hTcxEnc->spectrum_long_e = e_max; - move16(); - } - ELSE - { - Word16 e_max = s_max( s_max( st->hTcxEnc->spectrum_e[0], st->hTcxEnc->spectrum_e[1] ), Q_spec_old[i] ); - e_max = sub( e_max, L_norm_arr( st->hTcxEnc->spectrum_long_fx, N_MAX ) ); - L_spec = shr( st->hTcxEnc->L_frameTCX, 1 ); - scale_sig32( st->hTcxEnc->spectrum_fx[0], L_spec, sub( st->hTcxEnc->spectrum_e[0], e_max ) ); // exp(e_max) - scale_sig32( st->hTcxEnc->spectrum_fx[0] + L_spec, sub( N_TCX10_MAX, L_spec ), sub( Q_spec_old[i], e_max ) ); // exp(e_max) - scale_sig32( st->hTcxEnc->spectrum_fx[1], L_spec, sub( st->hTcxEnc->spectrum_e[1], e_max ) ); // exp(e_max) - scale_sig32( st->hTcxEnc->spectrum_fx[1] + L_spec, sub( ( N_MAX - N_TCX10_MAX ), L_spec ), sub( Q_spec_old[i], e_max ) ); // exp(e_max) - - st->hTcxEnc->spectrum_long_e = e_max; - move16(); - } - - st->hTcxEnc->spectrum_e[0] = st->hTcxEnc->spectrum_long_e; - move16(); - st->hTcxEnc->spectrum_e[1] = st->hTcxEnc->spectrum_long_e; - move16(); -#endif } } ELSE { -#ifdef SIMPLIFY_CORE_ENC -#if !defined( NONBE_FIX_ISSUE_2206 ) || defined( NONBE_FIX_ISSUE_2206_MDCT_STEREO_FIX_2549 ) - stereo_mdct_core_enc_fx( hCPE, old_inp_16k_fx, Q_new, old_wsp_fx, pitch_buf_fx ); -#else - stereo_mdct_core_enc_fx( hCPE, old_inp_16k_fx, old_wsp_fx, pitch_buf_fx ); -#endif -#else - FOR( i = 0; i < CPE_CHANNELS; i++ ) - { - st = sts[i]; -#ifndef NONBE_FIX_ISSUE_2206_MDCT_STEREO_FIX_2549 - Scale_sig( old_inp_16k_fx[i], L_INP, sub( Q1, Q_new[i] ) ); // Q0 -#endif - -#ifndef NONBE_FIX_ISSUE_2518 - test(); - IF( NE_16( st->element_mode, IVAS_CPE_DFT ) && NE_16( st->element_mode, IVAS_CPE_MDCT ) ) - { - st->hTcxEnc->exp_buf_speech_ltp = st->exp_buf_speech_enc; - move16(); - } -#endif - shift = norm_arr( st->input_fx, input_frame ); -#ifdef NONBE_FIX_ISSUE_2206 - Q_min = add( st->q_inp, shift ); -#else - Q_min = s_max( -2, add( st->q_inp, shift ) ); -#endif - scale_sig( st->input_fx, input_frame, sub( Q_min, st->q_inp ) ); - st->q_inp = Q_min; - move16(); - - shift = norm_arr( st->input_fx - input_frame, input_frame ); -#ifdef NONBE_FIX_ISSUE_2206 - Q_min = add( st->q_old_inp, shift ); -#else - Q_min = s_max( -2, add( st->q_old_inp, shift ) ); -#endif - scale_sig( st->input_fx - input_frame, input_frame, sub( Q_min, st->q_old_inp ) ); - st->q_old_inp = Q_min; - move16(); - } - - Word16 Q_spec_old[2], L_spec; - Q_spec_old[0] = hCPE->hCoreCoder[0]->hTcxEnc->spectrum_long_e; - move16(); - Q_spec_old[1] = hCPE->hCoreCoder[1]->hTcxEnc->spectrum_long_e; - move16(); - -#ifdef NONBE_FIX_ISSUE_2206_MDCT_STEREO_FIX_2549 stereo_mdct_core_enc_fx( hCPE, old_inp_16k_fx, Q_new, old_wsp_fx, pitch_buf_fx ); -#else - stereo_mdct_core_enc_fx( hCPE, old_inp_16k_fx, old_wsp_fx, pitch_buf_fx ); -#endif - - FOR( i = 0; i < CPE_CHANNELS; i++ ) - { -#ifndef NONBE_FIX_ISSUE_2206_MDCT_STEREO_FIX_2549 - Scale_sig( old_inp_16k_fx[i], L_INP, sub( Q_new[i], Q1 ) ); // Q_new[n] - 1 -#endif - st = sts[i]; - IF( EQ_16( st->hTcxEnc->tcxMode, TCX_20 ) ) - { - L_spec = st->hTcxEnc->L_frameTCX; - move16(); - Word16 e_max = s_max( st->hTcxEnc->spectrum_e[0], Q_spec_old[i] ); - e_max = sub( e_max, L_norm_arr( st->hTcxEnc->spectrum_long_fx, N_MAX ) ); - scale_sig32( st->hTcxEnc->spectrum_fx[0], L_spec, sub( st->hTcxEnc->spectrum_e[0], e_max ) ); // exp(e_max) - scale_sig32( st->hTcxEnc->spectrum_long_fx + L_spec, sub( N_MAX, L_spec ), sub( Q_spec_old[i], e_max ) ); // exp(e_max) - st->hTcxEnc->spectrum_long_e = e_max; - move16(); - } - ELSE - { - L_spec = shr( st->hTcxEnc->L_frameTCX, 1 ); - Word16 e_max = s_max( s_max( st->hTcxEnc->spectrum_e[1], st->hTcxEnc->spectrum_e[0] ), Q_spec_old[i] ); - e_max = sub( e_max, L_norm_arr( st->hTcxEnc->spectrum_long_fx, N_MAX ) ); - scale_sig32( st->hTcxEnc->spectrum_fx[0], L_spec, sub( st->hTcxEnc->spectrum_e[0], e_max ) ); // exp(e_max) - scale_sig32( st->hTcxEnc->spectrum_fx[0] + L_spec, sub( N_TCX10_MAX, L_spec ), sub( Q_spec_old[i], e_max ) ); // exp(e_max) - scale_sig32( st->hTcxEnc->spectrum_fx[1], L_spec, sub( st->hTcxEnc->spectrum_e[1], e_max ) ); // exp(e_max) - scale_sig32( st->hTcxEnc->spectrum_fx[1] + L_spec, sub( ( N_MAX - N_TCX10_MAX ), L_spec ), sub( Q_spec_old[i], e_max ) ); // exp(e_max) - st->hTcxEnc->spectrum_long_e = e_max; - move16(); - } - - st->hTcxEnc->spectrum_e[0] = st->hTcxEnc->spectrum_long_e; - move16(); - st->hTcxEnc->spectrum_e[1] = st->hTcxEnc->spectrum_long_e; - move16(); - } -#endif } } ELSE IF( EQ_32( sts[0]->core_brate, SID_2k40 ) && EQ_32( sts[1]->core_brate, SID_2k40 ) ) @@ -704,19 +380,10 @@ ivas_error ivas_core_enc_fx( IF( st->hBWE_FD != NULL ) { -#ifdef NONBE_FIX_ISSUE_2206 Word16 tmp = norm_arr( st->hBWE_FD->L_old_wtda_swb_fx, L_FRAME48k ); scale_sig( st->hBWE_FD->L_old_wtda_swb_fx, L_FRAME48k, tmp ); st->Q_old_wtda = add( st->Q_old_wtda, tmp ); move16(); -#else - Scale_sig( st->hBWE_FD->L_old_wtda_swb_fx, L_FRAME48k, sub( negate( 1 ), st->Q_old_wtda ) ); // Q(-1) - st->Q_old_wtda = -1; // This reset is required for resolving crash issue. Needs to be looked into further - move16(); - Scale_sig( st->hBWE_FD->old_input_lp_fx, NS2SA( 16000, ACELP_LOOK_NS + DELAY_FD_BWE_ENC_NS ), sub( sub( Q_new[n], 1 ), st->hBWE_FD->prev_Q_input_lp ) ); /* Q_new[n] - 1 */ - st->hBWE_FD->prev_Q_input_lp = sub( Q_new[n], 1 ); - move16(); -#endif } /*---------------------------------------------------------------------* @@ -737,11 +404,7 @@ ivas_error ivas_core_enc_fx( IF( GE_32( input_Fs, 16000 ) && LT_16( st->bwidth, SWB ) && st->hBWE_TD != NULL ) { /* Common pre-processing for WB TBE and WB BWE */ -#ifdef NONBE_FIX_ISSUE_2206 wb_pre_proc_fx( st, last_element_mode, new_inp_resamp16k_fx[n], hb_speech_fx, q_new_inp_resamp16k_fx[n] ); -#else - wb_pre_proc_fx( st, last_element_mode, new_inp_resamp16k_fx[n], hb_speech_fx ); -#endif } test(); @@ -749,20 +412,12 @@ ivas_error ivas_core_enc_fx( IF( EQ_16( st->extl, WB_TBE ) ) { /* WB TBE encoder */ -#ifdef NONBE_FIX_ISSUE_2206 wb_tbe_enc_fx( st, hb_speech_fx, q_new_inp_resamp16k_fx[n], bwe_exc_extended_fx[n], Q_new[n], voice_factors_fx[n], pitch_buf_fx[n] ); -#else - wb_tbe_enc_fx( st, hb_speech_fx, bwe_exc_extended_fx[n], Q_new[n], voice_factors_fx[n], pitch_buf_fx[n] ); -#endif } ELSE IF( EQ_16( st->extl, WB_BWE ) && n == 0 && NE_16( st->element_mode, IVAS_CPE_MDCT ) ) { /* WB BWE encoder */ -#ifdef NONBE_FIX_ISSUE_2206 wb_bwe_enc_fx( st, new_inp_resamp16k_fx[n], q_new_inp_resamp16k_fx[n] ); -#else - wb_bwe_enc_fx( st, new_inp_resamp16k_fx[n] ); -#endif } /*---------------------------------------------------------------------* @@ -770,7 +425,6 @@ ivas_error ivas_core_enc_fx( * SWB(FB) BWE encoding *---------------------------------------------------------------------*/ -#ifdef NONBE_FIX_ISSUE_2206 test(); IF( GE_32( input_Fs, 32000 ) && st->hBWE_TD != NULL ) { @@ -787,40 +441,20 @@ ivas_error ivas_core_enc_fx( st->q_inp = tmp; move16(); } -#else - Word16 q_inp_orig; - q_inp_orig = st->q_inp; - move16(); - test(); - IF( GE_32( input_Fs, 32000 ) && st->hBWE_TD != NULL ) - { - st->q_inp = -1; - st->q_old_inp = -1; - move16(); - move16(); - Scale_sig( st->input_fx - input_frame, shl( input_frame, 1 ), sub( st->q_inp, q_inp_orig ) ); - } -#endif new_swb_speech_fx_16 = new_swb_speech_buffer_fx_16 + STEREO_DFT_OVL_MAX; set16_fx( new_swb_speech_buffer_fx_16, 0, L_FRAME48k + STEREO_DFT_OVL_MAX ); shb_speech_fx = new_inp_resamp16k_fx[n]; /* reuse existing buffer: shb_speech[L_FRAME16k] */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT Word16 shb_speech_q = Q15; move16(); -#endif test(); IF( GE_32( input_Fs, 32000 ) && st->hBWE_TD != NULL ) { /* Common pre-processing for SWB(FB) TBE and SWB(FB) BWE */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT shb_speech_q = st->hBWE_TD->old_speech_shb_q; move16(); swb_pre_proc_fx( st, new_swb_speech_fx_16, shb_speech_fx, &shb_speech_q, realBuffer_fx[n], imagBuffer_fx[n], q_re_im_buf[n], NULL, hCPE ); -#else - swb_pre_proc_fx( st, new_swb_speech_fx_16, shb_speech_fx, realBuffer_fx[n], imagBuffer_fx[n], q_re_im_buf[n], NULL, hCPE ); -#endif } ELSE IF( GE_32( input_Fs, 32000 ) ) { @@ -849,11 +483,7 @@ ivas_error ivas_core_enc_fx( Word16 Q_fb_exc; Word16 fb_exc_fx[L_FRAME16k]; -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT swb_tbe_enc_fx( st, hStereoICBWE, shb_speech_fx, bwe_exc_extended_fx[n], voice_factors_fx[n], fb_exc_fx, &Q_fb_exc, Q_new[n], shb_speech_q, st->voicing_fx, pitch_buf_fx[n] ); -#else - swb_tbe_enc_fx( st, hStereoICBWE, shb_speech_fx, bwe_exc_extended_fx[n], voice_factors_fx[n], fb_exc_fx, &Q_fb_exc, Q_new[n], 0, st->voicing_fx, pitch_buf_fx[n] ); -#endif IF( EQ_16( st->extl, FB_TBE ) ) { @@ -865,16 +495,11 @@ ivas_error ivas_core_enc_fx( ELSE IF( EQ_16( st->extl, SWB_BWE ) || EQ_16( st->extl, FB_BWE ) ) { /* SWB(FB) BWE encoder */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT swb_bwe_enc_fx( st, last_element_mode, old_inp_12k8_fx[n], old_inp_16k_fx[n], old_syn_12k8_16k_fx[n], new_swb_speech_fx_16, st->q_inp, shb_speech_fx, shb_speech_q, sub( Q_new[n], 1 ) ); -#else - swb_bwe_enc_fx( st, last_element_mode, old_inp_12k8_fx[n], old_inp_16k_fx[n], old_syn_12k8_16k_fx[n], new_swb_speech_fx_16, st->q_inp, shb_speech_fx, 0, sub( Q_new[n], 1 ) ); -#endif } Scale_sig( old_syn_12k8_16k_fx[n], L_FRAME16k, sub( Q1, Q_new[n] ) ); // Q0 -#ifdef NONBE_FIX_ISSUE_2206 test(); IF( GE_32( input_Fs, 32000 ) && st->hBWE_TD != NULL ) { @@ -883,14 +508,6 @@ ivas_error ivas_core_enc_fx( st->q_inp = add( st->q_inp, 1 ); move16(); } -#else - IF( GE_32( input_Fs, 32000 ) && st->hBWE_TD != NULL ) - { - Scale_sig( st->input_fx, input_frame, sub( q_inp_orig, st->q_inp ) ); - st->q_inp = q_inp_orig; - move16(); - } -#endif /*---------------------------------------------------------------------* * SWB DTX/CNG encoding @@ -902,11 +519,7 @@ ivas_error ivas_core_enc_fx( IF( st->hTdCngEnc != NULL && st->Opt_DTX_ON && ( GE_16( input_frame, L_FRAME32k ) || EQ_16( st->element_mode, IVAS_CPE_DFT ) ) ) { /* SHB DTX/CNG encoder */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT swb_CNG_enc_fx( st, shb_speech_fx, shb_speech_q, old_syn_12k8_16k_fx[n] ); -#else - swb_CNG_enc_fx( st, shb_speech_fx, old_syn_12k8_16k_fx[n] ); -#endif } /*-------------------------------------------------------------------* @@ -919,11 +532,7 @@ ivas_error ivas_core_enc_fx( { stereo_icBWE_preproc_fx( hCPE, input_frame, new_swb_speech_buffer_fx_16 /*tmp buffer*/, st->q_inp ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT stereo_icBWE_enc_fx( hCPE, shb_speech_fx, shb_speech_q, new_swb_speech_buffer_fx_16, st->q_inp, voice_factors_fx[0] ); -#else - stereo_icBWE_enc_fx( hCPE, shb_speech_fx, new_swb_speech_buffer_fx_16, st->q_inp, voice_factors_fx[0] ); -#endif } /*---------------------------------------------------------------------* @@ -957,42 +566,6 @@ ivas_error ivas_core_enc_fx( diff_nBits = sub( diff_nBits, n ); } } -#ifdef DEBUG_MODE_INFO - for ( n = 0; n < n_CoreChannels; n++ ) - { - float tmpF; - short tmpS, id; - - st = sts[n]; - id = st->id_element; - - dbgwrite( &st->core, sizeof( short ), 1, input_frame, fname( debug_dir, "core", n, id, ENC ) ); - dbgwrite( &st->extl, sizeof( short ), 1, input_frame, fname( debug_dir, "extl", n, id, ENC ) ); - dbgwrite( &st->bwidth, sizeof( short ), 1, input_frame, fname( debug_dir, "bwidth", n, id, ENC ) ); - tmpF = st->total_brate / 1000.0f; - dbgwrite( &tmpF, sizeof( float ), 1, input_frame, fname( debug_dir, "total_brate", n, id, ENC ) ); - tmpS = st->bits_frame_nominal; - dbgwrite( &tmpS, sizeof( short ), 1, input_frame, fname( debug_dir, "bits_nominal", n, id, ENC ) ); - tmpF = st->core_brate / 1000.0f; - dbgwrite( &tmpF, sizeof( float ), 1, input_frame, fname( debug_dir, "core_brate", n, id, ENC ) ); - tmpF = st->extl_brate / 1000.0f; - dbgwrite( &tmpF, sizeof( float ), 1, input_frame, fname( debug_dir, "extl_brate", n, id, ENC ) ); - - dbgwrite( &st->coder_type, sizeof( short ), 1, input_frame, fname( debug_dir, "coder_type", n, id, ENC ) ); - dbgwrite( &st->clas, sizeof( short ), 1, input_frame, fname( debug_dir, "clas", n, id, ENC ) ); - dbgwrite( &st->cng_type, sizeof( short ), 1, input_frame, fname( debug_dir, "cng_type", n, id, ENC ) ); - dbgwrite( &st->L_frame, sizeof( short ), 1, input_frame, fname( debug_dir, "L_frame", n, id, ENC ) ); - dbgwrite( &st->vad_flag, sizeof( short ), 1, input_frame, fname( debug_dir, "vad_flag", n, id, ENC ) ); - dbgwrite( &st->localVAD, sizeof( short ), 1, input_frame, fname( debug_dir, "localVAD", n, id, ENC ) ); - - dbgwrite( &st->count_WB, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "count_WB", n, id, ENC ) ); - dbgwrite( &st->count_SWB, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "count_SWB", n, id, ENC ) ); - - dbgwrite( &st->sp_aud_decision0, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "sp_aud_decision0", n, id, ENC ) ); - dbgwrite( &st->sp_aud_decision1, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "sp_aud_decision1", n, id, ENC ) ); - dbgwrite( &st->sp_aud_decision2, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "sp_aud_decision2", n, id, ENC ) ); - } -#endif pop_wmops(); diff --git a/lib_enc/ivas_core_pre_proc_front_fx.c b/lib_enc/ivas_core_pre_proc_front_fx.c index 77be7fe6d..d6aa13e43 100644 --- a/lib_enc/ivas_core_pre_proc_front_fx.c +++ b/lib_enc/ivas_core_pre_proc_front_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -37,10 +9,6 @@ #include "prot_fx_enc.h" #include "ivas_prot_fx.h" #include "wmc_auto.h" -#ifdef DEBUGGING -#include "debug.h" -#include "string.h" -#endif /*---------------------------------------------------------------* @@ -84,11 +52,7 @@ void pre_proc_front_ivas_fx( const Word16 input_frame, /* i : frame length Q0*/ const Word16 n, /* i : channel number Q0*/ Word16 old_inp_12k8_fx[], /* o : buffer of old input signal (st->Q_inp until preemph, then Q_new, then Q_new-1 towards the end)*/ -#ifdef NONBE_FIX_ISSUE_2206 Word16 old_inp_16k_fx[], /* o : buffer of old input signal @16kHz (st->Q_inp until preemph, then Q_new, then Q_new-1 towards the end)*/ -#else - Word16 old_inp_16k_fx[], /* o : buffer of old input signal @16kHz Q_new-1*/ -#endif Word32 *ener_fx, /* o : residual energy from Levinson-Durbin epsP_fx_q*/ Word16 *relE_fx, /* o : frame relative energy Q8*/ Word16 A_fx[NB_SUBFR16k * ( M + 1 )], /* o : A(z) unquantized for the 4 subframes Q12*/ @@ -211,15 +175,9 @@ void pre_proc_front_ivas_fx( Word16 sf_energySum[CLDFB_NO_CHANNELS_MAX]; Word16 Q_inp_const = -1; move16(); -#ifdef NONBE_FIX_ISSUE_2518 Word16 preemp_len; Word16 *preemp_start_idx = NULL; Word32 sig_out[STEREO_DFT_OVL_16k + L_FRAME16k /* = max( L_FRAME16k + STEREO_DFT_OVL_16k, L_FRAME16k + L_FILT16k + lMemRecalc_16k ) */]; -#else - Word16 headroom, preemp_len, inp_max; - Word16 *preemp_start_idx = NULL; - Word32 sig_out[STEREO_DFT_OVL_16k + L_FRAME16k /* = max( L_FRAME16k + STEREO_DFT_OVL_16k, L_FRAME16k + L_FILT16k + lMemRecalc_16k ) */], max_32; -#endif push_wmops( "pre_proc_front" ); /*------------------------------------------------------------------* @@ -350,7 +308,6 @@ void pre_proc_front_ivas_fx( move16(); } -#ifdef NONBE_FIX_ISSUE_2206 Word16 Q_old_in = st->q_inp; move16(); @@ -358,13 +315,11 @@ void pre_proc_front_ivas_fx( Q_min = add( sub( 15, st->exp_old_inp_12k8 ), norm_arr( st->old_inp_12k8_fx, L_INP_MEM ) ); input_frame_full = shl( input_frame, 1 ); //(old frame input length + new frame input length) Q_min = s_min( Q_min, sub( add( L_norm_arr( st->input32_fx - input_frame, input_frame_full ), st->q_inp32 ), 16 ) ); -#ifdef NONBE_FIX_ISSUE_2206_TV1 /* Take into account resampling memory for Q_min, and 1 bit headroom for resampling overshoot. */ IF( NE_32( input_Fs, INT_FS_12k8 ) ) { Q_min = sub( s_min( Q_min, add( st->mem_q, norm_arr( st->mem_decim_fx_q_inp, 2 * L_FILT_MAX ) ) ), Q1 ); } -#endif /* Limit Q_min to avoid rescale larger than 15 against Q-1 */ Q_min = s_min( Q14, Q_min ); Copy_Scale_sig_32_16_nosat( st->input32_fx - input_frame, st->input_fx - input_frame, input_frame_full, s_max( -31, sub( Q_min, st->q_inp32 ) ) ); // Q_min @@ -375,17 +330,6 @@ void pre_proc_front_ivas_fx( scale_sig( old_inp_12k8_fx, L_INP_12k8, sub( st->q_inp, Q_old_in ) ); scale_sig( old_inp_16k_fx, L_INP, sub( st->q_inp, Q_old_in ) ); -#else - Q_min = add( sub( 15, st->exp_old_inp_12k8 ), norm_arr( st->old_inp_12k8_fx, L_INP_MEM ) ); - input_frame_full = shl( input_frame, 1 ); //(old frame input length + new frame input length) - Q_min = s_min( Q_min, sub( add( getScaleFactor32( st->input32_fx - input_frame, input_frame_full ), st->q_inp32 ), 16 ) ); - Q_min = s_max( -2, Q_min ); - Copy_Scale_sig_32_16( st->input32_fx - input_frame, st->input_fx - input_frame, input_frame_full, sub( Q_min, st->q_inp32 ) ); // Q_min - st->q_inp = Q_min; - move16(); - st->q_old_inp = Q_min; - move16(); -#endif L_look = L_LOOK_12k8; /* lookahead at 12.8kHz */ move16(); @@ -400,27 +344,15 @@ void pre_proc_front_ivas_fx( IF( EQ_16( element_mode, IVAS_CPE_DFT ) ) { -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_nosat( st->old_inp_12k8_fx, old_inp_12k8_fx, L_INP_MEM - STEREO_DFT_OVL_12k8, sub( st->q_inp, sub( Q15, st->exp_old_inp_12k8 ) ) ); /* st->q_inp */ -#else - Copy_Scale_sig( st->old_inp_12k8_fx, old_inp_12k8_fx, L_INP_MEM - STEREO_DFT_OVL_12k8, sub( st->q_inp, sub( Q15, st->exp_old_inp_12k8 ) ) ); /* st->q_inp */ -#endif } ELSE IF( EQ_16( element_mode, IVAS_CPE_TD ) ) { -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_nosat( st->old_inp_12k8_fx, old_inp_12k8_fx, sub( L_INP_MEM - L_FILT, lMemRecalc_12k8 ), sub( st->q_inp, sub( Q15, st->exp_old_inp_12k8 ) ) ); /* st->q_inp */ -#else - Copy_Scale_sig( st->old_inp_12k8_fx, old_inp_12k8_fx, sub( L_INP_MEM - L_FILT, lMemRecalc_12k8 ), sub( st->q_inp, sub( Q15, st->exp_old_inp_12k8 ) ) ); /* st->q_inp */ -#endif } ELSE { -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_nosat( st->old_inp_12k8_fx, old_inp_12k8_fx, L_INP_MEM - L_FILT, sub( st->q_inp, sub( Q15, st->exp_old_inp_12k8 ) ) ); /* st->q_inp */ -#else - Copy_Scale_sig( st->old_inp_12k8_fx, old_inp_12k8_fx, L_INP_MEM - L_FILT, sub( st->q_inp, sub( Q15, st->exp_old_inp_12k8 ) ) ); /* st->q_inp */ -#endif } Copy( st->old_wsp_fx, old_wsp_fx, L_WSP_MEM ); /* exp(st->exp_old_wsp) */ @@ -484,38 +416,20 @@ void pre_proc_front_ivas_fx( * (if not available from downsampled DMX) *----------------------------------------------------------------*/ -#ifdef NONBE_FIX_ISSUE_2206 scale_sig( st->mem_decim_fx_q_inp, 2 * L_FILT_MAX, sub( st->q_inp, st->mem_q ) ); /* st->q_inp */ st->mem_q = st->q_inp; move16(); -#else - Scale_sig( st->mem_decim_fx_q_inp, 2 * L_FILT_MAX, sub( st->q_inp, st->mem_q ) ); /* st->q_inp */ -#endif test(); IF( EQ_16( element_mode, IVAS_SCE ) ) { new_inp_out_size = modify_Fs_fx( signal_in_fx, input_frame, input_Fs, new_inp_12k8_fx, INT_FS_12k8, st->mem_decim_fx_q_inp, ( st->max_bwidth == NB ), &Q_new_inp, &mem_decim_size ); /* st->q_inp */ -#ifdef NONBE_FIX_ISSUE_2206 scale_sig( new_inp_12k8_fx, new_inp_out_size, negate( Q_new_inp ) ); /* scaling back to st->q_inp*/ -#else - Scale_sig( new_inp_12k8_fx, new_inp_out_size, negate( Q_new_inp ) ); /* scaling back to st->q_inp*/ - st->mem_q = st->q_inp; - move16(); -#endif -#ifdef NONBE_FIX_ISSUE_2206 Copy( st->mem_decim_fx_q_inp, mem_decim_dummy_fx, 2 * L_FILT_MAX ); /* q_inp */ -#else - Copy( st->mem_decim_fx_q_inp, mem_decim_dummy_fx, 2 * L_FILT_MAX ); /* Q(-1) */ -#endif set16_fx( temp1F_icatdmResampBuf_fx, 0, L_FILT_MAX ); new_inp_out_size = modify_Fs_fx( temp1F_icatdmResampBuf_fx, NS2SA_FX2( input_Fs, DELAY_FIR_RESAMPL_NS ), input_Fs, new_inp_12k8_fx + L_FRAME, INT_FS_12k8, mem_decim_dummy_fx, 0, &Q_new_inp, &mem_decim_size ); /* st->q_inp */ -#ifdef NONBE_FIX_ISSUE_2206 scale_sig( new_inp_12k8_fx + L_FRAME, new_inp_out_size, negate( Q_new_inp ) ); /* scaling back to st->q_inp*/ -#else - Scale_sig( new_inp_12k8_fx + L_FRAME, new_inp_out_size, negate( Q_new_inp ) ); /* scaling back to st->q_inp*/ -#endif } ELSE IF( EQ_16( element_mode, IVAS_CPE_TD ) || EQ_16( element_mode, IVAS_CPE_MDCT ) ) { @@ -527,24 +441,12 @@ void pre_proc_front_ivas_fx( Word16 length_12k8 = NS2SA( INT_FS_12k8, L_MEM_RECALC_SCH_NS ); new_inp_out_size = modify_Fs_fx( signal_in_fx - lMemRecalc - length_inp, length_inp, input_Fs, new_inp_12k8_fx - lMemRecalc_12k8 - length_12k8, INT_FS_12k8, st->mem_decim_fx_q_inp, 0, &Q_new_inp, &mem_decim_size ); /* st->q_inp */ -#ifdef NONBE_FIX_ISSUE_2206 scale_sig( new_inp_12k8_fx - lMemRecalc_12k8 - length_12k8, new_inp_out_size, negate( Q_new_inp ) ); /* scaling back to st->q_inp*/ -#else - Scale_sig( new_inp_12k8_fx - lMemRecalc_12k8 - length_12k8, new_inp_out_size, negate( Q_new_inp ) ); /* scaling back to st->q_inp*/ -#endif } new_inp_out_size = modify_Fs_fx( signal_in_fx - lMemRecalc, input_frame, input_Fs, new_inp_12k8_fx - lMemRecalc_12k8, INT_FS_12k8, st->mem_decim_fx_q_inp, ( st->max_bwidth == NB ), &Q_new_inp, &mem_decim_size ); /* st->q_inp */ -#ifndef NONBE_FIX_ISSUE_2206 - st->mem_q = st->q_inp; - move16(); -#endif Copy( st->mem_decim_fx_q_inp, mem_decim_dummy_fx, 2 * L_FILT_MAX ); /* st->q_inp */ -#ifdef NONBE_FIX_ISSUE_2206 scale_sig( new_inp_12k8_fx - lMemRecalc_12k8, new_inp_out_size, negate( Q_new_inp ) ); /* scaling back to st->q_inp*/ -#else - Scale_sig( new_inp_12k8_fx - lMemRecalc_12k8, new_inp_out_size, negate( Q_new_inp ) ); /* scaling back to st->q_inp*/ -#endif IF( lMemRecalc > 0 ) { @@ -553,40 +455,17 @@ void pre_proc_front_ivas_fx( } set16_fx( temp1F_icatdmResampBuf_fx, 0, L_FILT_MAX ); new_inp_out_size = modify_Fs_fx( temp1F_icatdmResampBuf_fx, NS2SA_FX2( input_Fs, DELAY_FIR_RESAMPL_NS ), input_Fs, new_inp_12k8_fx + L_FRAME, INT_FS_12k8, mem_decim_dummy_fx, 0, &Q_new_inp, &mem_decim_size ); /* st->q_inp */ -#ifdef NONBE_FIX_ISSUE_2206 /* The scaling below can saturate if Q_new_inp <= -2 */ scale_sig( new_inp_12k8_fx + L_FRAME, new_inp_out_size, negate( Q_new_inp ) ); /* scaling back to st->q_inp*/ -#else - Scale_sig( new_inp_12k8_fx + L_FRAME, new_inp_out_size, negate( Q_new_inp ) ); /* scaling back to st->q_inp*/ -#endif } ELSE /* DFT stereo */ { /* update the FIR resampling filter memory, needed for switching to time-domain (FIR) resampling */ Copy( signal_in_fx + sub( input_frame, add( NS2SA_FX2( input_Fs, L_MEM_RECALC_NS ), 2 * NS2SA_FX2( input_Fs, DELAY_FIR_RESAMPL_NS ) ) ), st->mem_decim_fx_q_inp, 2 * NS2SA_FX2( input_Fs, DELAY_FIR_RESAMPL_NS ) ); /* st->q_inp */ -#ifndef NONBE_FIX_ISSUE_2206 - st->mem_q = st->q_inp; - move16(); - scale_sig( old_inp_12k8_fx, L_INP_MEM - STEREO_DFT_OVL_12k8, sub( Q_inp_const, st->q_inp ) ); - scale_sig( st->input_fx - input_frame, input_frame_full, sub( Q_inp_const, st->q_inp ) ); - Copy_Scale_sig( st->mem_decim_fx_q_inp, st->mem_decim_fx, 2 * L_FILT_MAX, sub( Q_inp_const, st->q_inp ) ); /* Q(-1) */ - // Scale_sig( st->mem_decim_fx, 2 * L_FILT_MAX, sub( Q_inp_const, st->q_inp ) ); /* Q(-1) */ - st->q_inp = Q_inp_const; - move16(); - st->q_old_inp = Q_inp_const; - move16(); -#endif } -#ifdef NONBE_FIX_ISSUE_2206 -#ifdef NONBE_FIX_ISSUE_2518 st->q_mem_decim_fx = add( st->q_inp, norm_arr( st->mem_decim_fx_q_inp, 2 * L_FILT_MAX ) ); move16(); Copy_Scale_sig_nosat( st->mem_decim_fx_q_inp, st->mem_decim_fx, 2 * L_FILT_MAX, sub( st->q_mem_decim_fx, st->q_inp ) ); -#else - Copy( st->mem_decim_fx_q_inp, st->mem_decim_fx, 2 * L_FILT_MAX ); - st->q_mem_decim_fx = st->q_inp; - move16(); -#endif Word16 q_buf_speech_enc; @@ -609,50 +488,11 @@ void pre_proc_front_ivas_fx( { Copy_Scale_sig_nosat( new_inp_12k8_fx, st->buf_speech_enc + L_FRAME32k, L_FRAME, sub( q_buf_speech_enc, st->q_inp ) ); /* q_buf_speech_enc */ } -#else - IF( NE_16( Q_inp_const, st->q_inp ) ) - { - Copy_Scale_sig( st->mem_decim_fx_q_inp, st->mem_decim_fx, 2 * L_FILT_MAX, sub( Q_inp_const, st->q_inp ) ); /* Q(-1) */ - } - - Scale_sig( st->buf_speech_enc, L_PAST_MAX_32k + L_FRAME32k + L_NEXT_MAX_32k, sub( -1, sub( 15, st->exp_buf_speech_enc ) ) ); /* Q(-1) */ - st->exp_buf_speech_enc = 16; - move16(); - - /* save input resampled at 12.8kHz, non-preemhasised */ - test(); - IF( EQ_16( element_mode, IVAS_CPE_DFT ) ) - { - Copy_Scale_sig( new_inp_12k8_fx - STEREO_DFT_OVL_12k8, st->buf_speech_enc + L_FRAME32k - STEREO_DFT_OVL_12k8, L_FRAME + STEREO_DFT_OVL_12k8, sub( Q_inp_const, st->q_inp ) ); /* Q_inp_const */ - } - ELSE IF( EQ_16( element_mode, IVAS_CPE_TD ) || EQ_16( element_mode, IVAS_CPE_MDCT ) ) - { - Copy_Scale_sig( new_inp_12k8_fx - lMemRecalc_12k8, st->buf_speech_enc + L_FRAME32k - lMemRecalc_12k8 - L_FILT, add( L_FRAME + L_FILT, lMemRecalc_12k8 ), sub( Q_inp_const, st->q_inp ) ); /* Q_inp_const */ - } - ELSE - { - Copy_Scale_sig( new_inp_12k8_fx, st->buf_speech_enc + L_FRAME32k, L_FRAME, sub( Q_inp_const, st->q_inp ) ); /* Q_inp_const */ - } -#endif /*------------------------------------------------------------------* * Perform fixed preemphasis (12.8 kHz signal) through 1 - g*z^-1 *-----------------------------------------------------------------*/ -#ifndef NONBE_FIX_ISSUE_2518 -#ifdef NONBE_FIX_ISSUE_2206 - headroom = 0; - move16(); - if ( NE_32( input_Fs, st->sr_core ) ) - { - /* Increase headroom because of modify_Fs_fx() in ivas_core_pre_proc */ - headroom = add( headroom, 1 ); - } -#else - headroom = 2; - move16(); -#endif -#endif preemp_len = 0; move16(); @@ -748,7 +588,6 @@ void pre_proc_front_ivas_fx( move16(); st->mem_preemph_q = st->q_inp; move16(); -#ifdef NONBE_FIX_ISSUE_2518 Word16 shift = L_norm_arr( sig_out, preemp_len ); shift = s_min( shift, norm_arr( old_inp_12k8_fx, (Word16) ( preemp_start_idx - old_inp_12k8_fx ) ) ); shift = add( shift, st->q_inp ); @@ -767,59 +606,10 @@ void pre_proc_front_ivas_fx( *Q_new = s_min( shift, Q_MAX ); move16(); -#else - maximum_abs_32_fx( sig_out, preemp_len, &max_32 ); - inp_max = s_max( extract_h( max_32 ), 1 ); - - Word16 shift = add( sub( norm_s( inp_max ), headroom ), st->q_inp ); -#ifdef NONBE_FIX_ISSUE_2206 - shift = s_min( shift, add( norm_arr( old_inp_12k8_fx, (Word16) ( preemp_start_idx - old_inp_12k8_fx ) ), st->q_inp ) ); - *Q_new = s_min( shift, Q_MAX ); - move16(); -#else - shift = s_max( shift, 0 ); - shift = s_min( shift, Q_MAX ); - minimum_fx( st->Q_max, L_Q_MEM, &Q_min ); - *Q_new = s_min( shift, Q_min ); - move16(); -#ifdef NONBE_FIX_ISSUE_2206 - IF( shr( inp_max, sub( st->q_inp, -1 ) ) == 0 ) -#else - IF( inp_max == 0 ) -#endif - { - IF( NE_16( st->last_coder_type, UNVOICED ) ) - { - *Q_new = s_min( *Q_new, 1 ); - move16(); - } - } - - FOR( i = L_Q_MEM - 1; i > 0; i-- ) - { - st->Q_max[i] = st->Q_max[i - 1]; - move16(); - } - st->Q_max[i] = shift; - move16(); -#endif -#endif -#ifndef NONBE_FIX_ISSUE_2518 -#ifdef NONBE_FIX_ISSUE_2206 - /* Avoid saturation of resampling decimation buffer inside ivas_compute_core_buffers_fx(). */ - *Q_new = s_min( *Q_new, st->q_mem_decim16k_fx ); - /* Limit Q_new here to st->q_inp because inside ivas_compute_core_buffers_fx() st->input is rescaled to Q_new */ - *Q_new = s_min( *Q_new, st->q_inp ); -#endif - *Q_new = add( *Q_new, Q_inp_const ); - move16(); -#endif Copy_Scale_sig32_16( sig_out, preemp_start_idx, preemp_len, sub( add( *Q_new, 1 ), st->q_inp ) ); /* Q_new */ Scale_sig( old_inp_12k8_fx, (Word16) ( preemp_start_idx - old_inp_12k8_fx ), sub( *Q_new, st->q_inp ) ); /* Q_new */ -#ifdef NONBE_FIX_ISSUE_2206 scale_sig( old_inp_16k_fx, L_INP, sub( *Q_new, st->q_inp ) ); /* Q_new */ -#endif cldfbScale.hb_scale = cldfbScale.lb_scale; move16(); @@ -945,11 +735,7 @@ void pre_proc_front_ivas_fx( IF( st->idchan == 0 && NE_16( element_mode, IVAS_CPE_MDCT ) ) { Word16 input_fx_tmp[480]; -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig( st->input_fx, input_fx_tmp, shr( input_frame, 1 ), negate( st->q_inp ) ); /*scaling from st->q_inp to q0*/ -#else - Copy_Scale_sig( st->input_fx, input_fx_tmp, shr( input_frame, 1 ), negate( st->q_inp ) ); /*scaling from Q_inp_const to q0*/ -#endif bw_detect_fx( st, input_fx_tmp, NULL, enerBuffer_fx, sf_energySum, ivas_format, 0, 0 ); } @@ -1190,7 +976,6 @@ void pre_proc_front_ivas_fx( move16(); } -#ifdef FIX_BASOP_2517_CLICK_IN_OMASA_LTV Word16 inp_local[L_INP_12k8]; Word16 Q_local; Word16 offset = (Word16) ( inp_12k8_fx - old_inp_12k8_fx ); @@ -1207,9 +992,6 @@ void pre_proc_front_ivas_fx( { analy_lp_fx( inp_12k8_fx, L_FRAME, L_look, ener_fx, A_fx, epsP_h, epsP_l, lsp_new_fx, lsp_mid_fx, st->lsp_old1_fx, alw_pitch_lag_12k8, alw_voicing_fx, INT_FS_12k8, element_mode, i, *Q_new, Q_r ); } -#else - analy_lp_fx( inp_12k8_fx, L_FRAME, L_look, ener_fx, A_fx, epsP_h, epsP_l, lsp_new_fx, lsp_mid_fx, st->lsp_old1_fx, alw_pitch_lag_12k8, alw_voicing_fx, INT_FS_12k8, element_mode, i, *Q_new, Q_r ); -#endif FOR( Word16 idx = 0; idx < M + 1; idx++ ) { @@ -1493,21 +1275,6 @@ void pre_proc_front_ivas_fx( smc_dec = ivas_smc_gmm_fx( st, hStereoClassif, localVAD_HE_SAD, extract_h( Etot_fx ), lsp_new_fx, *cor_map_sum_fx /*Q8*/, epsP_fx, PS_fx, non_staX_fx, *relE_fx, &high_lpn_flag, flag_spitch, Qfact_PS, *epsP_fx_q, st->hSpMusClas->past_PS_Q ); /* Q0 */ -#ifdef DEBUGGING - if ( st->idchan == 0 ) - { - if ( st->force == FORCE_SPEECH ) - { - /* enforce speech */ - st->sp_aud_decision0 = 0; - } - else if ( st->force == FORCE_MUSIC ) - { - /* enforce music */ - st->sp_aud_decision0 = 1; - } - } -#endif /*----------------------------------------------------------------* * VAD energy updates @@ -1600,49 +1367,14 @@ void pre_proc_front_ivas_fx( IF( flag_16k_smc ) { -#ifdef NONBE_FIX_ISSUE_2206 Word16 Q_old_inp_16k = sub( *Q_new, 1 ); move16(); Word16 Q_old_inp_12k8 = sub( *Q_new, 1 ); move16(); -#else - Word16 Q_old_inp_16k = -1; - move16(); - - Scale_sig( st->old_inp_16k_fx, L_INP_MEM, sub( Q_old_inp_16k, sub( Q15, st->exp_old_inp_16k ) ) ); /* Q15 - Q_old_inp_16k */ - st->exp_old_inp_16k = sub( Q15, Q_old_inp_16k ); - move16(); - - IF( st->hBWE_FD != NULL ) - { - Scale_sig( st->hBWE_FD->L_old_wtda_swb_fx, L_FRAME48k, sub( -1, st->Q_old_wtda ) ); /* Q(-1) */ - st->Q_old_wtda = -1; // This reset needs to be looked into - move16(); - } - st->mem_preemph_enc = shl( st->mem_preemph_enc, sub( Q_old_inp_16k, sub( Q15, st->exp_mem_preemph_enc ) ) ); /* Q15 - Q_old_inp_16k */ - move16(); - st->exp_mem_preemph_enc = sub( Q15, Q_old_inp_16k ); - move16(); - Scale_sig( st->buf_wspeech_enc, L_FRAME16k + L_SUBFR + L_FRAME16k + L_NEXT_MAX_16k + 320, sub( Q_old_inp_16k, sub( Q15, st->exp_buf_wspeech_enc ) ) ); /* Q15 - Q_old_inp_16k */ - st->mem_wsp_enc = shl( st->mem_wsp_enc, sub( Q_old_inp_16k, sub( Q15, st->exp_buf_wspeech_enc ) ) ); // Q_old_inp_16k - move16(); - st->exp_buf_wspeech_enc = sub( Q15, Q_old_inp_16k ); - move16(); - Scale_sig( st->buf_speech_enc_pe, L_PAST_MAX_32k + L_FRAME32k + L_NEXT_MAX_32k, sub( Q_old_inp_16k, sub( Q15, st->exp_buf_speech_enc_pe ) ) ); /* Q15 - Q_old_inp_16k */ - st->exp_buf_speech_enc_pe = sub( Q15, Q_old_inp_16k ); - move16(); - Scale_sig( st->buf_speech_enc, L_PAST_MAX_32k + L_FRAME32k + L_NEXT_MAX_32k, sub( Q_old_inp_16k, sub( Q15, st->exp_buf_speech_enc ) ) ); /* Q15 - Q_old_inp_16k */ - st->exp_buf_speech_enc = sub( Q15, Q_old_inp_16k ); - move16(); - - Word16 Q_old_inp_12k8 = *Q_new; - move16(); -#endif /* Compute core-coder buffers at internal sampling rate */ ivas_compute_core_buffers_fx( st, NULL, old_inp_16k_fx, NULL, input_frame, IVAS_SCE /*last_element_mode*/, INT_FS_16k /*sr_core_tmp*/, ener_fx, A_fx, Aw_fx, epsP_fx, lsp_new_fx, lsp_mid_fx, Q_old_inp_16k, Q_r, Q_new ); -#ifdef NONBE_FIX_ISSUE_2206 IF( GT_16( *Q_new, Q_old_inp_12k8 ) ) { scale_sig( old_inp_16k_fx, L_INP, sub( Q_old_inp_12k8, *Q_new ) ); @@ -1654,47 +1386,21 @@ void pre_proc_front_ivas_fx( *Q_new = *Q_new; } move16(); -#endif *epsP_fx_q = add( Q_r[0], 1 ); move16(); -#ifndef NONBE_FIX_ISSUE_2206 - st->mem_wsp_enc = shl( st->mem_wsp_enc, sub( 0, sub( Q15, st->exp_buf_wspeech_enc ) ) ); // Q0 - move16(); -#endif *Q_new = add( *Q_new, Q_inp_const ); // actual Q_new move16(); -#ifdef NONBE_FIX_ISSUE_2206 assert( ( *Q_new - 1 ) <= Q_old_inp_12k8 ); scale_sig( old_inp_12k8_fx, L_INP_12k8, sub( sub( *Q_new, 1 ), Q_old_inp_12k8 ) ); /* Q_new-1 */ smc_dec = ivas_acelp_tcx20_switching_fx( st, st->speech_enc, sub( Q15, st->exp_buf_speech_enc ), st->wspeech_enc, sub( Q15, st->exp_buf_wspeech_enc ), non_staX_fx, pitch_fr_fx, voicing_fr_fx, currFlatness_fx, lsp_mid_fx, stab_fac_fx, res_cod_SNR_M_fx, res_cod_SNR_M_fx_e, flag_16k_smc ); -#else - Scale_sig( old_inp_12k8_fx, L_INP_12k8, sub( *Q_new, Q_old_inp_12k8 ) ); /* Q_new */ - - Scale_sig( st->buf_speech_enc, L_PAST_MAX_32k + L_FRAME32k + L_NEXT_MAX_32k, sub( 0, sub( Q15, st->exp_buf_speech_enc ) ) ); /* Q0 */ - st->exp_buf_speech_enc = Q15; - move16(); - Scale_sig( st->buf_wspeech_enc, L_FRAME16k + L_SUBFR + L_FRAME16k + L_NEXT_MAX_16k + 320, sub( 0, sub( Q15, st->exp_buf_wspeech_enc ) ) ); /* Q0 */ - st->exp_buf_wspeech_enc = Q15; - move16(); - smc_dec = ivas_acelp_tcx20_switching_fx( st, st->speech_enc, 0, st->wspeech_enc, non_staX_fx, pitch_fr_fx, voicing_fr_fx, currFlatness_fx, lsp_mid_fx, stab_fac_fx, res_cod_SNR_M_fx, res_cod_SNR_M_fx_e, flag_16k_smc ); /* Q0 */ -#endif } ELSE { -#ifdef NONBE_FIX_ISSUE_2206 smc_dec = ivas_acelp_tcx20_switching_fx( st, inp_12k8_fx, *Q_new, wsp_fx, *q_old_wsp, non_staX_fx, pitch_fr_fx, voicing_fr_fx, currFlatness_fx, lsp_mid_fx, stab_fac_fx, res_cod_SNR_M_fx, res_cod_SNR_M_fx_e, flag_16k_smc ); /* Q0 */ -#else - Scale_sig( old_wsp_fx, L_WSP, sub( *Q_new, *q_old_wsp ) ); /* Q_new */ - *q_old_wsp = *Q_new; - move16(); - Q_wsp = *Q_new; - move16(); - smc_dec = ivas_acelp_tcx20_switching_fx( st, inp_12k8_fx, *Q_new, wsp_fx, non_staX_fx, pitch_fr_fx, voicing_fr_fx, currFlatness_fx, lsp_mid_fx, stab_fac_fx, res_cod_SNR_M_fx, res_cod_SNR_M_fx_e, flag_16k_smc ); /* Q0 */ -#endif } } /* Switch to ACELP for non-harmonic transient signals */ diff --git a/lib_enc/ivas_core_pre_proc_fx.c b/lib_enc/ivas_core_pre_proc_fx.c index 014ea9ea7..b8f1f7ef5 100644 --- a/lib_enc/ivas_core_pre_proc_fx.c +++ b/lib_enc/ivas_core_pre_proc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -53,11 +25,7 @@ void pre_proc_ivas_fx( const Word32 last_element_brate, /* i : last element bitrate Q0*/ const Word16 input_frame, /* i : frame length Q0*/ Word16 old_inp_12k8_fx[], /* i/o: buffer of old input signal Q_new-1 */ -#ifdef NONBE_FIX_ISSUE_2206 Word16 old_inp_16k_fx[], /* i/o: buffer of old input signal @ 16kHz Q_new */ -#else - Word16 old_inp_16k_fx[], /* i/o: buffer of old input signal @ 16kHz Q_new-1 */ -#endif Word16 **inp_fx, /* o : ptr. to inp. signal in the current frame Q_new*/ Word32 *ener_fx, /* o : residual energy from Levinson-Durbin epsP_fx_q*/ Word16 A_fx[NB_SUBFR16k * ( M + 1 )], /* i/o: A(z) unquantized for the 4 subframes Q12*/ @@ -66,12 +34,8 @@ void pre_proc_ivas_fx( Word16 *epsP_fx_q, /* i : LP prediction errors */ Word16 lsp_new_fx[M], /* i/o: LSPs at the end of the frame Q15*/ Word16 lsp_mid_fx[M], /* i/o: LSPs in the middle of the frame Q15*/ -#ifdef NONBE_FIX_ISSUE_2206 Word16 *new_inp_resamp16k_fx, /* o : new input signal @16kHz, non pre-emphasised, used by the WB TBE/BWE q_new_inp_resamp16k_fx*/ Word16 *q_new_inp_resamp16k_fx, /* o : Q value of new input signal @16kHz, non pre-emphasised, used by the WB TBE/BWE */ -#else - Word16 *new_inp_resamp16k_fx, /* o : new input signal @16kHz, non pre-emphasised, used by the WB TBE/BWE Q_new-1*/ -#endif Word16 *Voicing_flag, /* o : voicing flag for HQ FEC Q0*/ Word16 old_wsp_fx[], /* i : weighted input signal buffer e_old_wsp*/ const Word16 e_old_wsp, /* i : Q value of weighted input signal buffer */ @@ -81,11 +45,7 @@ void pre_proc_ivas_fx( const Word16 vad_hover_flag, /* i : VAD hangover flag Q0*/ const Word16 flag_16k_smc, /* i : flag to indicate if the OL SMC is run at 16 kHz Q0*/ Word32 enerBuffer_fx[CLDFB_NO_CHANNELS_MAX], /* i : energy buffer e_enerBuffer */ -#ifdef SIMPLIFY_CORE_ENC Word16 e_enerBuffer, /* i : Q value of energy buffer */ -#else - const Word16 e_enerBuffer, /* i : Q value of energy buffer */ -#endif Word16 fft_buff_fx[2 * L_FFT], /* i : FFT buffer Qx*/ const Word16 cor_map_sum_fx, /* i : speech/music clasif. parameter Q8*/ Word16 *Q_new /* i/o: Q factor of speech buffers */ @@ -98,7 +58,6 @@ void pre_proc_ivas_fx( push_wmops( "pre_proc" ); -#ifdef SIMPLIFY_CORE_ENC /*----------------------------------------------------------------* * Scaling of buffers *----------------------------------------------------------------*/ @@ -117,7 +76,6 @@ void pre_proc_ivas_fx( Scale_sig( fft_buff_fx, ( 2 * L_FFT ), -1 ); // To create 1 headroom for addition of magnitude square spectrum // fft_buff_fx_exp = add(fft_buff_fx_exp,1); -#endif /*----------------------------------------------------------------* * Initialization @@ -554,18 +512,13 @@ void pre_proc_ivas_fx( inp_16k_fx = old_inp_16k_fx + L_INP_MEM - L_look; -#ifdef NONBE_FIX_ISSUE_2206 Word16 Q_old_inp_16k = sub( *Q_new, 1 ); -#else - Word16 Q_old_inp_16k = -1; -#endif move16(); Word16 Q_r[2] = { 0 }; move16(); move16(); inp_16k_fx = old_inp_16k_fx + L_INP_MEM - L_look; -#ifdef NONBE_FIX_ISSUE_2206 Word16 shift = norm_arr( st->old_inp_12k8_fx, L_INP_MEM ); scale_sig( st->old_inp_12k8_fx, L_INP_MEM, shift ); /* exp(st->exp_old_inp_12k8 - shift) */ st->exp_old_inp_12k8 = sub( st->exp_old_inp_12k8, shift ); @@ -581,74 +534,28 @@ void pre_proc_ivas_fx( st->Q_old_wtda = add( st->Q_old_wtda, shift ); move16(); } -#else - Word16 shift = getScaleFactor16( st->old_inp_12k8_fx, L_INP_MEM ); - Scale_sig( st->old_inp_12k8_fx, L_INP_MEM, shift ); /* exp(st->exp_old_inp_12k8 - shift) */ - st->exp_old_inp_12k8 = sub( st->exp_old_inp_12k8, shift ); - move16(); - - Scale_sig( st->old_inp_16k_fx, L_INP_MEM, sub( Q_old_inp_16k, sub( Q15, st->exp_old_inp_16k ) ) ); /* Q15 - st->exp_old_inp_16k */ - st->exp_old_inp_16k = sub( Q15, Q_old_inp_16k ); - move16(); - - IF( st->hBWE_FD != NULL ) - { - Scale_sig( st->hBWE_FD->L_old_wtda_swb_fx, L_FRAME48k, sub( -1, st->Q_old_wtda ) ); /* -1Q */ - st->Q_old_wtda = -1; // This reset needs to be looked into - move16(); - } - - st->mem_preemph_enc = shl( st->mem_preemph_enc, sub( Q_old_inp_16k, sub( Q15, st->exp_mem_preemph_enc ) ) ); /* Q15 - Q_old_inp_16k */ - move16(); - st->exp_mem_preemph_enc = sub( Q15, Q_old_inp_16k ); - move16(); - Scale_sig( st->buf_speech_enc, L_PAST_MAX_32k + L_FRAME32k + L_NEXT_MAX_32k, sub( Q_old_inp_16k, sub( Q15, st->exp_buf_speech_enc ) ) ); /* Q15 - Q_old_inp_16k */ - st->exp_buf_speech_enc = sub( Q15, Q_old_inp_16k ); - move16(); - Scale_sig( st->buf_speech_enc_pe, L_PAST_MAX_32k + L_FRAME32k + L_NEXT_MAX_32k, sub( Q_old_inp_16k, sub( Q15, st->exp_buf_speech_enc_pe ) ) ); /* Q15 - Q_old_inp_16k */ - st->exp_buf_speech_enc_pe = sub( Q15, Q_old_inp_16k ); - move16(); - Scale_sig( st->buf_wspeech_enc, L_FRAME16k + L_SUBFR + L_FRAME16k + L_NEXT_MAX_16k + 320, sub( Q_old_inp_16k, sub( Q15, st->exp_buf_wspeech_enc ) ) ); /* Q15 - Q_old_inp_16k */ - st->mem_wsp_enc = shl( st->mem_wsp_enc, sub( Q_old_inp_16k, sub( Q15, st->exp_buf_wspeech_enc ) ) ); // Q_old_inp_16k - move16(); - st->exp_buf_wspeech_enc = sub( Q15, Q_old_inp_16k ); - move16(); -#endif IF( !flag_16k_smc ) { Word16 Q_inp_12k8 = *Q_new; move16(); -#ifdef NONBE_FIX_ISSUE_2206 Word16 Q_inp_16k = *Q_new; move16(); -#else - Word16 Q_inp_16k; -#endif ivas_compute_core_buffers_fx( st, &inp_16k_fx, old_inp_16k_fx, new_inp_resamp16k_fx, input_frame, last_element_mode, sr_core_tmp, ener_fx, A_fx, Aw_fx, epsP_fx, lsp_new_fx, lsp_mid_fx, Q_old_inp_16k, Q_r, &Q_inp_16k ); IF( GT_16( Q_inp_16k, Q_inp_12k8 ) ) { -#ifdef NONBE_FIX_ISSUE_2206 scale_sig( old_inp_16k_fx, L_INP, sub( Q_inp_12k8, Q_inp_16k ) ); -#else - Scale_sig( old_inp_16k_fx, L_INP, sub( Q_inp_12k8, Q_inp_16k ) ); -#endif *Q_new = Q_inp_12k8; } ELSE { -#ifdef NONBE_FIX_ISSUE_2206 scale_sig( old_inp_12k8_fx, L_INP_12k8, sub( Q_inp_16k, Q_inp_12k8 ) ); -#else - Scale_sig( old_inp_12k8_fx, L_INP_12k8, sub( Q_inp_16k, Q_inp_12k8 ) ); -#endif *Q_new = Q_inp_16k; } move16(); -#ifdef NONBE_FIX_ISSUE_2206 IF( ( EQ_32( sr_core_tmp, INT_FS_16k ) && NE_16( element_mode, IVAS_CPE_MDCT ) ) || ( GT_32( sr_core_tmp, INT_FS_16k ) ) ) { shift = norm_arr( new_inp_resamp16k_fx, L_FRAME16k ); @@ -659,7 +566,6 @@ void pre_proc_ivas_fx( move16(); } -#endif test(); IF( EQ_16( st->L_frame, L_FRAME16k ) && NE_16( element_mode, IVAS_CPE_MDCT ) ) { @@ -672,7 +578,6 @@ void pre_proc_ivas_fx( IF( !( EQ_16( st->L_frame, L_FRAME16k ) && NE_16( element_mode, IVAS_CPE_MDCT ) ) ) { /* update signal buffers */ -#ifdef NONBE_FIX_ISSUE_2206 Word16 tmp; tmp = add( norm_arr( new_inp_12k8_fx, L_FRAME ), sub( *Q_new, 1 ) ); tmp = s_min( tmp, add( norm_arr( st->buf_speech_enc_pe, st->L_frame ), sub( Q15, st->exp_buf_speech_enc_pe ) ) ); @@ -682,9 +587,6 @@ void pre_proc_ivas_fx( scale_sig( st->buf_speech_enc_pe + st->L_frame + L_FRAME, L_PAST_MAX_32k + L_FRAME32k + L_NEXT_MAX_32k - st->L_frame - L_FRAME, sub( tmp, sub( Q15, st->exp_buf_speech_enc_pe ) ) ); Copy_Scale_sig_nosat( new_inp_12k8_fx, st->buf_speech_enc_pe + st->L_frame, L_FRAME, sub( tmp, sub( *Q_new, 1 ) ) ); st->exp_buf_speech_enc_pe = sub( Q15, tmp ); -#else - Copy_Scale_sig( new_inp_12k8_fx, st->buf_speech_enc_pe + st->L_frame, L_FRAME, sub( sub( Q15, st->exp_buf_speech_enc_pe ), sub( *Q_new, Q1 ) ) ); -#endif Copy( st->buf_speech_enc + L_FRAME32k, st->buf_speech_enc + st->L_frame, L_FRAME ); test(); @@ -703,7 +605,6 @@ void pre_proc_ivas_fx( IF( st->tcxonly == 0 ) { -#ifdef NONBE_FIX_ISSUE_2206 // L_FRAME16k + L_SUBFR + L_FRAME16k + L_NEXT_MAX_16k + 320 ); tmp = add( norm_arr( wsp_fx, L_FRAME + L_LOOK_12k8 ), sub( Q15, e_old_wsp ) ); tmp = s_min( tmp, add( norm_s( st->mem_wsp_enc ), sub( Q15, st->exp_buf_wspeech_enc ) ) ); @@ -716,21 +617,14 @@ void pre_proc_ivas_fx( st->mem_wsp_enc = shl( st->mem_wsp_enc, sub( st->exp_buf_wspeech_enc, sub( Q15, tmp ) ) ); st->exp_buf_wspeech_enc = sub( Q15, tmp ); move16(); -#else - Copy( wsp_fx, st->wspeech_enc, L_FRAME + L_LOOK_12k8 ); -#endif } } IF( flag_16k_smc ) { -#ifdef NONBE_FIX_ISSUE_2206 *q_new_inp_resamp16k_fx = sub( Q15, st->exp_buf_speech_enc ); move16(); Copy( st->buf_speech_enc + L_FRAME16k, new_inp_resamp16k_fx, L_FRAME16k ); /* q_new_inp_resamp16k_fx */ -#else - Copy( st->buf_speech_enc + L_FRAME16k, new_inp_resamp16k_fx, L_FRAME16k ); /* Q_old_inp_16k */ -#endif } /*-----------------------------------------------------------------* @@ -791,11 +685,7 @@ void pre_proc_ivas_fx( void ivas_compute_core_buffers_fx( Encoder_State *st, /* i/o: encoder state structure */ Word16 **inp16k_out_fx, /* o : ptr. to inp. signal in the current frame Q_new-1*/ -#ifdef NONBE_FIX_ISSUE_2206 Word16 *old_inp_16k_fx, /* i/o: buffer of old input signal @ 16kHz in Q_old_inp_16k = Q_new, out Q_new-1 */ -#else - Word16 *old_inp_16k_fx, /* i/o: buffer of old input signal @ 16kHz Q_new-1*/ -#endif Word16 new_inp_resamp16k_out_fx[], /* o : new input signal @16kHz, non pre-emphasised, used by the WB TBE/BWE Q_old_inp_16k*/ const Word16 input_frame, /* i : frame length Q0*/ const Word16 last_element_mode, /* i : last element mode Q0*/ @@ -822,33 +712,16 @@ void ivas_compute_core_buffers_fx( Word16 Q_tmp, mem_decim16k_size, size_modified; Word16 epsP_h[M + 1]; Word16 epsP_l[M + 1]; -#ifdef NONBE_FIX_ISSUE_2206 Word16 i, shift; -#else - Word16 i, shift, Q_min; -#endif -#ifdef NONBE_FIX_ISSUE_2518 Word16 preemp_len; Word16 *preemp_start_idx = NULL; Word32 sig_out[STEREO_DFT_OVL_16k + L_FRAME16k + L_FILT16k]; -#else - Word16 preemp_len, inp_max; - Word16 *preemp_start_idx = NULL; - Word32 sig_out[STEREO_DFT_OVL_16k + L_FRAME16k + L_FILT16k], max_32; -#endif -#ifdef NONBE_FIX_ISSUE_2206 assert( Q_old_inp_16k == ( *Q_new - 1 ) ); Copy_Scale_sig_nosat( st->input_fx - input_frame, input_buf_fx, input_frame, sub( Q_old_inp_16k, st->q_old_inp ) ); Copy_Scale_sig_nosat( st->input_fx, input_buf_fx + input_frame, input_frame, sub( Q_old_inp_16k, st->q_inp ) ); signal_in_fx = &input_buf_fx[input_frame]; /* Q_old_inp_16k */ -#else - Copy_Scale_sig( st->input_fx - input_frame, input_buf_fx, input_frame, sub( -1, st->q_old_inp ) ); - Copy_Scale_sig( st->input_fx, input_buf_fx + input_frame, input_frame, sub( -1, st->q_inp ) ); - - signal_in_fx = &input_buf_fx[input_frame]; /* st->q_inp */ -#endif input_Fs = st->input_Fs; /* Q0 */ move32(); @@ -896,27 +769,15 @@ void ivas_compute_core_buffers_fx( IF( EQ_16( element_mode, IVAS_CPE_DFT ) ) { -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig( st->old_inp_16k_fx, old_inp_16k_fx, L_INP_MEM - STEREO_DFT_OVL_16k, sub( Q_old_inp_16k, sub( Q15, st->exp_old_inp_16k ) ) ); /* Q_old_inp_16k */ -#else - Copy( st->old_inp_16k_fx, old_inp_16k_fx, L_INP_MEM - STEREO_DFT_OVL_16k ); /* Q_new - 1 */ -#endif } ELSE IF( EQ_16( element_mode, IVAS_CPE_TD ) ) { -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig( st->old_inp_16k_fx, old_inp_16k_fx, L_INP_MEM - L_MEM_RECALC_16K - L_FILT16k, sub( Q_old_inp_16k, sub( Q15, st->exp_old_inp_16k ) ) ); /* Q_old_inp_16k */ -#else - Copy( st->old_inp_16k_fx, old_inp_16k_fx, L_INP_MEM - L_MEM_RECALC_16K - L_FILT16k ); /* Q_new - 1 */ -#endif } ELSE { -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_nosat( st->old_inp_16k_fx, old_inp_16k_fx, L_INP_MEM - L_FILT16k, sub( Q_old_inp_16k, sub( Q15, st->exp_old_inp_16k ) ) ); /* Q_old_inp_16k */ -#else - Copy( st->old_inp_16k_fx, old_inp_16k_fx, L_INP_MEM - L_FILT16k ); /* Q_new - 1 */ -#endif } /*---------------------------------------------------------------* @@ -931,7 +792,6 @@ void ivas_compute_core_buffers_fx( /* no resampling needed, only delay adjustment to account for the FIR resampling delay */ delay = NS2SA_FX2( input_Fs, DELAY_FIR_RESAMPL_NS ); move16(); -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_nosat( st->mem_decim16k_fx + delay, new_inp_16k_fx, delay, sub( Q_old_inp_16k, st->q_mem_decim16k_fx ) ); /* Q_old_inp_16k */ Copy( signal_in_fx, new_inp_16k_fx + delay, input_frame ); /* Q_old_inp_16k */ // Copy_Scale_sig( signal_in_fx + input_frame - shl( delay, 1 ), st->mem_decim16k_fx, shl( delay, 1 ), sub( -1, Q_old_inp_16k ) ); /* Q(-1) */ @@ -940,36 +800,21 @@ void ivas_compute_core_buffers_fx( scale_sig( st->mem_decim16k_fx, shl( delay, 1 ), Q_tmp ); st->q_mem_decim16k_fx = add( Q_tmp, Q_old_inp_16k ); move16(); -#else - Copy( st->mem_decim16k_fx + delay, new_inp_16k_fx, delay ); - Copy( signal_in_fx, new_inp_16k_fx + delay, input_frame ); /* st->q_inp */ - Copy( signal_in_fx + input_frame - shl( delay, 1 ), st->mem_decim16k_fx, shl( delay, 1 ) ); /* st->q_inp */ -#endif } ELSE IF( EQ_32( input_Fs, 32000 ) || EQ_32( input_Fs, 48000 ) ) { -#ifdef NONBE_FIX_ISSUE_2206 scale_sig( st->mem_decim16k_fx, 2 * L_FILT_MAX, sub( Q_old_inp_16k, st->q_mem_decim16k_fx ) ); /* Q_old_inp_16k */ -#endif size_modified = modify_Fs_fx( signal_in_fx, input_frame, input_Fs, new_inp_16k_fx, sr_core, st->mem_decim16k_fx, 0, &Q_tmp, &mem_decim16k_size ); /* Q0 */ -#ifdef NONBE_FIX_ISSUE_2206 scale_sig( new_inp_16k_fx, size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ -#else - Scale_sig( new_inp_16k_fx, size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ -#endif Copy( st->mem_decim16k_fx, mem_decim16k_dummy_fx, 2 * L_FILT_MAX ); /* Q(-1) */ set16_fx( temp1F_icatdmResampBuf_fx, 0, L_FILT_MAX ); size_modified = modify_Fs_fx( temp1F_icatdmResampBuf_fx, NS2SA_FX2( input_Fs, DELAY_FIR_RESAMPL_NS ), input_Fs, new_inp_16k_fx + NS2SA_FX2( sr_core, FRAME_SIZE_NS ), sr_core, mem_decim16k_dummy_fx, 0, &Q_tmp, &mem_decim16k_size ); /* Q0 */ -#ifdef NONBE_FIX_ISSUE_2206 scale_sig( new_inp_16k_fx + NS2SA_FX2( sr_core, FRAME_SIZE_NS ), size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ Q_tmp = norm_arr( st->mem_decim16k_fx, mem_decim16k_size ); scale_sig( st->mem_decim16k_fx, mem_decim16k_size, Q_tmp ); st->q_mem_decim16k_fx = add( Q_tmp, Q_old_inp_16k ); move16(); -#else - Scale_sig( new_inp_16k_fx + NS2SA_FX2( sr_core, FRAME_SIZE_NS ), size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ -#endif } } ELSE IF( EQ_16( element_mode, IVAS_CPE_TD ) ) @@ -980,7 +825,6 @@ void ivas_compute_core_buffers_fx( /* no resampling needed, only delay adjustment to account for the FIR resampling delay */ delay = NS2SA_FX2( input_Fs, DELAY_FIR_RESAMPL_NS ); move16(); -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_nosat( st->mem_decim16k_fx + delay, new_inp_16k_fx - add( lMemRecalc, sub( delay, L_FILT16k ) ), delay, sub( Q_old_inp_16k, st->q_mem_decim16k_fx ) ); /* Q_old_inp_16k */ Copy( signal_in_fx - lMemRecalc, new_inp_16k_fx - sub( lMemRecalc, L_FILT16k ), add( input_frame, lMemRecalc ) ); /* Q_old_inp_16k */ // Copy_Scale_sig( signal_in_fx + sub( sub( input_frame, lMemRecalc ), shl( delay, 1 ) ), st->mem_decim16k_fx, shl( delay, 1 ), sub( -1, Q_old_inp_16k ) ); /* Q(-1) */ @@ -989,17 +833,10 @@ void ivas_compute_core_buffers_fx( scale_sig( st->mem_decim16k_fx, shl( delay, 1 ), Q_tmp ); st->q_mem_decim16k_fx = add( Q_tmp, Q_old_inp_16k ); move16(); -#else - Copy( st->mem_decim16k_fx + delay, new_inp_16k_fx - add( lMemRecalc, sub( delay, L_FILT16k ) ), delay ); /* Q(-1) */ - Copy( signal_in_fx - lMemRecalc, new_inp_16k_fx - sub( lMemRecalc, L_FILT16k ), add( input_frame, lMemRecalc ) ); /* st->q_inp */ - Copy( signal_in_fx + sub( sub( input_frame, lMemRecalc ), shl( delay, 1 ) ), st->mem_decim16k_fx, shl( delay, 1 ) ); /* st->q_inp */ -#endif } ELSE IF( EQ_32( input_Fs, 32000 ) || EQ_32( input_Fs, 48000 ) ) { -#ifdef NONBE_FIX_ISSUE_2206 scale_sig( st->mem_decim16k_fx, 2 * L_FILT_MAX, sub( Q_old_inp_16k, st->q_mem_decim16k_fx ) ); /* Q_old_inp_16k */ -#endif /* reconstruct past segment of input signal when switching from MDCT stereo */ IF( EQ_16( last_element_mode, IVAS_CPE_MDCT ) /*|| st->idchan == 1*/ ) { @@ -1010,51 +847,32 @@ void ivas_compute_core_buffers_fx( Copy( signal_in_fx - lMemRecalc - length_inp - 2 * NS2SA_FX2( input_Fs, DELAY_FIR_RESAMPL_NS ), st->mem_decim16k_fx, 2 * NS2SA_FX2( input_Fs, DELAY_FIR_RESAMPL_NS ) ); /* st->q_inp */ size_modified = modify_Fs_fx( signal_in_fx - lMemRecalc - length_inp, length_inp, input_Fs, new_inp_16k_fx - lMemRecalc_16k - length_16k, sr_core, st->mem_decim16k_fx, 0, &Q_tmp, &mem_decim16k_size ); /* Q0 */ -#ifdef NONBE_FIX_ISSUE_2206 scale_sig( new_inp_16k_fx - lMemRecalc_16k - length_16k, size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ -#else - Scale_sig( new_inp_16k_fx - lMemRecalc_16k - length_16k, size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ -#endif } size_modified = modify_Fs_fx( signal_in_fx - lMemRecalc, input_frame, input_Fs, new_inp_16k_fx - lMemRecalc_16k, sr_core, st->mem_decim16k_fx, 0, &Q_tmp, &mem_decim16k_size ); /* Q0 */ -#ifdef NONBE_FIX_ISSUE_2206 scale_sig( new_inp_16k_fx - lMemRecalc_16k, size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ -#else - Scale_sig( new_inp_16k_fx - lMemRecalc_16k, size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ -#endif Copy( st->mem_decim16k_fx, mem_decim16k_dummy_fx, 2 * L_FILT_MAX ); -#ifdef NONBE_FIX_ISSUE_2206 // Scale_sig( st->mem_decim16k_fx, mem_decim16k_size, sub( -1, Q_old_inp_16k ) ); /* Q(-1) */ Q_tmp = norm_arr( st->mem_decim16k_fx, mem_decim16k_size ); scale_sig( st->mem_decim16k_fx, mem_decim16k_size, Q_tmp ); st->q_mem_decim16k_fx = add( Q_tmp, Q_old_inp_16k ); move16(); -#endif IF( lMemRecalc > 0 ) { size_modified = modify_Fs_fx( signal_in_fx - lMemRecalc + input_frame, lMemRecalc, input_Fs, new_inp_16k_fx + NS2SA_FX2( sr_core, FRAME_SIZE_NS ) - lMemRecalc_16k, sr_core, mem_decim16k_dummy_fx, 0, &Q_tmp, &mem_decim16k_size ); /* Q0 */ -#ifdef NONBE_FIX_ISSUE_2206 scale_sig( new_inp_16k_fx + NS2SA_FX2( sr_core, FRAME_SIZE_NS ) - lMemRecalc_16k, size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ -#else - Scale_sig( new_inp_16k_fx + NS2SA_FX2( sr_core, FRAME_SIZE_NS ) - lMemRecalc_16k, size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ -#endif } set16_fx( temp1F_icatdmResampBuf_fx, 0, L_FILT_MAX ); size_modified = modify_Fs_fx( temp1F_icatdmResampBuf_fx, NS2SA_FX2( input_Fs, DELAY_FIR_RESAMPL_NS ), input_Fs, new_inp_16k_fx + NS2SA_FX2( sr_core, FRAME_SIZE_NS ), sr_core, mem_decim16k_dummy_fx, 0, &Q_tmp, &mem_decim16k_size ); /* Q0 */ -#ifdef NONBE_FIX_ISSUE_2206 scale_sig( new_inp_16k_fx + NS2SA_FX2( sr_core, FRAME_SIZE_NS ), size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ -#else - Scale_sig( new_inp_16k_fx + NS2SA_FX2( sr_core, FRAME_SIZE_NS ), size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ -#endif } } ELSE IF( st->idchan == 0 ) { /* update the FIR resampling filter memory, needed for switching to time-domain (FIR) resampling */ -#ifdef NONBE_FIX_ISSUE_2206 // Copy_Scale_sig( signal_in_fx + input_frame - NS2SA_FX2( input_Fs, L_MEM_RECALC_NS ) - 2 * NS2SA_FX2( input_Fs, DELAY_FIR_RESAMPL_NS ), st->mem_decim16k_fx, 2 * NS2SA_FX2( input_Fs, DELAY_FIR_RESAMPL_NS ), sub( -1, Q_old_inp_16k ) ); /* Q(-1) */ mem_decim16k_size = 2 * NS2SA_FX2( input_Fs, DELAY_FIR_RESAMPL_NS ); move16(); @@ -1063,9 +881,6 @@ void ivas_compute_core_buffers_fx( scale_sig( st->mem_decim16k_fx, mem_decim16k_size, Q_tmp ); st->q_mem_decim16k_fx = add( Q_tmp, Q_old_inp_16k ); move16(); -#else - Copy( signal_in_fx + input_frame - NS2SA_FX2( input_Fs, L_MEM_RECALC_NS ) - 2 * NS2SA_FX2( input_Fs, DELAY_FIR_RESAMPL_NS ), st->mem_decim16k_fx, 2 * NS2SA_FX2( input_Fs, DELAY_FIR_RESAMPL_NS ) ); /* st->q_inp */ -#endif } /*------------------------------------------------* @@ -1085,7 +900,6 @@ void ivas_compute_core_buffers_fx( IF( EQ_16( st->bwidth, WB ) ) { -#ifdef NONBE_FIX_ISSUE_2206 // Word16 wtda_q = s_min( st->Q_old_wtda, Q_old_inp_16k ); Word16 wtda_q = s_min( add( st->Q_old_wtda, norm_arr( st->hBWE_FD->L_old_wtda_swb_fx, L_FRAME48k ) ), Q_old_inp_16k ); Copy_Scale_sig_nosat( new_inp_16k_fx - delay, st->hBWE_FD->old_input_wb_fx, delay, sub( -1, Q_old_inp_16k ) ); /* Scaling to Q(-1) */ @@ -1093,13 +907,6 @@ void ivas_compute_core_buffers_fx( Copy_Scale_sig_nosat( new_inp_16k_fx - STEREO_DFT_OVL_16k, st->hBWE_FD->L_old_wtda_swb_fx + L_FRAME16k - STEREO_DFT_OVL_16k + delay, sub( STEREO_DFT_OVL_16k, delay ), sub( wtda_q, Q_old_inp_16k ) ); st->Q_old_wtda = wtda_q; move16(); -#else - Copy_Scale_sig( new_inp_16k_fx - delay, st->hBWE_FD->old_input_wb_fx, delay, negate( add( Q_old_inp_16k, 1 ) ) ); /* Scaling to Q(-1) */ - scale_sig( st->hBWE_FD->L_old_wtda_swb_fx, L_FRAME48k, sub( Q_old_inp_16k, st->Q_old_wtda ) ); // st->Q_old_wtda->Q_old_inp_16k - Copy( new_inp_16k_fx - STEREO_DFT_OVL_16k, st->hBWE_FD->L_old_wtda_swb_fx + L_FRAME16k - STEREO_DFT_OVL_16k + delay, sub( STEREO_DFT_OVL_16k, delay ) ); - st->Q_old_wtda = Q_old_inp_16k; - move16(); -#endif } } ELSE IF( EQ_16( element_mode, IVAS_CPE_TD ) ) @@ -1110,7 +917,6 @@ void ivas_compute_core_buffers_fx( test(); IF( EQ_16( st->bwidth, WB ) && st->hBWE_FD != NULL ) { -#ifdef NONBE_FIX_ISSUE_2206 // Word16 wtda_q = s_min( st->Q_old_wtda, Q_old_inp_16k ); Word16 wtda_q = s_min( add( st->Q_old_wtda, norm_arr( st->hBWE_FD->L_old_wtda_swb_fx, L_FRAME48k ) ), Q_old_inp_16k ); Copy_Scale_sig_nosat( new_inp_16k_fx + L_FILT16k - delay, st->hBWE_FD->old_input_wb_fx, delay, sub( -1, Q_old_inp_16k ) ); /* Scaling to Q(-1) */ @@ -1118,13 +924,6 @@ void ivas_compute_core_buffers_fx( Copy_Scale_sig_nosat( new_inp_16k_fx - L_MEM_RECALC_16K, st->hBWE_FD->L_old_wtda_swb_fx + L_FRAME16k - L_MEM_RECALC_16K - L_FILT16k + delay, sub( L_MEM_RECALC_16K + L_FILT16k, delay ), sub( wtda_q, Q_old_inp_16k ) ); st->Q_old_wtda = wtda_q; move16(); -#else - Copy_Scale_sig( new_inp_16k_fx + L_FILT16k - delay, st->hBWE_FD->old_input_wb_fx, delay, negate( add( Q_old_inp_16k, 1 ) ) ); /* Scaling to Q(-1) */ - scale_sig( st->hBWE_FD->L_old_wtda_swb_fx, L_FRAME48k, sub( Q_old_inp_16k, st->Q_old_wtda ) ); // st->Q_old_wtda->Q_old_inp_16k - Copy( new_inp_16k_fx - L_MEM_RECALC_16K, st->hBWE_FD->L_old_wtda_swb_fx + L_FRAME16k - L_MEM_RECALC_16K - L_FILT16k + delay, sub( L_MEM_RECALC_16K + L_FILT16k, delay ) ); - st->Q_old_wtda = Q_old_inp_16k; - move16(); -#endif } } ELSE IF( element_mode == IVAS_SCE ) @@ -1154,19 +953,11 @@ void ivas_compute_core_buffers_fx( test(); if ( st->tcxonly == 0 && !( ( EQ_16( element_mode, IVAS_CPE_TD ) && EQ_16( st->idchan, 1 ) ) || EQ_16( element_mode, IVAS_CPE_MDCT ) ) ) { -#ifdef NONBE_FIX_ISSUE_2206 st->mem_preemph_enc = new_inp_16k_fx[L_frame_tmp - 1]; /* Q_old_inp_16k */ st->exp_mem_preemph_enc = sub( Q15, Q_old_inp_16k ); -#else - st->mem_preemph_enc = new_inp_16k_fx[L_frame_tmp - 1]; /* Q(-1) */ -#endif move16(); } -#ifndef NONBE_FIX_ISSUE_2206 - *Q_new = 0; - move16(); -#endif test(); IF( EQ_32( sr_core, INT_FS_16k ) && NE_16( element_mode, IVAS_CPE_MDCT ) ) @@ -1176,24 +967,15 @@ void ivas_compute_core_buffers_fx( IF( EQ_16( element_mode, IVAS_CPE_DFT ) ) { -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig( new_inp_16k_fx - STEREO_DFT_OVL_16k + L_FRAME16k, st->inp_16k_mem_stereo_sw_fx, STEREO_DFT_OVL_16k - L_MEM_RECALC_16K - L_FILT16k, sub( -1, Q_old_inp_16k ) ); /* update for TD/DFT stereo switching Q(-1) */ -#else - Copy( new_inp_16k_fx - STEREO_DFT_OVL_16k + L_FRAME16k, st->inp_16k_mem_stereo_sw_fx, STEREO_DFT_OVL_16k - L_MEM_RECALC_16K - L_FILT16k ); /* update for TD/DFT stereo switching Q(-1) */ -#endif st->mem_preemph16k_fx = st->mem_preemph16k_DFT_fx; /* Q(-1) */ move16(); -#ifdef NONBE_FIX_ISSUE_2206 st->mem_preemph16k_DFT_fx = shl( old_inp_16k_fx[L_INP_MEM - STEREO_DFT_OVL_16k + L_FRAME16k - 1], sub( -1, Q_old_inp_16k ) ); /* Q_old_inp_16k -> Q(-1) */ -#else - st->mem_preemph16k_DFT_fx = old_inp_16k_fx[L_INP_MEM - STEREO_DFT_OVL_16k + L_FRAME16k - 1]; /* Q_new - 1 */ -#endif move16(); IF( EQ_16( st->L_frame, L_FRAME16k ) ) { -#ifdef NONBE_FIX_ISSUE_2206 Word16 buf_speech_enc_q; buf_speech_enc_q = s_min( sub( Q15, st->exp_buf_speech_enc ), Q_old_inp_16k ); @@ -1203,21 +985,14 @@ void ivas_compute_core_buffers_fx( scale_sig( st->buf_speech_enc + L_FRAME16k + L_FRAME16k, L_PAST_MAX_32k + L_NEXT_MAX_32k, sub( buf_speech_enc_q, sub( Q15, st->exp_buf_speech_enc ) ) ); st->exp_buf_speech_enc = sub( Q15, buf_speech_enc_q ); move16(); -#else - Copy( new_inp_16k_fx - STEREO_DFT_OVL_16k, st->buf_speech_enc + L_FRAME16k - STEREO_DFT_OVL_16k, L_FRAME16k + STEREO_DFT_OVL_16k ); /* Q(-1) */ -#endif } -#ifdef NONBE_FIX_ISSUE_2206 st->mem_preemph16k_fx = shl( st->mem_preemph16k_fx, sub( Q_old_inp_16k, -1 ) ); move16(); -#endif preemph_copy_32fx2( new_inp_16k_fx - STEREO_DFT_OVL_16k, sig_out, PREEMPH_FAC_16k, L_FRAME16k, &( st->mem_preemph16k_fx ) ); /* Q(-1) */ tmp_fx = st->mem_preemph16k_fx; move16(); -#ifdef NONBE_FIX_ISSUE_2206 st->mem_preemph16k_fx = shl( tmp_fx, sub( -1, Q_old_inp_16k ) ); move16(); -#endif preemph_copy_32fx2( new_inp_16k_fx - STEREO_DFT_OVL_16k + L_FRAME16k, sig_out + L_FRAME16k, PREEMPH_FAC_16k, STEREO_DFT_OVL_16k, &tmp_fx ); /* Q(-1) */ preemp_start_idx = new_inp_16k_fx - STEREO_DFT_OVL_16k; @@ -1227,21 +1002,13 @@ void ivas_compute_core_buffers_fx( } ELSE IF( EQ_16( st->element_mode, IVAS_CPE_TD ) ) { -#ifdef NONBE_FIX_ISSUE_2206 st->mem_preemph16k_fx = shl( st->mem_preemph16k_fx, sub( Q_old_inp_16k, -1 ) ); move16(); -#endif IF( EQ_16( last_element_mode, IVAS_CPE_DFT ) ) { -#ifdef NONBE_FIX_ISSUE_2206 st->mem_preemph16k_fx = shl( st->mem_preemph16k_DFT_fx, sub( Q_old_inp_16k, -1 ) ); move16(); Copy_Scale_sig( st->inp_16k_mem_stereo_sw_fx, new_inp_16k_fx - L_MEM_RECALC_16K - ( STEREO_DFT_OVL_16k - L_MEM_RECALC_16K - L_FILT16k ), STEREO_DFT_OVL_16k - L_MEM_RECALC_16K - L_FILT16k, sub( Q_old_inp_16k, -1 ) ); /* Q(-1) */ -#else - st->mem_preemph16k_fx = st->mem_preemph16k_DFT_fx; - move16(); - Copy( st->inp_16k_mem_stereo_sw_fx, new_inp_16k_fx - L_MEM_RECALC_16K - ( STEREO_DFT_OVL_16k - L_MEM_RECALC_16K - L_FILT16k ), STEREO_DFT_OVL_16k - L_MEM_RECALC_16K - L_FILT16k ); /* Q(-1) */ -#endif preemph_copy_32fx2( new_inp_16k_fx - L_MEM_RECALC_16K - ( STEREO_DFT_OVL_16k - L_MEM_RECALC_16K - L_FILT16k ), sig_out, PREEMPH_FAC_16k, STEREO_DFT_OVL_16k - L_MEM_RECALC_16K - L_FILT16k, &st->mem_preemph16k_fx ); /* Q(-1) */ preemp_start_idx = new_inp_16k_fx - L_MEM_RECALC_16K - ( STEREO_DFT_OVL_16k - L_MEM_RECALC_16K - L_FILT16k ); move16(); @@ -1249,11 +1016,7 @@ void ivas_compute_core_buffers_fx( move16(); } -#ifdef NONBE_FIX_ISSUE_2206 st->mem_preemph16k_DFT_fx = shl( old_inp_16k_fx[L_INP_MEM - STEREO_DFT_OVL_16k + L_FRAME16k - 1], sub( -1, Q_old_inp_16k ) ); /* Q(-1) */ -#else - st->mem_preemph16k_DFT_fx = old_inp_16k_fx[L_INP_MEM - STEREO_DFT_OVL_16k + L_FRAME16k - 1]; /* Q_new - 1 */ -#endif move16(); /* preemphasise past segment of input signal when switching from MDCT stereo */ @@ -1270,19 +1033,13 @@ void ivas_compute_core_buffers_fx( IF( EQ_16( st->L_frame, L_FRAME16k ) ) { -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_nosat( new_inp_16k_fx - lMemRecalc_16k, st->buf_speech_enc + sub( L_FRAME16k - L_FILT16k, lMemRecalc_16k ), add( lMemRecalc_16k, L_FRAME16k + L_FILT16k ), sub( sub( Q15, st->exp_buf_speech_enc ), Q_old_inp_16k ) ); /* Q_new - 1 */ -#else - Copy( new_inp_16k_fx - lMemRecalc_16k, st->buf_speech_enc + sub( L_FRAME16k - L_FILT16k, lMemRecalc_16k ), add( lMemRecalc_16k, L_FRAME16k + L_FILT16k ) ); /* Q_new - 1 */ -#endif } preemph_copy_32fx2( new_inp_16k_fx - lMemRecalc_16k, sig_out + preemp_len, PREEMPH_FAC_16k, L_FRAME16k, &( st->mem_preemph16k_fx ) ); /* Q(-1) */ tmp_fx = st->mem_preemph16k_fx; move16(); -#ifdef NONBE_FIX_ISSUE_2206 st->mem_preemph16k_fx = shl( st->mem_preemph16k_fx, sub( -1, Q_old_inp_16k ) ); move16(); -#endif preemph_copy_32fx2( new_inp_16k_fx - lMemRecalc_16k + L_FRAME16k, sig_out + preemp_len + L_FRAME16k, PREEMPH_FAC_16k, lMemRecalc_16k + L_FILT16k, &tmp_fx ); /* Q(-1) */ IF( preemp_start_idx && preemp_len ) { @@ -1298,24 +1055,19 @@ void ivas_compute_core_buffers_fx( } ELSE IF( EQ_16( element_mode, IVAS_SCE ) ) { -#ifdef NONBE_FIX_ISSUE_2206 st->mem_preemph16k_fx = shl( st->mem_preemph16k_fx, sub( Q_old_inp_16k, -1 ) ); move16(); -#endif preemph_copy_32fx2( new_inp_16k_fx, sig_out, PREEMPH_FAC_16k, L_FRAME16k, &( st->mem_preemph16k_fx ) ); /* Q(-1) */ tmp_fx = st->mem_preemph16k_fx; move16(); -#ifdef NONBE_FIX_ISSUE_2206 /* Saturation can occur. To avoid that the format of st->mem_preemph16k_fx needs to become variable. */ st->mem_preemph16k_fx = shl_sat( st->mem_preemph16k_fx, sub( -1, Q_old_inp_16k ) ); move16(); -#endif preemph_copy_32fx2( new_inp_16k_fx + L_FRAME16k, sig_out + L_FRAME16k, PREEMPH_FAC_16k, L_FILT16k, &tmp_fx ); /* Q(-1) */ preemp_start_idx = new_inp_16k_fx; preemp_len = L_FRAME16k + L_FILT16k; move16(); } -#ifdef NONBE_FIX_ISSUE_2518 shift = L_norm_arr( sig_out, preemp_len ); shift = s_min( shift, norm_arr( old_inp_16k_fx, (Word16) ( preemp_start_idx - old_inp_16k_fx ) ) ); shift = add( shift, Q_old_inp_16k ); @@ -1331,56 +1083,9 @@ void ivas_compute_core_buffers_fx( } *Q_new = s_min( shift, Q_MAX ); move16(); -#else - maximum_abs_32_fx( sig_out, preemp_len, &max_32 ); - inp_max = s_max( extract_h( max_32 ), 1 ); - -#ifdef NONBE_FIX_ISSUE_2206 - shift = add( norm_s( inp_max ), Q_old_inp_16k ); - shift = s_min( shift, add( norm_arr( old_inp_16k_fx, (Word16) ( preemp_start_idx - old_inp_16k_fx ) ), Q_old_inp_16k ) ); -#else - shift = sub( norm_s( inp_max ), 1 /* headroom */ ); -#endif - -#ifdef NONBE_FIX_ISSUE_2206 - *Q_new = s_min( shift, Q_MAX ); - move16(); -#else - shift = s_max( shift, 0 ); - shift = s_min( shift, Q_MAX ); - minimum_fx( st->Q_max_16k, L_Q_MEM, &Q_min ); - *Q_new = s_min( shift, Q_min ); - move16(); -#ifdef NONBE_FIX_ISSUE_2206 - IF( shr( inp_max, sub( Q_old_inp_16k, -1 ) ) == 0 ) -#else - IF( inp_max == 0 ) -#endif - { - IF( NE_16( st->last_coder_type, UNVOICED ) ) - { - *Q_new = s_min( *Q_new, 1 ); - move16(); - } - } - FOR( i = L_Q_MEM - 1; i > 0; i-- ) - { - st->Q_max_16k[i] = st->Q_max_16k[i - 1]; - move16(); - } - st->Q_max_16k[i] = shift; - move16(); -#endif -#endif - -#ifndef NONBE_FIX_ISSUE_2206 - Copy_Scale_sig32_16( sig_out, preemp_start_idx, preemp_len, add( *Q_new, 1 ) ); - Scale_sig( old_inp_16k_fx, (Word16) ( preemp_start_idx - old_inp_16k_fx ), *Q_new ); -#else Copy_Scale_sig32_16( sig_out, preemp_start_idx, preemp_len, sub( *Q_new, Q_old_inp_16k ) ); scale_sig( old_inp_16k_fx, (Word16) ( preemp_start_idx - old_inp_16k_fx ), sub( sub( *Q_new, 1 ), Q_old_inp_16k ) ); /* *Q_new-1 */ -#endif } ELSE /* keep memory up-to-date in case of bitrate switching */ { @@ -1391,18 +1096,10 @@ void ivas_compute_core_buffers_fx( } ELSE /* SCE */ { -#ifdef NONBE_FIX_ISSUE_2206 st->mem_preemph16k_fx = shl( new_inp_16k_fx[L_frame_tmp - 1], sub( -1, Q_old_inp_16k ) ); /* Q(-1)) */ -#else - st->mem_preemph16k_fx = new_inp_16k_fx[L_frame_tmp - 1]; /* Q_new - 1 */ -#endif move16(); } -#ifdef NONBE_FIX_ISSUE_2206 st->mem_preemph16k_DFT_fx = st->mem_preemph16k_fx; /* Q(-1)) */ -#else - st->mem_preemph16k_DFT_fx = st->mem_preemph16k_fx; /* Q_new - 1 */ -#endif move16(); } @@ -1414,7 +1111,6 @@ void ivas_compute_core_buffers_fx( test(); IF( EQ_16( st->L_frame, L_FRAME16k ) && NE_16( element_mode, IVAS_CPE_MDCT ) ) { -#ifdef NONBE_FIX_ISSUE_2206 /* update signal buffers */ IF( EQ_16( element_mode, IVAS_CPE_DFT ) ) { @@ -1461,24 +1157,6 @@ void ivas_compute_core_buffers_fx( Copy_Scale_sig_nosat( new_inp_16k_fx, st->buf_speech_enc_pe + L_FRAME16k, L_FRAME16k, sub( tmp, sub( *Q_new, 1 ) ) ); st->exp_buf_speech_enc_pe = sub( Q15, tmp ); } -#else - /* update signal buffers */ - shift = negate( *Q_new ); - move16(); - IF( EQ_16( element_mode, IVAS_CPE_DFT ) ) - { - Copy_Scale_sig( new_inp_16k_fx - STEREO_DFT_OVL_16k, st->buf_speech_enc_pe + L_FRAME16k - STEREO_DFT_OVL_16k, L_FRAME16k + STEREO_DFT_OVL_16k, shift ); // Q-1 - } - ELSE IF( EQ_16( element_mode, IVAS_CPE_TD ) ) - { - Copy_Scale_sig( new_inp_16k_fx - lMemRecalc_16k, st->buf_speech_enc_pe + L_FRAME16k - lMemRecalc_16k - L_FILT16k, L_FRAME16k + lMemRecalc_16k + L_FILT16k, shift ); // Q-1 - } - ELSE - { - Copy( new_inp_resamp16k_fx, st->buf_speech_enc + L_FRAME16k, L_FRAME16k ); - Copy_Scale_sig( new_inp_16k_fx, st->buf_speech_enc_pe + L_FRAME16k, L_FRAME16k, shift ); // Q-1 - } -#endif /*--------------------------------------------------------------* * LPC analysis @@ -1508,13 +1186,10 @@ void ivas_compute_core_buffers_fx( /*--------------------------------------------------------------* * Compute Weighted Input *---------------------------------------------------------------*/ -#ifdef NONBE_FIX_ISSUE_2206 st->mem_wsp_enc = shl( st->mem_wsp_enc, sub( st->exp_buf_wspeech_enc, st->exp_buf_speech_enc_pe ) ); -#endif find_wsp_fx( A_fx, st->speech_enc_pe, st->wspeech_enc, &st->mem_wsp_enc, PREEMPH_FAC_16k, L_FRAME16k, L_LOOK_16k, L_SUBFR, Aw_fx, st->gamma, NB_SUBFR16k ); -#ifdef NONBE_FIX_ISSUE_2206 Word16 tmp; // L_FRAME16k + L_SUBFR / L_FRAME16k + L_NEXT_MAX_16k + 320 // L_FRAME16k + L_LOOK_16k @@ -1529,7 +1204,6 @@ void ivas_compute_core_buffers_fx( st->exp_buf_wspeech_enc = sub( Q15, tmp ); st->mem_wsp_enc = shl( st->mem_wsp_enc, sub( st->exp_buf_speech_enc_pe, st->exp_buf_wspeech_enc ) ); move16(); -#endif } /*-----------------------------------------------------------------* @@ -1554,14 +1228,8 @@ void ivas_compute_core_buffers_fx( ELSE { lerp( st->old_inp_12k8_fx + L_INP_MEM - L_INP_MEM * 4 / 5, st->old_inp_16k_fx, L_INP_MEM, L_INP_MEM * 4 / 5 ); -#ifdef NONBE_FIX_ISSUE_2206 st->exp_old_inp_16k = st->exp_old_inp_12k8; move16(); -#else - Scale_sig( st->old_inp_16k_fx, L_INP_MEM, sub( -1 /* Q st->old_inp_16k_fx = -1 */, sub( 15, st->exp_old_inp_12k8 ) ) ); - st->exp_old_inp_16k = Q16; // Q-1 - move16(); -#endif } IF( inp16k_out_fx != NULL ) diff --git a/lib_enc/ivas_corecoder_enc_reconfig_fx.c b/lib_enc/ivas_corecoder_enc_reconfig_fx.c index 9c845eb40..b661e8db6 100644 --- a/lib_enc/ivas_corecoder_enc_reconfig_fx.c +++ b/lib_enc/ivas_corecoder_enc_reconfig_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -38,9 +10,6 @@ #include "wmc_auto.h" #include "ivas_prot_fx.h" #include "wmc_auto.h" -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) -#include -#endif /*-------------------------------------------------------------------* @@ -197,9 +166,6 @@ ivas_error ivas_corecoder_enc_reconfig_fx( move16(); temp_ind_list[i].nb_bits = hBstr->ind_list[i].nb_bits; /* Q0 */ move16(); -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - strncpy( temp_ind_list[i].function_name, hBstr->ind_list[i].function_name, 100 ); -#endif hBstr->ind_list[i].nb_bits = -1; /* Q0 */ move16(); } @@ -553,9 +519,6 @@ ivas_error ivas_corecoder_enc_reconfig_fx( move16(); st_ivas->hSCE[0]->hCoreCoder[0]->hBstr->ind_list[i].nb_bits = temp_ind_list[i].nb_bits; /* Q0 */ move16(); -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - strncpy( st_ivas->hSCE[0]->hCoreCoder[0]->hBstr->ind_list[i].function_name, temp_ind_list[i].function_name, 100 ); -#endif } nb_bits = add( nb_bits, temp_ind_list[i].nb_bits ); /* Q0 */ @@ -580,9 +543,6 @@ ivas_error ivas_corecoder_enc_reconfig_fx( move16(); st_ivas->hCPE[0]->hCoreCoder[0]->hBstr->ind_list[i].nb_bits = temp_ind_list[i].nb_bits; /* Q0 */ move16(); -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - strncpy( st_ivas->hCPE[0]->hCoreCoder[0]->hBstr->ind_list[i].function_name, temp_ind_list[i].function_name, 100 ); -#endif } nb_bits = add( nb_bits, temp_ind_list[i].nb_bits ); /* Q0 */ @@ -755,9 +715,6 @@ ivas_error ivas_corecoder_enc_reconfig_fx( move16(); } -#ifdef DEBUGGING - st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->mdct_stereo_mode_cmdl = hEncoderConfig->stereo_mode_cmdl; -#endif initMdctStereoEncData_fx( st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct, hEncoderConfig->ivas_format, st_ivas->hCPE[st_ivas->nCPE - 1]->element_mode, st_ivas->hCPE[st_ivas->nCPE - 1]->element_brate, hEncoderConfig->max_bwidth, 0, NULL, 1 ); diff --git a/lib_enc/ivas_cpe_enc_fx.c b/lib_enc/ivas_cpe_enc_fx.c index b43eb2142..c0a97f1e8 100644 --- a/lib_enc/ivas_cpe_enc_fx.c +++ b/lib_enc/ivas_cpe_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -37,9 +9,6 @@ #include "prot_fx.h" #include "ivas_rom_com.h" #include "rom_com.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "wmc_auto.h" #include "ivas_prot_fx.h" #include "prot_fx_enc.h" @@ -166,12 +135,6 @@ ivas_error ivas_cpe_enc_fx( move16(); move16(); -#ifdef DEBUGGING - if ( hCPE->hCoreCoder[0]->ini_frame == 0 ) - { - hCPE->stereo_mode_cmdl = hEncoderConfig->stereo_mode_cmdl; - } -#endif set16_fx( pitch_fr_fx[0], 0, NB_SUBFR ); set16_fx( pitch_fr_fx[1], 0, NB_SUBFR ); @@ -212,13 +175,6 @@ ivas_error ivas_cpe_enc_fx( sts[n]->rate_switching_reset = 0; move16(); -#ifdef DEBUGGING - sts[n]->force = hEncoderConfig->force; - sts[n]->id_element = cpe_id + st_ivas->nSCE; -#ifdef DEBUG_FORCE_DIR - sts[n]->force_dir = hEncoderConfig->force_dir; -#endif -#endif } Word16 norm, Q_min = s_min( q_data_fx, add( sts[0]->q_old_inp32, L_norm_arr( sts[0]->input32_fx - input_frame, input_frame ) ) ); @@ -270,19 +226,6 @@ ivas_error ivas_cpe_enc_fx( { hCPE->element_mode = select_stereo_mode_fx( hCPE, ivas_format ); } -#ifdef DEBUG_FORCE_DIR - else - { - if ( hCPE->hCoreCoder[0]->force_dir[0] != '\0' ) - { - dbgread( &hCPE->element_mode, sizeof( int16_t ), 1, fname( hCPE->hCoreCoder[0]->force_dir, "force_element_mode.enf", -1, -1, -1 ) ); - } - else - { - dbgwrite( &hCPE->element_mode, sizeof( int16_t ), 1, 1, "res/force_element_mode.enf" ); - } - } -#endif stereo_mode_combined_format_enc_fx( st_ivas, hCPE ); @@ -437,7 +380,6 @@ ivas_error ivas_cpe_enc_fx( shift = s_min( L_norm_arr( sts[0]->input_buff32_fx, input_frame_2 ), L_norm_arr( sts[1]->input_buff32_fx, input_frame_2 ) ); q_min = add( sts[0]->q_inp32, sub( shift, find_guarded_bits_fx( input_frame ) ) ); -#ifdef NONBE_FIX_ISSUE_2206 IF( EQ_16( hCPE->element_mode, IVAS_CPE_TD ) ) { q_min = sub( q_min, 1 ); // Fixes spike artefact for IVAS_cod -stereo 32000 16 stvST16c+10dB.wav out.192 at sample 793800. Saturation somewhere ? @@ -446,10 +388,6 @@ ivas_error ivas_cpe_enc_fx( scale_sig32( sts[0]->input_buff32_fx, input_frame, sub( q_min, sts[0]->q_old_inp32 ) ); /* q_min */ scale_sig32( sts[1]->input_buff32_fx + input_frame, input_frame, sub( q_min, sts[1]->q_inp32 ) ); /* q_min */ scale_sig32( sts[0]->input_buff32_fx + input_frame, input_frame, sub( q_min, sts[0]->q_inp32 ) ); /* q_min */ -#else - scale_sig32( sts[1]->input_buff32_fx, input_frame_2, sub( q_min, sts[1]->q_inp32 ) ); /* q_min */ - scale_sig32( sts[0]->input_buff32_fx, input_frame_2, sub( q_min, sts[0]->q_inp32 ) ); /* q_min */ -#endif sts[0]->q_inp32 = sts[1]->q_inp32 = sts[0]->q_old_inp32 = sts[1]->q_old_inp32 = q_min; move16(); move16(); @@ -460,15 +398,10 @@ ivas_error ivas_cpe_enc_fx( shift = sub( add( L_norm_arr( sts[0]->input_buff32_fx, input_frame_2 ), sts[0]->q_inp32 ), 16 ); shift = s_min( shift, sub( add( L_norm_arr( sts[1]->input_buff32_fx, input_frame_2 ), sts[1]->q_inp32 ), 16 ) ); -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig32_16( sts[0]->input_buff32_fx, sts[0]->input_buff_fx, input_frame, sub( add( Q16, shift ), sts[0]->q_old_inp32 ) ); // shift Copy_Scale_sig32_16( sts[1]->input_buff32_fx, sts[1]->input_buff_fx, input_frame, sub( add( Q16, shift ), sts[1]->q_old_inp32 ) ); // shift Copy_Scale_sig32_16( sts[0]->input_buff32_fx + input_frame, sts[0]->input_buff_fx + input_frame, input_frame, sub( add( Q16, shift ), sts[0]->q_inp32 ) ); // shift Copy_Scale_sig32_16( sts[1]->input_buff32_fx + input_frame, sts[1]->input_buff_fx + input_frame, input_frame, sub( add( Q16, shift ), sts[1]->q_inp32 ) ); // shift -#else - Copy_Scale_sig32_16( sts[0]->input_buff32_fx, sts[0]->input_buff_fx, input_frame_2, sub( add( Q16, shift ), sts[0]->q_inp32 ) ); // shift - Copy_Scale_sig32_16( sts[1]->input_buff32_fx, sts[1]->input_buff_fx, input_frame_2, sub( add( Q16, shift ), sts[1]->q_inp32 ) ); // shift -#endif sts[0]->q_inp = sts[1]->q_inp = sts[0]->q_old_inp = sts[1]->q_old_inp = shift; move16(); move16(); @@ -483,18 +416,10 @@ ivas_error ivas_cpe_enc_fx( { Copy32( sts[n]->input32_fx, orig_input_fx32[n], input_frame ); /* sts->q_inp32 */ Copy( sts[n]->input_fx, orig_input_fx[n], input_frame ); /* sts->q_inp */ -#ifdef NONBE_FIX_ISSUE_2206 Q_orig_inp[n] = sts[n]->q_inp; Q_orig_inp32[n] = sts[n]->q_inp32; move16(); move16(); -#else - Scale_sig( orig_input_fx[n], input_frame, sub( -1, sts[n]->q_inp ) ); // Q(-1) - Q_orig_inp[n] = -1; - Q_orig_inp32[n] = sts[n]->q_inp32; - move16(); - move16(); -#endif IF( hCPE->hStereoICBWE != NULL ) { @@ -656,9 +581,6 @@ ivas_error ivas_cpe_enc_fx( /* reconfiguration in case of bitrate switching */ IF( NE_32( hCPE->element_brate, hCPE->last_element_brate ) && st_ivas->hMCT == NULL ) { -#ifdef DEBUGGING - hCPE->hStereoMdct->mdct_stereo_mode_cmdl = hEncoderConfig->mdct_stereo_mode_cmdl; -#endif initMdctStereoEncData_fx( hCPE->hStereoMdct, ivas_format, hCPE->element_mode, hCPE->element_brate, max_bwidth, 0, NULL, 0 ); test(); test(); @@ -690,7 +612,6 @@ ivas_error ivas_cpe_enc_fx( hCPE->hStereoDft->Spd_R_smooth_fx_e = sub( hCPE->hStereoDft->Spd_R_smooth_fx_e, temp ); move16(); -#ifdef NONBE_FIX_ISSUE_2206 q_com = MAX_16; move16(); /* Align Q values of the signals that need to be aligned in stereo_td_channel_extrapolate_fx() */ @@ -714,36 +635,6 @@ ivas_error ivas_cpe_enc_fx( hCPE->q_input_mem[n] = q_com; move16(); } -#else - q_com = MAX_16; - move16(); - FOR( n = 0; n < CPE_CHANNELS; n++ ) - { - q_com = s_min( q_com, sub( add( L_norm_arr( sts[n]->input32_fx, input_frame ), sts[n]->q_inp32 ), 16 ) ); - q_com = s_min( q_com, sub( add( L_norm_arr( sts[n]->old_input_signal32_fx, input_frame ), sts[n]->q_old_inp32 ), 16 ) ); - q_com = s_min( q_com, add( norm_arr( hCPE->input_mem_fx[n], hCPE->hStereoDft->dft_ovl ), hCPE->q_input_mem[n] ) ); - - if ( EQ_16( q_com, Q15 ) ) - { - q_com = 0; - move16(); - } - } - FOR( n = 0; n < CPE_CHANNELS; n++ ) - { - Copy_Scale_sig_32_16( sts[n]->input32_fx, sts[n]->input_fx, input_frame, sub( q_com, sts[n]->q_inp32 ) ); - sts[n]->q_inp = q_com; - move16(); - - Copy_Scale_sig_32_16( sts[n]->old_input_signal32_fx, sts[n]->old_input_signal_fx, input_frame, sub( q_com, sts[n]->q_old_inp32 ) ); - sts[n]->q_old_inp = q_com; - move16(); - - scale_sig( hCPE->input_mem_fx[n], hCPE->hStereoDft->dft_ovl, sub( q_com, hCPE->q_input_mem[n] ) ); - hCPE->q_input_mem[n] = q_com; - move16(); - } -#endif stereo_dft_hybrid_ITD_flag_fx( hConfigDft, input_Fs, hCPE->hStereoDft->hItd->hybrid_itd_max ); @@ -762,7 +653,6 @@ ivas_error ivas_cpe_enc_fx( } ELSE IF( EQ_16( hCPE->element_mode, IVAS_CPE_TD ) ) { -#ifdef NONBE_FIX_ISSUE_2206 /* Make scale of L/R equal, required inside stereo_tdm_ener_analysis_fx()->Get_dt_lt_ener_fx() */ Q_min = s_min( sts[0]->q_inp, sts[1]->q_inp ); scale_sig( sts[0]->input_fx, input_frame, sub( Q_min, sts[0]->q_inp ) ); /* min Q of both channels */ @@ -771,14 +661,6 @@ ivas_error ivas_cpe_enc_fx( scale_sig( sts[1]->input_fx, input_frame, sub( Q_min, sts[1]->q_inp ) ); /* min Q of both channels */ sts[1]->q_inp = Q_min; move16(); -#else - Scale_sig( sts[0]->input_fx, input_frame, negate( sts[0]->q_inp ) ); /* Q0 */ - sts[0]->q_inp = 0; - move16(); - Scale_sig( sts[1]->input_fx, input_frame, negate( sts[1]->q_inp ) ); /* Q0 */ - sts[1]->q_inp = 0; - move16(); -#endif /* Determine the energy ratio between the 2 channels */ tdm_ratio_idx = stereo_tdm_ener_analysis_fx( ivas_format, hCPE, input_frame, &tdm_SM_or_LRTD_Pri, &tdm_ratio_idx_SM ); /* Q0 */ @@ -829,43 +711,6 @@ ivas_error ivas_cpe_enc_fx( move16(); } -#ifndef NONBE_FIX_ISSUE_2206 - q_min = sts[1]->q_old_inp; - move16(); - q_min = s_min( q_min, sts[1]->q_inp ); - q_min = s_min( q_min, sts[0]->q_old_inp ); - q_min = s_min( q_min, sts[0]->q_inp ); - q_min = s_min( q_min, hCPE->q_input_mem[0] ); - q_min = s_min( q_min, hCPE->q_input_mem[1] ); - - shift = norm_arr( sts[1]->old_input_signal_fx, input_frame ); - shift = s_min( shift, norm_arr( sts[1]->input_fx, input_frame ) ); - shift = s_min( shift, norm_arr( sts[0]->old_input_signal_fx, input_frame ) ); - shift = s_min( shift, norm_arr( sts[0]->input_fx, input_frame ) ); - shift = s_min( shift, norm_arr( hCPE->input_mem_fx[0], hCPE->hStereoMdct->hDft_ana->dft_ovl ) ); - shift = s_min( shift, norm_arr( hCPE->input_mem_fx[1], hCPE->hStereoMdct->hDft_ana->dft_ovl ) ); - - q_min = add( q_min, shift ); - - scale_sig( sts[1]->input_fx, input_frame, sub( q_min, sts[1]->q_inp ) ); /* q_min */ - scale_sig( sts[1]->old_input_signal_fx, input_frame, sub( q_min, sts[1]->q_old_inp ) ); /* q_min */ - scale_sig( sts[0]->input_fx, input_frame, sub( q_min, sts[0]->q_inp ) ); /* q_min */ - scale_sig( sts[0]->old_input_signal_fx, input_frame, sub( q_min, sts[0]->q_old_inp ) ); /* q_min */ - scale_sig( hCPE->input_mem_fx[0], hCPE->hStereoMdct->hDft_ana->dft_ovl, sub( q_min, hCPE->q_input_mem[0] ) ); /* q_min */ - scale_sig( hCPE->input_mem_fx[1], hCPE->hStereoMdct->hDft_ana->dft_ovl, sub( q_min, hCPE->q_input_mem[1] ) ); /* q_min */ - hCPE->q_input_mem[1] = q_min; - hCPE->q_input_mem[0] = q_min; - sts[1]->q_old_inp = q_min; - sts[0]->q_old_inp = q_min; - sts[1]->q_inp = q_min; - sts[0]->q_inp = q_min; - move16(); - move16(); - move16(); - move16(); - move16(); - move16(); -#endif } stereo_td_itd_mdct_stereo_fx( hCPE, vad_flag_dtx, vad_hover_flag, input_frame ); @@ -896,7 +741,6 @@ ivas_error ivas_cpe_enc_fx( move16(); move16(); -#ifdef NONBE_FIX_ISSUE_2206 Word16 q_inp32 = sts[0]->q_old_inp32; move16(); @@ -934,33 +778,8 @@ ivas_error ivas_cpe_enc_fx( move16(); sts[0]->q_old_inp = sub( sts[0]->q_old_inp32, Q16 ); move16(); -#else - stereo_dft_enc_synthesize_fx( hCPE->hStereoDft, sts[0]->input32_fx, &out_start_ind, &out_end_ind, 0, input_Fs, input_Fs, 0, NULL ); - - Scale_sig32( sts[0]->input32_fx - input_frame, add( out_start_ind, input_frame ), sub( Q15, sts[0]->q_old_inp32 ) ); // scaling initial part of the input buffer - Scale_sig32( sts[0]->input32_fx + out_end_ind, sub( input_frame, out_end_ind ), sub( Q15, sts[0]->q_inp32 ) ); // scaling initial part of the input buffer - sts[0]->q_inp32 = Q15; - sts[0]->q_old_inp32 = Q15; - move16(); - move16(); - - // Normalise the input buffer from Q15 - Word16 input_norm, q_inp; //, common_q, fir_delay_len; - input_norm = L_norm_arr( sts[0]->input32_fx - input_frame, input_frame_2 ); - q_inp = sub( add( Q15, input_norm ), 16 ); - - // Rescale the old input, input and FIR delay section of input buffer - Copy_Scale_sig32_16( sts[0]->input32_fx - input_frame, sts[0]->input_fx - input_frame, input_frame_2, sub( add( Q16, q_inp ), Q15 ) ); // Q15 -> q_inp - - // Update the Q-factors - sts[0]->q_inp = q_inp; - move16(); - sts[0]->q_old_inp = q_inp; - move16(); -#endif /* iDFT & resampling to 12.8kHz internal sampling rate */ -#ifdef NONBE_FIX_ISSUE_2206 q_inp32 = sts[0]->q_inp32; move16(); stereo_dft_enc_synthesize_fx( hCPE->hStereoDft, old_inp_12k8_fx[0] + L_INP_MEM, &q_inp32, &out_12k8_start_ind[0], &out_12k8_end_ind[0], 0, input_Fs, INT_FS_12k8, 0, NULL ); @@ -968,48 +787,28 @@ ivas_error ivas_cpe_enc_fx( Copy_Scale_sig_32_16( old_inp_12k8_fx[0], old_inp_12k8_16fx[0], add( L_INP_MEM, out_12k8_start_ind[0] ), sub( sts[0]->q_inp, sts[0]->q_inp32 ) ); // q_inp32->sts[0]->q_inp Copy_Scale_sig_32_16( old_inp_12k8_fx[0] + L_INP_MEM + out_12k8_start_ind[0], old_inp_12k8_16fx[0] + L_INP_MEM + out_12k8_start_ind[0], sub( out_12k8_end_ind[0], out_12k8_start_ind[0] ), sub( sts[0]->q_inp, q_inp32 ) ); // q_inp32->sts[0]->q_inp Copy_Scale_sig_32_16( old_inp_12k8_fx[0] + L_INP_MEM + out_12k8_end_ind[0], old_inp_12k8_16fx[0] + L_INP_MEM + out_12k8_end_ind[0], s_max( 0, sub( L_INP_12k8 - L_INP_MEM, out_12k8_end_ind[0] ) ), sub( sts[0]->q_inp, sts[0]->q_inp32 ) ); // sts[0]->q_inp32->sts[0]->q_inp -#else - stereo_dft_enc_synthesize_fx( hCPE->hStereoDft, old_inp_12k8_fx[0] + L_INP_MEM, &out_12k8_start_ind[0], &out_12k8_end_ind[0], 0, input_Fs, INT_FS_12k8, 0, NULL ); - Copy_Scale_sig_32_16( old_inp_12k8_fx[0], old_inp_12k8_16fx[0], L_INP_12k8, -Q16 ); // Q-1 -#endif /* iDFT & resampling to 16kHz internal sampling rate for M channel */ IF( EQ_32( input_Fs, internal_Fs ) ) { -#ifdef NONBE_FIX_ISSUE_2206 Copy32( sts[0]->input32_fx - STEREO_DFT_OVL_16k, old_inp_16k_fx[0] + L_INP_MEM - STEREO_DFT_OVL_16k, add( input_frame, STEREO_DFT_OVL_16k ) ); /* sts[0]->q_inp32 */ Copy_Scale_sig_32_16( old_inp_16k_fx[0], old_inp_16k_16fx[0], L_INP, sub( sts[0]->q_inp, sts[0]->q_inp32 ) ); // q_inp32 -> sts[0]->q_inp -#else - Copy32( sts[0]->input32_fx - STEREO_DFT_OVL_16k, old_inp_16k_fx[0] + L_INP_MEM - STEREO_DFT_OVL_16k, add( input_frame, STEREO_DFT_OVL_16k ) ); /* sts[0]->q_inp32 */ - out_16k_start_ind = -STEREO_DFT_OVL_16k; - out_16k_end_ind = add( out_16k_start_ind, add( input_frame, STEREO_DFT_OVL_16k ) ); - move16(); - move16(); -#endif } ELSE { -#ifdef NONBE_FIX_ISSUE_2206 q_inp32 = sts[0]->q_inp32; move16(); stereo_dft_enc_synthesize_fx( hCPE->hStereoDft, old_inp_16k_fx[0] + L_INP_MEM, &q_inp32, &out_16k_start_ind, &out_16k_end_ind, 0, input_Fs, internal_Fs, 0, NULL ); Copy_Scale_sig_32_16( old_inp_16k_fx[0], old_inp_16k_16fx[0], add( L_INP_MEM, out_16k_start_ind ), sub( sts[0]->q_inp, sts[0]->q_inp32 ) ); // q_inp32->sts[0]->q_inp Copy_Scale_sig_32_16( old_inp_16k_fx[0] + L_INP_MEM + out_16k_start_ind, old_inp_16k_16fx[0] + L_INP_MEM + out_16k_start_ind, sub( out_16k_end_ind, out_16k_start_ind ), sub( sts[0]->q_inp, q_inp32 ) ); // q_inp32->sts[0]->q_inp Copy_Scale_sig_32_16( old_inp_16k_fx[0] + L_INP_MEM + out_16k_end_ind, old_inp_16k_16fx[0] + L_INP_MEM + out_16k_end_ind, s_max( 0, sub( L_INP - L_INP_MEM, out_16k_end_ind ) ), sub( sts[0]->q_inp, sts[0]->q_inp32 ) ); // sts[0]->q_inp32->sts[0]->q_inp -#else - stereo_dft_enc_synthesize_fx( hCPE->hStereoDft, old_inp_16k_fx[0] + L_INP_MEM, &out_16k_start_ind, &out_16k_end_ind, 0, input_Fs, internal_Fs, 0, NULL ); -#endif } -#ifndef NONBE_FIX_ISSUE_2206 - Copy_Scale_sig32_16( old_inp_16k_fx[0], old_inp_16k_16fx[0], L_INP, 0 ); // Q15->Q-1 -#endif /* DFT Stereo: iDFT of residual signal at 8kHz sampling rate */ test(); IF( EQ_16( hCPE->element_mode, IVAS_CPE_DFT ) && hCPE->hStereoDft->res_cod_mode[STEREO_DFT_OFFSET] ) { Copy_Scale_sig_16_32_no_sat( sts[1]->old_inp_12k8_fx, old_inp_12k8_fx[1], L_INP_MEM, 15 - 0 ); // Q15 -#ifdef NONBE_FIX_ISSUE_2206 q_inp32 = Q15; move16(); stereo_dft_enc_synthesize_fx( hCPE->hStereoDft, old_inp_12k8_fx[1] + L_INP_MEM, &q_inp32, &out_12k8_start_ind[1], &out_12k8_end_ind[1], 1, input_Fs, 8000, 0, NULL ); @@ -1024,15 +823,6 @@ ivas_error ivas_cpe_enc_fx( Copy_Scale_sig_32_16( old_inp_12k8_fx[1], old_inp_12k8_16fx[1], add( L_INP_MEM, out_12k8_start_ind[1] ), sub( -1, sts[1]->q_inp32 ) ); // sts[1]->q_inp32 -> Q-1 Copy_Scale_sig_32_16( old_inp_12k8_fx[1] + L_INP_MEM + out_12k8_start_ind[1], old_inp_12k8_16fx[1] + L_INP_MEM + out_12k8_start_ind[1], sub( out_12k8_end_ind[1], out_12k8_start_ind[1] ), sub( -1, q_inp32 ) ); // q_inp32 -> Q-1 Copy_Scale_sig_32_16( old_inp_12k8_fx[1] + L_INP_MEM + out_12k8_end_ind[1], old_inp_12k8_16fx[1] + L_INP_MEM + out_12k8_end_ind[1], s_max( 0, sub( L_INP_12k8 - L_INP_MEM, out_12k8_end_ind[1] ) ), sub( -1, sts[1]->q_inp32 ) ); // sts[1]->q_inp32 -> Q-1 -#else - stereo_dft_enc_synthesize_fx( hCPE->hStereoDft, old_inp_12k8_fx[1] + L_INP_MEM, &out_12k8_start_ind[1], &out_12k8_end_ind[1], 1, input_Fs, 8000, 0, NULL ); - - /* update old input signal buffer */ - Copy_Scale_sig_32_16( old_inp_12k8_fx[1] + L_FRAME8k, sts[1]->old_inp_12k8_fx, L_INP_MEM, 0 - 15 ); // Q0 - sts[1]->exp_old_inp_12k8 = Q15; - move16(); - Copy_Scale_sig_32_16( old_inp_12k8_fx[1], old_inp_12k8_16fx[1], L_INP_12k8, -Q16 ); // Q-1 -#endif } /* no iDFT at input sampling rate for Side channel -> reset the buffer */ @@ -1044,9 +834,6 @@ ivas_error ivas_cpe_enc_fx( move16(); } -#ifdef DEBUG_MODE_INFO - dbgwrite( &hCPE->element_mode, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "element_mode", 0, sts[0]->id_element, ENC ) ); -#endif /*----------------------------------------------------------------* * Front Pre-processing @@ -1335,14 +1122,7 @@ ivas_error ivas_cpe_enc_fx( } } -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_16_32_no_sat( old_inp_12k8_16fx[1], old_inp_12k8_fx[1], L_INP_12k8, Q15 + 1 ); // Q(-1) -> Q15 -#else - FOR( i = 0; i < CPE_CHANNELS; i++ ) - { - Copy_Scale_sig_16_32_no_sat( old_inp_12k8_16fx[i], old_inp_12k8_fx[i], L_INP_12k8, Q16 ); // Q(-1) -> Q15 - } -#endif stereo_dft_enc_res_fx( hCPE->hStereoDft, old_inp_12k8_fx[1] + L_INP_MEM - STEREO_DFT_OVL_8k, hCPE->hMetaData, &nb_bits, max_bits ); } @@ -1377,14 +1157,6 @@ ivas_error ivas_cpe_enc_fx( * Core Encoder *----------------------------------------------------------------*/ -#ifndef NONBE_FIX_ISSUE_2206 - FOR( n = 0; n < n_CoreChannels; n++ ) - { - Scale_sig( old_wsp_fx[n], L_WSP, sub( e_old_wsp[n], Q16 ) ); /* exp(16) */ - e_old_wsp[n] = 16; - move16(); - } -#endif IF( NE_32( ( error = ivas_core_enc_fx( NULL, hCPE, st_ivas->hMCT, n_CoreChannels, old_inp_12k8_16fx, old_inp_16k_16fx, Q_new, ener_fx, A_fx, Aw_fx, epsP_fx, epsP_fx_q, lsp_new_fx, lsp_mid_fx, vad_hover_flag, attack_flag, realBuffer_fx, imagBuffer_fx, q_re_im_buf, old_wsp_fx, e_old_wsp, loc_harm, cor_map_sum_fx, vad_flag_dtx, enerBuffer_fx, enerBuffer_fx_exp, fft_buff_fx, tdm_SM_or_LRTD_Pri, ivas_format, 0 ) ), IVAS_ERR_OK ) ) { return error; @@ -1461,12 +1233,6 @@ ivas_error ivas_cpe_enc_fx( Copy( Q_new, Q_new_out, CPE_CHANNELS ); } -#ifdef DEBUG_MODE_INFO - { - float tmpF = ivas_total_brate / 1000.0f; - dbgwrite( &tmpF, sizeof( float ), 1, input_frame, fname( debug_dir, "element_brate", 0, cpe_id, ENC ) ); - } -#endif pop_wmops(); return IVAS_ERR_OK; } @@ -1632,11 +1398,7 @@ ivas_error create_cpe_enc_fx( * LR VAD initialization *-----------------------------------------------------------------*/ -#ifdef DEBUGGING - if ( hEncoderConfig->Opt_DTX_ON && ( hCPE->element_mode == IVAS_CPE_TD || hEncoderConfig->stereo_mode_cmdl == 1 ) && !( ivas_format == MASA_FORMAT && element_mode_init == IVAS_CPE_MDCT ) ) -#else IF( hEncoderConfig->Opt_DTX_ON ) -#endif { test(); IF( EQ_16( hCPE->element_mode, IVAS_CPE_TD ) || EQ_16( hCPE->element_mode, IVAS_CPE_DFT ) ) @@ -1737,23 +1499,6 @@ ivas_error create_cpe_enc_fx( return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MDCT Stereo \n" ) ); } -#ifdef DEBUGGING - hCPE->hStereoMdct->mdct_stereo_mode_cmdl = st_ivas->hEncoderConfig->mdct_stereo_mode_cmdl; -#ifdef DEBUG_FORCE_MDCT_STEREO_MODE - /*set all other members to defined states */ - hCPE->hStereoMdct->fDualMono = 0; - hCPE->hStereoMdct->fMSstereo = 0; - - if ( hCPE->hStereoMdct->mdct_stereo_mode_cmdl == SMDCT_FORCE_LR ) - { - hCPE->hStereoMdct->fDualMono = 1; - } - else if ( hCPE->hStereoMdct->mdct_stereo_mode_cmdl == SMDCT_FORCE_MS ) - { - hCPE->hStereoMdct->fMSstereo = 1; - } -#endif -#endif initMdctStereoEncData_fx( hCPE->hStereoMdct, ivas_format, hCPE->element_mode, hCPE->element_brate, max_bwidth, 0, NULL, 1 ); diff --git a/lib_enc/ivas_decision_matrix_enc_fx.c b/lib_enc/ivas_decision_matrix_enc_fx.c index 391b5c65a..6462b5b6f 100644 --- a/lib_enc/ivas_decision_matrix_enc_fx.c +++ b/lib_enc/ivas_decision_matrix_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -194,16 +166,6 @@ void ivas_decision_matrix_enc_fx( move16(); } } -#ifdef DEBUG_FORCE_DIR - if ( st->force_dir[0] != '\0' ) - { - dbgread( &st->core, sizeof( int16_t ), 1, fname( st->force_dir, "force_core_loc1.enf", -1, -1, -1 ) ); - } - else - { - dbgwrite( &st->core, sizeof( int16_t ), 1, 1, "res/force_core_loc1.enf" ); - } -#endif /* do not allow TD stereo ACELP core -> DFT stereo TCX core switching as it is on the WC complexity path */ test(); @@ -227,46 +189,6 @@ void ivas_decision_matrix_enc_fx( move16(); } -#ifdef DEBUGGING - if ( st->idchan == 0 ) - { - if ( st->force == FORCE_SPEECH && st->element_mode != IVAS_CPE_MDCT && st->total_brate <= MAX_ACELP_BRATE ) - { - st->core = ACELP_CORE; - } - else if ( st->force == FORCE_MUSIC && st->core == ACELP_CORE ) - { - st->core = TCX_20_CORE; - } - else if ( st->force == FORCE_ACELP && st->element_mode != IVAS_CPE_MDCT && st->total_brate <= MAX_ACELP_BRATE ) - { - st->core = ACELP_CORE; - if ( st->coder_type == AUDIO ) - { - st->coder_type = GENERIC; - } - } - else if ( st->force == FORCE_GSC && element_brate < IVAS_24k4 ) - { - st->core = ACELP_CORE; - } -#ifdef SUPPORT_FORCE_TCX10_TCX20 - else if ( st->force == FORCE_TCX20 || st->force == FORCE_TCX10 ) /* Initalizations should always happen with TCX20*/ - { - st->core = TCX_20_CORE; - } -#else - else if ( st->force == FORCE_TCX ) - { - st->core = TCX_20_CORE; - } -#endif - else if ( st->force == FORCE_HQ && st->element_mode != IVAS_CPE_MDCT && element_brate >= IVAS_24k4 ) - { - st->core = HQ_CORE; - } - } -#endif /* TCX not available at low bitrates -> replace it by GSC */ test(); @@ -307,16 +229,6 @@ void ivas_decision_matrix_enc_fx( move16(); } -#ifdef DEBUG_FORCE_DIR - if ( st->force_dir[0] != '\0' ) - { - dbgread( &st->core, sizeof( int16_t ), 1, fname( st->force_dir, "force_core_loc2.enf", -1, -1, -1 ) ); - } - else - { - dbgwrite( &st->core, sizeof( int16_t ), 1, 1, "res/force_core_loc2.enf" ); - } -#endif /*---------------------------------------------------------------------* * Select ACELP and GSC extension layer @@ -368,18 +280,6 @@ void ivas_decision_matrix_enc_fx( } } -#ifdef DEBUG_FORCE_DIR - if ( st->force_dir[0] != '\0' ) - { - dbgread( &st->extl, sizeof( int16_t ), 1, fname( st->force_dir, "force_extl.enf", -1, -1, -1 ) ); - dbgread( &st->extl_brate, sizeof( int32_t ), 1, fname( st->force_dir, "force_extl_brate.enf", -1, -1, -1 ) ); - } - else - { - dbgwrite( &st->extl, sizeof( int16_t ), 1, 1, "res/force_extl.enf" ); - dbgwrite( &st->extl_brate, sizeof( int32_t ), 1, 1, "res/force_extl_brate.enf" ); - } -#endif } /* SWB and FB */ @@ -477,18 +377,6 @@ void ivas_decision_matrix_enc_fx( move32(); } -#ifdef DEBUG_FORCE_DIR - if ( st->force_dir[0] != '\0' ) - { - dbgread( &st->extl, sizeof( int16_t ), 1, fname( st->force_dir, "force_extl.enf", -1, -1, -1 ) ); - dbgread( &st->extl_brate, sizeof( int32_t ), 1, fname( st->force_dir, "force_extl_brate.enf", -1, -1, -1 ) ); - } - else - { - dbgwrite( &st->extl, sizeof( int16_t ), 1, 1, "res/force_extl.enf" ); - dbgwrite( &st->extl_brate, sizeof( int32_t ), 1, 1, "res/force_extl_brate.enf" ); - } -#endif /* set IC-BWE bitrate */ test(); diff --git a/lib_enc/ivas_dirac_enc_fx.c b/lib_enc/ivas_dirac_enc_fx.c index 169348225..6ca3dfa80 100644 --- a/lib_enc/ivas_dirac_enc_fx.c +++ b/lib_enc/ivas_dirac_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_enc/ivas_enc_cov_handler_fx.c b/lib_enc/ivas_enc_cov_handler_fx.c index 2d652a683..2f71e874a 100644 --- a/lib_enc/ivas_enc_cov_handler_fx.c +++ b/lib_enc/ivas_enc_cov_handler_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_enc/ivas_enc_fx.c b/lib_enc/ivas_enc_fx.c index 2b2e26d04..c7ee70776 100644 --- a/lib_enc/ivas_enc_fx.c +++ b/lib_enc/ivas_enc_fx.c @@ -1,43 +1,12 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" #include "ivas_cnst.h" #include "prot_fx.h" #include "ivas_rom_com.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "wmc_auto.h" #include "ivas_prot_fx.h" @@ -425,10 +394,6 @@ ivas_error ivas_enc_fx( /* Configuration of combined-format bit-budget distribution */ ivas_set_surplus_brate_enc( st_ivas -#ifdef DEBUG_MODE_INFO - , - nb_bits_metadata -#endif ); /* Encode MASA transport channels */ @@ -690,12 +655,6 @@ ivas_error ivas_enc_fx( hEncoderConfig->last_ivas_total_brate = ivas_total_brate; move32(); -#ifdef DEBUG_MODE_INFO - { - float tmpF = ivas_total_brate / 1000.0f; - dbgwrite( &tmpF, sizeof( float ), 1, input_frame, "res/ivas_total_brate" ); - } -#endif pop_wmops(); return error; diff --git a/lib_enc/ivas_entropy_coder_fx.c b/lib_enc/ivas_entropy_coder_fx.c index 9a560e30f..6bc74a4ab 100644 --- a/lib_enc/ivas_entropy_coder_fx.c +++ b/lib_enc/ivas_entropy_coder_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -38,9 +10,6 @@ #include "ivas_rom_com.h" #include "wmc_auto.h" #include "ivas_prot_fx.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*-----------------------------------------------------------------------------------------* @@ -89,12 +58,6 @@ static ivas_error ivas_get_dyn_freq_model_fx( } curr_bps_min = curr_bps; move32(); -#ifdef DEBUGGING - { - float a = curr_bps_min / 32768.0f; - dbgwrite_txt( &a, 1, "fixed_curr_bps_min.txt", NULL ); - } -#endif model_idx = 0; move16(); @@ -106,12 +69,6 @@ static ivas_error ivas_get_dyn_freq_model_fx( { curr_bps_new = L_sub( curr_bps_new, W_extract_l( W_mult0_32_32( curr_dist[i], pArith->saved_dist_arr[m + 1][i] ) ) ); } -#ifdef DEBUGGING - { - float a = curr_bps_new / 32768.0f; - dbgwrite_txt( &a, 1, "fixed_curr_bps_new.txt", NULL ); - } -#endif IF( LT_32( curr_bps_new, curr_bps_min ) ) { model_idx = m; @@ -173,11 +130,7 @@ static Word16 ivas_arith_encode_array_fx( pCum_freq = pArith->cum_freq[0]; /* Q0 */ } -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC ari_start_encoding_14bits_fx( &as ); -#else - ari_start_encoding_14bits_ivas_fx( &as ); -#endif FOR( i = 0; i < in_len; i++ ) { diff --git a/lib_enc/ivas_front_vad_fx.c b/lib_enc/ivas_front_vad_fx.c index ddc01634e..e8e221064 100644 --- a/lib_enc/ivas_front_vad_fx.c +++ b/lib_enc/ivas_front_vad_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -176,13 +148,6 @@ ivas_error front_vad_fx( IF( hFrontVads[0] != NULL && NE_16( element_mode, IVAS_CPE_MDCT ) ) { -#ifdef DEBUGGING - /* If stereo switching is not enabled and TD is selected restore element_mode to TD every frame before the VAD */ - if ( hCPE != NULL && hCPE->stereo_mode_cmdl == IVAS_CPE_TD ) - { - hCPE->element_mode = IVAS_CPE_TD; - } -#endif /*------------------------------------------------------------------* * VAD diff --git a/lib_enc/ivas_init_enc_fx.c b/lib_enc/ivas_init_enc_fx.c index 06df36fe5..065d6c55e 100644 --- a/lib_enc/ivas_init_enc_fx.c +++ b/lib_enc/ivas_init_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -40,9 +12,6 @@ #include "ivas_rom_com.h" #include "wmc_auto.h" #include "prot_fx_enc.h" -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) -#include -#endif /*-------------------------------------------------------------------* @@ -328,12 +297,6 @@ void copy_encoder_config_fx( st_fx->rf_fec_indicator = st_ivas->hEncoderConfig->rf_fec_indicator; /* Q0 */ move16(); -#ifdef DEBUGGING - st_fx->force = st_ivas->hEncoderConfig->force; -#ifdef DEBUG_FORCE_DIR - st_fx->force_dir = st_ivas->hEncoderConfig->force_dir; -#endif -#endif st_fx->element_mode = st_ivas->hEncoderConfig->element_mode_init; /* Q0 */ move16(); @@ -526,12 +489,6 @@ ivas_error ivas_init_encoder_fx( move16(); } -#ifdef BITSTERAM_ANALYSIS - for ( i = 0; i < st_ivas->ivas_max_num_indices; i++ ) - { - memset( st_ivas->ind_list[i].function_name, 'A', 100 * sizeof( char ) ); - } -#endif /* set the maximum allowed number of metadata indices in the list */ st_ivas->ivas_max_num_indices_metadata = get_ivas_max_num_indices_metadata_fx( st_ivas->hEncoderConfig->ivas_format, st_ivas->hEncoderConfig->ivas_total_brate ); /* Q0 */ diff --git a/lib_enc/ivas_ism_dtx_enc_fx.c b/lib_enc/ivas_ism_dtx_enc_fx.c index 940cf63f8..e5d8c1071 100644 --- a/lib_enc/ivas_ism_dtx_enc_fx.c +++ b/lib_enc/ivas_ism_dtx_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_enc/ivas_ism_enc_fx.c b/lib_enc/ivas_ism_enc_fx.c index cd0b36f1e..dc8359352 100644 --- a/lib_enc/ivas_ism_enc_fx.c +++ b/lib_enc/ivas_ism_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -38,9 +10,6 @@ #include "wmc_auto.h" #include "ivas_prot_fx.h" #include "prot_fx_enc.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*-------------------------------------------------------------------* @@ -196,13 +165,6 @@ ivas_error ivas_ism_enc_fx( st->input_bwidth = st->last_input_bwidth; /* updated in BWD */ st->bwidth = st->last_bwidth; /* updated in BWD */ st->rate_switching_reset = 0; -#ifdef DEBUGGING - st->force = st_ivas->hEncoderConfig->force; - st->id_element = sce_id; -#ifdef DEBUG_FORCE_DIR - st->force_dir = st_ivas->hEncoderConfig->force_dir; -#endif -#endif move16(); move16(); move16(); @@ -231,9 +193,6 @@ ivas_error ivas_ism_enc_fx( st->bits_frame_nominal = sub( extract_l( Mpy_32_32( hSCE->element_brate, ONE_BY_FRAMES_PER_SEC_Q31 ) ), ISM_NB_BITS_METADATA_NOMINAL ); move16(); -#ifdef DEBUG_MODE_INFO - dbgwrite( &st->element_mode, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "element_mode", 0, st->id_element, ENC ) ); -#endif /*----------------------------------------------------------------* * Front Pre-processing @@ -446,11 +405,6 @@ ivas_error ivas_ism_enc_fx( test(); IF( !dtx_flag || ( dtx_flag && EQ_16( sce_id, st_ivas->hISMDTX->sce_id_dtx ) ) ) { -#ifndef NONBE_FIX_ISSUE_2206 - Scale_sig( old_wsp_fx[sce_id][0], L_WSP, sub( e_old_wsp[sce_id][0], Q16 ) ); /* exp(16) */ - e_old_wsp[sce_id][0] = 16; - move16(); -#endif IF( NE_32( ( error = ivas_core_enc_fx( hSCE, NULL, NULL, 1, old_inp_12k8_fx[sce_id], old_inp_16k_fx[sce_id], Q_new[sce_id], ener_fx[sce_id], A_fx[sce_id], Aw_fx[sce_id], epsP_fx[sce_id], epsP_fx_q[sce_id], lsp_new_fx[sce_id], lsp_mid_fx[sce_id], vad_hover_flag[sce_id], attack_flag[sce_id], realBuffer_fx[sce_id], imagBuffer_fx[sce_id], &q_re_im_buf[sce_id], old_wsp_fx[sce_id], e_old_wsp[sce_id], loc_harm[sce_id], cor_map_sum_fx[sce_id], vad_flag_dtx[sce_id], enerBuffer_fx[sce_id], enerBuffer_fx_exp[sce_id], fft_buff_fx[sce_id], 0, ISM_FORMAT, 0 ) ), IVAS_ERR_OK ) ) { return error; @@ -496,19 +450,6 @@ ivas_error ivas_ism_enc_fx( } } -#ifdef DEBUG_MODE_INFO - for ( sce_id = 0; sce_id < nchan_transport_ism; sce_id++ ) - { - float tmpF; - int16_t id; - - st = st_ivas->hSCE[sce_id]->hCoreCoder[0]; - id = st->id_element; - - tmpF = st->element_brate / 1000.0f; - dbgwrite( &tmpF, sizeof( float ), 1, input_frame, fname( debug_dir, "element_brate", 0, id, ENC ) ); - } -#endif pop_wmops(); return error; diff --git a/lib_enc/ivas_ism_metadata_enc_fx.c b/lib_enc/ivas_ism_metadata_enc_fx.c index ff8a47f5e..4dbd50c40 100644 --- a/lib_enc/ivas_ism_metadata_enc_fx.c +++ b/lib_enc/ivas_ism_metadata_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -333,16 +305,6 @@ ivas_error ivas_ism_metadata_enc_fx( } } -#ifdef DEBUG_FORCE_DIR - if ( hSCE[0]->hCoreCoder[0]->force_dir[0] != '\0' ) - { - dbgread( ism_imp, sizeof( int16_t ), nchan_ism, fname( hSCE[0]->hCoreCoder[0]->force_dir, "force_ism_imp.enf", -1, -1, -1 ) ); - } - else - { - dbgwrite( ism_imp, sizeof( int16_t ), nchan_ism, 1, "res/force_ism_imp.enf" ); - } -#endif /*----------------------------------------------------------------* * Write ISM common signaling diff --git a/lib_enc/ivas_ism_param_enc_fx.c b/lib_enc/ivas_ism_param_enc_fx.c index 5ec986ec7..37a75a711 100644 --- a/lib_enc/ivas_ism_param_enc_fx.c +++ b/lib_enc/ivas_ism_param_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_enc/ivas_lfe_enc_fx.c b/lib_enc/ivas_lfe_enc_fx.c index 8d3ef73f9..4c2dce894 100644 --- a/lib_enc/ivas_lfe_enc_fx.c +++ b/lib_enc/ivas_lfe_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -66,11 +38,7 @@ static void ivas_lfe_arith_coding_fx( { max_value = ivas_lfe_num_ele_in_coder_models[quant_strategy][i]; move16(); -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC ari_start_encoding_14bits_fx( &as ); -#else - ari_start_encoding_14bits_ivas_fx( &as ); -#endif offset = imult1616( 4, i ); FOR( index = 0; index < num_ele_per_grp; index++ ) diff --git a/lib_enc/ivas_masa_enc_fx.c b/lib_enc/ivas_masa_enc_fx.c index 553073a2a..cef24389b 100644 --- a/lib_enc/ivas_masa_enc_fx.c +++ b/lib_enc/ivas_masa_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_enc/ivas_mc_param_enc_fx.c b/lib_enc/ivas_mc_param_enc_fx.c index f17bee69a..f34c47f9d 100644 --- a/lib_enc/ivas_mc_param_enc_fx.c +++ b/lib_enc/ivas_mc_param_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ // helper macros to convert the 64 bitt accumulators into the 48 bit float format #define CONVERT_CY( x_64, y_fx, y_e ) \ diff --git a/lib_enc/ivas_mc_paramupmix_enc_fx.c b/lib_enc/ivas_mc_paramupmix_enc_fx.c index ffead3327..d87fd26e7 100644 --- a/lib_enc/ivas_mc_paramupmix_enc_fx.c +++ b/lib_enc/ivas_mc_paramupmix_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -39,9 +11,6 @@ #include "ivas_rom_com.h" #include "ivas_rom_enc.h" #include "wmc_auto.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*------------------------------------------------------------------------- diff --git a/lib_enc/ivas_mcmasa_enc_fx.c b/lib_enc/ivas_mcmasa_enc_fx.c index 0a6c3550d..0cff4c81d 100644 --- a/lib_enc/ivas_mcmasa_enc_fx.c +++ b/lib_enc/ivas_mcmasa_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_enc/ivas_mct_core_enc_fx.c b/lib_enc/ivas_mct_core_enc_fx.c index 5bc9c0682..efbb15df9 100644 --- a/lib_enc/ivas_mct_core_enc_fx.c +++ b/lib_enc/ivas_mct_core_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_enc/ivas_mct_enc_fx.c b/lib_enc/ivas_mct_enc_fx.c index 81a8f7942..172cce5ec 100644 --- a/lib_enc/ivas_mct_enc_fx.c +++ b/lib_enc/ivas_mct_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -615,14 +587,6 @@ ivas_error create_mct_enc_fx( return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MDCT Stereo \n" ) ); } -#ifdef DEBUGGING - hMCT->hBlockData[n]->hStereoMdct->mdct_stereo_mode_cmdl = SMDCT_MS_DECISION; -#ifdef DEBUG_FORCE_MDCT_STEREO_MODE - /*set all other members to defined states */ - hMCT->hBlockData[n]->hStereoMdct->fDualMono = 0; - hMCT->hBlockData[n]->hStereoMdct->fMSstereo = 0; -#endif -#endif initMdctStereoEncData_fx( hMCT->hBlockData[n]->hStereoMdct, ivas_format, IVAS_CPE_MDCT, cp_bitrate, st_ivas->hEncoderConfig->max_bwidth, st_ivas->hCPE[0]->hCoreCoder[0]->igf, st_ivas->hCPE[0]->hCoreCoder[0]->igf ? st_ivas->hCPE[0]->hCoreCoder[0]->hIGFEnc->igfData.igfInfo.grid : NULL, 1 ); } @@ -801,14 +765,6 @@ ivas_error mct_enc_reconfigure_fx( } } -#ifdef DEBUGGING - hMCT->hBlockData[n]->hStereoMdct->mdct_stereo_mode_cmdl = SMDCT_MS_DECISION; -#ifdef DEBUG_FORCE_MDCT_STEREO_MODE - /*set all other members to defined states */ - hMCT->hBlockData[n]->hStereoMdct->fDualMono = 0; - hMCT->hBlockData[n]->hStereoMdct->fMSstereo = 0; -#endif -#endif initMdctStereoEncData_fx( hMCT->hBlockData[n]->hStereoMdct, ivas_format, IVAS_CPE_MDCT, cp_bitrate, st_ivas->hEncoderConfig->max_bwidth, st_ivas->hCPE[0]->hCoreCoder[0]->igf, st_ivas->hCPE[0]->hCoreCoder[0]->igf ? st_ivas->hCPE[0]->hCoreCoder[0]->hIGFEnc->igfData.igfInfo.grid : NULL, mem_init ); } diff --git a/lib_enc/ivas_mct_enc_mct_fx.c b/lib_enc/ivas_mct_enc_mct_fx.c index e150a1e40..d7461184c 100644 --- a/lib_enc/ivas_mct_enc_mct_fx.c +++ b/lib_enc/ivas_mct_enc_mct_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_enc/ivas_mdct_core_enc_fx.c b/lib_enc/ivas_mdct_core_enc_fx.c index bae3e6f55..43f670878 100644 --- a/lib_enc/ivas_mdct_core_enc_fx.c +++ b/lib_enc/ivas_mdct_core_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -1164,12 +1136,8 @@ static void compute_power_spec( void ivas_mdct_core_whitening_enc_fx( CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ -#ifdef NONBE_FIX_ISSUE_2206_MDCT_STEREO_FIX_2549 Word16 new_samples_fx[CPE_CHANNELS][L_INP], /* i : new samples Q_new[]-1*/ Word16 *Q_new, /* i : new samples q */ -#else - Word16 new_samples_fx[CPE_CHANNELS][L_INP], /* i : new samples Q0*/ -#endif Word16 old_wsp_fx[CPE_CHANNELS][L_WSP], /* i : 12.8kHz weighted speech (for LTP Qx*/ Word16 pitch_buf_fx[CPE_CHANNELS][NB_SUBFR16k], /* o : floating pitch for each subframe Q6*/ Word32 *mdst_spectrum_long_fx[CPE_CHANNELS], /* o : buffer for MDST spectrum mdst_spectrum_e*/ @@ -1209,9 +1177,6 @@ void ivas_mdct_core_whitening_enc_fx( Word16 zero_side_flag[NB_DIV]; Word16 q_com, q_min; Word32 *mdst_spectrum_fx[CPE_CHANNELS][NB_DIV]; -#ifndef NONBE_FIX_ISSUE_2206_MDCT_STEREO_FIX_2549 - Word16 Q_new; -#endif Word16 q_windowedSignal[CPE_CHANNELS]; Word16 shift = 0; /* 0 for one subframe and 1 for two subframes*/ Word16 *speech; @@ -1236,12 +1201,6 @@ void ivas_mdct_core_whitening_enc_fx( move16(); move16(); -#if ( defined SIMPLIFY_CORE_ENC && !defined NONBE_FIX_ISSUE_2206 ) - FOR( i = 0; i < CPE_CHANNELS; i++ ) - { - Scale_sig( new_samples_fx[i], L_INP, sub( Q1, Q_new_orig[i] ) ); // Q0 - } -#endif /*--------------------------------------------------------------* * Initialization @@ -1333,14 +1292,7 @@ void ivas_mdct_core_whitening_enc_fx( tcx_ltp_encode_ivas_fx( st, st->hTcxEnc->tcxMode, L_FRAME, old_wsp_fx[ch] + L_WSP_MEM + L_LOOK_12k8, NULL, old_wsp_fx[ch] + L_WSP_MEM + L_LOOK_12k8, T_op[ch], ¶m_core[ch][1 + NOISE_FILL_RANGES], <pBits[ch], NULL, 0, IVAS_CPE_MDCT ); -#ifdef NONBE_FIX_ISSUE_2206_MDCT_STEREO_FIX_2549 core_signal_analysis_high_bitrate_ivas_fx( new_samples_fx[ch] + L_INP_MEM, T_op[ch], NULL, NULL, st, tnsSize[ch], tnsBits[ch], param_core[ch], <pBits[ch], windowedSignal_fx[ch], st->L_frame, st->hTcxEnc->L_frameTCX, hCPE->last_element_mode, 0, mdst_spectrum_fx[ch], mdst_spectrum_e[ch], Q_new, &q_windowedSignal[ch] ); -#else - Q_new = 0; - move16(); - - core_signal_analysis_high_bitrate_ivas_fx( new_samples_fx[ch] + L_INP_MEM, T_op[ch], NULL, NULL, st, tnsSize[ch], tnsBits[ch], param_core[ch], <pBits[ch], windowedSignal_fx[ch], st->L_frame, st->hTcxEnc->L_frameTCX, hCPE->last_element_mode, 0, mdst_spectrum_fx[ch], mdst_spectrum_e[ch], &Q_new, &q_windowedSignal[ch] ); -#endif /* BWD in MDCT domain */ IF( NE_16( st->hTcxCfg->tcx_last_overlap_mode, TRANSITION_OVERLAP ) ) @@ -2509,13 +2461,6 @@ void ivas_mdct_core_whitening_enc_fx( } } -#if ( defined SIMPLIFY_CORE_ENC && !defined NONBE_FIX_ISSUE_2206 ) - FOR( i = 0; i < CPE_CHANNELS; i++ ) - { - Scale_sig( new_samples_fx[i], L_INP, sub( Q_new_orig[i], Q1 ) ); // Q_new[] - 1 - } - -#endif pop_wmops(); return; } diff --git a/lib_enc/ivas_omasa_enc_fx.c b/lib_enc/ivas_omasa_enc_fx.c index 330dd4038..9659e2c53 100644 --- a/lib_enc/ivas_omasa_enc_fx.c +++ b/lib_enc/ivas_omasa_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "options.h" #include @@ -39,9 +11,6 @@ #include "ivas_rom_com.h" #include "ivas_rom_enc.h" #include "wmc_auto.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*------------------------------------------------------------------------- @@ -912,10 +881,6 @@ void ivas_set_ism_importance_interformat_fx( void ivas_set_surplus_brate_enc( Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */ -#ifdef DEBUG_MODE_INFO - , - const int16_t *nb_bits_metadata /* i : number of metadata bits */ -#endif ) { test(); @@ -935,31 +900,6 @@ void ivas_set_surplus_brate_enc( move32(); } -#ifdef DEBUG_MODE_INFO - if ( st_ivas->hSCE[0] != NULL ) - { - int16_t input_frame = (int16_t) ( st_ivas->hEncoderConfig->input_Fs / FRAMES_PER_SEC ); - float tmpF = 0; - - if ( st_ivas->ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ || st_ivas->ism_mode == ISM_MASA_MODE_MASA_ONE_OBJ ) - { - tmpF += st_ivas->hSCE[0]->hCoreCoder[0]->total_brate + (float) ( nb_bits_metadata[1] * 50 ); - } - else - { - for ( int16_t i = 0; i < st_ivas->hEncoderConfig->nchan_ism; i++ ) - { - tmpF += st_ivas->hSCE[i]->hCoreCoder[0]->total_brate + (float) ( nb_bits_metadata[i + 1] * 50 ); - } - } - tmpF /= 1000.f; - dbgwrite( &tmpF, 4, 1, input_frame, "res/brate_ISM" ); /* == ism_total_brate incl. ISM MD */ - tmpF = st_ivas->hEncoderConfig->ivas_total_brate / 1000.0f - tmpF; - dbgwrite( &tmpF, 4, 1, input_frame, "res/brate_MASA" ); /* == masa_total_brate incl. MASA MD */ - tmpF = nb_bits_metadata[0] * FRAMES_PER_SEC / 1000.0f; - dbgwrite( &tmpF, 4, 1, input_frame, "res/brate_MASA_MD" ); /* == MASA MD bitrate */ - } -#endif return; } diff --git a/lib_enc/ivas_osba_enc_fx.c b/lib_enc/ivas_osba_enc_fx.c index a71a85984..f4c23fc50 100644 --- a/lib_enc/ivas_osba_enc_fx.c +++ b/lib_enc/ivas_osba_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "options.h" #include diff --git a/lib_enc/ivas_pca_enc_fx.c b/lib_enc/ivas_pca_enc_fx.c index d3c8d1071..9012ac89b 100644 --- a/lib_enc/ivas_pca_enc_fx.c +++ b/lib_enc/ivas_pca_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_enc/ivas_qmetadata_enc_fx.c b/lib_enc/ivas_qmetadata_enc_fx.c index f46665440..b799ba86f 100644 --- a/lib_enc/ivas_qmetadata_enc_fx.c +++ b/lib_enc/ivas_qmetadata_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -40,9 +12,6 @@ #include "ivas_stat_enc.h" #include "wmc_auto.h" #include "basop_util.h" -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) -#include -#endif /*-----------------------------------------------------------------------* @@ -1146,23 +1115,14 @@ void reset_metadata_spatial_fx( { hMetaData->ind_list[i].nb_bits = -1; move16(); -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - sprintf( hMetaData->ind_list[i].function_name, "RESET in reset_metadata_spatial" ); -#endif } FOR( ( j = 0, i = next_ind_sid ); i < last_ind_sid; ( i++, j++ ) ) { hMetaData->ind_list[j].value = hMetaData->ind_list[i].value; hMetaData->ind_list[j].nb_bits = hMetaData->ind_list[i].nb_bits; -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - strncpy( hMetaData->ind_list[j].function_name, hMetaData->ind_list[i].function_name, 100 ); -#endif hMetaData->nb_bits_tot = add( hMetaData->nb_bits_tot, hMetaData->ind_list[j].nb_bits ); hMetaData->ind_list[i].nb_bits = -1; -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - sprintf( hMetaData->ind_list[i].function_name, "RESET in reset_metadata_spatial" ); -#endif move16(); move16(); move16(); @@ -1970,9 +1930,6 @@ void restore_metadata_buffer_fx( { hMetaData->ind_list[i].nb_bits = -1; move16(); -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - sprintf( hMetaData->ind_list[i].function_name, "RESET in restore_metadata_buffer" ); -#endif } hMetaData->nb_bits_tot = bit_pos_start; move16(); diff --git a/lib_enc/ivas_qspherical_enc_fx.c b/lib_enc/ivas_qspherical_enc_fx.c index 5a9c3bb4f..bf18e6a16 100644 --- a/lib_enc/ivas_qspherical_enc_fx.c +++ b/lib_enc/ivas_qspherical_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_enc/ivas_range_uni_enc_fx.c b/lib_enc/ivas_range_uni_enc_fx.c index 2efcf8f23..01164fe8b 100644 --- a/lib_enc/ivas_range_uni_enc_fx.c +++ b/lib_enc/ivas_range_uni_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "ivas_prot_fx.h" diff --git a/lib_enc/ivas_rom_enc.h b/lib_enc/ivas_rom_enc.h index 059eb67e7..fc5cfa1c6 100644 --- a/lib_enc/ivas_rom_enc.h +++ b/lib_enc/ivas_rom_enc.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_ROM_ENC_H #define IVAS_ROM_ENC_H diff --git a/lib_enc/ivas_rom_enc_fx.c b/lib_enc/ivas_rom_enc_fx.c index 514fb2cb3..30ccb1618 100644 --- a/lib_enc/ivas_rom_enc_fx.c +++ b/lib_enc/ivas_rom_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_enc/ivas_sba_enc_fx.c b/lib_enc/ivas_sba_enc_fx.c index c2a63a2e0..b3aff8d23 100644 --- a/lib_enc/ivas_sba_enc_fx.c +++ b/lib_enc/ivas_sba_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_enc/ivas_sce_enc_fx.c b/lib_enc/ivas_sce_enc_fx.c index 400e22284..ebd2ab6bb 100644 --- a/lib_enc/ivas_sce_enc_fx.c +++ b/lib_enc/ivas_sce_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -37,9 +9,6 @@ #include "prot_fx.h" #include "prot_fx_enc.h" #include "ivas_rom_com.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "wmc_auto.h" #include "ivas_prot_fx.h" @@ -153,13 +122,6 @@ ivas_error ivas_sce_enc_fx( st->input_bwidth = st->last_input_bwidth; /* updated in BWD */ st->bwidth = st->last_bwidth; /* updated in BWD */ st->rate_switching_reset = 0; -#ifdef DEBUGGING - st->force = st_ivas->hEncoderConfig->force; - st->id_element = sce_id; -#ifdef DEBUG_FORCE_DIR - st->force_dir = st_ivas->hEncoderConfig->force_dir; -#endif -#endif move16(); move16(); move32(); @@ -233,10 +195,6 @@ ivas_error ivas_sce_enc_fx( move16(); } -#ifdef DEBUG_MODE_INFO - dbgwrite( st->input_fx - NS2SA( st->input_Fs, ACELP_LOOK_NS ), sizeof( Word16 ), input_frame, 1, "res/input_DMX" ); - dbgwrite( &st->element_mode, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "element_mode", 0, st->id_element, ENC ) ); -#endif /*----------------------------------------------------------------* * Front Pre-processing *----------------------------------------------------------------*/ @@ -353,11 +311,6 @@ ivas_error ivas_sce_enc_fx( * Encoder *----------------------------------------------------------------*/ -#ifndef NONBE_FIX_ISSUE_2206 - Scale_sig( old_wsp_fx[0], L_WSP, sub( e_old_wsp[0], Q16 ) ); // Q(15-16) - e_old_wsp[0] = Q16; - move16(); -#endif IF( NE_32( ( error = ivas_core_enc_fx( hSCE, NULL, NULL, 1, old_inp_12k8_fx, old_inp_16k_fx, Q_new, ener_fx, A_fx, Aw_fx, epsP_fx, epsP_fx_q, lsp_new_fx, lsp_mid_fx, vad_hover_flag, attack_flag, realBuffer_fx, imagBuffer_fx, &q_re_im_buf, old_wsp_fx, e_old_wsp, loc_harm, cor_map_sum_fx, vad_flag_dtx, enerBuffer_fx, enerBuffer_fx_exp, fft_buff_fx, 0, ivas_format, flag_16k_smc ) ), IVAS_ERR_OK ) ) { return error; @@ -381,12 +334,6 @@ ivas_error ivas_sce_enc_fx( st->hTranDet->transientDetector.prev_bIsAttackPresent = st->hTranDet->transientDetector.bIsAttackPresent; move16(); -#ifdef DEBUG_MODE_INFO - { - float tmpF = hSCE->element_brate / 1000.0f; - dbgwrite( &tmpF, sizeof( float ), 1, input_frame, fname( debug_dir, "element_brate", 0, sce_id, ENC ) ); - } -#endif pop_wmops(); return IVAS_ERR_OK; diff --git a/lib_enc/ivas_sns_enc_fx.c b/lib_enc/ivas_sns_enc_fx.c index 7c10978d3..615a94ae6 100644 --- a/lib_enc/ivas_sns_enc_fx.c +++ b/lib_enc/ivas_sns_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_enc/ivas_spar_encoder_fx.c b/lib_enc/ivas_spar_encoder_fx.c index 3b65bc438..9f8299a13 100644 --- a/lib_enc/ivas_spar_encoder_fx.c +++ b/lib_enc/ivas_spar_encoder_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -39,9 +11,6 @@ #include "ivas_stat_com.h" #include "wmc_auto.h" #include "prot_fx_enc.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*-------------------------------------------------------------------* @@ -736,14 +705,6 @@ static ivas_error ivas_spar_enc_process_fx( ivas_transient_det_process_fx( hSpar->hTranDet, data_fx[0], input_frame, transient_det ); -#ifdef DEBUGGING - { - float a[2]; - a[0] = transient_det[0]; - a[1] = transient_det[1]; - dbgwrite_txt( a, 2, "fixed.txt", NULL ); - } -#endif if ( LT_32( ivas_total_brate, IVAS_24k4 ) ) { transient_det[1] = 0; @@ -904,17 +865,6 @@ static ivas_error ivas_spar_enc_process_fx( ivas_fb_mixer_get_in_out_mapping_fx( hSpar->hFbMixer->fb_cfg, in_out_mixer_map ); -#ifdef DEBUG_SPAR_DIRAC_WRITE_OUT_PRED_PARS - { - static FILE *fid = 0; - int16_t band = 9; - if ( !fid ) - { - fid = fopen( "pred_coeffs_enc.txt", "wt" ); - } - fprintf( fid, "%.6f\n", hSpar->hMdEnc->mixer_mat[1][0][band] ); - } -#endif ivas_fb_mixer_process_fx( hSpar->hFbMixer, hSpar->hMdEnc->mixer_mat_fx, &hSpar->hMdEnc->q_mixer_mat_fx, p_pcm_tmp_fx, q_p_pcm_tmp_fx, input_frame, in_out_mixer_map ); diff --git a/lib_enc/ivas_spar_md_enc_fx.c b/lib_enc/ivas_spar_md_enc_fx.c index 9bd2c17b3..db1e98f4d 100644 --- a/lib_enc/ivas_spar_md_enc_fx.c +++ b/lib_enc/ivas_spar_md_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_enc/ivas_stat_enc.h b/lib_enc/ivas_stat_enc.h index c4e821202..4682f8b74 100644 --- a/lib_enc/ivas_stat_enc.h +++ b/lib_enc/ivas_stat_enc.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_STAT_ENC_H #define IVAS_STAT_ENC_H @@ -39,9 +11,6 @@ #include "ivas_cnst.h" #include "stat_enc.h" #include "ivas_stat_com.h" -#ifdef DEBUG_FORCE_DIR -#include "debug.h" -#endif /*----------------------------------------------------------------------------------* * DFT Stereo encoder structures @@ -276,12 +245,8 @@ typedef struct stereo_dft_enc_data_struct const Word16 *dft_trigo_16k_fx; const Word16 *dft_trigo_32k_fx; -#ifdef NONBE_FIX_ISSUE_2206 Word32 output_mem_res_8k_fx[STEREO_DFT_OVL_8k]; // output_mem_res_8k_q Word16 output_mem_res_8k_q; // Q15 -#else - Word32 output_mem_res_8k_fx[STEREO_DFT_OVL_8k]; // Q15 -#endif Word32 res_cod_NRG_M_fx[STEREO_DFT_BAND_MAX]; // Q(31 - res_cod_NRG_M_fx_e[]) Word16 res_cod_NRG_M_fx_e[STEREO_DFT_BAND_MAX]; @@ -298,7 +263,6 @@ typedef struct stereo_dft_enc_data_struct Word16 past_dot_prod_real_fx_e[STEREO_DFT_NRG_PAST_LEN * STEREO_DFT_BAND_MAX]; Word32 past_dot_prod_imag_fx[STEREO_DFT_NRG_PAST_LEN * STEREO_DFT_BAND_MAX]; // Q(31 - past_dot_prod_imag_fx_e[]) Word16 past_dot_prod_imag_fx_e[STEREO_DFT_NRG_PAST_LEN * STEREO_DFT_BAND_MAX]; -#ifdef NONBE_FIX_ISSUE_2206 Word32 output_mem_dmx_fx[STEREO_DFT_OVL_MAX]; // output_mem_dmx_q Word32 output_mem_dmx_12k8_fx[STEREO_DFT_OVL_12k8]; // output_mem_dmx_12k8_q Word32 output_mem_dmx_16k_fx[STEREO_DFT_OVL_16k]; /*can hold 16, 12.8 or 32kHz signals*/ // output_mem_dmx_16k_q @@ -309,13 +273,6 @@ typedef struct stereo_dft_enc_data_struct Word16 output_mem_dmx_16k_q; /*can hold 16, 12.8 or 32kHz signals*/ // Q0 Word16 output_mem_dmx_32k_q; /*can hold 16, 12.8 or 32kHz signals*/ // Q0 Word16 output_mem_dmx_16k_shb_q; // Q0 -#else - Word32 output_mem_dmx_fx[STEREO_DFT_OVL_MAX]; // Q15 - Word32 output_mem_dmx_12k8_fx[STEREO_DFT_OVL_12k8]; // Q15 - Word32 output_mem_dmx_16k_fx[STEREO_DFT_OVL_16k]; /*can hold 16, 12.8 or 32kHz signals*/ // Q15 - Word32 output_mem_dmx_32k_fx[STEREO_DFT_OVL_32k]; /*can hold 16, 12.8 or 32kHz signals*/ // Q15 - Word32 output_mem_dmx_16k_shb_fx[STEREO_DFT_OVL_16k]; // Q15 -#endif Word16 input_mem_itd_fx[CPE_CHANNELS][STEREO_DFT_OVL_MAX]; Word16 q_input_mem_itd[CPE_CHANNELS]; Word32 gipd_fx[STEREO_DFT_ENC_DFT_NB]; // Q13 @@ -336,11 +293,6 @@ typedef struct stereo_mdct_enc_data_structure /* only intraframe */ Word16 mdct_stereo_mode[2]; /* mdct stereo mode: LR, MS, band-wise MS */ -#ifdef DEBUGGING - Word16 mdct_stereo_mode_cmdl; /* MDCT stereo mode from command-line */ - Word16 fDualMono; /* force dual mono in MDCT stereo mode */ - Word16 fMSstereo; /* force full-band MS in MDCT stereo mode */ -#endif Word16 global_ild[2]; /* Quantized ILD for the whole spectrum */ Word16 split_ratio; /* Ratio of bitrate (1 to 7), split_ratio = 8 * 1st chn bitrate / (1st + 2nd chn bitrate) */ @@ -1126,9 +1078,6 @@ typedef struct cpe_enc_data_structure Word16 *input_mem_fx[CPE_CHANNELS]; /* input channels buffers memory; needed to be up-to-date for TD->DFT stereo switching */ Word16 q_input_mem[CPE_CHANNELS]; -#ifdef DEBUGGING - Word16 stereo_mode_cmdl; /* stereo mode forced from the commaand-line */ -#endif } CPE_ENC_DATA, *CPE_ENC_HANDLE; @@ -1344,15 +1293,6 @@ typedef struct encoder_config_structure /* temp. development parameters */ Word16 Opt_PCA_ON; /* flag indicating PCA operation in SBA */ -#ifdef DEBUGGING - /* debugging options */ - Word16 stereo_mode_cmdl; /* stereo mode forced from the command-line */ - Word16 force; /* parameter to force specific "core" of the Core-Coder*/ - Word16 mdct_stereo_mode_cmdl; /* mdct stereo mode forced from command-line, employed only when DEBUG_FORCE_MDCT_STEREO_MODE is activated */ -#ifdef DEBUG_FORCE_DIR - char force_dir[FORCE_DIR_MAX_LENGTH]; /* directory containing external binary files for modes/parameters enforcement (empty string indicates no enforcement) */ -#endif -#endif } ENCODER_CONFIG, *ENCODER_CONFIG_HANDLE; diff --git a/lib_enc/ivas_stereo_adapt_GR_enc_fx.c b/lib_enc/ivas_stereo_adapt_GR_enc_fx.c index bf54b6901..d83d317ad 100644 --- a/lib_enc/ivas_stereo_adapt_GR_enc_fx.c +++ b/lib_enc/ivas_stereo_adapt_GR_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_enc/ivas_stereo_classifier_fx.c b/lib_enc/ivas_stereo_classifier_fx.c index 621a00bd4..4438cc71c 100644 --- a/lib_enc/ivas_stereo_classifier_fx.c +++ b/lib_enc/ivas_stereo_classifier_fx.c @@ -1,40 +1,9 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "prot_fx.h" #include "ivas_rom_com.h" #include "ivas_rom_enc.h" @@ -118,12 +87,8 @@ Word16 select_stereo_mode_fx( test(); test(); test(); -#ifdef DEBUGGING - IF( GE_32( hCPE->element_brate, MIN_BRATE_MDCT_STEREO ) || ( ( ( EQ_16( ivas_format, MASA_FORMAT ) || EQ_16( ivas_format, MASA_ISM_FORMAT ) ) && LT_32( hCPE->element_brate, MASA_STEREO_MIN_BITRATE ) ) ) || ( hCPE->stereo_mode_cmdl == IVAS_CPE_DFT || hCPE->stereo_mode_cmdl == IVAS_CPE_TD ) ) -#else if ( GE_32( hCPE->element_brate, MIN_BRATE_MDCT_STEREO ) || ( ( ( EQ_16( ivas_format, MASA_FORMAT ) || EQ_16( ivas_format, MASA_ISM_FORMAT ) ) && LT_32( hCPE->element_brate, MASA_STEREO_MIN_BITRATE ) ) ) ) -#endif { stereo_switching_flag = 0; move16(); @@ -177,12 +142,6 @@ Word16 select_stereo_mode_fx( element_mode = IVAS_CPE_DFT; move16(); } -#ifdef DEBUGGING - if ( hCPE->stereo_mode_cmdl > 1 ) - { - element_mode = hCPE->stereo_mode_cmdl; - } -#endif } ELSE IF( EQ_16( element_mode, IVAS_CPE_TD ) ) { @@ -230,16 +189,6 @@ Word16 select_stereo_mode_fx( } } -#ifdef DEBUG_FORCE_DIR - if ( hCPE->hCoreCoder[0]->force_dir[0] != '\0' ) - { - dbgread( &element_mode, sizeof( int16_t ), 1, fname( hCPE->hCoreCoder[0]->force_dir, "force_element_mode.enf", -1, -1, -1 ) ); - } - else - { - dbgwrite( &element_mode, sizeof( int16_t ), 1, 1, "res/force_element_mode.enf" ); - } -#endif IF( NE_16( hCPE->last_element_mode, element_mode ) ) { @@ -962,16 +911,6 @@ void unclr_classifier_td_fx( move16(); } -#ifdef DEBUG_FORCE_DIR - if ( hCPE->hCoreCoder[0]->force_dir[0] != '\0' ) - { - dbgread( &hStereoClassif->unclr_decision, sizeof( int16_t ), 1, fname( hCPE->hCoreCoder[0]->force_dir, "force_unclr_decision.enf", -1, -1, -1 ) ); - } - else - { - dbgwrite( &hStereoClassif->unclr_decision, sizeof( int16_t ), 1, 1, "res/force_unclr_decision.enf" ); - } -#endif return; } @@ -1104,16 +1043,6 @@ void unclr_classifier_dft_fx( move16(); } -#ifdef DEBUG_FORCE_DIR - if ( hCPE->hCoreCoder[0]->force_dir[0] != '\0' ) - { - dbgread( &hStereoClassif->unclr_decision, sizeof( int16_t ), 1, fname( hCPE->hCoreCoder[0]->force_dir, "force_unclr_decision.enf", -1, -1, -1 ) ); - } - else - { - dbgwrite( &hStereoClassif->unclr_decision, sizeof( int16_t ), 1, 1, "res/force_unclr_decision.enf" ); - } -#endif return; } @@ -1264,16 +1193,6 @@ void xtalk_classifier_td_fx( move16(); } -#ifdef DEBUG_FORCE_DIR - if ( hCPE->hCoreCoder[0]->force_dir[0] != '\0' ) - { - dbgread( &hStereoClassif->xtalk_decision, sizeof( int16_t ), 1, fname( hCPE->hCoreCoder[0]->force_dir, "force_xtalk_decision.enf", -1, -1, -1 ) ); - } - else - { - dbgwrite( &hStereoClassif->xtalk_decision, sizeof( int16_t ), 1, 1, "res/force_xtalk_decision.enf" ); - } -#endif return; } @@ -1512,16 +1431,6 @@ void xtalk_classifier_dft_fx( hItd->prev_itd2 = itd2; move16(); -#ifdef DEBUG_FORCE_DIR - if ( hCPE->hCoreCoder[0]->force_dir[0] != '\0' ) - { - dbgread( &hStereoClassif->xtalk_decision, sizeof( int16_t ), 1, fname( hCPE->hCoreCoder[0]->force_dir, "force_xtalk_decision.enf", -1, -1, -1 ) ); - } - else - { - dbgwrite( &hStereoClassif->xtalk_decision, sizeof( int16_t ), 1, 1, "res/force_xtalk_decision.enf" ); - } -#endif return; } diff --git a/lib_enc/ivas_stereo_cng_enc_fx.c b/lib_enc/ivas_stereo_cng_enc_fx.c index c9f4fe9a1..233974645 100644 --- a/lib_enc/ivas_stereo_cng_enc_fx.c +++ b/lib_enc/ivas_stereo_cng_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_enc/ivas_stereo_dft_enc_fx.c b/lib_enc/ivas_stereo_dft_enc_fx.c index 095b918ef..eeaff314b 100644 --- a/lib_enc/ivas_stereo_dft_enc_fx.c +++ b/lib_enc/ivas_stereo_dft_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods.q_inp - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -444,10 +416,8 @@ static void stereo_dft_enc_open_fx( move16(); set32_fx( hStereoDft->output_mem_dmx_32k_fx, 0, STEREO_DFT_OVL_32k ); -#ifdef NONBE_FIX_ISSUE_2206 hStereoDft->output_mem_dmx_32k_q = Q31; move16(); -#endif hStereoDft->dft_zp = extract_l( Mpy_32_32( input_Fs, 12079596 /* STEREO_DFT_ZP_MAX_ENC / 48000 in Q31 */ ) ); move16(); @@ -501,7 +471,6 @@ static void stereo_dft_enc_open_fx( set_zero_fx( hStereoDft->output_mem_dmx_16k_fx, STEREO_DFT_OVL_16k ); set_zero_fx( hStereoDft->output_mem_dmx_16k_shb_fx, STEREO_DFT_OVL_16k ); set_zero_fx( hStereoDft->output_mem_res_8k_fx, STEREO_DFT_OVL_8k ); -#ifdef NONBE_FIX_ISSUE_2206 hStereoDft->output_mem_dmx_q = Q31; move16(); hStereoDft->output_mem_dmx_12k8_q = Q31; @@ -512,7 +481,6 @@ static void stereo_dft_enc_open_fx( move16(); hStereoDft->output_mem_res_8k_q = Q31; move16(); -#endif /*Bands: find the number of bands, Nyquist freq. is not taken into account*/ /* NFFT_inner = STEREO_DFT_N_MAX_ENC * inner_frame_tbl[max_bwidth] / L_FRAME48k; */ @@ -1039,7 +1007,6 @@ void stereo_dft_enc_analyze_fx( move32(); } -#ifdef NONBE_FIX_ISSUE_2206 /* Align Q values of the signals that need to be aligned in stereo_td_channel_extrapolate_fx() */ FOR( n = 0; n < n_channels; n++ ) { @@ -1095,59 +1062,10 @@ void stereo_dft_enc_analyze_fx( scale_sig32( pDFT_R, NFFT, q_shift ); DFT_e[1] = sub( DFT_e[1], q_shift ); move16(); -#else - FOR( n = 0; n < n_channels; n++ ) - { - Scale_sig( &mem[n][0], dft_ovl, sub( sts[n]->q_inp, q_input_mem[n] ) ); // Q(sts[n]->q_inp) - q_input_mem[n] = sts[n]->q_inp; - move16(); - } - /*overlapping parts*/ - FOR( i = 0; i < dft_ovl; i++ ) - { - pDFT_L[( dft_zp + i )] = L_mult0( mem[0][i], pWin[i] ); - move32(); - pDFT_L[( ( ( dft_zp + N ) + dft_ovl ) - 1 - i )] = L_mult0( input[0][offset + N + dft_ovl - 1 - i], pWin[i] ); - move32(); - - pDFT_R[dft_zp + i] = L_mult0( mem[1][i], pWin[i] ); - move32(); - pDFT_R[( ( dft_zp + N ) + dft_ovl ) - 1 - i] = L_mult0( input[1][offset + N + dft_ovl - 1 - i], pWin[i] ); - move32(); - } - - /*middle part*/ - FOR( i = 0; i < N - dft_ovl; i++ ) - { - pDFT_L[dft_zp + dft_ovl + i] = L_shr( L_deposit_h( input[0][offset + dft_ovl + i] ), 1 ); - move32(); - - pDFT_R[dft_zp + dft_ovl + i] = L_shr( L_deposit_h( input[1][offset + dft_ovl + i] ), 1 ); - move32(); - } - DFT_e[0] = sub( 31, add( 15, sts[0]->q_inp ) ); - move16(); - DFT_e[1] = sub( 31, add( 15, sts[1]->q_inp ) ); - move16(); - - Word16 q_shift, guarded_bits; - guarded_bits = find_guarded_bits_fx( NFFT ); - - q_shift = sub( L_norm_arr( pDFT_L, NFFT ), guarded_bits ); - scale_sig32( pDFT_L, NFFT, q_shift ); - DFT_e[0] = sub( DFT_e[0], q_shift ); - move16(); - - q_shift = sub( L_norm_arr( pDFT_R, NFFT ), guarded_bits ); - scale_sig32( pDFT_R, NFFT, q_shift ); - DFT_e[1] = sub( DFT_e[1], q_shift ); - move16(); -#endif rfft_fx( pDFT_L, trigo_enc, NFFT, -1 ); rfft_fx( pDFT_R, trigo_enc, NFFT, -1 ); -#ifdef NONBE_FIX_ISSUE_2206 test(); test(); IF( hStereoDft != NULL && hStereoDft->hConfig->hybrid_itd_flag && hStereoDft->hItd->td_itd[STEREO_DFT_OFFSET] ) @@ -1169,32 +1087,6 @@ void stereo_dft_enc_analyze_fx( move16(); } } -#else - /* update pointers to overlap memory */ - FOR( n = 0; n < n_channels; n++ ) - { - mem[n] = &input[n][sub( N, dft_ovl )]; - } - test(); - test(); - IF( hStereoDft != NULL && hStereoDft->hConfig->hybrid_itd_flag && hStereoDft->hItd->td_itd[STEREO_DFT_OFFSET] ) - { - FOR( n = 0; n < n_channels; n++ ) - { - Scale_sig( hStereoDft->input_mem_itd_fx[n], dft_ovl, sub( sts[n]->q_inp, hStereoDft->q_input_mem_itd[n] ) ); // Q(sts[n]->q_inp) - hStereoDft->q_input_mem_itd[n] = sts[n]->q_inp; - move16(); - Copy( hStereoDft->input_mem_itd_fx[n], input_mem[n], dft_ovl ); - } - } - ELSE - { - FOR( n = 0; n < n_channels; n++ ) - { - Copy( input[n] + input_frame - dft_ovl, input_mem[n], dft_ovl ); - } - } -#endif pop_wmops(); return; @@ -1208,12 +1100,8 @@ void stereo_dft_enc_analyze_fx( Word32 stereo_dft_enc_synthesize_fx( STEREO_DFT_ENC_DATA_HANDLE hStereoDft, /* i/o: encoder stereo handle */ -#ifdef NONBE_FIX_ISSUE_2206 Word32 *output_fx, /* i/o : output synthesis q_output */ Word16 *q_output, /* i/o : output synthesis Q */ -#else - Word32 *output_fx, /* o : output synthesis Q15 */ -#endif Word16 *output_start_index, Word16 *output_end_index, const Word16 chan, /* i : channel number */ @@ -1229,9 +1117,7 @@ Word32 stereo_dft_enc_synthesize_fx( Word16 temp_exp; Word32 fac_fx; Word32 *mem_fx; -#ifdef NONBE_FIX_ISSUE_2206 Word16 *mem_q; -#endif const Word16 *trigo_fx; const Word32 *win_fx; const Word16 *win_ana_fx; @@ -1298,16 +1184,12 @@ Word32 stereo_dft_enc_synthesize_fx( IF( L_frame > 0 ) { mem_fx = hStereoDft->output_mem_dmx_16k_shb_fx; -#ifdef NONBE_FIX_ISSUE_2206 mem_q = &hStereoDft->output_mem_dmx_16k_shb_q; -#endif } ELSE { mem_fx = hStereoDft->output_mem_dmx_fx; -#ifdef NONBE_FIX_ISSUE_2206 mem_q = &hStereoDft->output_mem_dmx_q; -#endif } win_fx = hStereoDft->win_fx; win_ana_fx = hStereoDft->win_ana_fx; @@ -1333,9 +1215,7 @@ Word32 stereo_dft_enc_synthesize_fx( trigo_step = STEREO_DFT_TRIGO_SRATE_12k8_STEP; move16(); mem_fx = hStereoDft->output_mem_dmx_12k8_fx; -#ifdef NONBE_FIX_ISSUE_2206 mem_q = &hStereoDft->output_mem_dmx_12k8_q; -#endif win_fx = hStereoDft->win_12k8_fx; win_ana_fx = hStereoDft->win_ana_12k8_fx; @@ -1362,18 +1242,14 @@ Word32 stereo_dft_enc_synthesize_fx( IF( L_frame > 0 ) { mem_fx = hStereoDft->output_mem_dmx_16k_shb_fx; -#ifdef NONBE_FIX_ISSUE_2206 mem_q = &hStereoDft->output_mem_dmx_16k_shb_q; -#endif push_wmops( "DFT_synth_16k_shb" ); } ELSE { mem_fx = hStereoDft->output_mem_dmx_16k_fx; -#ifdef NONBE_FIX_ISSUE_2206 mem_q = &hStereoDft->output_mem_dmx_16k_q; -#endif push_wmops( "DFT_synth_16k" ); } @@ -1399,9 +1275,7 @@ Word32 stereo_dft_enc_synthesize_fx( trigo_step = STEREO_DFT_TRIGO_SRATE_32k_STEP; move16(); mem_fx = hStereoDft->output_mem_dmx_32k_fx; -#ifdef NONBE_FIX_ISSUE_2206 mem_q = &hStereoDft->output_mem_dmx_32k_q; -#endif win_fx = hStereoDft->win_32k_fx; win_ana_fx = hStereoDft->win_ana_32k_fx; @@ -1426,9 +1300,7 @@ Word32 stereo_dft_enc_synthesize_fx( trigo_step = STEREO_DFT_TRIGO_SRATE_8k_STEP; move16(); mem_fx = hStereoDft->output_mem_res_8k_fx; -#ifdef NONBE_FIX_ISSUE_2206 mem_q = &hStereoDft->output_mem_res_8k_q; -#endif win_fx = hStereoDft->win_8k_fx; win_ana_fx = hStereoDft->win_ana_8k_fx; @@ -1452,9 +1324,7 @@ Word32 stereo_dft_enc_synthesize_fx( ovl = -1; /* to avoid compilation warning */ move16(); mem_fx = NULL; /* to avoid compilation warning */ -#ifdef NONBE_FIX_ISSUE_2206 mem_q = NULL; -#endif win_ana_fx = NULL; /* to avoid compilation warning */ } @@ -1595,7 +1465,6 @@ Word32 stereo_dft_enc_synthesize_fx( /*Reconstruct */ /*IFFT*/ -#ifdef NONBE_FIX_ISSUE_2206 Word16 mem_shift, tmp_shift, tmp_q; scal_fac = sub( L_norm_arr( tmp_fx, NFFT ), find_guarded_bits_fx( NFFT ) ); @@ -1643,46 +1512,6 @@ Word32 stereo_dft_enc_synthesize_fx( output_fx[offset + N + i] = L_add_sat( L_temp, ifft_deviation ); // *q_output move32(); } -#else - scal_fac = sub( 1, find_guarded_bits_fx( NFFT ) ); - scale_sig32( tmp_fx, NFFT, scal_fac ); // Q16 - rfft_fx( tmp_fx, trigo_enc_fx, NFFT, +1 ); - Scale_sig32( tmp_fx, NFFT, sub( sub( DFT_in_fx_e, scal_fac ), 16 ) ); // Q15 - - FOR( i = 0; i < ovl; i++ ) - { - // output[offset + i] = mem[i] + tmp[zp + i] * win[i]; - output_fx[offset + i] = L_add_sat( mem_fx[i], Mpy_32_32( tmp_fx[zp + i], win_fx[i] ) ); // Q15 - move32(); - // mem[i] = tmp[zp + N + i] * win[ovl - 1 - i]; - mem_fx[i] = Mpy_32_32( tmp_fx[zp + N + i], win_fx[ovl - 1 - i] ); // Q15 - move32(); - } - - /*Middle->Copy*/ - FOR( i = 0; i < N - ovl; i++ ) - { - // output_fx[offset + ovl + i] = tmp[zp + ovl + i]; - output_fx[offset + ovl + i] = tmp_fx[zp + ovl + i]; // Q15 - move32(); - } - - /*-----------------------------------------------------------------* - * Lookahead: redress signal - *-----------------------------------------------------------------*/ - - FOR( i = 0; i < ovl; i++ ) - { - Word32 ifft_deviation = tmp_fx[zp + N + ovl]; // Q15 - move32(); - // output[offset + N + i] = ( tmp[zp + N + i] - ifft_deviation ) / win_ana[ovl - 1 - i] + ifft_deviation; - Word16 L_temp_e; - Word32 L_temp = BASOP_Util_Divide3232_Scale_newton( L_sub_sat( tmp_fx[zp + N + i], ifft_deviation ), L_deposit_h( win_ana_fx[ovl - 1 - i] ), &L_temp_e ); - L_temp = L_shl_sat( L_temp, L_temp_e ); - output_fx[offset + N + i] = L_add_sat( L_temp, ifft_deviation ); // Q15 - move32(); - } -#endif *output_start_index = offset; move16(); @@ -3177,9 +3006,6 @@ void stereo_dft_enc_write_BS_fx( } } -#ifdef DEBUG_MODE_DFT_BITS - fprintf( ITD_bits, "%d ", *nb_bits ); -#endif /*------------------------------------------------------------------* * write Side gain indices @@ -3224,9 +3050,6 @@ ELSE /* nb bits are used for side gain*/ ( *nb_bits ) = add( *nb_bits, nb ); move16(); -#ifdef DEBUG_MODE_DFT_BITS -fprintf( SG_bits, "%d ", nb ); -#endif nb = 0; move16(); @@ -3328,9 +3151,6 @@ ELSE IF( LE_16( *nb_bits, ( ( IVAS_SID_5k2 - SID_2k40 ) / FRAMES_PER_SEC - SID_F } -#ifdef DEBUG_MODE_DFT_BITS -fprintf( IPD_bits, "%d ", nb ); -#endif ( *nb_bits ) = add( *nb_bits, nb ); /*----------------------------------------------------------------* diff --git a/lib_enc/ivas_stereo_dft_enc_itd_fx.c b/lib_enc/ivas_stereo_dft_enc_itd_fx.c index 850b40f61..7df941c07 100644 --- a/lib_enc/ivas_stereo_dft_enc_itd_fx.c +++ b/lib_enc/ivas_stereo_dft_enc_itd_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -1492,13 +1464,8 @@ void stereo_dft_enc_compute_itd_fx( L_temp2_e = sub( 31, q_temp ); L_temp = Mpy_32_32( L_temp, L_temp2 ); L_temp_e = add( L_temp_e, L_temp2_e ); -#ifdef FIX_BASOP_2561_STEREO_DFT_ENC_COMPUTE_ITD sfm_R = BASOP_Util_Divide3232_Scale_newton( L_temp, sum_abs_R, &sfm_R_e ); sfm_R_e = add( sfm_R_e, sub( L_temp_e, sum_abs_R_e ) ); -#else - sfm_R = BASOP_Util_Divide3232_Scale_newton( L_temp, sum_abs_R, &sfm_L_e ); - sfm_R_e = add( sfm_L_e, sub( L_temp_e, sum_abs_R_e ) ); -#endif // sfm_R = L_shl_r( sfm_R, sfm_R_e ); // Q31 sfm_R = L_shl_sat( sfm_R, sfm_R_e ); // Q31 } @@ -1691,11 +1658,7 @@ void stereo_dft_enc_compute_itd_fx( hStereoDft->currentNumUpdates = add( hStereoDft->currentNumUpdates, 1 ); move16(); -#ifdef FIX_BASOP_2561_STEREO_DFT_ENC_COMPUTE_ITD FOR( i = 1; i < NFFT / 2; i++ ) -#else - FOR( i = 1; i < NFFT / 4; i++ ) -#endif { /* Low pass filter cross L/R power spectrum */ // hStereoDft->xspec_smooth[2 * i] = ( 1.f - cng_xcorr_filt ) * hStereoDft->xspec_smooth[2 * i] + cng_xcorr_filt * xcorr[2 * i]; diff --git a/lib_enc/ivas_stereo_dft_td_itd_fx.c b/lib_enc/ivas_stereo_dft_td_itd_fx.c index 4a643aec8..fe35201bc 100644 --- a/lib_enc/ivas_stereo_dft_td_itd_fx.c +++ b/lib_enc/ivas_stereo_dft_td_itd_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -304,7 +276,6 @@ static void stereo_td_channel_extrapolate_fx( r_l[0] = s_max( r_l[0], 1 ); move16(); flag = E_LPC_lev_dur_fx( r_h, r_l, A, NULL, STEREO_DFT_CHANNEL_EXTR_LPC_ORDER, NULL ); -#ifdef NONBE_FIX_ISSUE_2206_TD_CHANNEL_EXTRAPOLATION const Word16 headroom = sub( 0, norm_arr( A, STEREO_DFT_CHANNEL_EXTR_LPC_ORDER + 1 ) ); /* headroom to avoid saturation of LPC synthesis */ Word16 q_A = sub( Q14, norm_s( A[0] ) ); Word16 q_residual = add( sub( q_shift, norm_s( A[0] ) ), sub( 1, headroom ) ); @@ -313,9 +284,6 @@ static void stereo_td_channel_extrapolate_fx( scale_sig( shift_input, input_frame, sub( s_min( q_shift, q_synthesis ), q_shift ) ); scale_sig( shift_combined, add( input_frame, input_frame ), sub( s_min( q_shift, q_synthesis ), q_shift ) ); q_shift = s_min( q_shift, q_synthesis ); -#else - Copy_Scale_sig( A, A, STEREO_DFT_CHANNEL_EXTR_LPC_ORDER + 1, sub( norm_s( A[0] ), 2 ) ); -#endif IF( EQ_16( flag, 1 ) ) { g_lpc = 0; @@ -324,11 +292,7 @@ static void stereo_td_channel_extrapolate_fx( ELSE { /* get the residual */ -#ifdef NONBE_FIX_ISSUE_2206_TD_CHANNEL_EXTRAPOLATION fir_fx( shift_combined + input_frame + size_ovl - itd_shift - STEREO_DFT_CHANNEL_EXTR_LPC_VEC_LIMIT, A, residual, mem_zero, STEREO_DFT_CHANNEL_EXTR_LPC_VEC_LIMIT, STEREO_DFT_CHANNEL_EXTR_LPC_ORDER, 0, sub( Q15, q_A ) ); -#else - fir_fx( shift_combined + input_frame + size_ovl - itd_shift - STEREO_DFT_CHANNEL_EXTR_LPC_VEC_LIMIT, A, residual, mem_zero, STEREO_DFT_CHANNEL_EXTR_LPC_VEC_LIMIT, STEREO_DFT_CHANNEL_EXTR_LPC_ORDER, 0, 3 ); -#endif /* extend the residual */ /* to prevent out of bound reading */ diff --git a/lib_enc/ivas_stereo_dmx_evs_fx.c b/lib_enc/ivas_stereo_dmx_evs_fx.c index e7d359059..fa68e4db9 100644 --- a/lib_enc/ivas_stereo_dmx_evs_fx.c +++ b/lib_enc/ivas_stereo_dmx_evs_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_enc/ivas_stereo_eclvq_enc_fx.c b/lib_enc/ivas_stereo_eclvq_enc_fx.c index e4c28a12b..12cee01b6 100644 --- a/lib_enc/ivas_stereo_eclvq_enc_fx.c +++ b/lib_enc/ivas_stereo_eclvq_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_enc/ivas_stereo_ica_enc_fx.c b/lib_enc/ivas_stereo_ica_enc_fx.c index 234652072..aecb530c2 100644 --- a/lib_enc/ivas_stereo_ica_enc_fx.c +++ b/lib_enc/ivas_stereo_ica_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_enc/ivas_stereo_icbwe_enc_fx.c b/lib_enc/ivas_stereo_icbwe_enc_fx.c index 9564b5def..fd674aa8e 100644 --- a/lib_enc/ivas_stereo_icbwe_enc_fx.c +++ b/lib_enc/ivas_stereo_icbwe_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -613,12 +585,8 @@ static void icbwe_dft_stereo_param_fx( void stereo_icBWE_enc_fx( CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT const Word16 shb_speech_ref_fx16[], /* i : SHB speech ref channel shb_speech_ref_q*/ const Word16 shb_speech_ref_q, /* i : SHB speech ref channel Q */ -#else - const Word16 shb_speech_ref_fx16[], /* i : SHB speech ref channel Q0*/ -#endif Word16 shb_speech_nonref_fx_16[], /* i/o: SHB speech non-ref channel shb_speech_nonref_e*/ Word16 shb_speech_nonref_e, /* i/o: SHB speech non-ref channel */ const Word16 *voice_factors_fx16 /* i : voicing factors Q15 */ @@ -652,11 +620,7 @@ void stereo_icBWE_enc_fx( shb_speech_ref_e = add( getScaleFactor16( shb_speech_ref_fx16, L_FRAME16k ), Q16 ); Copy_Scale_sig_16_32_no_sat( shb_speech_ref_fx16, shb_speech_ref_fx, L_FRAME16k, shb_speech_ref_e ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT shb_speech_ref_e = sub( sub( Q31, shb_speech_ref_e ), shb_speech_ref_q ); -#else - shb_speech_ref_e = Q31 - shb_speech_ref_e; -#endif shb_speech_nonref_e = Q15 - shb_speech_nonref_e; Copy_Scale_sig_16_32_no_sat( shb_speech_nonref_fx_16, shb_speech_nonref_fx, L_FRAME48k + STEREO_DFT_OVL_MAX, Q16 ); // q_new_swb_speech_buffer+st->q_inp - 16 - > q_new_swb_speech_buffer+st->q_inp diff --git a/lib_enc/ivas_stereo_mdct_core_enc_fx.c b/lib_enc/ivas_stereo_mdct_core_enc_fx.c index f1de85142..ef783e420 100644 --- a/lib_enc/ivas_stereo_mdct_core_enc_fx.c +++ b/lib_enc/ivas_stereo_mdct_core_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -129,12 +101,8 @@ static void sync_tcx_mode_fx( void stereo_mdct_core_enc_fx( CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ -#ifdef NONBE_FIX_ISSUE_2206_MDCT_STEREO_FIX_2549 Word16 new_samples[CPE_CHANNELS][L_INP], /* i : new samples Q_new[]-1*/ Word16 *Q_new, -#else - Word16 new_samples[CPE_CHANNELS][L_INP], /* i : new samples Q0*/ -#endif Word16 old_wsp[CPE_CHANNELS][L_WSP], /* i : 12.8kHz weighted speech (for LTP Qx*/ Word16 pitch_buf_fx[CPE_CHANNELS][NB_SUBFR16k] /* o : floating pitch for each subframe Q6*/ ) @@ -201,7 +169,6 @@ void stereo_mdct_core_enc_fx( signal_bits = hBstr->nb_bits_tot; move16(); -#ifdef SIMPLIFY_CORE_ENC Word16 shift, Q_min, Q_spec_old[2]; Word16 input_frame = extract_l( Mpy_32_32( sts[0]->input_Fs, ONE_BY_FRAMES_PER_SEC_Q31 ) ); // Q0 @@ -214,21 +181,13 @@ void stereo_mdct_core_enc_fx( st = sts[i]; shift = norm_arr( st->input_fx, input_frame ); -#ifdef NONBE_FIX_ISSUE_2206 Q_min = add( st->q_inp, shift ); -#else - Q_min = s_max( -2, add( st->q_inp, shift ) ); -#endif scale_sig( st->input_fx, input_frame, sub( Q_min, st->q_inp ) ); st->q_inp = Q_min; move16(); shift = norm_arr( st->input_fx - input_frame, input_frame ); -#ifdef NONBE_FIX_ISSUE_2206 Q_min = add( st->q_old_inp, shift ); -#else - Q_min = s_max( -2, add( st->q_old_inp, shift ) ); -#endif scale_sig( st->input_fx - input_frame, input_frame, sub( Q_min, st->q_old_inp ) ); st->q_old_inp = Q_min; move16(); @@ -239,7 +198,6 @@ void stereo_mdct_core_enc_fx( Q_spec_old[1] = sts[1]->hTcxEnc->spectrum_long_e; move16(); -#endif /*--------------------------------------------------------------* * Initialization *---------------------------------------------------------------*/ @@ -288,14 +246,8 @@ void stereo_mdct_core_enc_fx( move16(); } -#ifdef SIMPLIFY_CORE_ENC Word16 q_com = s_min( s_min( add( sts[0]->q_inp, getScaleFactor16( sts[0]->input_fx, add( input_frame, NS2SA( 48000, DELAY_FIR_RESAMPL_NS ) ) ) ), add( sts[0]->q_old_inp, getScaleFactor16( sts[0]->old_input_signal_fx, input_frame ) ) ), s_min( add( sts[1]->q_inp, getScaleFactor16( sts[1]->input_fx, add( input_frame, NS2SA( 48000, DELAY_FIR_RESAMPL_NS ) ) ) ), add( sts[1]->q_old_inp, getScaleFactor16( sts[1]->old_input_signal_fx, input_frame ) ) ) ); -#else - Word16 len = extract_l( Mpy_32_32( sts[0]->input_Fs, ONE_BY_FRAMES_PER_SEC_Q31 ) ); - Word16 q_com = s_min( s_min( add( sts[0]->q_inp, getScaleFactor16( sts[0]->input_fx, add( len, NS2SA( 48000, DELAY_FIR_RESAMPL_NS ) ) ) ), add( sts[0]->q_old_inp, getScaleFactor16( sts[0]->old_input_signal_fx, len ) ) ), - s_min( add( sts[1]->q_inp, getScaleFactor16( sts[1]->input_fx, add( len, NS2SA( 48000, DELAY_FIR_RESAMPL_NS ) ) ) ), add( sts[1]->q_old_inp, getScaleFactor16( sts[1]->old_input_signal_fx, len ) ) ) ); -#endif q_com = sub( q_com, Q1 ); FOR( ch = 0; ch < CPE_CHANNELS; ch++ ) { @@ -320,13 +272,8 @@ void stereo_mdct_core_enc_fx( sts[ch]->hTcxEnc->tns_ms_flag[1] = 0; move16(); -#ifdef SIMPLIFY_CORE_ENC scale_sig( sts[ch]->input_fx, add( input_frame, NS2SA( 48000, DELAY_FIR_RESAMPL_NS ) ), sub( q_com, sts[ch]->q_inp ) ); /* q_com */ scale_sig( sts[ch]->old_input_signal_fx, input_frame, sub( q_com, sts[ch]->q_old_inp ) ); /* q_com */ -#else - scale_sig( sts[ch]->input_fx, add( extract_l( Mpy_32_32( sts[ch]->input_Fs, ONE_BY_FRAMES_PER_SEC_Q31 ) ), NS2SA( 48000, DELAY_FIR_RESAMPL_NS ) ), sub( q_com, sts[ch]->q_inp ) ); /* q_com */ - scale_sig( sts[ch]->old_input_signal_fx, extract_l( Mpy_32_32( sts[ch]->input_Fs, ONE_BY_FRAMES_PER_SEC_Q31 ) ), sub( q_com, sts[ch]->q_old_inp ) ); /* q_com */ -#endif sts[ch]->q_old_inp = q_com; move16(); sts[ch]->q_inp = q_com; @@ -341,13 +288,8 @@ void stereo_mdct_core_enc_fx( * - TNS *---------------------------------------------------------------*/ -#ifdef NONBE_FIX_ISSUE_2206_MDCT_STEREO_FIX_2549 ivas_mdct_core_whitening_enc_fx( hCPE, new_samples, Q_new, old_wsp, pitch_buf_fx, p_mdst_spectrum_long_fx, tnsBits, p_orig_spectrum_long_fx, tnsSize, p_param, hBstr, 0, CPE_CHANNELS, mdst_spectrum_e, orig_spectrum_e ); -#else - ivas_mdct_core_whitening_enc_fx( hCPE, new_samples, old_wsp, pitch_buf_fx, p_mdst_spectrum_long_fx, - tnsBits, p_orig_spectrum_long_fx, tnsSize, p_param, hBstr, 0, CPE_CHANNELS, mdst_spectrum_e, orig_spectrum_e ); -#endif FOR( i = 0; i < CPE_CHANNELS; i++ ) { @@ -772,7 +714,6 @@ void stereo_mdct_core_enc_fx( ivas_mdct_quant_coder_fx( hCPE, tnsBits, tnsSize, p_param, 0 ); -#ifdef SIMPLIFY_CORE_ENC /*--------------------------------------------------------------------------------* * Scaling of buffers *--------------------------------------------------------------------------------*/ @@ -782,7 +723,6 @@ void stereo_mdct_core_enc_fx( stereo_tcx_enc_scale_buffers( sts[i], CPE_CHANNELS, Q_spec_old[i] ); } -#endif pop_wmops(); return; diff --git a/lib_enc/ivas_stereo_mdct_igf_enc_fx.c b/lib_enc/ivas_stereo_mdct_igf_enc_fx.c index e2c5303f7..f34ec69bf 100644 --- a/lib_enc/ivas_stereo_mdct_igf_enc_fx.c +++ b/lib_enc/ivas_stereo_mdct_igf_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_enc/ivas_stereo_mdct_stereo_enc_fx.c b/lib_enc/ivas_stereo_mdct_stereo_enc_fx.c index 13be061f8..051193a62 100644 --- a/lib_enc/ivas_stereo_mdct_stereo_enc_fx.c +++ b/lib_enc/ivas_stereo_mdct_stereo_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -267,12 +239,7 @@ void stereo_coder_tcx_fx( } } -#ifdef DEBUG_FORCE_MDCT_STEREO_MODE - IF( hStereoMdct->fDualMono || - ( NE_16( sts[0]->hTcxEnc->transform_type[0], sts[1]->hTcxEnc->transform_type[0] ) ) || NE_16( sts[0]->hTcxEnc->transform_type[1], sts[1]->hTcxEnc->transform_type[1] ) || ( NE_16( sts[0]->last_core, sts[1]->last_core ) && ( EQ_16( sts[0]->last_core, ACELP_CORE ) || EQ_16( sts[1]->last_core, ACELP_CORE ) ) ) || EQ_16( sts[0]->last_core, ACELP_CORE ) || EQ_16( sts[1]->last_core, ACELP_CORE ) ) -#else IF( ( NE_16( sts[0]->hTcxEnc->transform_type[0], sts[1]->hTcxEnc->transform_type[0] ) ) || NE_16( sts[0]->hTcxEnc->transform_type[1], sts[1]->hTcxEnc->transform_type[1] ) || ( NE_16( sts[0]->last_core, sts[1]->last_core ) && ( EQ_16( sts[0]->last_core, ACELP_CORE ) || EQ_16( sts[1]->last_core, ACELP_CORE ) ) ) || EQ_16( sts[0]->last_core, ACELP_CORE ) || EQ_16( sts[1]->last_core, ACELP_CORE ) ) -#endif { hStereoMdct->mdct_stereo_mode[0] = SMDCT_DUAL_MONO; move16(); @@ -293,29 +260,6 @@ void stereo_coder_tcx_fx( pop_wmops(); return; } -#ifdef DEBUG_FORCE_MDCT_STEREO_MODE - else if ( hStereoMdct->fMSstereo ) - { - hStereoMdct->mdct_stereo_mode[0] = SMDCT_MS_FULL; - hStereoMdct->mdct_stereo_mode[1] = SMDCT_MS_FULL; - - if ( sts[0]->igf ) - { - hStereoMdct->IGFStereoMode[0] = SMDCT_MS_FULL; - hStereoMdct->IGFStereoMode[1] = SMDCT_MS_FULL; - } - for ( k = 0; k < nSubframes; k++ ) - { - convertToMS_fx( L_frameTCX, sts[0]->hTcxEnc->spectrum_fx[k], sts[1]->hTcxEnc->spectrum_fx[k], SQRT2_OVER_2_FX ); - - /* Make sure that the MDST is processed in the correct way also */ - set_s( &ms_mask[k][0], 1, MAX_SFB ); - } - - pop_wmops(); - return; - } -#endif ELSE /* decide based on signal */ { FOR( k = 0; k < nSubframes; k++ ) @@ -969,12 +913,8 @@ static Word16 QuantSpecEstimateBits_fx( Word16 stop, sqBits, nEncoded; Word16 lastnz; -#ifndef FIX_BASOP_2551_HARM_SCALAR_QUAN - tcx_scalar_quantization_ivas_fx( spec_fx, spec_e, sqQ, length, G_fx, G_e, 16384 /*Q15*/, NULL, 1 ); -#else // This flag could potentially be anything except EVS_MONO. In case of future errors consider passing down the flag from higher function calls. tcx_scalar_quantization_fx( spec_fx, spec_e, sqQ, length, G_fx, G_e, 16384 /*Q15*/, NULL, 1, IVAS_SCE ); -#endif // !FIX_BASOP_2551_HARM_SCALAR_QUAN stop = 0; move16(); diff --git a/lib_enc/ivas_stereo_switching_enc_fx.c b/lib_enc/ivas_stereo_switching_enc_fx.c index 6eb239f1e..ae4935fc2 100644 --- a/lib_enc/ivas_stereo_switching_enc_fx.c +++ b/lib_enc/ivas_stereo_switching_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -553,9 +525,6 @@ ivas_error stereo_memory_enc_fx( return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MDCT Stereo \n" ) ); } -#ifdef DEBUGGING - hCPE->hStereoMdct->mdct_stereo_mode_cmdl = SMDCT_MS_DECISION; -#endif initMdctStereoEncData_fx( hCPE->hStereoMdct, ivas_format, hCPE->element_mode, hCPE->element_brate, hCPE->hCoreCoder[0]->max_bwidth, 0, NULL, 1 ); test(); @@ -667,10 +636,8 @@ void stereo_switching_enc_fx( /* save original stereo input (MDCT overlap part) for both channels in unused old input of right channel for possible DFT->MDCT transition */ IF( EQ_16( hCPE->element_mode, IVAS_CPE_DFT ) ) { -#ifdef NONBE_FIX_ISSUE_2206 assert( sts[0]->q_inp32 == sts[1]->q_old_inp32 ); assert( sts[1]->q_inp32 == sts[1]->q_old_inp32 ); -#endif Copy32( sts[0]->input32_fx + sub( extract_l( Mpy_32_32( sts[0]->input_Fs, 42949673 /* 1/50 in Q31*/ ) ), sts[0]->encoderLookahead_FB ), sts[1]->input32_fx - shl( sts[0]->encoderLookahead_FB, 1 ), sts[0]->encoderLookahead_FB ); /* sts[0]->q_inp32 */ Copy32( sts[1]->input32_fx + sub( extract_l( Mpy_32_32( sts[1]->input_Fs, 42949673 /* 1/50 in Q31*/ ) ), sts[1]->encoderLookahead_FB ), sts[1]->input32_fx - sts[1]->encoderLookahead_FB, sts[1]->encoderLookahead_FB ); /* sts[1]->q_inp32 */ @@ -683,23 +650,15 @@ void stereo_switching_enc_fx( /* window DFT synthesis overlap memory @input_Fs, primary channel */ FOR( i = 0; i < dft_ovl; i++ ) { -#ifdef NONBE_FIX_ISSUE_2206 hCPE->hStereoDft->output_mem_dmx_fx[i] = Mpy_32_32_r( hCPE->hStereoDft->win_fx[dft_ovl - 1 - i], old_input_signal_pri[input_frame - dft_ovl + i] ); // q_inp -#else - hCPE->hStereoDft->output_mem_dmx_fx[i] = L_shl_sat( Mpy_32_32_r( hCPE->hStereoDft->win_fx[dft_ovl - 1 - i], old_input_signal_pri[input_frame - dft_ovl + i] ), sub( 15, q_inp ) ); // Q15 -#endif move32(); } -#ifdef NONBE_FIX_ISSUE_2206 hCPE->hStereoDft->output_mem_dmx_q = q_inp; move16(); -#endif /* reset 48kHz BWE overlap memory */ set32_fx( hCPE->hStereoDft->output_mem_dmx_32k_fx, 0, STEREO_DFT_OVL_32k ); -#ifdef NONBE_FIX_ISSUE_2206 hCPE->hStereoDft->output_mem_dmx_32k_q = Q31; move16(); -#endif stereo_dft_enc_reset_fx( hCPE->hStereoDft ); @@ -726,7 +685,6 @@ void stereo_switching_enc_fx( hCPE->hStereoDft->res_pred_counter = STEREO_DFT_FEC_THRESHOLD; move16(); -#ifdef NONBE_FIX_ISSUE_2206 /* update DFT synthesis overlap memory @12.8kHz */ FOR( i = 0; i < STEREO_DFT_OVL_12k8; i++ ) { @@ -735,46 +693,18 @@ void stereo_switching_enc_fx( } hCPE->hStereoDft->output_mem_dmx_12k8_q = sub( Q31, sts[0]->exp_buf_speech_enc ); move16(); -#else - /* update DFT synthesis overlap memory @12.8kHz */ - FOR( i = 0; i < STEREO_DFT_OVL_12k8; i++ ) - { - hCPE->hStereoDft->output_mem_dmx_12k8_fx[i] = L_shr( Mpy_32_16_r( hCPE->hStereoDft->win_12k8_fx[STEREO_DFT_OVL_12k8 - 1 - i], sts[0]->buf_speech_enc[L_FRAME32k + L_FRAME - STEREO_DFT_OVL_12k8 + i] ), sub( 16, sts[0]->exp_buf_speech_enc ) ); /* Q15 */ - move32(); - } -#endif -#ifdef NONBE_FIX_ISSUE_2206 Word16 q_dmx = hCPE->hStereoDft->output_mem_dmx_q; -#else - Word16 q_dmx = Q15; -#endif move16(); /* update DFT synthesis overlap memory @16kHz, primary channel only */ L_lerp_fx( hCPE->hStereoDft->output_mem_dmx_fx, hCPE->hStereoDft->output_mem_dmx_16k_fx, STEREO_DFT_OVL_16k, dft_ovl, &q_dmx ); -#ifdef NONBE_FIX_ISSUE_2206 hCPE->hStereoDft->output_mem_dmx_16k_q = q_dmx; move16(); -#else - FOR( i = 0; i < STEREO_DFT_OVL_16k; i++ ) - { - hCPE->hStereoDft->output_mem_dmx_16k_fx[i] = L_shl( hCPE->hStereoDft->output_mem_dmx_16k_fx[i], sub( Q15, q_dmx ) ); // Q15 - move32(); - } - - FOR( i = 0; i < STEREO_DFT_OVL_MAX; i++ ) - { - hCPE->hStereoDft->output_mem_dmx_fx[i] = L_shl( hCPE->hStereoDft->output_mem_dmx_fx[i], sub( Q15, q_dmx ) ); // Q15 - move32(); - } -#endif /* reset DFT synthesis overlap memory @8kHz, secondary channel */ set32_fx( hCPE->hStereoDft->output_mem_res_8k_fx, 0, STEREO_DFT_OVL_8k ); -#ifdef NONBE_FIX_ISSUE_2206 hCPE->hStereoDft->output_mem_res_8k_q = Q15; move16(); -#endif hCPE->hCoreCoder[1]->vad_flag = 0; move16(); @@ -893,10 +823,8 @@ void stereo_switching_enc_fx( /* no secondary channel in the previous frame -> memory resets */ set16_fx( sts[1]->old_inp_12k8_fx, 0, L_INP_MEM ); set16_fx( sts[1]->mem_decim_fx, 0, 2 * L_FILT_MAX ); -#ifdef NONBE_FIX_ISSUE_2206 sts[1]->q_mem_decim_fx = Q15; move16(); -#endif sts[1]->mem_preemph_fx = 0; move16(); @@ -963,9 +891,7 @@ void stereo_switching_enc_fx( { /* cross-fade overlap region of DFT Stereo downmix and original stereo channels */ tmp_fx = div_s( 64, shl( sts[0]->encoderLookahead_FB, Q6 ) ); /* Q15 */ -#ifdef NONBE_FIX_ISSUE_2206 assert( sts[0]->q_old_inp32 == sts[1]->q_old_inp32 ); -#endif FOR( i = 0; i < sts[0]->encoderLookahead_FB; i++ ) { sts[1]->input32_fx[-sts[0]->encoderLookahead_FB + i] = ( Mpy_32_16_1( L_add( imult3216( sts[0]->input32_fx[-sts[0]->encoderLookahead_FB + i], sts[0]->encoderLookahead_FB - i ), imult3216( sts[1]->input32_fx[-sts[0]->encoderLookahead_FB + i], i ) ), tmp_fx ) ); /* sts[0]->q_inp32 */ diff --git a/lib_enc/ivas_stereo_td_analysis_fx.c b/lib_enc/ivas_stereo_td_analysis_fx.c index 61aa03ab8..080716284 100644 --- a/lib_enc/ivas_stereo_td_analysis_fx.c +++ b/lib_enc/ivas_stereo_td_analysis_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -173,10 +145,8 @@ Word16 stereo_tdm_ener_analysis_fx( Get_LR_rms_fx( sts[0]->input_fx, sts[1]->input_fx, input_frame, &rms_L_fx, &q_rms_L, &rms_R_fx, &q_rms_R ); -#ifdef NONBE_FIX_ISSUE_2206 q_rms_L = add( q_rms_L, sts[0]->q_inp ); q_rms_R = add( q_rms_R, sts[1]->q_inp ); -#endif /*----------------------------------------------------------------* * Compute the 1st order energy difference difference @@ -840,35 +810,13 @@ static Word16 Get_dt_lt_ener_fx( Word32 es_em_fx; Word16 tmp_SM_flag, tdm_SM_flag_loc; Word32 L_tmp, L_tmp1; -#ifdef NONBE_FIX_ISSUE_2206 Word16 exp_diff; -#else - Word16 exp_diff, tmp; -#endif sts = hCPE->hCoreCoder; Left_in_fx = sts[0]->input_fx; /* Left channel sts[0]->q_inp*/ Right_in_fx = sts[1]->input_fx; /* Right channel sts[1]->q_inp*/ -#ifndef NONBE_FIX_ISSUE_2206 - tmp = sub( getScaleFactor16( sts[0]->input_fx, input_frame ), 1 ); - Scale_sig( sts[0]->input_fx, input_frame, tmp ); /* sts[0]->q_inp + tmp */ - sts[0]->q_inp = add( tmp, sts[0]->q_inp ); - move16(); - - tmp = getScaleFactor16( sts[1]->input_fx, input_frame ); - Scale_sig( sts[1]->input_fx, input_frame, tmp ); /* sts[1]->q_inp + tmp */ - sts[1]->q_inp = add( tmp, sts[1]->q_inp ); - move16(); - - Scale_sig( sts[0]->input_fx, input_frame, sub( s_min( sts[0]->q_inp, sts[1]->q_inp ), sts[0]->q_inp ) ); /* s_min( sts[0]->q_inp, sts[1]->q_inp ) */ - Scale_sig( sts[1]->input_fx, input_frame, sub( s_min( sts[0]->q_inp, sts[1]->q_inp ), sts[1]->q_inp ) ); /* s_min( sts[0]->q_inp, sts[1]->q_inp ) */ - sts[1]->q_inp = s_min( sts[0]->q_inp, sts[1]->q_inp ); - move16(); - sts[0]->q_inp = sts[1]->q_inp; - move16(); -#endif tdm_SM_flag_loc = tdm_last_SM_flag; /* Q0 */ move16(); diff --git a/lib_enc/ivas_stereo_td_enc_fx.c b/lib_enc/ivas_stereo_td_enc_fx.c index 0629c0279..76123e758 100644 --- a/lib_enc/ivas_stereo_td_enc_fx.c +++ b/lib_enc/ivas_stereo_td_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -36,9 +8,6 @@ #include "prot_fx.h" #include "ivas_rom_com.h" #include "wmc_auto.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "prot_fx_enc.h" #include "ivas_prot_fx.h" @@ -247,9 +216,6 @@ ivas_error stereo_set_tdm_fx( move16(); } -#ifdef DEBUG_MODE_INFO - dbgwrite( &hCPE->hStereoTD->tdm_LRTD_flag, 2, 1, (int16_t) ( hCPE->hCoreCoder[0]->input_Fs / FRAMES_PER_SEC ), "res/tdm_LRTD_flag" ); -#endif /* normal TD / LRTD switching */ @@ -350,12 +316,6 @@ ivas_error stereo_set_tdm_fx( } ELSE { -#ifdef DEBUG_MODE_INFO - { - int16_t tmp = -2; - dbgwrite( &tmp, 2, 1, (int16_t) ( hCPE->hCoreCoder[0]->input_Fs / FRAMES_PER_SEC ), "res/tdm_LRTD_flag" ); - } -#endif hCPE->hCoreCoder[0]->tdm_LRTD_flag = 0; move16(); hCPE->hCoreCoder[1]->tdm_LRTD_flag = 0; diff --git a/lib_enc/ivas_tcx_core_enc_fx.c b/lib_enc/ivas_tcx_core_enc_fx.c index 65f097eaa..963bcb05d 100644 --- a/lib_enc/ivas_tcx_core_enc_fx.c +++ b/lib_enc/ivas_tcx_core_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -152,24 +124,15 @@ void stereo_tcx_init_enc_fx( void stereo_tcx_core_enc( Encoder_State *st, /* i/o: encoder state structure */ -#ifdef SIMPLIFY_CORE_ENC Word16 new_samples_12k8[], /* i : buffer of input signal @12.8 kHz Q_new -1 */ Word16 new_samples_16k[], /* i : buffer of input signal @16 kHz Q_new -1 */ -#else - const Word16 new_samples_12k8[], /* i : buffer of input signal @12.8 kHz Q_new*/ - const Word16 new_samples_16k[], /* i : buffer of input signal @16 kHz Q_new*/ -#endif const Word16 Aw_fx[], /* i : weighted A(z) unquant. for subframes, Q12 */ Word16 lsp_new_fx[], /* i : LSPs at the end of the frame, Q15 */ Word16 lsp_mid_fx[], /* i : LSPs in the middle of the frame, Q15 */ Word16 pitch_buf_fx[NB_SUBFR16k], /* o : pitch for each subframe, Q6 */ const Word16 last_element_mode, /* i : last element mode, Q0 */ const Word16 vad_hover_flag, /* i : VAD hangover flag, Q0 */ -#ifdef SIMPLIFY_CORE_ENC const Word16 Q_new_orig /* i : Scaling factor of new_samples_xx[] */ -#else - Word16 Q_new -#endif ) { TCX_ENC_HANDLE hTcxEnc; @@ -238,7 +201,6 @@ void stereo_tcx_core_enc( hTcxEnc = st->hTcxEnc; Word16 Q_exc; -#ifdef SIMPLIFY_CORE_ENC Word16 Q_spec_old, Q_new; /*--------------------------------------------------------------------------------* @@ -254,7 +216,6 @@ void stereo_tcx_core_enc( Q_spec_old = st->hTcxEnc->spectrum_long_e; move16(); -#endif /*--------------------------------------------------------------* * Configuration of TCX *---------------------------------------------------------------*/ @@ -326,21 +287,11 @@ void stereo_tcx_core_enc( IF( EQ_16( st->L_frame, L_FRAME ) ) { -#if ( defined SIMPLIFY_CORE_ENC && !defined NONBE_FIX_ISSUE_2206 ) - Scale_sig( new_samples_12k8 - L_INP_MEM, L_INP_12k8, sub( Q1, Q_new ) ); /* Q0 */ - p_new_samples = new_samples_12k8; /* Q0 */ -#else p_new_samples = new_samples_12k8; /* Q_new */ -#endif } ELSE { -#if ( defined SIMPLIFY_CORE_ENC && !defined NONBE_FIX_ISSUE_2206 ) - Scale_sig( new_samples_16k - L_INP_MEM, L_INP, sub( Q1, Q_new ) ); /* Q0 */ - p_new_samples = new_samples_16k; /* Q0 */ -#else p_new_samples = new_samples_16k; /* Q_new */ -#endif } /*--------------------------------------------------------------* @@ -405,13 +356,6 @@ void stereo_tcx_core_enc( * Core Signal Analysis: MDCT, TNS, LPC analysis *---------------------------------------------------------------*/ -#ifndef NONBE_FIX_ISSUE_2206 - st->prev_Q_new = 0; - st->Q_old = 0; - - Q_new = 0; - move16(); -#endif core_signal_analysis_high_bitrate_ivas_fx( p_new_samples, T_op, lsp_new_fx, lsp_mid_fx, st, tnsSize, tnsBits, param_core, <pBits, NULL, st->L_frame, hTcxEnc->L_frameTCX, last_element_mode, vad_hover_flag, NULL, NULL, &Q_new, NULL ); bitsAvailable = sub( st->bits_frame_core, nbits_header ); @@ -588,33 +532,22 @@ void stereo_tcx_core_enc( s = sub( norm_arr( st->synth, st->L_frame ), 2 ); s = s_min( s, norm_arr( st->hLPDmem->syn, M ) ); -#ifdef NONBE_FIX_ISSUE_2206 Word16 wspeech_backup = 0; move16(); -#endif IF( st->tcxonly == 0 ) { -#ifdef NONBE_FIX_ISSUE_2206 s = s_min( s, add( norm_s( st->wspeech_enc[st->L_frame - 1] ), sub( Q15, st->exp_buf_wspeech_enc ) ) ); /* st->wspeech_enc[st->L_frame - 1] needs to be at the same scale as st->synth, st->Q_syn = 0 + s, inside tcx_encoder_memory_update_ivas_fx() */ wspeech_backup = st->wspeech_enc[st->L_frame - 1]; move16(); st->wspeech_enc[st->L_frame - 1] = shl( st->wspeech_enc[st->L_frame - 1], sub( s, sub( Q15, st->exp_buf_wspeech_enc ) ) ); -#else - s = s_min( s, norm_s( st->wspeech_enc[st->L_frame - 1] ) ); - st->wspeech_enc[st->L_frame - 1] = shl( st->wspeech_enc[st->L_frame - 1], s ); -#endif } Scale_sig( st->synth, st->L_frame, s ); /* st->Q_syn + s */ Scale_sig( st->hLPDmem->syn, M + 1, s ); /* st->Q_syn + s */ st->hLPDmem->q_lpd_syn = add( st->hLPDmem->q_lpd_syn, s ); -#ifdef NONBE_FIX_ISSUE_2206 assert( st->Q_syn == 0 ); Q_new = s; -#else - Q_new = add( Q_new, s ); -#endif move16(); coder_tcx_post_ivas_fx( st, st->hLPDmem, st->hTcxCfg, st->synth, A_q_fx, Aw_fx, st->wspeech_enc, Q_new ); @@ -748,48 +681,23 @@ void stereo_tcx_core_enc( move16(); } } -#ifdef NONBE_FIX_ISSUE_2206 Scale_sig( st->synth, st->L_frame, negate( s ) ); -#else - Scale_sig( st->synth, st->L_frame, -Q_new ); -#endif IF( st->tcxonly == 0 ) { -#ifdef NONBE_FIX_ISSUE_2206 /* Revert scale change from above. */ st->wspeech_enc[st->L_frame - 1] = wspeech_backup; -#else - st->wspeech_enc[st->L_frame - 1] = shl( st->wspeech_enc[st->L_frame - 1], -st->Q_syn ); - move16(); -#endif } -#ifdef SIMPLIFY_CORE_ENC /*--------------------------------------------------------------------------------* * Scaling of buffers *--------------------------------------------------------------------------------*/ -#ifndef NONBE_FIX_ISSUE_2206 - IF( EQ_16( st->L_frame, L_FRAME ) ) - { - Scale_sig( new_samples_12k8 - L_INP_MEM, L_INP_12k8, sub( Q_new_orig, Q1 ) ); /* Q_new - 1 */ - } - ELSE - { - Scale_sig( new_samples_16k - L_INP_MEM, L_INP, sub( Q_new_orig, Q1 ) ); /* Q_new - 1 */ - } - Scale_sig( hTcxEnc->old_out_fx, L_FRAME32k, negate( hTcxEnc->Q_old_out ) ); // scaling back to Q0 - hTcxEnc->Q_old_out = 0; - move16(); -#endif stereo_tcx_enc_scale_buffers( st, 1, Q_spec_old ); -#endif pop_wmops(); return; } -#ifdef SIMPLIFY_CORE_ENC /*-------------------------------------------------------------------* * stereo_tcx_enc_scale_buffers() @@ -847,7 +755,6 @@ void stereo_tcx_enc_scale_buffers( return; } -#endif /*-------------------------------------------------------------------* * ivas_acelp_tcx20_switching() @@ -860,12 +767,8 @@ Word16 ivas_acelp_tcx20_switching_fx( Encoder_State *st, /* i/o: encoder state structure */ Word16 *inp_fx, Word16 q_inp, -#ifdef NONBE_FIX_ISSUE_2206 Word16 *wsp, /* q_wsp i : input weighted signal */ Word16 q_wsp, /* i : Q of input weighted signal */ -#else - Word16 *wsp, /*q_inp i : input weighted signal */ -#endif Word32 non_staX, /*Q20 i : unbound non-stationarity for sp/mu clas*/ Word16 *pitch_fr, /*Q6 i : fraction pitch values */ Word16 *voicing_fr, /*Q15 i : fractional voicing values */ @@ -1040,11 +943,7 @@ Word16 ivas_acelp_tcx20_switching_fx( xn_buf_fx[L_frame + i] = mult( xn_buf_fx[L_frame + i], window_fx[overlap - 1 - i] ); /* q_inp */ move16(); } -#ifdef NONBE_FIX_ISSUE_2206 e_x = sub( Q15, q_inp ); /*exponent for xn_buf_fx*/ -#else - e_x = sub( 16, q_inp ); /*exponent for xn_buf_fx*/ -#endif move16(); TCX_MDCT( xn_buf_fx, x_fx, &e_x, overlap, sub( L_frame, overlap ), overlap, st->element_mode ); scale_A = getScaleFactor32( x_fx, L_frame ); @@ -1059,11 +958,7 @@ Word16 ivas_acelp_tcx20_switching_fx( move32(); move32(); } -#ifdef NONBE_FIX_ISSUE_2206 e_x = add( e_x, Q15 - Q9 + 1 ); -#else - e_x = add( e_x, 6 ); -#endif basop_weight_a( A_q_tcx_fx, Ap_fx, 30147 /*0.92 in Q15*/ ); basop_lpc2mdct_fx( Ap_fx, M, gainlpc_fx, gainlpc_e, gainlpc_noinv, gainlpc_noinv_e ); @@ -1272,11 +1167,7 @@ Word16 ivas_acelp_tcx20_switching_fx( FOR( j = 0; j < L_SUBFR; j++ ) { -#ifdef NONBE_FIX_ISSUE_2206 tmp32 = BASOP_Util_Add_Mant32Exp( tmp32, temp32_e, L_mult0( wsp[i + j], wsp[i + j] ), sub( 31, add( q_wsp, q_wsp ) ), &temp32_e ); /* Q31-temp32_e */ -#else - tmp32 = BASOP_Util_Add_Mant32Exp( tmp32, temp32_e, L_mult0( wsp[i + j], wsp[i + j] ), sub( 31, add( q_inp, q_inp ) ), &temp32_e ); /* Q31-temp32_e */ -#endif } IF( tmp32 == 0 ) { @@ -1348,19 +1239,11 @@ Word16 ivas_acelp_tcx20_switching_fx( move16(); FOR( j = 0; j < L_SUBFR; j++ ) { -#ifdef NONBE_FIX_ISSUE_2206 tmp32 = Mpy_32_16_1( gain, wsp[i + j - T0] ); // Q16 + q_wsp - 15 tmp32 = L_sub( wsp[i + j], L_shr( tmp32, 1 ) ); // q_wsp tmp16 = norm_l( tmp32 ); tmp32 = L_shl( tmp32, tmp16 ); // q_wsp +tmp16 noise = BASOP_Util_Add_Mant32Exp( noise, noise_e, Mpy_32_32( tmp32, tmp32 ), shl( sub( 31, add( q_wsp, tmp16 ) ), 1 ), &noise_e ); // noise_e -#else - tmp32 = Mpy_32_16_1( gain, wsp[i + j - T0] ); // Q16 + q_inp - 15 - tmp32 = L_sub( wsp[i + j], L_shr( tmp32, 1 ) ); // q_inp - tmp16 = norm_l( tmp32 ); - tmp32 = L_shl( tmp32, tmp16 ); // q_inp +tmp16 - noise = BASOP_Util_Add_Mant32Exp( noise, noise_e, Mpy_32_32( tmp32, tmp32 ), shl( sub( 31, add( q_inp, tmp16 ) ), 1 ), &noise_e ); // noise_e -#endif } test(); IF( noise == 0 || EQ_32( noise, 1 ) ) @@ -1481,18 +1364,6 @@ Word16 ivas_acelp_tcx20_switching_fx( move16(); } -#ifdef DEBUGGING - if ( st->force == FORCE_SPEECH ) - { - /* enforce ACELP */ - smc_dec_ol = 0; - } - else if ( st->force == FORCE_MUSIC ) - { - /* enforce TCX */ - smc_dec_ol = 2; - } -#endif st->prevTempFlatness_32fx = currFlatness; move16(); diff --git a/lib_enc/ivas_td_low_rate_enc_fx.c b/lib_enc/ivas_td_low_rate_enc_fx.c index 2e50ae321..cc4946df3 100644 --- a/lib_enc/ivas_td_low_rate_enc_fx.c +++ b/lib_enc/ivas_td_low_rate_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_enc/lead_indexing_fx.c b/lib_enc/lead_indexing_fx.c index 361b24935..02a1b45d2 100644 --- a/lib_enc/lead_indexing_fx.c +++ b/lib_enc/lead_indexing_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/lib_enc.h b/lib_enc/lib_enc.h index c5f124e57..3225fb2c3 100644 --- a/lib_enc/lib_enc.h +++ b/lib_enc/lib_enc.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef LIB_ENC_H #define LIB_ENC_H @@ -109,40 +81,6 @@ typedef enum _IVAS_ENC_COMBINED_FORMAT IVAS_ENC_COMBINED_UNDEFINED = 0xffff } IVAS_ENC_COMBINED_FORMAT; -#ifdef DEBUGGING -typedef enum _IVAS_ENC_STEREO_MODE -{ - IVAS_ENC_STEREO_MODE_UNIFIED, - IVAS_ENC_STEREO_MODE_DFT, - IVAS_ENC_STEREO_MODE_TD, - IVAS_ENC_STEREO_MODE_MDCT_DECISION, - IVAS_ENC_STEREO_MODE_MDCT_FORCE_LR, - IVAS_ENC_STEREO_MODE_MDCT_FORCE_MS, - IVAS_ENC_STEREO_MODE_UNDEFINED = 0xffff -} IVAS_ENC_STEREO_MODE; - -typedef enum _IVAS_ENC_FORCED_MODE -{ - IVAS_ENC_FORCE_SPEECH, - IVAS_ENC_FORCE_MUSIC, - IVAS_ENC_FORCE_ACELP, - IVAS_ENC_FORCE_GSC, -#ifdef SUPPORT_FORCE_TCX10_TCX20 - IVAS_ENC_FORCE_TCX10, - IVAS_ENC_FORCE_TCX20, -#else - IVAS_ENC_FORCE_TCX, -#endif - IVAS_ENC_FORCE_HQ, -#ifdef DEBUG_FORCE_DIR - IVAS_ENC_FORCE_FILE, - IVAS_ENC_FORCE_DIR, -#endif - IVAS_ENC_FORCE_UNFORCED, - IVAS_ENC_FORCE_UNDEFINED = 0xffff -} IVAS_ENC_FORCED_MODE; - -#endif /*---------------------------------------------------------------------* * Encoder structures @@ -188,10 +126,6 @@ ivas_error IVAS_ENC_ConfigureForStereo( const IVAS_ENC_BANDWIDTH maxBandwidth, /* i : bandwidth limitation */ const IVAS_ENC_DTX_CONFIG dtxConfig, /* i : configuration of DTX, can by set to default by using IVAS_ENC_GetDefaultDtxConfig() */ const bool is_binaural /* i : flag indicating if input is binaural audio */ -#ifdef DEBUGGING - , - const IVAS_ENC_STEREO_MODE stereoMode /* i : forces a specific stereo coding mode */ -#endif ); /*! r: error code */ @@ -333,16 +267,6 @@ ivas_error IVAS_ENC_SetChannelAwareConfig( const IVAS_ENC_CHANNEL_AWARE_CONFIG rfConfig /* i : configuration of channel-aware mode */ ); -#ifdef DEBUGGING -/*! r: error code */ -ivas_error IVAS_ENC_SetForcedMode( - IVAS_ENC_HANDLE hIvasEnc, /* i/o: IVAS encoder handle */ - const IVAS_ENC_FORCED_MODE forcedMode /* i : forced coding mode */ -#ifdef DEBUG_FORCE_DIR - ,const char *forcedModeDir /* i : directory containing external binary files for modes/parameters enforcement */ -#endif -); -#endif /* Getter functions - retrieve information from an encoder through a handle */ diff --git a/lib_enc/lib_enc_fx.c b/lib_enc/lib_enc_fx.c index 3832ce22e..467bb077e 100644 --- a/lib_enc/lib_enc_fx.c +++ b/lib_enc/lib_enc_fx.c @@ -1,42 +1,11 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include #include #include "options.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "lib_enc.h" #include "ivas_prot_fx.h" #include "prot_fx.h" @@ -54,9 +23,6 @@ struct IVAS_ENC Encoder_Struct *st_ivas; ENC_CORE_HANDLE hCoreCoder; bool isConfigured; -#ifdef DEBUGGING - bool cmd_stereo; -#endif bool switchingActive; /* flag for configuration changes during encoding - currently only used with mono */ Word16 Opt_RF_ON_loc; Word16 rf_fec_offset_loc; @@ -84,9 +50,6 @@ static void init_encoder_config( ENCODER_CONFIG_HANDLE hEncoderConfig ); static void resetIsmMetadataProvidedFlags( IVAS_ENC_HANDLE hIvasEnc ); static ivas_error bandwidthApiToInternal( const IVAS_ENC_BANDWIDTH maxBandwidth, Word16 *internalMaxBandwidth ); static ivas_error fecIndicatorApiToInternal( const IVAS_ENC_FEC_INDICATOR fecIndicator, Word16 *fecIndicatorInternal ); -#ifdef DEBUGGING -static ivas_error forcedModeApiToInternal( IVAS_ENC_FORCED_MODE forcedMode, int16_t *forcedModeInternal ); -#endif /*---------------------------------------------------------------------* @@ -117,9 +80,6 @@ ivas_error IVAS_ENC_Open( ( *phIvasEnc )->hCoreCoder = NULL; ( *phIvasEnc )->isConfigured = false; -#ifdef DEBUGGING - ( *phIvasEnc )->cmd_stereo = false; -#endif ( *phIvasEnc )->switchingActive = false; ( *phIvasEnc )->maxBandwidthUser = false; resetIsmMetadataProvidedFlags( *phIvasEnc ); @@ -184,9 +144,6 @@ ivas_error IVAS_ENC_Open_fx( ( *phIvasEnc )->hCoreCoder = NULL; ( *phIvasEnc )->isConfigured = false; -#ifdef DEBUGGING - ( *phIvasEnc )->cmd_stereo = false; -#endif ( *phIvasEnc )->switchingActive = false; ( *phIvasEnc )->maxBandwidthUser = false; resetIsmMetadataProvidedFlags( *phIvasEnc ); @@ -329,10 +286,6 @@ ivas_error IVAS_ENC_ConfigureForStereo( const IVAS_ENC_BANDWIDTH maxBandwidth, /* i : bandwidth limitation */ const IVAS_ENC_DTX_CONFIG dtxConfig, /* i : configuration of DTX, can by set to default by using IVAS_ENC_GetDefaultDtxConfig() */ const bool is_binaural /* i : flag indicating if input is binaural audio */ -#ifdef DEBUGGING - , - const IVAS_ENC_STEREO_MODE stereoMode /* i : forces a specific stereo coding mode */ -#endif ) { Encoder_Struct *st_ivas; @@ -354,41 +307,6 @@ ivas_error IVAS_ENC_ConfigureForStereo( hEncoderConfig->is_binaural = (Word16) is_binaural; move16(); -#ifdef DEBUGGING - switch ( stereoMode ) - { - case IVAS_ENC_STEREO_MODE_UNIFIED: - hEncoderConfig->stereo_mode_cmdl = 1; /* set unified stereo by default */ - hEncoderConfig->element_mode_init = IVAS_CPE_DFT; - hIvasEnc->cmd_stereo = true; - break; - case IVAS_ENC_STEREO_MODE_DFT: - hEncoderConfig->element_mode_init = IVAS_CPE_DFT; - hEncoderConfig->stereo_mode_cmdl = IVAS_CPE_DFT; - break; - case IVAS_ENC_STEREO_MODE_TD: - hEncoderConfig->stereo_mode_cmdl = IVAS_CPE_TD; - hEncoderConfig->element_mode_init = IVAS_CPE_TD; - break; - case IVAS_ENC_STEREO_MODE_MDCT_DECISION: - hEncoderConfig->element_mode_init = IVAS_CPE_MDCT; - hEncoderConfig->mdct_stereo_mode_cmdl = SMDCT_MS_DECISION; - break; -#ifdef DEBUG_FORCE_MDCT_STEREO_MODE - case IVAS_ENC_STEREO_MODE_MDCT_FORCE_LR: - hEncoderConfig->element_mode_init = IVAS_CPE_MDCT; - hEncoderConfig->mdct_stereo_mode_cmdl = SMDCT_FORCE_LR; - break; - case IVAS_ENC_STEREO_MODE_MDCT_FORCE_MS: - hEncoderConfig->element_mode_init = IVAS_CPE_MDCT; - hEncoderConfig->mdct_stereo_mode_cmdl = SMDCT_FORCE_MS; - break; -#endif - default: - return IVAS_ERR_INVALID_STEREO_MODE; - break; - } -#endif /* DEBUGGING */ hIvasEnc->maxBandwidthUser = max_bwidth_user; @@ -700,9 +618,6 @@ ivas_error IVAS_ENC_ConfigureForMasa( BREAK; case IVAS_ENC_MASA_2CH: hEncoderConfig->nchan_inp = 2; -#ifdef DEBUGGING - hEncoderConfig->stereo_mode_cmdl = 1; /* set unified stereo by default */ -#endif hEncoderConfig->element_mode_init = IVAS_CPE_DFT; /* initialization only, might be changed later based on element_brate */ move16(); move16(); @@ -931,22 +846,13 @@ static ivas_error configureEncoder( IF( EQ_16( hEncoderConfig->ivas_format, STEREO_FORMAT ) ) { -#ifdef DEBUGGING - if ( hIvasEnc->cmd_stereo ) -#endif { hEncoderConfig->element_mode_init = IVAS_CPE_DFT; -#ifdef DEBUGGING - hEncoderConfig->stereo_mode_cmdl = 1; -#endif if ( GE_32( hEncoderConfig->ivas_total_brate, MIN_BRATE_MDCT_STEREO ) ) { hEncoderConfig->element_mode_init = IVAS_CPE_MDCT; move16(); -#ifdef DEBUGGING - hEncoderConfig->stereo_mode_cmdl = 0; -#endif } } @@ -1428,12 +1334,6 @@ ivas_error IVAS_ENC_EncodeFrameToSerial( st_ivas->ind_list[i].nb_bits = -1; move16(); } -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - for ( i = 0; i < st_ivas->ivas_max_num_indices; i++ ) - { - memset( st_ivas->ind_list[i].function_name, 'A', 100 * sizeof( char ) ); - } -#endif /* de-allocate old buffer of metadata indices */ IF( st_ivas->ind_list_metadata != NULL ) { @@ -1519,9 +1419,6 @@ ivas_error IVAS_ENC_EncodeFrameToSerial( } ELSE { -#ifdef DEBUG_MODE_INFO - dbgwrite( inputBuffer, sizeof( int16_t ), inputBufferSize, 1, strcat( fname( debug_dir, "ivas_input_dmx", 0, 1, ENC ), ".pcm" ) ); -#endif IF( NE_32( ( error = evs_enc_fx( hCoreCoder, inputBuffer, st_ivas->mem_hp20_in_fx[0], inputBufferSize ) ), IVAS_ERR_OK ) ) { return error; @@ -1647,67 +1544,6 @@ ivas_error IVAS_ENC_SetChannelAwareConfig( return setChannelAwareConfig_fx( hIvasEnc, rfConfig ); } -#ifdef DEBUGGING -/*---------------------------------------------------------------------* - * IVAS_ENC_SetForcedMode() - * - * - *---------------------------------------------------------------------*/ - -ivas_error IVAS_ENC_SetForcedMode( - IVAS_ENC_HANDLE hIvasEnc, /* i/o: IVAS encoder handle */ - const IVAS_ENC_FORCED_MODE forcedMode /* i : forced coding mode */ -#ifdef DEBUG_FORCE_DIR - , - const char *forcedModeDir /* i : directory containing external binary files for modes/parameters enforcement */ -#endif -) -{ - int16_t newForced; - ivas_error error; - - /* Do additional checks for user-facing function */ - if ( ( error = doCommonSetterChecks( hIvasEnc ) ) != IVAS_ERR_OK ) - { - return error; - } - -#ifdef DEBUG_FORCE_DIR - hIvasEnc->st_ivas->hEncoderConfig->force_dir[0] = '\0'; - if ( forcedMode < IVAS_ENC_FORCE_FILE ) - { - if ( ( error = forcedModeApiToInternal( forcedMode, &newForced ) ) != IVAS_ERR_OK ) - { - return error; - } - - if ( hIvasEnc->st_ivas->hEncoderConfig->force != newForced ) - { - hIvasEnc->st_ivas->hEncoderConfig->force = newForced; - hIvasEnc->switchingActive = true; - } - } - else if ( forcedMode == IVAS_ENC_FORCE_DIR ) - { - strcpy( hIvasEnc->st_ivas->hEncoderConfig->force_dir, forcedModeDir ); - hIvasEnc->st_ivas->hEncoderConfig->force = IVAS_ENC_FORCE_UNFORCED; - } -#else - if ( ( error = forcedModeApiToInternal( forcedMode, &newForced ) ) != IVAS_ERR_OK ) - { - return error; - } - - if ( hIvasEnc->st_ivas->hEncoderConfig->force != newForced ) - { - hIvasEnc->st_ivas->hEncoderConfig->force = newForced; - hIvasEnc->switchingActive = true; - } -#endif - - return IVAS_ERR_OK; -} -#endif /* DEBUGGING */ /*---------------------------------------------------------------------* * IVAS_ENC_GetDefaultBandwidth() @@ -1841,24 +1677,6 @@ static ivas_error printConfigInfo_enc( } ELSE IF( hEncoderConfig->ivas_format == STEREO_FORMAT ) { -#ifdef DEBUGGING - if ( hEncoderConfig->stereo_mode_cmdl == 1 ) - { - fprintf( stdout, "IVAS format: stereo - Unified stereo\n" ); - } - else if ( hEncoderConfig->element_mode_init == IVAS_CPE_DFT ) - { - fprintf( stdout, "IVAS format: stereo - DFT stereo\n" ); - } - else if ( hEncoderConfig->element_mode_init == IVAS_CPE_TD ) - { - fprintf( stdout, "IVAS format: stereo - TD stereo\n" ); - } - else if ( hEncoderConfig->element_mode_init == IVAS_CPE_MDCT ) - { - fprintf( stdout, "IVAS format: stereo - MDCT stereo\n" ); - } -#else if ( hEncoderConfig->element_mode_init != IVAS_CPE_MDCT ) { fprintf( stdout, "IVAS format: stereo - Unified stereo\n" ); @@ -1867,7 +1685,6 @@ static ivas_error printConfigInfo_enc( { fprintf( stdout, "IVAS format: stereo - MDCT stereo\n" ); } -#endif } ELSE IF( EQ_16( hEncoderConfig->ivas_format, ISM_FORMAT ) ) { @@ -2523,57 +2340,6 @@ static ivas_error fecIndicatorApiToInternal( return IVAS_ERR_OK; } -#ifdef DEBUGGING -/*---------------------------------------------------------------------* - * forcedModeApiToInternal() - * - * - *---------------------------------------------------------------------*/ - -static ivas_error forcedModeApiToInternal( - IVAS_ENC_FORCED_MODE forcedMode, - int16_t *forcedModeInternal ) -{ - switch ( forcedMode ) - { - case IVAS_ENC_FORCE_SPEECH: - *forcedModeInternal = FORCE_SPEECH; - break; - case IVAS_ENC_FORCE_MUSIC: - *forcedModeInternal = FORCE_MUSIC; - break; - case IVAS_ENC_FORCE_ACELP: - *forcedModeInternal = FORCE_ACELP; - break; - case IVAS_ENC_FORCE_GSC: - *forcedModeInternal = FORCE_GSC; - break; -#ifdef SUPPORT_FORCE_TCX10_TCX20 - case IVAS_ENC_FORCE_TCX10: - *forcedModeInternal = FORCE_TCX10; - break; - case IVAS_ENC_FORCE_TCX20: - *forcedModeInternal = FORCE_TCX20; - break; -#else - case IVAS_ENC_FORCE_TCX: - *forcedModeInternal = FORCE_TCX; - break; -#endif - case IVAS_ENC_FORCE_HQ: - *forcedModeInternal = FORCE_HQ; - break; - case IVAS_ENC_FORCE_UNFORCED: - *forcedModeInternal = -1; - break; - default: - return IVAS_ERR_INVALID_FORCE_MODE; - break; - } - - return IVAS_ERR_OK; -} -#endif /*---------------------------------------------------------------------* * IVAS_ENC_PrintConfig() @@ -2658,11 +2424,6 @@ static void init_encoder_config( move16(); hEncoderConfig->ism_extended_metadata_flag = 0; move16(); -#ifdef DEBUGGING - hEncoderConfig->stereo_mode_cmdl = 0; - hEncoderConfig->force = -1; - hEncoderConfig->mdct_stereo_mode_cmdl = SMDCT_MS_DECISION; -#endif hEncoderConfig->Opt_PCA_ON = 0; move16(); diff --git a/lib_enc/long_enr_fx.c b/lib_enc/long_enr_fx.c index 46e455617..9de96f1a2 100644 --- a/lib_enc/long_enr_fx.c +++ b/lib_enc/long_enr_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/lp_exc_e_fx.c b/lib_enc/lp_exc_e_fx.c index 81c9b43a6..3a7148077 100644 --- a/lib_enc/lp_exc_e_fx.c +++ b/lib_enc/lp_exc_e_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/lsf_enc_fx.c b/lib_enc/lsf_enc_fx.c index bc1f4cb3a..4be89f34c 100644 --- a/lib_enc/lsf_enc_fx.c +++ b/lib_enc/lsf_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/lsf_msvq_ma_enc_fx.c b/lib_enc/lsf_msvq_ma_enc_fx.c index 3557f0a37..b1cd84589 100644 --- a/lib_enc/lsf_msvq_ma_enc_fx.c +++ b/lib_enc/lsf_msvq_ma_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/ltd_stable_fx.c b/lib_enc/ltd_stable_fx.c index f873f5612..22c816300 100644 --- a/lib_enc/ltd_stable_fx.c +++ b/lib_enc/ltd_stable_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/mdct_classifier_fx.c b/lib_enc/mdct_classifier_fx.c index 07dc67883..8ed53f428 100644 --- a/lib_enc/mdct_classifier_fx.c +++ b/lib_enc/mdct_classifier_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/mdct_selector_fx.c b/lib_enc/mdct_selector_fx.c index b6de7a5d2..9624de59d 100644 --- a/lib_enc/mdct_selector_fx.c +++ b/lib_enc/mdct_selector_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/mslvq_enc_fx.c b/lib_enc/mslvq_enc_fx.c index ab7122ad2..1b640a0cf 100644 --- a/lib_enc/mslvq_enc_fx.c +++ b/lib_enc/mslvq_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/multi_harm_fx.c b/lib_enc/multi_harm_fx.c index 6c0ef3f09..86577d529 100644 --- a/lib_enc/multi_harm_fx.c +++ b/lib_enc/multi_harm_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/nelp_enc_fx.c b/lib_enc/nelp_enc_fx.c index 45e132898..b04442010 100644 --- a/lib_enc/nelp_enc_fx.c +++ b/lib_enc/nelp_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" /* Compilation switches */ diff --git a/lib_enc/nois_est_fx.c b/lib_enc/nois_est_fx.c index f3373dc01..627049e16 100644 --- a/lib_enc/nois_est_fx.c +++ b/lib_enc/nois_est_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/noise_adjust_fx.c b/lib_enc/noise_adjust_fx.c index ffbcd8b09..61af71e54 100644 --- a/lib_enc/noise_adjust_fx.c +++ b/lib_enc/noise_adjust_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/normalizecoefs_fx.c b/lib_enc/normalizecoefs_fx.c index 4b126e2dc..0e83fe322 100644 --- a/lib_enc/normalizecoefs_fx.c +++ b/lib_enc/normalizecoefs_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/peak_vq_enc_fx.c b/lib_enc/peak_vq_enc_fx.c index 2e396e3d0..4d0c888b8 100644 --- a/lib_enc/peak_vq_enc_fx.c +++ b/lib_enc/peak_vq_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/pit_enc_fx.c b/lib_enc/pit_enc_fx.c index 0e1b433b1..080c79bb5 100644 --- a/lib_enc/pit_enc_fx.c +++ b/lib_enc/pit_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/pitch_ol2_fx.c b/lib_enc/pitch_ol2_fx.c index ff9a2ab64..44c8d8a4b 100644 --- a/lib_enc/pitch_ol2_fx.c +++ b/lib_enc/pitch_ol2_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/pitch_ol_fx.c b/lib_enc/pitch_ol_fx.c index 2071088de..624e0d4cb 100644 --- a/lib_enc/pitch_ol_fx.c +++ b/lib_enc/pitch_ol_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/plc_enc_ext_fx.c b/lib_enc/plc_enc_ext_fx.c index fa5f85f8c..b937a857a 100644 --- a/lib_enc/plc_enc_ext_fx.c +++ b/lib_enc/plc_enc_ext_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/ppp_enc_fx.c b/lib_enc/ppp_enc_fx.c index 15b013a4b..ed28fa327 100644 --- a/lib_enc/ppp_enc_fx.c +++ b/lib_enc/ppp_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/pre_proc_fx.c b/lib_enc/pre_proc_fx.c index c5cc50341..4ceaf0d29 100644 --- a/lib_enc/pre_proc_fx.c +++ b/lib_enc/pre_proc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -27,9 +30,7 @@ void pre_proc_fx( Word32 fr_bands[2 * NB_BANDS], /* o : energy in frequency bands */ Word16 *Etot, /* o : total energy */ Word32 *ener, /* o : residual energy from Levinson-Durbin */ -#ifndef FIX_I4_OL_PITCH Word16 pitch_orig[3], /* o : open-loop pitch values for quantization */ -#endif Word16 A[NB_SUBFR16k * ( M + 1 )], /* o : A(z) unquantized for the 4 subframes */ Word16 Aw[NB_SUBFR16k * ( M + 1 )], /* o : weighted A(z) unquantized for subframes */ Word32 epsP[M + 1], /* o : LP prediction errors */ @@ -1204,9 +1205,7 @@ void pre_proc_fx( * ACELP/TCX20/HQ Switching Decision *-----------------------------------------------------------------*/ -#ifndef FIX_I4_OL_PITCH Copy( st->pitch, pitch_orig, 3 ); -#endif IF( EQ_16( st->codec_mode, MODE2 ) ) { test(); diff --git a/lib_enc/prot_fx_enc.h b/lib_enc/prot_fx_enc.h index 046f15211..08db816d2 100644 --- a/lib_enc/prot_fx_enc.h +++ b/lib_enc/prot_fx_enc.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef PROT_FX_ENC_H #define PROT_FX_ENC_H @@ -220,11 +192,7 @@ void fine_gain_quant_fx( void hq_core_enc_fx( Encoder_State *st_fx, /* i/o: encoder state structure */ -#ifdef SIMPLIFY_CORE_ENC Word16 *audio, /* i : i audio signal Q0*/ -#else - const Word16 *audio, /* i : i audio signal Q0*/ -#endif const Word16 input_frame_orig, /* i : frame length Q0*/ const Word16 hq_core_type, /* i : HQ core type Q0*/ const Word16 Voicing_flag, /* i : Voicing flag for FER method selection Q0*/ @@ -536,25 +504,16 @@ void swb_bwe_enc_fx( void swb_CNG_enc_fx( Encoder_State *st_fx, /* i/o: State structure */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT const Word16 *shb_speech_fx, /* i : SHB target signal (6-14kHz) at 16kHz */ const Word16 shb_speech_q, /* i : SHB target signal Q (6-14kHz) at 16kHz */ -#else - const Word16 *shb_speech_fx, /* i : SHB target signal (6-14kHz) at 16kHz */ -#endif const Word16 *syn_12k8_16k_fx /* i : ACELP core synthesis at 12.8kHz or 16kHz */ ); void swb_pre_proc_fx( Encoder_State *st, /* i/o: encoder state structure */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT Word16 *new_swb_speech, /* o : original input signal at 32kHz - st->q_inp */ Word16 *shb_speech, /* o : SHB target signal (6-14kHz) at 16kHz - shb_speech_q */ Word16 *shb_speech_q, /* o : SHB target signal (6-14kHz) at 16kHz - Q */ -#else - Word16 *new_swb_speech, /* o : original input signal at 32kHz - Q0 */ - Word16 *shb_speech, /* o : SHB target signal (6-14kHz) at 16kHz - Q0*/ -#endif Word32 realBuffer[CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i : real buffer Q - q_reImbuffer */ Word32 imagBuffer[CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i : imag buffer Q - q_reImbuffer */ Word16 q_reImBuffer, /* i : scale data of real and imag CLDFB buffers*/ @@ -622,35 +581,22 @@ void vad_param_updt_fx( void wb_bwe_enc_fx( Encoder_State *st_fx, /* i/o: encoder state structure */ -#ifdef NONBE_FIX_ISSUE_2206 const Word16 *new_wb_speech_fx, /* i : original i signal at 16kHz */ const Word16 new_wb_speech_q /* i : Q of new_wb_speech_fx */ -#else - const Word16 *new_wb_speech_fx /* i : original i signal at 16kHz */ -#endif ); void wb_pre_proc_fx( Encoder_State *st_fx, /* i/o: encoder state structure */ const Word16 last_element_mode, /* i : last element mode */ -#ifdef NONBE_FIX_ISSUE_2206 const Word16 *new_inp_resamp16k, /* i : original input signal in new_inp_resamp16k_q */ Word16 *hb_speech, /* o : HB target signal (6-8kHz) at 16kHz in Q-1 */ const Word16 new_inp_resamp16k_q /* i : Q of new_inp_resamp16k */ -#else - const Word16 *new_inp_resamp16k, /* i : original input signal in Q-1 */ - Word16 *hb_speech /* o : HB target signal (6-8kHz) at 16kHz in Q-1 */ -#endif ); void wb_tbe_enc_fx( Encoder_State *st_fx, /* i/o: encoder state structure */ -#ifdef NONBE_FIX_ISSUE_2206 const Word16 *hb_speech, /* i : HB target signal (6-8kHz) at 16kHz q_hb_speech */ const Word16 q_hb_speech, /* i : Q of HB target signal (6-8kHz) at 16kHz Q0 */ -#else - const Word16 *hb_speech, /* i : HB target signal (6-8kHz) at 16kHz Q(-1) */ -#endif const Word32 *bwe_exc_extended, /* i : bandwidth extended exciatation Q(2*Q_new) */ const Word16 Q_new, /* i : input HB speech Q factor */ const Word16 voice_factors[], /* i : voicing factors Q15 */ @@ -1086,18 +1032,6 @@ Word16 SQ_gain_estimate_fx( Word16 *gain_e /* o : SQ gain exponent */ ); -#ifndef FIX_BASOP_2551_HARM_SCALAR_QUAN -void tcx_scalar_quantization_fx( - Word32 *x, /* i : i coefficients */ - Word16 x_e, /* i : exponent */ - Word16 *xq, /* o : quantized coefficients */ - Word16 L_frame, /* i : frame length */ - Word16 gain, /* i : quantization gain */ - Word16 gain_e, /* i : quantization gain exponent */ - Word16 offset, /* i : rounding offset (deadzone) */ - Word8 const *memQuantZeros, /* i : coefficients to be set to 0 */ - const Word16 alfe_flag ); -#endif // !FIX_BASOP_2551_HARM_SCALAR_QUAN Word16 tcx_scalar_quantization_rateloop_fx( @@ -1161,9 +1095,6 @@ void tcx_encoder_memory_update_ivas_fx( Word16 preemph, /* i : preemphasis factor, Q15 */ LPD_state *LPDmem, /* i/o: coder memory state */ Encoder_State *st, -#ifndef NONBE_FIX_ISSUE_2206 - Word16 *synthout, /* Q_new */ -#endif Word16 Q_new ); void tcx_encoder_memory_update_fx( @@ -1420,34 +1351,12 @@ void encode_acelp_gains_fx( Word16 noisy_speech_flag /* (i) : noisy speech flag */ ); -#ifndef FIX_2402_REPL_EVS_ARI_CODEC_ENC -void ari_start_encoding_14bits_fx( - TastatEnc *s ); -#endif /* FIX_2402_REPL_EVS_ARI_CODEC_ENC */ -#ifndef FIX_2402_REPL_EVS_ARI_CODEC_ENC -void ari_copy_states_fx( - TastatEnc *source, - TastatEnc *dest ); -#endif /* FIX_2402_REPL_EVS_ARI_CODEC_ENC */ -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC void ari_copy_states_fx( -#else -void ari_copy_states_ivas_fx( -#endif Tastat *source, Tastat *dest ); -#ifndef FIX_2402_REPL_EVS_ARI_CODEC_ENC -Word16 ari_encode_14bits_ext_fx( - Word16 *ptr, /* Q0 */ - Word16 bp, /* Q0 */ - TastatEnc *s, - Word32 symbol, /* Q0 */ - UWord16 const *cum_freq /* Q0 */ -); -#endif /* FIX_2402_REPL_EVS_ARI_CODEC_ENC */ Word16 ari_put_bit_plus_follow( Word16 ptr[], /* o : bit-stream Q0*/ @@ -1456,12 +1365,6 @@ Word16 ari_put_bit_plus_follow( Word16 bit /* i : bit to send Q0*/ ); -#ifndef FIX_2402_REPL_EVS_ARI_CODEC_ENC -Word16 ari_done_encoding_14bits_fx( - Word16 *ptr, /* Q0 */ - Word16 bp, /* Q0 */ - TastatEnc *s ); -#endif /* FIX_2402_REPL_EVS_ARI_CODEC_ENC */ void reset_rf_indices_fx( Encoder_State *st /* i : state structure - contains partial RF indices */ @@ -1788,30 +1691,11 @@ void find_wsp_fx( const Word16 nb_subfr /* i : number of subframes */ ); -#ifndef FIX_2402_REPL_EVS_ARI_CODEC_ENC -Word16 ari_encode_overflow_fx( - TastatEnc *s ); -#endif /* FIX_2402_REPL_EVS_ARI_CODEC_ENC */ -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC Word16 ari_encode_overflow_fx( -#else -Word16 ari_encode_overflow_ivas_fx( -#endif Tastat *s ); -#ifndef FIX_2402_REPL_EVS_ARI_CODEC_ENC -Word16 ari_encode_14bits_range_fx( - Word16 *ptr, /* Q0 */ - Word16 bp, /* Q0 */ - Word16 bits, /* Q0 */ - TastatEnc *s, - Word16 cum_freq_low, /* Q0 */ - Word16 cum_freq_high /* Q0 */ -); -#endif /* FIX_2402_REPL_EVS_ARI_CODEC_ENC */ -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC Word16 ari_encode_14bits_range_fx( Word16 *ptr, /* Q0 */ Word16 bp, /* Q0 */ @@ -1820,31 +1704,10 @@ Word16 ari_encode_14bits_range_fx( Word16 cum_freq_low, /* Q0 */ Word16 cum_freq_high /* Q0 */ ); -#endif -#ifndef FIX_2402_REPL_EVS_ARI_CODEC_ENC -Word16 ari_encode_14bits_sign_fx( - Word16 *ptr, /* Q0 */ - Word16 bp, /* Q0 */ - Word16 bits, /* Q0 */ - TastatEnc *s, - Word16 sign /* Q0 */ -); -#endif /* FIX_2402_REPL_EVS_ARI_CODEC_ENC */ -#ifndef FIX_2402_REPL_EVS_ARI_CODEC_ENC -Word16 ari_done_cbr_encoding_14bits_fx( - Word16 *ptr, /* Q0 */ - Word16 bp, /* Q0 */ - Word16 bits, /* Q0 */ - TastatEnc *s ); -#endif /* FIX_2402_REPL_EVS_ARI_CODEC_ENC */ -#ifdef FIX_2402_REPL_EVS_ARI_CODEC_ENC Word16 ari_done_cbr_encoding_14bits_fx( -#else -Word16 ari_done_cbr_encoding_14bits_ivas_fx( -#endif Word16 *ptr, /* Q0 */ Word16 bp, /* Q0 */ Word16 bits, /* Q0 */ @@ -2040,11 +1903,7 @@ void core_signal_analysis_high_bitrate_fx( Word16 *Q_new ); void core_signal_analysis_high_bitrate_ivas_fx( -#ifdef NONBE_FIX_ISSUE_2206 const Word16 *new_samples, /*i : Q_new-1 */ -#else - const Word16 *new_samples, /*i : Q0 */ -#endif const Word16 T_op[3], /* i : open-loop pitch values for quantiz. Q0*/ Word16 lsp_new[], /* Q15 */ Word16 lsp_mid[], /* Q15 */ @@ -3312,9 +3171,7 @@ void pre_proc_fx( Word32 fr_bands[2 * NB_BANDS], /* o : energy in frequency bands */ Word16 *Etot, /* o : total energy */ Word32 *ener, /* o : residual energy from Levinson-Durbin */ -#ifndef FIX_I4_OL_PITCH Word16 pitch_orig[3], /* o : open-loop pitch values for quantization */ -#endif Word16 A[NB_SUBFR16k * ( M + 1 )], /* o : A(z) unquantized for the 4 subframes */ Word16 Aw[NB_SUBFR16k * ( M + 1 )], /* o : weighted A(z) unquantized for subframes */ Word32 epsP[M + 1], /* o : LP prediction errors */ @@ -3878,17 +3735,6 @@ void writeLPCparam_fx( const Word16 no_param_lpc, /* i : number of LPC parameters */ Word16 *nbits_lpc /* o : LPC bits written */ ); -#ifndef HARMONIZE_2539_cng_energy -Word16 cng_energy_ivas_fx( - const Word16 element_mode, /* i : element mode */ - const Word16 bwidth, /* i : audio bandwidh */ - const Word16 CNG_mode, /* i : mode for DTX configuration */ - const Word16 CNG_att, /* i : attenuation factor for CNG Q7 */ - const Word16 *exc, /* i : input signal */ - const Word16 len, /* i : vector length */ - const Word16 Q_new /* i : Input scaling */ -); -#endif void SynthesisSTFT_enc_ivas_fx( Word32 *fftBuffer, /* i : pointer to FFT bins */ diff --git a/lib_enc/pvq_core_enc_fx.c b/lib_enc/pvq_core_enc_fx.c index 397e45662..c7c21f143 100644 --- a/lib_enc/pvq_core_enc_fx.c +++ b/lib_enc/pvq_core_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/pvq_encode_fx.c b/lib_enc/pvq_encode_fx.c index f858e1dd6..3662ebe3c 100644 --- a/lib_enc/pvq_encode_fx.c +++ b/lib_enc/pvq_encode_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/q_gain2p_fx.c b/lib_enc/q_gain2p_fx.c index b0f681120..0ebc28b84 100644 --- a/lib_enc/q_gain2p_fx.c +++ b/lib_enc/q_gain2p_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/qlpc_avq_fx.c b/lib_enc/qlpc_avq_fx.c index ab6d62658..e724ba039 100644 --- a/lib_enc/qlpc_avq_fx.c +++ b/lib_enc/qlpc_avq_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/qlpc_stoch_fx.c b/lib_enc/qlpc_stoch_fx.c index 0d02d4742..8c7c8ffea 100644 --- a/lib_enc/qlpc_stoch_fx.c +++ b/lib_enc/qlpc_stoch_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/range_enc_fx.c b/lib_enc/range_enc_fx.c index b039f4928..4a05e7371 100644 --- a/lib_enc/range_enc_fx.c +++ b/lib_enc/range_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/re8_cod_fx.c b/lib_enc/re8_cod_fx.c index ea1990b63..0434e133d 100644 --- a/lib_enc/re8_cod_fx.c +++ b/lib_enc/re8_cod_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/reordernorm_fx.c b/lib_enc/reordernorm_fx.c index 149c499d1..ec14dc9e7 100644 --- a/lib_enc/reordernorm_fx.c +++ b/lib_enc/reordernorm_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/rom_enc.h b/lib_enc/rom_enc.h index 4b1a5f42c..3506465da 100644 --- a/lib_enc/rom_enc.h +++ b/lib_enc/rom_enc.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_enc/rom_enc_fx.c b/lib_enc/rom_enc_fx.c index cb211404b..5806234fc 100644 --- a/lib_enc/rom_enc_fx.c +++ b/lib_enc/rom_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_enc/rst_enc_fx.c b/lib_enc/rst_enc_fx.c index 38b8e5ff2..45529958b 100644 --- a/lib_enc/rst_enc_fx.c +++ b/lib_enc/rst_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/scale_enc_fx.c b/lib_enc/scale_enc_fx.c index c7420e8ba..5e1ce888e 100644 --- a/lib_enc/scale_enc_fx.c +++ b/lib_enc/scale_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/set_impulse_fx.c b/lib_enc/set_impulse_fx.c index 4c867dd17..5b0857fd5 100644 --- a/lib_enc/set_impulse_fx.c +++ b/lib_enc/set_impulse_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/setmodeindex_fx.c b/lib_enc/setmodeindex_fx.c index 6c34efb0f..12a3bcd78 100644 --- a/lib_enc/setmodeindex_fx.c +++ b/lib_enc/setmodeindex_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/sig_clas_fx.c b/lib_enc/sig_clas_fx.c index 86ba906eb..24209df1c 100644 --- a/lib_enc/sig_clas_fx.c +++ b/lib_enc/sig_clas_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/spec_center_fx.c b/lib_enc/spec_center_fx.c index b628ea0f5..2b6b3f1c1 100644 --- a/lib_enc/spec_center_fx.c +++ b/lib_enc/spec_center_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/spec_flatness_fx.c b/lib_enc/spec_flatness_fx.c index 89102d926..b3bdde62b 100644 --- a/lib_enc/spec_flatness_fx.c +++ b/lib_enc/spec_flatness_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/speech_music_classif_fx.c b/lib_enc/speech_music_classif_fx.c index 1e6188979..bfb4261d9 100644 --- a/lib_enc/speech_music_classif_fx.c +++ b/lib_enc/speech_music_classif_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -11,9 +14,6 @@ #include "stl.h" #include "prot_fx.h" /* Function prototypes */ #include "prot_fx_enc.h" /* Function prototypes */ -#ifdef DEBUGGING -#include "debug.h" -#endif #include "ivas_prot_fx.h" @@ -423,11 +423,7 @@ void speech_music_classif_fx( /* Select AUDIO frames */ test(); test(); -#ifdef DEBUGGING - if ( st->codec_mode == MODE1 && ( st->force == 1 || ( st->force == -1 && ( st->sp_aud_decision2 || st->GSC_noisy_speech ) ) ) ) -#else IF( EQ_16( st->codec_mode, MODE1 ) && ( st->sp_aud_decision2 || st->GSC_noisy_speech ) ) -#endif { st->coder_type = AUDIO; move16(); @@ -2377,9 +2373,6 @@ Word16 ivas_smc_gmm_fx( mvs2s( &hSpMusClas->past_dec[0], &hSpMusClas->past_dec[1], HANG_LEN - 2 ); hSpMusClas->past_dec[0] = dec; move16(); -#ifdef DEBUG_MODE_INFO - dbgwrite( &st->hSpMusClas->wdlp_0_95_sp_32fx, sizeof( Word32 ), 1, 1, "res/wdlp_0_95_sp.x" ); -#endif return dec; } @@ -2955,39 +2948,6 @@ void ivas_smc_mode_selection_fx( move16(); } -#ifdef DEBUGGING - if ( st->idchan == 0 && st->coder_type != INACTIVE ) - { - if ( st->force == FORCE_GSC && element_brate < IVAS_24k4 ) - { - /* enforce GSC */ - st->sp_aud_decision1 = 1; - st->sp_aud_decision2 = 0; - } - else if ( st->force == FORCE_SPEECH && ( st->sp_aud_decision1 == 1 || st->sp_aud_decision2 == 1 ) ) - { - if ( element_brate < IVAS_24k4 ) - { - /* convert TCX to GSC */ - st->sp_aud_decision1 = 1; - st->sp_aud_decision2 = 0; - } - else - { - /* convert TCX to ACELP */ - st->sp_aud_decision1 = 0; - st->sp_aud_decision2 = 0; - } - } - else if ( st->force == FORCE_MUSIC ) - { - /* enforce TCX */ - st->sp_aud_decision1 = 1; - st->sp_aud_decision2 = 1; - } - } - -#endif /* set GSC noisy speech flag on unvoiced SWB segments */ st->GSC_noisy_speech = 0; move16(); diff --git a/lib_enc/stat_enc.h b/lib_enc/stat_enc.h index 1723edb3f..9c62be4db 100644 --- a/lib_enc/stat_enc.h +++ b/lib_enc/stat_enc.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 @@ -54,9 +26,6 @@ typedef struct Word16 id; /* id of the indice */ UWord16 value; /* value of the quantized indice */ Word16 nb_bits; /* number of bits used for the quantization of the indice */ -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - char function_name[100]; -#endif } Indice, *INDICE_HANDLE; typedef struct @@ -76,13 +45,6 @@ typedef struct Word32 s32Mantissa; } T_VAD_EXP; -#ifndef FIX_2402_REPL_EVS_ARI_CODEC_ENC -typedef struct -{ - Word32 low, high; - Word16 value; -} TastatEnc; -#endif /*----------------------------------------------------------------------------------* * Bitstream structure *----------------------------------------------------------------------------------*/ @@ -455,9 +417,6 @@ typedef struct igfscfenc_public_data_struct const UWord16 *cf_se11; const Word16 *cf_off_se11; Tastat acState; -#ifndef FIX_2402_REPL_EVS_ARI_CODEC_ENC - TastatEnc acState_fx; -#endif Tastat acState_ivas_fx; } IGFSCFENC_INSTANCE, *IGFSCFENC_INSTANCE_HANDLE; @@ -926,20 +885,14 @@ typedef struct amrwb_io_enc_structure typedef struct td_bwe_enc_structure { -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT Word16 old_speech_shb_fx[L_LOOK_16k + L_SUBFR16k]; /* Buffer memories Q(old_speech_shb_q) */ Word16 old_speech_shb_q; -#else - Word16 old_speech_shb_fx[L_LOOK_16k + L_SUBFR16k]; /* Buffer memories Q(Q_shb_spch) */ -#endif Word16 old_speech_wb_fx[( L_LOOK_12k8 + L_SUBFR ) * 5 / 16]; /* Buffer memories Q(-1) */ Word16 old_input_fhb_fx[NS2SA( 48000, ACELP_LOOK_NS + DELAY_FD_BWE_ENC_12k8_NS + DELAY_FIR_RESAMPL_NS ) - L_FRAME48k / 2]; /* Q(old_input_fhb_fx_Q) */ Word16 old_input_fhb_fx_Q; Word16 prev_lsp_shb_fx[LPC_SHB_ORDER]; /* Q15 */ Word16 state_ana_filt_shb_fx[( 2 * ALLPASSSECTIONS_STEEP + 1 )]; /* states for the analysis filters */ -#ifdef NONBE_FIX_ISSUE_2206 Word16 state_ana_filt_shb_fx_Q; -#endif Word16 cldfbHBLT; /* Q13 */ /* states for the filters used in generating SHB excitation from WB excitation*/ Word32 mem_csfilt_fx[2]; /* Q(prev_Q_bwe_exc) */ @@ -975,12 +928,8 @@ typedef struct td_bwe_enc_structure Word32 prev_gainFr_SHB_fx; /* Q18 */ Word16 lsp_shb_slow_interpl_fx[LPC_SHB_ORDER]; /* Q15 */ Word16 lsp_shb_fast_interpl_fx[LPC_SHB_ORDER]; /* Q15 */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT Word16 shb_inv_filt_mem_fx[LPC_SHB_ORDER]; /* Q(shb_inv_filt_mem_q) */ Word16 shb_inv_filt_mem_q; -#else - Word16 shb_inv_filt_mem_fx[LPC_SHB_ORDER]; /* Q(Q_shb_spch) */ -#endif Word16 lsp_shb_spacing_fx[3]; /* Q15 */ Word16 prev_swb_GainShape_fx; /* Q15 */ Word16 prev_frGainAtten; @@ -1011,14 +960,9 @@ typedef struct td_bwe_enc_structure Word16 gFrame_WB; Word16 idxGain; -#ifdef NONBE_FIX_ISSUE_2206 Word16 dec_2_over_3_mem_fx[L_FILT_2OVER3]; /* dec_2_over_3_mem_q */ Word16 dec_2_over_3_mem_lp_fx[6]; /* dec_2_over_3_mem_q */ Word16 dec_2_over_3_mem_q; -#else - Word16 dec_2_over_3_mem_fx[L_FILT_2OVER3]; - Word16 dec_2_over_3_mem_lp_fx[6]; -#endif Word16 tbe_demph_fx; /* Q(prev_Q_bwe_exc - 16 - NOISE_QADJ) */ Word16 tbe_premph_fx; /* Q(prev_Q_bwe_exc - 16) */ @@ -1045,21 +989,13 @@ typedef struct fd_bwe_enc_structure { Word16 new_input_hp_fx[NS2SA( 16000, ACELP_LOOK_NS + DELAY_FD_BWE_ENC_NS + DELAY_FIR_RESAMPL_NS - DELAY_CLDFB_NS )]; // Q_new_input_hp Word16 Q_new_input_hp; -#ifdef NONBE_FIX_ISSUE_2206 Word16 old_input_fx[NS2SA( 48000, DELAY_FD_BWE_ENC_NS + DELAY_FIR_RESAMPL_NS )]; // Q(old_input_q) Word16 old_input_q; -#else - Word16 old_input_fx[NS2SA( 48000, DELAY_FD_BWE_ENC_NS + DELAY_FIR_RESAMPL_NS )]; // st->q_inp -#endif Word16 old_input_wb_fx[NS2SA( 16000, DELAY_FD_BWE_ENC_NS )]; /* Q(-1) */ Word16 old_input_lp_fx[NS2SA( 16000, ACELP_LOOK_NS + DELAY_FD_BWE_ENC_NS )]; // st->hBWE_FD->prev_Q_input_lp Word16 old_syn_12k8_16k_fx[NS2SA( 16000, DELAY_FD_BWE_ENC_NS )]; // st->Q_syn -#ifdef NONBE_FIX_ISSUE_2206 Word16 old_fdbwe_speech_fx[L_FRAME48k]; // Q(old_fdbwe_speech_q) for IVAS, Q(-1) for EVS. Word16 old_fdbwe_speech_q; -#else - Word16 old_fdbwe_speech_fx[L_FRAME48k]; -#endif Word16 mem_deemph_old_syn_fx; Word16 q_mem_deemph_old_syn; Word16 prev_mode; @@ -1270,9 +1206,6 @@ typedef struct enc_core_structure *----------------------------------------------------------------------------------*/ Word16 idchan; /* channel ID (audio channel number) */ -#ifdef DEBUGGING - Word16 id_element; /* element ID */ -#endif Word16 element_mode; /* element mode */ Word32 element_brate; /* element bitrate */ Word16 codec_mode; /* Mode1 or Mode2 */ @@ -1316,12 +1249,6 @@ typedef struct enc_core_structure Word16 last_Opt_SC_VBR; /* flag indicating prev frame's SC-VBR mode */ Word16 low_rate_mode; /* low-rate mode flag */ Word16 inactive_coder_type_flag; /* inactive coder type flag (0 = AVQ / 1 = GSC) */ -#ifdef DEBUGGING - Word16 force; /* flag indicating specific signal type (0 = speech, 1 = music, -1 = N/A) */ -#ifdef DEBUG_FORCE_DIR - char *force_dir; /* directory containing external binary files for modes/parameters enforcement (empty string indicates no enforcement) */ -#endif -#endif Word16 ini_frame; /* initialization frames counter */ /*----------------------------------------------------------------------------------* @@ -1459,17 +1386,11 @@ typedef struct enc_core_structure SIGNAL_BUFFERS_ENC_HANDLE hSignalBuf; Word32 *Bin_E_old_fx; /* per bin energy of old 2nd frames */ Word16 q_Bin_E_old; -#ifdef NONBE_FIX_ISSUE_2206 Word16 *mem_decim_fx; /* decimation filter memory Q(q_mem_decim_fx) */ Word16 q_mem_decim_fx; /* Q of ACELP@12.8kHz - decimation filter memory @12.8kHz */ Word16 mem_decim_fx_q_inp[2 * L_FILT_MAX]; /* decimation filter memory st->q_inp */ Word16 *mem_decim16k_fx; /* ACELP@16kHz - decimation filter memory @16kHz q_mem_decim16k_fx */ Word16 q_mem_decim16k_fx; /* Q of ACELP@16kHz - decimation filter memory @16kHz */ -#else - Word16 *mem_decim_fx; /* decimation filter memory Q(-1) */ - Word16 mem_decim_fx_q_inp[2 * L_FILT_MAX]; /* decimation filter memory Q(-1) */ - Word16 *mem_decim16k_fx; /* ACELP@16kHz - decimation filter memory @16kHz Q(-1) */ -#endif Word16 *old_inp_12k8_fx; /* memory of input signal at 12.8kHz */ Word16 *old_inp_16k_fx; /* ACELP@16kHz - memory of input signal @16 kHz */ @@ -1786,9 +1707,6 @@ typedef struct enc_core_structure * Fixed point only variables *----------------------------------------------------------------------------------*/ -#ifndef NONBE_FIX_ISSUE_2518 - Word16 Q_exc; -#endif Word16 Q_stat_noise_ge; Word16 Q_stat_noise; Word16 Q_syn2; diff --git a/lib_enc/stat_noise_uv_enc_fx.c b/lib_enc/stat_noise_uv_enc_fx.c index 8306c60d7..90504163d 100644 --- a/lib_enc/stat_noise_uv_enc_fx.c +++ b/lib_enc/stat_noise_uv_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/subband_fft_fx.c b/lib_enc/subband_fft_fx.c index 7026f2603..421b49dc8 100644 --- a/lib_enc/subband_fft_fx.c +++ b/lib_enc/subband_fft_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/swb_bwe_enc_fx.c b/lib_enc/swb_bwe_enc_fx.c index 31bcd1e89..da8cec5b4 100644 --- a/lib_enc/swb_bwe_enc_fx.c +++ b/lib_enc/swb_bwe_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -104,12 +107,8 @@ static void delay_input_signal_fx( void wb_bwe_enc_fx( Encoder_State *st_fx, /* i/o: encoder state structure */ -#ifdef NONBE_FIX_ISSUE_2206 const Word16 *new_wb_speech_fx, /* i : original input signal at 16kHz */ const Word16 new_wb_speech_q /* i : Q of new_wb_speech_fx */ -#else - const Word16 *new_wb_speech_fx /* i : original input signal at 16kHz */ -#endif ) { Word16 mode = 0; @@ -134,22 +133,15 @@ void wb_bwe_enc_fx( move16(); new_input_fx = old_input_fx + Sample_Delay_WB_BWE; -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig( hBWE_FD->old_input_wb_fx, old_input_fx, Sample_Delay_WB_BWE, sub( new_wb_speech_q, -1 ) ); Copy( new_wb_speech_fx, new_input_fx, L_FRAME16k ); Copy_Scale_sig( old_input_fx + L_FRAME16k, hBWE_FD->old_input_wb_fx, Sample_Delay_WB_BWE, sub( -1, new_wb_speech_q ) ); -#else - Copy( hBWE_FD->old_input_wb_fx, old_input_fx, Sample_Delay_WB_BWE ); - Copy( new_wb_speech_fx, new_input_fx, L_FRAME16k ); - Copy( old_input_fx + L_FRAME16k, hBWE_FD->old_input_wb_fx, Sample_Delay_WB_BWE ); -#endif /*---------------------------------------------------------------------*/ /* WB BWE encoding */ /* MDCT of the core synthesis signal */ /*---------------------------------------------------------------------*/ -#ifdef NONBE_FIX_ISSUE_2206 new_input_fx_exp = new_wb_speech_q; move16(); if ( st_fx->element_mode == EVS_MONO ) @@ -158,15 +150,6 @@ void wb_bwe_enc_fx( new_input_fx_exp = 0; move16(); } -#else - new_input_fx_exp = -Q1; - move16(); - if ( st_fx->element_mode == EVS_MONO ) - { - new_input_fx_exp = 0; - move16(); - } -#endif wtda_fx( old_input_fx, &new_input_fx_exp, L_wtda_synth_fx, hBWE_FD->L_old_wtda_swb_fx, &st_fx->Q_old_wtda, ALDO_WINDOW, ALDO_WINDOW, /* window overlap of current frame (0: full, 2: none, or 3: half) */ L_FRAME16k ); @@ -201,11 +184,7 @@ void swb_bwe_enc_fx( const Word16 *old_syn_12k8_16k_fx, /* i : ACELP core synthesis at 12.8kHz or 16kHz */ const Word16 *new_swb_speech_fx, /* i : original input signal at 32kHz */ const Word16 Q_new_swb_speech, /* i : Q for new_swb_speech_fx */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT Word16 *shb_speech_fx_input, /* i : SHB target signal (6-14kHz) at 16kHz Q_shb_speech */ -#else - Word16 *shb_speech_fx_Q0, /* i : SHB target signal (6-14kHz) at 16kHz Q0 */ -#endif Word16 Q_shb_speech, Word16 Q_slb_speech ) { @@ -246,23 +225,14 @@ void swb_bwe_enc_fx( IF( st_fx->element_mode == EVS_MONO ) { -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT assert( Q_shb_speech == 0 ); Copy( shb_speech_fx_input, shb_speech_fx, L_FRAME16k ); -#else - Copy( shb_speech_fx_Q0, shb_speech_fx, L_FRAME16k ); -#endif } ELSE { -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT tmp = norm_arr( shb_speech_fx_input, L_FRAME16k ); Copy_Scale_sig_nosat( shb_speech_fx_input, shb_speech_fx, L_FRAME16k, tmp ); Q_shb_speech = add( Q_shb_speech, tmp ); -#else - Q_shb_speech = getScaleFactor16( shb_speech_fx_Q0, L_FRAME16k ); - Copy_Scale_sig( shb_speech_fx_Q0, shb_speech_fx, L_FRAME16k, Q_shb_speech ); // Q0 -> Q_shb_spch -#endif } /*---------------------------------------------------------------------* @@ -345,7 +315,6 @@ void swb_bwe_enc_fx( q_new_input_hp = s_min( Q_shb_speech, hBWE_FD->Q_new_input_hp ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT IF( st_fx->element_mode == EVS_MONO ) { Copy( hBWE_FD->new_input_hp_fx, new_input_hp_fx, Sample_Delay_HP ); @@ -363,40 +332,12 @@ void swb_bwe_enc_fx( Q_shb_speech = q_new_input_hp; move16(); -#else - IF( st_fx->element_mode == EVS_MONO ) - { - Copy( hBWE_FD->new_input_hp_fx, new_input_hp_fx, Sample_Delay_HP ); - Copy( shb_speech_fx, &new_input_hp_fx[Sample_Delay_HP], L_FRAME16k - Sample_Delay_HP ); - } - ELSE IF( LT_16( Q_shb_speech, hBWE_FD->Q_new_input_hp ) ) - { - Copy_Scale_sig( hBWE_FD->new_input_hp_fx, new_input_hp_fx, Sample_Delay_HP, sub( Q_shb_speech, hBWE_FD->Q_new_input_hp ) ); // Q_shb_speech - Copy( shb_speech_fx, &new_input_hp_fx[Sample_Delay_HP], L_FRAME16k - Sample_Delay_HP ); // Q_shb_speech - } - ELSE - { - Copy( hBWE_FD->new_input_hp_fx, new_input_hp_fx, Sample_Delay_HP ); // hBWE_FD->Q_new_input_hp - Copy_Scale_sig( shb_speech_fx, &new_input_hp_fx[Sample_Delay_HP], L_FRAME16k - Sample_Delay_HP, sub( hBWE_FD->Q_new_input_hp, Q_shb_speech ) ); // hBWE_FD->Q_new_input_hp - } - - hBWE_FD->Q_new_input_hp = Q_shb_speech; - move16(); - Copy( shb_speech_fx + L_FRAME16k - Sample_Delay_HP, hBWE_FD->new_input_hp_fx, Sample_Delay_HP ); - new_input_fx = old_input_fx + Sample_Delay_SWB_BWE; -#endif -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_nosat( hBWE_FD->old_input_fx, old_input_fx, Sample_Delay_SWB_BWE, sub( Q_new_swb_speech, hBWE_FD->old_input_q ) ); Copy( new_swb_speech_fx, new_input_fx, inner_frame ); Copy( old_input_fx + inner_frame, hBWE_FD->old_input_fx, Sample_Delay_SWB_BWE ); hBWE_FD->old_input_q = Q_new_swb_speech; move16(); -#else - Copy( hBWE_FD->old_input_fx, old_input_fx, Sample_Delay_SWB_BWE ); - Copy( new_swb_speech_fx, new_input_fx, inner_frame ); - Copy( old_input_fx + inner_frame, hBWE_FD->old_input_fx, Sample_Delay_SWB_BWE ); -#endif /*----------------------------------------------------------------------* * Calculate tilt of the input signal and the ACELP core synthesis @@ -1352,12 +1293,7 @@ static void MSVQ_Interpol_Tran_fx( FOR( n_band = 0; n_band < DIM_TR2 - 1; n_band++ ) { /*quant_tmp2[n_band] = env_temp12[n_band] - ((quant_tmp[n_band]+quant_tmp[n_band+1])/2.f); */ -#ifdef NONBE_FIX_ISSUE_2206_AVOID_OVERFLOW_MSVQ_Interpol_Tran_fx tmp = add( shr( quant_tmp[n_band], 1 ), shr( quant_tmp[n_band + 1], 1 ) ); /*Q8 */ -#else - tmp = add( quant_tmp[n_band], quant_tmp[n_band + 1] ); /*Q8 */ - tmp = shr( tmp, 1 ); -#endif quant_tmp2[n_band] = sub( env_temp12[n_band], tmp ); move16(); /*Q8 */ } @@ -1376,12 +1312,7 @@ static void MSVQ_Interpol_Tran_fx( FOR( n_band = 0; n_band < DIM_TR2 - 1; n_band++ ) { /*quant_select[n_band*2+1] = ((quant_tmp[n_band]+quant_tmp[n_band+1])/2.f) + quant_tmp2[n_band]; */ -#ifdef NONBE_FIX_ISSUE_2206_AVOID_OVERFLOW_MSVQ_Interpol_Tran_fx tmp = add( shr( quant_tmp[n_band], 1 ), shr( quant_tmp[n_band + 1], 1 ) ); /*Q8 */ -#else - tmp = add( quant_tmp[n_band], quant_tmp[n_band + 1] ); /*Q8 */ - tmp = shr( tmp, 1 ); -#endif quant_select[n_band * 2 + 1] = add( tmp, quant_tmp2[n_band] ); move16(); } @@ -2067,11 +1998,7 @@ static Word16 WB_BWE_encoding_fx( /* exp = 30-exp-(2*Q_synth-2 / exp = 30-exp-(q_WB_fenv[i]+4) */ exp = sub( sub( 30, exp ), Q_fenv[i] ); L_tmp = Mpy_32_16( exp, tmp, 32767 ); /* Q16 */ -#ifdef NONBE_FIX_ISSUE_2206 WB_fenv_fx[i] = round_fx( L_shl_sat( L_tmp, 10 ) ); /* Q10 */ -#else - WB_fenv_fx[i] = round_fx( L_shl( L_tmp, 10 ) ); /* Q10 */ -#endif move16(); } ELSE @@ -2309,12 +2236,8 @@ static Word16 SWB_BWE_encoding_fx( L_tmp = Mpy_32_16( exp, tmp, 24660 ); /* Q14 */ /*10log10(2) in Q13 */ tmp = round_fx( L_shl( L_tmp, 10 ) ); /* Q8 */ -#ifdef NONBE_FIX_ISSUE_2206_AVOID_OVERFLOW_SWB_fenv_fx2 /* For very small energies, log10 in Q8 smaller than -128.0, saturation can occur here. */ SWB_fenv_fx[n_band] = sub_sat( tmp, Mean_env_tr_fx[n_band] ); -#else - SWB_fenv_fx[n_band] = sub( tmp, Mean_env_tr_fx[n_band] ); -#endif move16(); /*Q8 */ } } @@ -2646,11 +2569,7 @@ static Word16 SWB_BWE_encoding_fx( expn = sub( 30, add( expn, q_SWB_fenv[n_band] ) ); } L_tmp = Mpy_32_16( expn, tmp, 24660 ); /* Q14 */ /*10log10(2) in Q13 */ -#ifdef NONBE_FIX_ISSUE_2206 SWB_fenv_fx[n_band] = round_fx( L_shl_sat( L_tmp, 10 ) ); /* Q8 */ -#else - SWB_fenv_fx[n_band] = round_fx( L_shl( L_tmp, 10 ) ); /* Q8 */ -#endif move16(); } ELSE @@ -2663,12 +2582,8 @@ static Word16 SWB_BWE_encoding_fx( FOR( n_band = 0; n_band < SWB_FENV; n_band++ ) { -#ifdef NONBE_FIX_ISSUE_2206_AVOID_OVERFLOW_SWB_fenv_fx2 /* For very small energies, log10 in Q8 smaller than -128.0, saturation can occur here. */ SWB_fenv_fx[n_band] = sub_sat( SWB_fenv_fx[n_band], Mean_env_fx[n_band] ); -#else - SWB_fenv_fx[n_band] = sub( SWB_fenv_fx[n_band], Mean_env_fx[n_band] ); -#endif move16(); } @@ -3117,10 +3032,8 @@ void fd_bwe_enc_init_fx( hBWE_FD->Q_new_input_hp = 0; move16(); set16_fx( hBWE_FD->old_input_fx, 0, NS2SA( 48000, DELAY_FD_BWE_ENC_12k8_NS + DELAY_FIR_RESAMPL_NS ) ); -#ifdef NONBE_FIX_ISSUE_2206 hBWE_FD->old_input_q = Q15; move16(); -#endif set16_fx( hBWE_FD->old_input_wb_fx, 0, NS2SA( 16000, DELAY_FD_BWE_ENC_12k8_NS ) ); set16_fx( hBWE_FD->old_input_lp_fx, 0, NS2SA( 16000, ACELP_LOOK_NS + DELAY_FD_BWE_ENC_NS ) ); set16_fx( hBWE_FD->old_syn_12k8_16k_fx, 0, NS2SA( 16000, DELAY_FD_BWE_ENC_NS ) ); @@ -3143,10 +3056,8 @@ void fd_bwe_enc_init_fx( hBWE_FD->prev_Q_input_lp = 0; move16(); set16_fx( hBWE_FD->old_fdbwe_speech_fx, 0, L_FRAME48k ); -#ifdef NONBE_FIX_ISSUE_2206 hBWE_FD->old_fdbwe_speech_q = Q15; move16(); -#endif hBWE_FD->mem_deemph_old_syn_fx = 0; move16(); diff --git a/lib_enc/swb_bwe_enc_hr_fx.c b/lib_enc/swb_bwe_enc_hr_fx.c index 094310cdf..429310f2a 100644 --- a/lib_enc/swb_bwe_enc_hr_fx.c +++ b/lib_enc/swb_bwe_enc_hr_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/swb_bwe_enc_lr_fx.c b/lib_enc/swb_bwe_enc_lr_fx.c index c691af8ba..fbcff9862 100644 --- a/lib_enc/swb_bwe_enc_lr_fx.c +++ b/lib_enc/swb_bwe_enc_lr_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_enc/swb_pre_proc_fx.c b/lib_enc/swb_pre_proc_fx.c index bd8a8b160..497cfb0bb 100644 --- a/lib_enc/swb_pre_proc_fx.c +++ b/lib_enc/swb_pre_proc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -37,14 +40,9 @@ void wb_pre_proc_fx( Encoder_State *st_fx, /* i/o: encoder state structure */ const Word16 last_element_mode, /* i : last element mode */ -#ifdef NONBE_FIX_ISSUE_2206 const Word16 *new_inp_resamp16k, /* i : original input signal in new_inp_resamp16k_q */ Word16 *hb_speech, /* o : HB target signal (6-8kHz) at 16kHz in new_inp_resamp16k_q */ const Word16 new_inp_resamp16k_q /* i : Q of new_inp_resamp16k */ -#else - const Word16 *new_inp_resamp16k, /* i : original input signal in Q-1 */ - Word16 *hb_speech /* o : HB target signal (6-8kHz) at 16kHz in Q-1 */ -#endif ) { Word16 Sample_Delay_WB_BWE; @@ -149,7 +147,6 @@ void wb_pre_proc_fx( } } -#ifdef NONBE_FIX_ISSUE_2206 IF( st_fx->element_mode != EVS_MONO ) { /* In case of EVS, hBWE_FD->old_input_wb_fx might saturate furher below. */ @@ -162,12 +159,6 @@ void wb_pre_proc_fx( Scale_sig( hBWE_TD->decim_state1_fx, ( 2 * ALLPASSSECTIONS_STEEP + 1 ), sub( Q_wb_sp, -1 ) ); Scale_sig( hBWE_TD->decim_state2_fx, ( 2 * ALLPASSSECTIONS_STEEP + 1 ), sub( Q_wb_sp, -1 ) ); /* temp_buf, and the memory states are in Q_wb_sp */ -#else - Copy_Scale_sig( new_inp_resamp16k, temp_buf, L_FRAME16k, Q_wb_sp ); - Scale_sig( hBWE_TD->decim_state1_fx, ( 2 * ALLPASSSECTIONS_STEEP + 1 ), Q_wb_sp ); - Scale_sig( hBWE_TD->decim_state2_fx, ( 2 * ALLPASSSECTIONS_STEEP + 1 ), Q_wb_sp ); - /* temp_buf, and the memory states are in Q_wb_sp */ -#endif test(); test(); @@ -203,31 +194,18 @@ void wb_pre_proc_fx( move16(); } -#ifdef NONBE_FIX_ISSUE_2206 /*Get past signal*/ Copy_Scale_sig( hBWE_FD->L_old_wtda_swb_fx + L_FRAME16k - STEREO_DFT_OVL_16k, old_input, STEREO_DFT_OVL_16k, sub( Q_wb_sp, st_fx->Q_old_wtda ) ); Copy_Scale_sig( hBWE_FD->old_input_wb_fx, old_input + STEREO_DFT_OVL_16k, Sample_Delay_WB_BWE, sub( Q_wb_sp, -1 ) ); /*Get new signal*/ Copy( temp_buf, &old_input[Sample_Delay_WB_BWE + STEREO_DFT_OVL_16k], L_FRAME16k ); -#else - /*Get past signal*/ - Copy_Scale_sig( hBWE_FD->L_old_wtda_swb_fx + L_FRAME16k - STEREO_DFT_OVL_16k, old_input, STEREO_DFT_OVL_16k, Q_wb_sp ); - Copy_Scale_sig( hBWE_FD->old_input_wb_fx, old_input + STEREO_DFT_OVL_16k, Sample_Delay_WB_BWE, Q_wb_sp ); - - /*Get new signal*/ - Copy( temp_buf, &old_input[Sample_Delay_WB_BWE + STEREO_DFT_OVL_16k], L_FRAME16k ); -#endif /*compute hb_speech on delayed input*/ flip_spectrum_and_decimby4_fx( old_input + Sample_Delay_WB_BWE, hb_speech, L_FRAME16k, hBWE_TD->decim_state1_fx, hBWE_TD->decim_state2_fx, ramp_flag ); /*Update memory*/ -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig( hb_speech, hBWE_TD->old_speech_wb_fx + ( L_SUBFR * 5 / 16 ), STEREO_DFT_OVL_16k / 4, sub( -1, Q_wb_sp ) ); -#else - Copy_Scale_sig( hb_speech, hBWE_TD->old_speech_wb_fx + ( L_SUBFR * 5 / 16 ), STEREO_DFT_OVL_16k / 4, -Q_wb_sp ); -#endif Copy( hb_speech + STEREO_DFT_OVL_16k / 4, hb_speech, ( L_FRAME16k - STEREO_DFT_OVL_16k ) / 4 ); /*rest without memory update*/ @@ -252,21 +230,12 @@ void wb_pre_proc_fx( move16(); } -#ifdef NONBE_FIX_ISSUE_2206 /*Get past signal*/ Copy_Scale_sig( hBWE_FD->L_old_wtda_swb_fx + L_FRAME16k - l_recalc_16k, old_input, l_recalc_16k, sub( Q_wb_sp, st_fx->Q_old_wtda ) ); Copy_Scale_sig( hBWE_FD->old_input_wb_fx, old_input + l_recalc_16k, Sample_Delay_WB_BWE, sub( Q_wb_sp, -1 ) ); /* Saturation added to prevent the crash. Needs further review */ old_input[Sample_Delay_WB_BWE] = shl_sat( hBWE_FD->mem_old_wtda_swb_fx, sub( Q_wb_sp, -1 ) ); -#else - /*Get past signal*/ - Copy_Scale_sig( hBWE_FD->L_old_wtda_swb_fx + L_FRAME16k - l_recalc_16k, old_input, l_recalc_16k, Q_wb_sp ); - Copy_Scale_sig( hBWE_FD->old_input_wb_fx, old_input + l_recalc_16k, Sample_Delay_WB_BWE, Q_wb_sp ); - - /* Saturation added to prevent the crash. Needs further review */ - old_input[Sample_Delay_WB_BWE] = shl_sat( hBWE_FD->mem_old_wtda_swb_fx, Q_wb_sp ); -#endif /*Get new signal*/ Copy( temp_buf, old_input + Sample_Delay_WB_BWE + l_recalc_16k, L_FRAME16k ); @@ -275,11 +244,7 @@ void wb_pre_proc_fx( flip_spectrum_and_decimby4_fx( old_input + Sample_Delay_WB_BWE, hb_speech, L_FRAME16k, hBWE_TD->decim_state1_fx, hBWE_TD->decim_state2_fx, ramp_flag ); /*Update memory*/ -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig( hb_speech, hBWE_TD->old_speech_wb_fx + ( ( L_LOOK_12k8 + L_SUBFR ) * 5 / 16 ) - l_recalc_4k, l_recalc_4k, sub( -1, Q_wb_sp ) ); -#else - Copy_Scale_sig( hb_speech, hBWE_TD->old_speech_wb_fx + ( ( L_LOOK_12k8 + L_SUBFR ) * 5 / 16 ) - l_recalc_4k, l_recalc_4k, -Q_wb_sp ); -#endif Copy( hb_speech + l_recalc_4k, hb_speech, ( L_FRAME16k / 4 ) - l_recalc_4k ); /*rest without memory update*/ @@ -302,13 +267,8 @@ void wb_pre_proc_fx( Sample_Delay_WB_BWE = NS2SA( 16000, DELAY_FD_BWE_ENC_12k8_NS ); /*Get past signal*/ -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig( hBWE_FD->L_old_wtda_swb_fx + L_FRAME16k - l_recalc_16k, old_input, l_recalc_16k, sub( Q_wb_sp, st_fx->Q_old_wtda ) ); Copy_Scale_sig( hBWE_FD->old_input_wb_fx, old_input + l_recalc_16k, Sample_Delay_WB_BWE, sub( Q_wb_sp, -1 ) ); -#else - Copy_Scale_sig( hBWE_FD->L_old_wtda_swb_fx + L_FRAME16k - l_recalc_16k, old_input, l_recalc_16k, Q_wb_sp ); - Copy_Scale_sig( hBWE_FD->old_input_wb_fx, old_input + l_recalc_16k, Sample_Delay_WB_BWE, Q_wb_sp ); -#endif /*Get new signal*/ Copy( temp_buf, old_input + Sample_Delay_WB_BWE + l_recalc_16k, L_FRAME16k ); @@ -317,11 +277,7 @@ void wb_pre_proc_fx( flip_spectrum_and_decimby4_fx( old_input + Sample_Delay_WB_BWE, hb_speech, L_FRAME16k, hBWE_TD->decim_state1_fx, hBWE_TD->decim_state2_fx, ramp_flag ); /* update hBWE_TD->old_speech_wb memory */ -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig( hb_speech, hBWE_TD->old_speech_wb_fx + ( ( L_LOOK_12k8 + L_SUBFR ) * 5 / 16 ) - l_recalc_4k, l_recalc_4k, sub( -1, Q_wb_sp ) ); -#else - Copy_Scale_sig( hb_speech, hBWE_TD->old_speech_wb_fx + ( ( L_LOOK_12k8 + L_SUBFR ) * 5 / 16 ) - l_recalc_4k, l_recalc_4k, -Q_wb_sp ); -#endif Copy( hb_speech + l_recalc_4k, hb_speech, ( L_FRAME16k / 4 ) - l_recalc_4k ); /*rest without memory update*/ @@ -336,7 +292,6 @@ void wb_pre_proc_fx( flip_spectrum_and_decimby4_fx( temp_buf, hb_speech, L_FRAME16k, hBWE_TD->decim_state1_fx, hBWE_TD->decim_state2_fx, ramp_flag ); } -#ifdef NONBE_FIX_ISSUE_2206 /* rescale the hb_speech and memories back to -1 */ Scale_sig( hb_speech, L_FRAME16k / 4, sub( new_inp_resamp16k_q, Q_wb_sp ) ); Scale_sig( hBWE_TD->decim_state1_fx, ( 2 * ALLPASSSECTIONS_STEEP + 1 ), sub( -1, Q_wb_sp ) ); @@ -346,12 +301,6 @@ void wb_pre_proc_fx( Q_wb_sp = new_inp_resamp16k_q; move16(); } -#else - /* rescale the hb_speech and memories back to Q-1 to keep the downstream BWE coding unaffected */ - Scale_sig( hb_speech, L_FRAME16k / 4, negate( Q_wb_sp ) ); - Scale_sig( hBWE_TD->decim_state1_fx, ( 2 * ALLPASSSECTIONS_STEEP + 1 ), negate( Q_wb_sp ) ); - Scale_sig( hBWE_TD->decim_state2_fx, ( 2 * ALLPASSSECTIONS_STEEP + 1 ), negate( Q_wb_sp ) ); -#endif IF( NE_16( st_fx->extl, WB_TBE ) ) { @@ -360,11 +309,7 @@ void wb_pre_proc_fx( highband_new_speech = highband_old_speech + Sample_Delay_WB_BWE; Copy( hb_speech, highband_new_speech, L_FRAME16k / 4 ); -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig( highband_old_speech + L_FRAME16k / 4, hBWE_TD->old_speech_wb_fx, Sample_Delay_WB_BWE, sub( -1, new_inp_resamp16k_q ) ); -#else - Copy( highband_old_speech + L_FRAME16k / 4, hBWE_TD->old_speech_wb_fx, Sample_Delay_WB_BWE ); -#endif } } } @@ -378,11 +323,7 @@ void wb_pre_proc_fx( test(); if ( hBWE_FD != NULL && st_fx->element_mode != EVS_MONO ) { -#ifdef NONBE_FIX_ISSUE_2206 hBWE_FD->mem_old_wtda_swb_fx = shl( new_inp_resamp16k[L_FRAME16k - L_MEM_RECALC_16K - L_FILT16k - 1], sub( -1, new_inp_resamp16k_q ) ); -#else - hBWE_FD->mem_old_wtda_swb_fx = new_inp_resamp16k[L_FRAME16k - L_MEM_RECALC_16K - L_FILT16k - 1]; -#endif move16(); } @@ -394,7 +335,6 @@ void wb_pre_proc_fx( { Sample_Delay_WB_BWE = NS2SA( 16000, DELAY_FD_BWE_ENC_12k8_NS ); -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_nosat( new_inp_resamp16k, &old_input[Sample_Delay_WB_BWE], L_FRAME16k, sub( Q_wb_sp, new_inp_resamp16k_q ) ); Copy_Scale_sig( hBWE_FD->old_input_wb_fx, old_input, Sample_Delay_WB_BWE, sub( Q_wb_sp, -1 ) ); IF( LT_16( sub( -1, new_inp_resamp16k_q ), -15 ) ) @@ -406,22 +346,13 @@ void wb_pre_proc_fx( /* Saturation can occur. To avoid that the format of hBWE_FD->old_input_wb_fx needs to become variable. */ Copy_Scale_sig( new_inp_resamp16k + L_FRAME16k - Sample_Delay_WB_BWE, hBWE_FD->old_input_wb_fx, Sample_Delay_WB_BWE, sub( -1, new_inp_resamp16k_q ) ); } -#else - Copy( new_inp_resamp16k, &old_input[Sample_Delay_WB_BWE], L_FRAME16k ); - Copy( hBWE_FD->old_input_wb_fx, old_input, Sample_Delay_WB_BWE ); - Copy( new_inp_resamp16k + L_FRAME16k - Sample_Delay_WB_BWE, hBWE_FD->old_input_wb_fx, Sample_Delay_WB_BWE ); -#endif test(); IF( NE_16( st_fx->extl, SWB_BWE ) && NE_16( st_fx->extl, FB_BWE ) ) { Copy( old_input, hBWE_FD->L_old_wtda_swb_fx, L_FRAME16k ); if ( st_fx->element_mode != EVS_MONO ) { -#ifdef NONBE_FIX_ISSUE_2206 st_fx->Q_old_wtda = Q_wb_sp; -#else - st_fx->Q_old_wtda = -Q1; -#endif move16(); } } @@ -459,12 +390,8 @@ void wb_pre_proc_fx( void swb_pre_proc_fx( Encoder_State *st, /* i/o: encoder state structure */ Word16 *new_swb_speech, /* o : original input signal at 32kHz - st->q_inp */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT Word16 *shb_speech, /* o : SHB target signal (6-14kHz) at 16kHz - shb_speech_q */ Word16 *shb_speech_q, /* o : SHB target signal (6-14kHz) at 16kHz - Q */ -#else - Word16 *shb_speech, /* o : SHB target signal (6-14kHz) at 16kHz - Q0 */ -#endif Word32 realBuffer[CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i : real buffer Q - q_reImbuffer */ Word32 imagBuffer[CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i : imag buffer Q - q_reImbuffer */ Word16 q_reImBuffer, /* i : scale data of real and imag CLDFB buffers */ @@ -515,13 +442,11 @@ void swb_pre_proc_fx( set16_fx( old_input_fx, 0, NS2SA( 48000, DELAY_FD_BWE_ENC_12k8_NS + DELAY_FIR_RESAMPL_NS ) + L_FRAME48k ); -#ifdef NONBE_FIX_ISSUE_2206 IF( st->element_mode > EVS_MONO ) { scale_sig( st->hBWE_TD->dec_2_over_3_mem_lp_fx, 6, sub( st->q_inp, st->hBWE_TD->dec_2_over_3_mem_q ) ); scale_sig( st->hBWE_TD->dec_2_over_3_mem_fx, L_FILT_2OVER3, sub( st->q_inp, st->hBWE_TD->dec_2_over_3_mem_q ) ); } -#endif IF( EQ_32( st->input_Fs, 32000 ) ) { @@ -533,46 +458,27 @@ void swb_pre_proc_fx( Sample_Delay_SWB_BWE = NS2SA( 32000, DELAY_FD_BWE_ENC_16k_NS ); } -#ifdef NONBE_FIX_ISSUE_2206 hBWE_FD->old_fdbwe_speech_q = s_min( Q14, add( st->q_old_inp, norm_arr( st->input_fx - L_FRAME32k, L_FRAME32k ) ) ); move16(); Copy( st->input_fx - Sample_Delay_SWB_BWE, hBWE_FD->old_input_fx, Sample_Delay_SWB_BWE ); hBWE_FD->old_input_q = st->q_old_inp; move16(); Copy_Scale_sig_nosat( st->input_fx - L_FRAME32k, hBWE_FD->old_fdbwe_speech_fx, L_FRAME32k, sub( hBWE_FD->old_fdbwe_speech_q, st->q_old_inp ) ); -#else - Copy( st->input_fx - Sample_Delay_SWB_BWE, hBWE_FD->old_input_fx, Sample_Delay_SWB_BWE ); - Copy( st->input_fx - L_FRAME32k, hBWE_FD->old_fdbwe_speech_fx, L_FRAME32k ); -#endif -#ifdef NONBE_FIX_ISSUE_2206 Word16 tmp = s_min( st->q_inp, st->Q_old_wtda ); scale_sig( hBWE_FD->L_old_wtda_swb_fx, L_FRAME48k, sub( tmp, st->Q_old_wtda ) ); // st->Q_old_wtda -> tmp st->Q_old_wtda = tmp; // st->Q_old_wtda = tmp; move16(); -#else - scale_sig( hBWE_FD->L_old_wtda_swb_fx, L_FRAME48k, sub( st->q_inp, st->Q_old_wtda ) ); // st->Q_old_wtda -> st->q_inp - st->Q_old_wtda = st->q_inp; // st->Q_old_wtda = st->q_inp; - move16(); -#endif test(); test(); IF( EQ_16( st->element_mode, IVAS_CPE_TD ) && GE_16( st->bwidth, SWB ) ) { -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_nosat( st->input_fx - hCPE->hStereoTCA->lMemRecalc, hBWE_FD->L_old_wtda_swb_fx + L_FRAME32k - sub( hCPE->hStereoTCA->lMemRecalc, Sample_Delay_SWB_BWE ), sub( hCPE->hStereoTCA->lMemRecalc, Sample_Delay_SWB_BWE ), sub( st->Q_old_wtda, st->q_inp ) ); -#else - Copy( st->input_fx - hCPE->hStereoTCA->lMemRecalc, hBWE_FD->L_old_wtda_swb_fx + L_FRAME32k - sub( hCPE->hStereoTCA->lMemRecalc, Sample_Delay_SWB_BWE ), sub( hCPE->hStereoTCA->lMemRecalc, Sample_Delay_SWB_BWE ) ); -#endif } ELSE IF( EQ_16( st->element_mode, IVAS_CPE_DFT ) && GE_16( st->bwidth, SWB ) ) { -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_nosat( st->input_fx - hCPE->hStereoDft->dft_ovl, hBWE_FD->L_old_wtda_swb_fx + L_FRAME32k - sub( hCPE->hStereoDft->dft_ovl, Sample_Delay_SWB_BWE ), sub( hCPE->hStereoDft->dft_ovl, Sample_Delay_SWB_BWE ), sub( st->Q_old_wtda, st->q_inp ) ); -#else - Copy( st->input_fx - hCPE->hStereoDft->dft_ovl, hBWE_FD->L_old_wtda_swb_fx + L_FRAME32k - sub( hCPE->hStereoDft->dft_ovl, Sample_Delay_SWB_BWE ), sub( hCPE->hStereoDft->dft_ovl, Sample_Delay_SWB_BWE ) ); -#endif } } @@ -593,7 +499,6 @@ void swb_pre_proc_fx( Sample_Delay_SWB_BWE = sub( Sample_Delay_SWB_BWE, NS2SA( 32000, DELAY_FIR_RESAMPL_NS ) ); } -#ifdef NONBE_FIX_ISSUE_2206 IF( st->element_mode > EVS_MONO ) { Copy_Scale_sig_nosat( hBWE_FD->old_fdbwe_speech_fx, &old_input_fx[Sample_Delay_SWB_BWE], L_FRAME32k, sub( st->q_inp, hBWE_FD->old_fdbwe_speech_q ) ); @@ -607,12 +512,6 @@ void swb_pre_proc_fx( Copy( hBWE_FD->old_fdbwe_speech_fx + L_FRAME32k - Sample_Delay_SWB_BWE, hBWE_FD->old_input_fx, Sample_Delay_SWB_BWE ); } set16_fx( old_input_fx, 0, Sample_Delay_SWB_BWE ); -#else - Copy( hBWE_FD->old_fdbwe_speech_fx, &old_input_fx[Sample_Delay_SWB_BWE], L_FRAME32k ); - - set16_fx( old_input_fx, 0, Sample_Delay_SWB_BWE ); - Copy( hBWE_FD->old_fdbwe_speech_fx + L_FRAME32k - Sample_Delay_SWB_BWE, hBWE_FD->old_input_fx, Sample_Delay_SWB_BWE ); -#endif IF( NE_16( st->extl, WB_BWE ) ) { @@ -628,13 +527,9 @@ void swb_pre_proc_fx( test(); IF( NE_16( st->extl, SWB_BWE ) && NE_16( st->extl, FB_BWE ) ) { -#ifdef NONBE_FIX_ISSUE_2206 Copy( st->input_fx, hBWE_FD->old_fdbwe_speech_fx, L_FRAME32k ); hBWE_FD->old_fdbwe_speech_q = st->q_inp; move16(); -#else - Copy( st->input_fx, hBWE_FD->old_fdbwe_speech_fx, L_FRAME32k ); -#endif } } ELSE /* 48 kHz */ @@ -668,33 +563,19 @@ void swb_pre_proc_fx( } ELSE IF( EQ_16( st->bwidth, FB ) ) { -#ifdef NONBE_FIX_ISSUE_2206 Copy( st->input_fx - Sample_Delay_SWB_BWE, hBWE_FD->old_input_fx, Sample_Delay_SWB_BWE ); hBWE_FD->old_input_q = st->q_old_inp; move16(); -#else - Copy( st->input_fx - Sample_Delay_SWB_BWE, hBWE_FD->old_input_fx, Sample_Delay_SWB_BWE ); -#endif } -#ifdef NONBE_FIX_ISSUE_2206 Copy( st->input_fx - L_FRAME48k, hBWE_FD->old_fdbwe_speech_fx, L_FRAME48k ); hBWE_FD->old_fdbwe_speech_q = st->q_old_inp; move16(); -#else - Copy( st->input_fx - L_FRAME48k, hBWE_FD->old_fdbwe_speech_fx, L_FRAME48k ); -#endif -#ifdef NONBE_FIX_ISSUE_2206 Word16 tmp = s_min( st->Q_old_wtda, st->q_inp ); scale_sig( hBWE_FD->L_old_wtda_swb_fx, L_FRAME48k, sub( tmp, st->Q_old_wtda ) ); st->Q_old_wtda = tmp; move16(); -#else - scale_sig( hBWE_FD->L_old_wtda_swb_fx, L_FRAME48k, sub( st->q_inp, st->Q_old_wtda ) ); // st->Q_old_wtda -> st->q_inp - st->Q_old_wtda = st->q_inp; - move16(); -#endif test(); test(); @@ -707,27 +588,17 @@ void swb_pre_proc_fx( decimate_2_over_3_allpass_fx( st->input_fx - hCPE->hStereoTCA->lMemRecalc, hCPE->hStereoTCA->lMemRecalc, spchTmp, hBWE_TD->dec_2_over_3_mem_fx, allpass_poles_3_ov_2, decimate_3_ov_2_lowpass_num_fx, decimate_3_ov_2_lowpass_den_fx, hBWE_TD->dec_2_over_3_mem_lp_fx ); -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_nosat( spchTmp, hBWE_FD->L_old_wtda_swb_fx + L_FRAME32k - sub( lMemRecalc32k, Sample_Delay_SWB_BWE32k ), sub( lMemRecalc32k, Sample_Delay_SWB_BWE32k ), sub( st->Q_old_wtda, st->q_inp ) ); Copy( spchTmp + lMemRecalc32k - Sample_Delay_SWB_BWE32k, hBWE_FD->old_input_fx, Sample_Delay_SWB_BWE32k ); hBWE_FD->old_input_q = st->q_inp; move16(); -#else - Copy( spchTmp, hBWE_FD->L_old_wtda_swb_fx + L_FRAME32k - sub( lMemRecalc32k, Sample_Delay_SWB_BWE32k ), sub( lMemRecalc32k, Sample_Delay_SWB_BWE32k ) ); - Copy( spchTmp + lMemRecalc32k - Sample_Delay_SWB_BWE32k, hBWE_FD->old_input_fx, Sample_Delay_SWB_BWE32k ); -#endif } ELSE /* FB_BWE */ { -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_nosat( st->input_fx - hCPE->hStereoTCA->lMemRecalc, hBWE_FD->L_old_wtda_swb_fx + L_FRAME48k - sub( hCPE->hStereoTCA->lMemRecalc, Sample_Delay_SWB_BWE ), sub( hCPE->hStereoTCA->lMemRecalc, Sample_Delay_SWB_BWE ), sub( st->Q_old_wtda, st->q_old_inp ) ); Copy( st->input_fx - Sample_Delay_SWB_BWE, hBWE_FD->old_input_fx, Sample_Delay_SWB_BWE ); hBWE_FD->old_input_q = st->q_old_inp; move16(); -#else - Copy( st->input_fx - hCPE->hStereoTCA->lMemRecalc, hBWE_FD->L_old_wtda_swb_fx + L_FRAME48k - sub( hCPE->hStereoTCA->lMemRecalc, Sample_Delay_SWB_BWE ), sub( hCPE->hStereoTCA->lMemRecalc, Sample_Delay_SWB_BWE ) ); - Copy( st->input_fx - Sample_Delay_SWB_BWE, hBWE_FD->old_input_fx, Sample_Delay_SWB_BWE ); -#endif } } ELSE IF( EQ_16( st->element_mode, IVAS_CPE_DFT ) && GE_16( st->bwidth, SWB ) ) @@ -736,19 +607,11 @@ void swb_pre_proc_fx( { lerp( st->input_fx - hCPE->hStereoDft->dft_ovl, spchTmp, dft_ovl32k - Sample_Delay_SWB_BWE32k, hCPE->hStereoDft->dft_ovl - Sample_Delay_SWB_BWE ); -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_nosat( spchTmp, hBWE_FD->L_old_wtda_swb_fx + L_FRAME32k - ( dft_ovl32k - Sample_Delay_SWB_BWE32k ), dft_ovl32k - Sample_Delay_SWB_BWE32k, sub( st->Q_old_wtda, st->q_inp ) ); -#else - Copy( spchTmp, hBWE_FD->L_old_wtda_swb_fx + L_FRAME32k - ( dft_ovl32k - Sample_Delay_SWB_BWE32k ), dft_ovl32k - Sample_Delay_SWB_BWE32k ); -#endif } ELSE { -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_nosat( st->input_fx - hCPE->hStereoDft->dft_ovl, hBWE_FD->L_old_wtda_swb_fx + L_FRAME48k - ( hCPE->hStereoDft->dft_ovl - Sample_Delay_SWB_BWE ), hCPE->hStereoDft->dft_ovl - Sample_Delay_SWB_BWE, sub( st->Q_old_wtda, st->q_inp ) ); -#else - Copy( st->input_fx - hCPE->hStereoDft->dft_ovl, hBWE_FD->L_old_wtda_swb_fx + L_FRAME48k - ( hCPE->hStereoDft->dft_ovl - Sample_Delay_SWB_BWE ), hCPE->hStereoDft->dft_ovl - Sample_Delay_SWB_BWE ); -#endif } } } @@ -760,13 +623,9 @@ void swb_pre_proc_fx( IF( ( NE_16( st->extl, SWB_BWE ) && NE_16( st->extl, FB_BWE ) && ( st->core == ACELP_CORE ) ) || ( EQ_16( st->element_mode, IVAS_CPE_DFT ) && ( st->core != ACELP_CORE ) ) /*resampling not needed for MDCT cores*/ ) { /* move the resampling out of the TDBWE path as new_swb_speech is not needed for TDBWE. */ -#ifdef NONBE_FIX_ISSUE_2206 Copy( st->input_fx, hBWE_FD->old_fdbwe_speech_fx, L_FRAME48k ); hBWE_FD->old_fdbwe_speech_q = st->q_inp; move16(); -#else - Copy( st->input_fx, hBWE_FD->old_fdbwe_speech_fx, L_FRAME48k ); -#endif } ELSE { @@ -780,11 +639,7 @@ void swb_pre_proc_fx( move16(); inner_Fs = 48000; move32(); -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_nosat( hBWE_FD->old_fdbwe_speech_fx, new_swb_speech, L_FRAME48k, sub( st->q_inp, hBWE_FD->old_fdbwe_speech_q ) ); -#else - Copy( hBWE_FD->old_fdbwe_speech_fx, new_swb_speech, L_FRAME48k ); -#endif } ELSE { @@ -793,7 +648,6 @@ void swb_pre_proc_fx( inner_Fs = 32000; move32(); -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_nosat( hBWE_FD->old_fdbwe_speech_fx, new_swb_speech, L_FRAME48k, sub( st->q_inp, hBWE_FD->old_fdbwe_speech_q ) ); IF( NE_16( st->element_mode, IVAS_CPE_DFT ) ) @@ -804,21 +658,10 @@ void swb_pre_proc_fx( { lerp( new_swb_speech, new_swb_speech, inner_frame, L_FRAME48k ); } -#else - IF( NE_16( st->element_mode, IVAS_CPE_DFT ) ) - { - decimate_2_over_3_allpass_fx( hBWE_FD->old_fdbwe_speech_fx, L_FRAME48k, new_swb_speech, hBWE_TD->dec_2_over_3_mem_fx, allpass_poles_3_ov_2, decimate_3_ov_2_lowpass_num_fx, decimate_3_ov_2_lowpass_den_fx, hBWE_TD->dec_2_over_3_mem_lp_fx ); - } - ELSE - { - lerp( hBWE_FD->old_fdbwe_speech_fx, new_swb_speech, inner_frame, L_FRAME48k ); - } -#endif test(); IF( EQ_16( st->element_mode, IVAS_CPE_DFT ) && st->idchan == 0 ) { -#ifdef NONBE_FIX_ISSUE_2206 FOR( i = 0; i < STEREO_DFT_OVL_32k; i++ ) { hCPE->hStereoDft->output_mem_dmx_32k_fx[i] = Mpy_32_16_1( hCPE->hStereoDft->win_32k_fx[STEREO_DFT_OVL_32k - 1 - i], new_swb_speech[( ( inner_frame + i ) - STEREO_DFT_OVL_32k )] ); @@ -826,13 +669,6 @@ void swb_pre_proc_fx( } hCPE->hStereoDft->output_mem_dmx_32k_q = add( st->q_inp, 16 ); move16(); -#else - FOR( i = 0; i < STEREO_DFT_OVL_32k; i++ ) - { - hCPE->hStereoDft->output_mem_dmx_32k_fx[i] = L_shr( Mpy_32_16_1( hCPE->hStereoDft->win_32k_fx[STEREO_DFT_OVL_32k - 1 - i], new_swb_speech[( ( inner_frame + i ) - STEREO_DFT_OVL_32k )] ), 1 ); // Q15 - move32(); - } -#endif } } @@ -851,16 +687,12 @@ void swb_pre_proc_fx( Copy( new_swb_speech, &old_input_fx[Sample_Delay_SWB_BWE], inner_frame ); set16_fx( old_input_fx, 0, Sample_Delay_SWB_BWE ); -#ifdef NONBE_FIX_ISSUE_2206 Copy( new_swb_speech + inner_frame - Sample_Delay_SWB_BWE, hBWE_FD->old_input_fx, Sample_Delay_SWB_BWE ); if ( st->element_mode != EVS_MONO ) { hBWE_FD->old_input_q = st->q_inp; move16(); } -#else - Copy( new_swb_speech + inner_frame - Sample_Delay_SWB_BWE, hBWE_FD->old_input_fx, Sample_Delay_SWB_BWE ); -#endif Copy( old_input_fx, hBWE_FD->L_old_wtda_swb_fx, inner_frame ); st->Q_old_wtda = st->q_inp; move16(); @@ -895,7 +727,6 @@ void swb_pre_proc_fx( } ELSE /* IVAS_CPE_DFT */ { -#ifdef NONBE_FIX_ISSUE_2206 Word32 new_swb_speech_buffer_fx[L_FRAME48k + STEREO_DFT_OVL_MAX]; Word16 out_start_ind, out_end_ind, new_swb_speech_q; Word32 *new_swb_speech_fx; @@ -909,17 +740,6 @@ void swb_pre_proc_fx( Copy( new_swb_speech - Sample_Delay_SWB_BWE32k, hBWE_FD->old_input_fx, Sample_Delay_SWB_BWE32k ); hBWE_FD->old_input_q = st->q_inp; move16(); -#else - Word16 out_start_ind, out_end_ind; - Word32 new_swb_speech_buffer_fx[L_FRAME48k + STEREO_DFT_OVL_MAX]; - Word32 *new_swb_speech_fx; - set32_fx( new_swb_speech_buffer_fx, 0, L_FRAME48k + STEREO_DFT_OVL_MAX ); - new_swb_speech_fx = new_swb_speech_buffer_fx + STEREO_DFT_OVL_MAX; - stereo_dft_enc_synthesize_fx( hCPE->hStereoDft, new_swb_speech_fx, &out_start_ind, &out_end_ind, st->idchan, input_Fs, 32000, 0, NULL ); - Copy_Scale_sig32_16( new_swb_speech_fx - STEREO_DFT_OVL_MAX, new_swb_speech - STEREO_DFT_OVL_MAX, L_FRAME48k + STEREO_DFT_OVL_MAX, add( st->q_inp, add( q_reImBuffer, 1 ) ) ); // st->q_inp - - Copy( new_swb_speech - Sample_Delay_SWB_BWE32k, hBWE_FD->old_input_fx, Sample_Delay_SWB_BWE32k ); // st->q_inp -#endif } } } @@ -962,28 +782,16 @@ void swb_pre_proc_fx( { Word16 out_start_ind, out_end_ind; Word16 exp_icbweRefEner_fx; -#ifdef NONBE_FIX_ISSUE_2206 Word16 old_input32_q = add( st->q_inp, Q16 ); move16(); Copy_Scale_sig_16_32_no_sat( (const Word16 *) &old_input_fx[0], &old_input_fx_32[0], NS2SA( 48000, DELAY_FD_BWE_ENC_NS + DELAY_FIR_RESAMPL_NS ) + L_FRAME48k, Q16 ); // old_input_q CldfbHB_fx = stereo_dft_enc_synthesize_fx( hCPE->hStereoDft, old_input_fx_32 + STEREO_DFT_OVL_16k, &old_input32_q, &out_start_ind, &out_end_ind, st->idchan, input_Fs, 16000, st->L_frame, &CldfbHB_fx_e ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT Word16 old_input_q; old_input_q = s_min( sub( old_input32_q, Q16 ), st->q_inp ); Copy_Scale_sig_32_16_nosat( (const Word32 *) &old_input_fx_32[0], &old_input_fx[0], out_end_ind + STEREO_DFT_OVL_16k, sub( old_input_q, old_input32_q ) ); Copy_Scale_sig_32_16_nosat( (const Word32 *) &old_input_fx_32[out_end_ind + STEREO_DFT_OVL_16k], &old_input_fx[out_end_ind + STEREO_DFT_OVL_16k], NS2SA( 48000, DELAY_FD_BWE_ENC_NS + DELAY_FIR_RESAMPL_NS ) + L_FRAME48k - STEREO_DFT_OVL_16k - out_end_ind, sub( old_input_q, add( st->q_inp, Q16 ) ) ); -#else - Copy_Scale_sig_32_16( (const Word32 *) &old_input_fx_32[0], &old_input_fx[0], out_end_ind + STEREO_DFT_OVL_16k, sub( 0, old_input32_q ) ); // Q0 - Copy_Scale_sig_32_16( (const Word32 *) &old_input_fx_32[out_end_ind + STEREO_DFT_OVL_16k], &old_input_fx[out_end_ind + STEREO_DFT_OVL_16k], NS2SA( 48000, DELAY_FD_BWE_ENC_NS + DELAY_FIR_RESAMPL_NS ) + L_FRAME48k - STEREO_DFT_OVL_16k - out_end_ind, sub( 0, add( st->q_inp, Q16 ) ) ); // Q0 -#endif -#else - Copy_Scale_sig_16_32_DEPREC( (const Word16 *) &old_input_fx[0], &old_input_fx_32[0], NS2SA( 48000, DELAY_FD_BWE_ENC_NS + DELAY_FIR_RESAMPL_NS ) + L_FRAME48k, Q15 ); // Q15 - CldfbHB_fx = stereo_dft_enc_synthesize_fx( hCPE->hStereoDft, old_input_fx_32 + STEREO_DFT_OVL_16k, &out_start_ind, &out_end_ind, st->idchan, input_Fs, 16000, st->L_frame, &CldfbHB_fx_e ); - Copy_Scale_sig_32_16( (const Word32 *) &old_input_fx_32[0], &old_input_fx[0], NS2SA( 48000, DELAY_FD_BWE_ENC_NS + DELAY_FIR_RESAMPL_NS ) + L_FRAME48k, -Q15 ); // Q0 -#endif /* delay corresponding to CLDFB delay */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT Copy( old_input_fx + STEREO_DFT_OVL_16k - 20, shb_speech, L_FRAME16k ); // old_input_q *shb_speech_q = old_input_q; move16(); @@ -995,11 +803,6 @@ void swb_pre_proc_fx( Copy( old_input_fx, hCPE->hStereoICBWE->mem_shb_speech_ref_fx, STEREO_DFT_OVL_16k - 20 ); // old_input_q hCPE->hStereoICBWE->mem_shb_speech_ref_e = sub( Q15, old_input_q ); move16(); -#else - Copy( old_input_fx + STEREO_DFT_OVL_16k - 20, shb_speech, L_FRAME16k ); - Copy( old_input_fx, hBWE_TD->old_speech_shb_fx + L_LOOK_16k + L_SUBFR16k - ( STEREO_DFT_OVL_16k - 20 ), STEREO_DFT_OVL_16k - 20 ); - Copy( old_input_fx, hCPE->hStereoICBWE->mem_shb_speech_ref_fx, STEREO_DFT_OVL_16k - 20 ); // Q0 -#endif hCPE->hStereoICBWE->mem_shb_speech_ref_e = 15; move16(); @@ -1110,9 +913,7 @@ void swb_pre_proc_fx( hBWE_TD->cldfbHBLT = mac_r( lbEner, 29491 /*0.9 Q15*/, hBWE_TD->cldfbHBLT ); /* cldfbHBLT is in Q13 */ cldfbSynthesis_fx( st->cldfbSynTd, realBufferFlipped, imagBufferFlipped, cldfbScale, shb_speech, 0, CLDFB_NO_COL_MAX, cldfbWorkBuffer ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT assert( shb_speech_q == NULL ); -#endif } test(); @@ -1122,9 +923,7 @@ void swb_pre_proc_fx( /* Update the previous superwideband speech buffer in case of a SWB_BWE frame - this code is in swb_tbe_enc */ delay = L_LOOK_16k + L_SUBFR16k; Copy( shb_speech + L_FRAME16k - delay, hBWE_TD->old_speech_shb_fx, delay ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT assert( shb_speech_q == NULL ); -#endif } thr = 0; // just to avoid warnings @@ -1279,13 +1078,9 @@ void swb_pre_proc_fx( regV = icbwe_regressionValuesTDM_fx; cldfbSynthesis_ivas_fx( realBufferFlipped, imagBufferFlipped, shb_speech_fx_32, -1, 0, 0, st->cldfbSynTd ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT Copy_Scale_sig_32_16( shb_speech_fx_32, shb_speech, L_FRAME16k, 0 ); *shb_speech_q = sub( q_reImBuffer, 1 ); move16(); -#else - Copy_Scale_sig_32_16( shb_speech_fx_32, shb_speech, L_FRAME16k, negate( sub( q_reImBuffer, 1 ) ) ); // Q0 -#endif st->cldfbSynTd->Q_cldfb_state = sub( q_reImBuffer, 1 ); } @@ -1383,13 +1178,11 @@ void swb_pre_proc_fx( delay = L_LOOK_16k + L_SUBFR16k; move16(); Copy( shb_speech + sub( L_FRAME16k, delay ), hBWE_TD->old_speech_shb_fx, delay ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT if ( shb_speech_q != NULL ) { hBWE_TD->old_speech_shb_q = *shb_speech_q; move16(); } -#endif } } ELSE @@ -1442,7 +1235,6 @@ void swb_pre_proc_fx( } } -#ifdef NONBE_FIX_ISSUE_2206 Word16 spchTmp_Q; IF( st->element_mode == EVS_MONO ) @@ -1455,14 +1247,10 @@ void swb_pre_proc_fx( scale_sig( hBWE_TD->state_ana_filt_shb_fx, ( 2 * ALLPASSSECTIONS_STEEP + 1 ), sub( spchTmp_Q, hBWE_TD->state_ana_filt_shb_fx_Q ) ); scale_sig( spchTmp, L_FRAME32k, sub( spchTmp_Q, st->q_inp ) ); } -#endif Decimate_allpass_steep_fx( spchTmp, hBWE_TD->state_ana_filt_shb_fx, L_FRAME32k, shb_speech ); -#ifdef NONBE_FIX_ISSUE_2206 hBWE_TD->state_ana_filt_shb_fx_Q = spchTmp_Q; move16(); -#endif -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT if ( shb_speech_q != NULL ) { *shb_speech_q = spchTmp_Q; @@ -1471,35 +1259,17 @@ void swb_pre_proc_fx( Copy( shb_speech + L_FRAME16k - ( L_LOOK_16k + L_SUBFR16k ), hBWE_TD->old_speech_shb_fx, L_LOOK_16k + L_SUBFR16k ); hBWE_TD->old_speech_shb_q = spchTmp_Q; move16(); -#else -#ifdef NONBE_FIX_ISSUE_2206 - scale_sig( shb_speech, L_FRAME16k, sub( 0, spchTmp_Q ) ); // Q_shb_spch = 0 -#endif - Copy( shb_speech + L_FRAME16k - ( L_LOOK_16k + L_SUBFR16k ), hBWE_TD->old_speech_shb_fx, L_LOOK_16k + L_SUBFR16k ); -#endif /*Compute the past overlap for potential next iDFTs SHB*/ IF( EQ_16( st->element_mode, IVAS_CPE_DFT ) ) { -#ifdef NONBE_FIX_ISSUE_2206 FOR( i = 0; i < STEREO_DFT_OVL_16k; i++ ) { hCPE->hStereoDft->output_mem_dmx_16k_shb_fx[i] = L_mult( shb_speech[20 + i], mult_r( hCPE->hStereoDft->win_ana_16k_fx[STEREO_DFT_OVL_16k - 1 - i], hCPE->hStereoDft->win_ana_16k_fx[STEREO_DFT_OVL_16k - 1 - i] ) ); move32(); } -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT hCPE->hStereoDft->output_mem_dmx_16k_shb_q = add( Q16, spchTmp_Q ); -#else - hCPE->hStereoDft->output_mem_dmx_16k_shb_q = Q16; -#endif move16(); -#else - FOR( i = 0; i < STEREO_DFT_OVL_16k; i++ ) - { - hCPE->hStereoDft->output_mem_dmx_16k_shb_fx[i] = L_mult0( shb_speech[20 + i], mult_r( hCPE->hStereoDft->win_ana_16k_fx[STEREO_DFT_OVL_16k - 1 - i], hCPE->hStereoDft->win_ana_16k_fx[STEREO_DFT_OVL_16k - 1 - i] ) ); // Q15 - move32(); - } -#endif } } @@ -1535,13 +1305,11 @@ void swb_pre_proc_fx( } } -#ifdef NONBE_FIX_ISSUE_2206 IF( st->element_mode > EVS_MONO ) { st->hBWE_TD->dec_2_over_3_mem_q = st->q_inp; move16(); } -#endif return; } diff --git a/lib_enc/swb_tbe_enc_fx.c b/lib_enc/swb_tbe_enc_fx.c index 5128ca77f..9f8d0516e 100644 --- a/lib_enc/swb_tbe_enc_fx.c +++ b/lib_enc/swb_tbe_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -65,11 +68,7 @@ static void Quant_shb_ener_sf_fx( Encoder_State *st_fx, Word32 *shb_ener_sf_Q31, static void Quant_shb_res_gshape_fx( Encoder_State *st, Word16 shb_res_gshape_fx[] ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT static void gainFrSmooth_En_fx( Encoder_State *st_fx, Word16 *shb_frame_fx, Word16 shb_frame_q, const Word16 *lpc_shb_fx /* Q12 */, const Word16 *lsp_shb_fx /* Q15 */, Word16 *MA_lsp_shb_spacing /* Q15 */, Word16 *frGainAttenuate /* Q0 */, Word16 *frGainSmoothEn /* Q0 */ ); -#else -static void gainFrSmooth_En_fx( Encoder_State *st_fx, Word16 *shb_frame_fx /* Q_in */, const Word16 *lpc_shb_fx /* Q12 */, const Word16 *lsp_shb_fx /* Q15 */, Word16 *MA_lsp_shb_spacing /* Q15 */, Word16 *frGainAttenuate /* Q0 */, Word16 *frGainSmoothEn /* Q0 */ ); -#endif /*-------------------------------------------------------------------* @@ -398,10 +397,8 @@ void InitSWBencBuffer_fx( move32(); set16_fx( hBWE_TD->state_ana_filt_shb_fx, 0, ( 2 * ALLPASSSECTIONS_STEEP + 1 ) ); -#ifdef NONBE_FIX_ISSUE_2206 hBWE_TD->state_ana_filt_shb_fx_Q = Q15; move16(); -#endif set32_fx( hBWE_TD->elliptic_bpf_2_48k_mem_fx[0], 0, 4 ); set32_fx( hBWE_TD->elliptic_bpf_2_48k_mem_fx[1], 0, 4 ); set32_fx( hBWE_TD->elliptic_bpf_2_48k_mem_fx[2], 0, 4 ); @@ -410,10 +407,8 @@ void InitSWBencBuffer_fx( move16(); set16_fx( hBWE_TD->old_speech_shb_fx, 0, L_LOOK_16k + L_SUBFR16k ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT hBWE_TD->old_speech_shb_q = Q15; move16(); -#endif set16_fx( hBWE_TD->old_speech_wb_fx, 0, ( L_LOOK_12k8 + L_SUBFR ) * 5 / 16 ); set16_fx( hBWE_TD->old_input_fhb_fx, 0, NS2SA( 48000, ACELP_LOOK_NS + DELAY_FD_BWE_ENC_12k8_NS + DELAY_FIR_RESAMPL_NS ) - L_FRAME48k / 2 ); hBWE_TD->old_input_fhb_fx_Q = 0; @@ -434,10 +429,8 @@ void InitSWBencBuffer_fx( set16_fx( hBWE_TD->lsp_shb_slow_interpl_fx, 0, LPC_SHB_ORDER ); set16_fx( hBWE_TD->lsp_shb_fast_interpl_fx, 0, LPC_SHB_ORDER ); set16_fx( hBWE_TD->shb_inv_filt_mem_fx, 0, LPC_SHB_ORDER ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT hBWE_TD->shb_inv_filt_mem_q = Q15; move16(); -#endif set16_fx( hBWE_TD->lsp_shb_spacing_fx, 3277 /* 0.1f in Q15 */, 3 ); set16_fx( hBWE_TD->elliptic_bpf_2_48k_mem_fx_Q, 0, 4 ); @@ -474,10 +467,8 @@ void InitSWBencBuffer_fx( set16_fx( hBWE_TD->dec_2_over_3_mem_fx, 0, 12 ); set16_fx( hBWE_TD->dec_2_over_3_mem_lp_fx, 0, 6 ); -#ifdef NONBE_FIX_ISSUE_2206 hBWE_TD->dec_2_over_3_mem_q = Q15; move16(); -#endif hBWE_TD->prev_fb_energy_fx_Q = 0; move16(); @@ -577,12 +568,8 @@ void ResetSHBbuffer_Enc_fx( void wb_tbe_enc_fx( Encoder_State *st_fx, /* i/o: encoder state structure */ -#ifdef NONBE_FIX_ISSUE_2206 const Word16 *hb_speech, /* i : HB target signal (6-8kHz) at 16kHz q_hb_speech */ const Word16 q_hb_speech, /* i : Q of HB target signal (6-8kHz) at 16kHz Q0 */ -#else - const Word16 *hb_speech, /* i : HB target signal (6-8kHz) at 16kHz Q(-1) */ -#endif const Word32 *bwe_exc_extended, /* i : bandwidth extended exciatation Q(2*Q_new) */ const Word16 Q_new, /* i : input HB speech Q factor */ const Word16 voice_factors[], /* i : voicing factors Q15 */ @@ -634,21 +621,13 @@ void wb_tbe_enc_fx( hb_new_speech = hb_old_speech + WBTBE_LOOK_LSUFBR_5_OVER_16; hb_frame = hb_old_speech + WBTBE_LSUBFR_5_OVER_16 + WBTBE_ANA_ALIGNDELAY; -#ifdef NONBE_FIX_ISSUE_2206 IF( st_fx->element_mode != EVS_MONO ) { Q_ns = s_min( q_hb_speech, add( -1, norm_arr( hBWE_TD->old_speech_wb_fx, WBTBE_LOOK_LSUFBR_5_OVER_16 ) ) ); } Copy_Scale_sig_nosat( hBWE_TD->old_speech_wb_fx, hb_old_speech, WBTBE_LOOK_LSUFBR_5_OVER_16, s_min( 15, sub( Q_ns, -1 ) ) ); -#else - Copy( hBWE_TD->old_speech_wb_fx, hb_old_speech, WBTBE_LOOK_LSUFBR_5_OVER_16 ); -#endif Copy( hb_speech, hb_new_speech, LFRAME16K_OVER_4 ); -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_nosat( hb_old_speech + LFRAME16K_OVER_4, hBWE_TD->old_speech_wb_fx, WBTBE_LOOK_LSUFBR_5_OVER_16, sub( -1, Q_ns ) ); -#else - Copy( hb_old_speech + LFRAME16K_OVER_4, hBWE_TD->old_speech_wb_fx, WBTBE_LOOK_LSUFBR_5_OVER_16 ); -#endif test(); test(); @@ -659,11 +638,7 @@ void wb_tbe_enc_fx( IF( ( NE_16( st_fx->last_extl, WB_TBE ) && NE_16( st_fx->last_extl, WB_BWE ) ) && ( st_fx->clas == UNVOICED_CLAS || ( LT_16( st_fx->voicing_fx[0], 16384 ) && LT_16( st_fx->voicing_fx[1], 16384 ) && LT_16( st_fx->voicing_fx[2], 16384 ) ) ) && !st_fx->igf ) { /* In case of unvoiced signals after switching cores, back-propagate the target signal */ -#ifdef NONBE_FIX_ISSUE_2206 Copy_Scale_sig_nosat( hb_speech, hb_old_speech, WBTBE_LOOK_LSUFBR_5_OVER_16, sub( Q_ns, q_hb_speech ) ); -#else - Copy( hb_speech, hb_old_speech, WBTBE_LOOK_LSUFBR_5_OVER_16 ); -#endif i = WBTBE_LOOK_LSUFBR_5_OVER_16; move16(); @@ -685,11 +660,7 @@ void wb_tbe_enc_fx( FOR( j = 0; j < L_SUBFR16k; j = j + 4 ) { L_tmp = L_mult( hb_old_speech[i], ola_win_shb_switch_fold_fx[j] ); -#ifdef NONBE_FIX_ISSUE_2206 hb_old_speech[i] = mac_r_sat( L_tmp, shl( hb_speech[k], sub( Q_ns, q_hb_speech ) ), ola_win_shb_switch_fold_fx[L_SUBFR16k - 4 - j] ); -#else - hb_old_speech[i] = mac_r_sat( L_tmp, hb_speech[k], ola_win_shb_switch_fold_fx[L_SUBFR16k - 4 - j] ); -#endif move16(); i--; k++; @@ -1398,11 +1369,7 @@ void fb_tbe_reset_enc_fx( void swb_tbe_enc_fx( Encoder_State *st_fx, /* i/o: encoder state structure */ STEREO_ICBWE_ENC_HANDLE hStereoICBWE, /* i/o: IC-BWE state structure */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT Word16 *shb_speech_fx, /* i : SHB target signal (6-14kHz) at 16kHz Q_shb */ -#else - Word16 *shb_speech_fx, /* i : SHB target signal (6-14kHz) at 16kHz Q0 */ -#endif Word32 *bwe_exc_extended, /* i : bandwidth extended exciatation 2 * Q_new */ const Word16 voice_factors_fx[], /* i : voicing factors Q15 */ Word16 *White_exc16k_fx, /* o : shaped white excitation for the FB TBE Q_white_exc */ @@ -1564,7 +1531,6 @@ void swb_tbe_enc_fx( shb_new_speech_fx = shb_old_speech_fx + delay; } -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT Word16 Q_shb2; Q_shb2 = s_min( Q_shb, hBWE_TD->old_speech_shb_q ); @@ -1581,11 +1547,6 @@ void swb_tbe_enc_fx( Copy_Scale_sig_nosat( shb_old_speech_fx + L_FRAME16k, hBWE_TD->old_speech_shb_fx, delay, Q_shb2 ); hBWE_TD->old_speech_shb_q = add( Q_shb, Q_shb2 ); move16(); -#else - Copy( hBWE_TD->old_speech_shb_fx, shb_old_speech_fx, delay ); - Copy( shb_speech_fx, shb_new_speech_fx, L_FRAME16k ); - Copy( shb_old_speech_fx + L_FRAME16k, hBWE_TD->old_speech_shb_fx, delay ); -#endif /* autocorrelation of SHB speech for 10-th order LP analysis */ autocorr_fx( shb_old_speech_fx, @@ -1708,11 +1669,7 @@ void swb_tbe_enc_fx( /* Input signal filtering in case of tonal sounds in the high band gain Frame smoothing and attenuation control */ -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT gainFrSmooth_En_fx( st_fx, shb_frame_fx, Q_shb, lpc_shb_fx, lsf_shb_fx, &MA_lsp_shb_spacing, &frGainAttenuate, &frGainSmoothEn ); -#else - gainFrSmooth_En_fx( st_fx, shb_frame_fx, lpc_shb_fx, lsf_shb_fx, &MA_lsp_shb_spacing, &frGainAttenuate, &frGainSmoothEn ); -#endif test(); test(); @@ -2159,11 +2116,7 @@ void swb_tbe_enc_fx( /* calculate variance of the SHB autocorrelation function */ // acorr_v2a = sum2_f( acorr_EnvSHBres, ENVSHBRES_ACORR_MAX - ENVSHBRES_ACORR_MIN ) / ( ENVSHBRES_ACORR_MAX - ENVSHBRES_ACORR_MIN ); tmp_e = sub( 15, Q_shb ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT - L_tmp = Mpy_32_32( sum2_16_exp_fx( acorr_EnvSHBres, ENVSHBRES_ACORR_MAX - ENVSHBRES_ACORR_MIN, &tmp_e, 0 ), 53687091 /* 1 / ( ENVSHBRES_ACORR_MAX - ENVSHBRES_ACORR_MIN ) in Q31 */ ); -#else L_tmp = Mpy_32_32( sum2_16_exp_fx( acorr_EnvSHBres, ENVSHBRES_ACORR_MAX - ENVSHBRES_ACORR_MIN, &tmp_e, 0 ), 53687091 /* 1 / ( ENVSHBRES_ACORR_MAX - ENVSHBRES_ACORR_MIN ) in Q31 */ ); -#endif /* multiply with the maximum of the SHB autocorrelation function */ maximum_fx( acorr_EnvSHBres, ENVSHBRES_ACORR_MAX - ENVSHBRES_ACORR_MIN, &temp ); @@ -4773,12 +4726,8 @@ static Word16 Find_LSF_grid_fx( static void gainFrSmooth_En_fx( Encoder_State *st_fx, -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT Word16 *shb_frame_fx /* shb_frame_q */, Word16 shb_frame_q /* Q_in */, -#else - Word16 *shb_frame_fx /* Q_in */, -#endif const Word16 *lpc_shb_fx /* Q12 */, const Word16 *lsp_shb_fx /* Q15 */, Word16 *MA_lsp_shb_spacing /* Q15 */, @@ -4864,10 +4813,8 @@ static void gainFrSmooth_En_fx( hBWE_TD->prev_frGainAtten = 1; move16(); set16_fx( hBWE_TD->shb_inv_filt_mem_fx, 0, LPC_SHB_ORDER ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT hBWE_TD->shb_inv_filt_mem_q = Q15; move16(); -#endif } /* Estimate the moving average LSP spacing */ @@ -4894,15 +4841,9 @@ static void gainFrSmooth_En_fx( IF( NE_32( st_fx->total_brate, ACELP_24k40 ) ) { -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT_FIX_2527 Scale_sig( hBWE_TD->shb_inv_filt_mem_fx, LPC_SHB_ORDER, sub( shb_frame_q, hBWE_TD->shb_inv_filt_mem_q ) ); -#else - scale_sig( hBWE_TD->shb_inv_filt_mem_fx, LPC_SHB_ORDER, sub( shb_frame_q, hBWE_TD->shb_inv_filt_mem_q ) ); -#endif hBWE_TD->shb_inv_filt_mem_q = shb_frame_q; move16(); -#endif Copy( shb_frame_fx, temp_shb_frame, L_FRAME16k + L_SHB_LAHEAD ); fir_fx( temp_shb_frame, lpc_shb_fx, shb_frame_fx, hBWE_TD->shb_inv_filt_mem_fx, L_FRAME16k + L_SHB_LAHEAD, LPC_SHB_ORDER, 1, 3 ); } @@ -5745,10 +5686,8 @@ void TBEreset_enc_fx( ELSE IF( ( EQ_16( bandwidth, SWB ) ) || ( EQ_16( bandwidth, FB ) ) ) { set16_fx( hBWE_TD->state_ana_filt_shb_fx, 0, ( 2 * ALLPASSSECTIONS_STEEP + 1 ) ); -#ifdef NONBE_FIX_ISSUE_2206 hBWE_TD->state_ana_filt_shb_fx_Q = Q15; move16(); -#endif swb_tbe_reset_fx( hBWE_TD->mem_csfilt_fx, hBWE_TD->mem_genSHBexc_filt_down_shb_fx, hBWE_TD->state_lpc_syn_fx, hBWE_TD->syn_overlap_fx, hBWE_TD->state_syn_shbexc_fx, &( hBWE_TD->tbe_demph_fx ), &( hBWE_TD->tbe_premph_fx ), @@ -5783,10 +5722,8 @@ void InitSWBencBufferStates_fx( } set16_fx( hBWE_TD->old_speech_shb_fx, 0, L_LOOK_16k + L_SUBFR16k ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT hBWE_TD->old_speech_shb_q = Q15; move16(); -#endif set16_fx( hBWE_TD->mem_shb_res_fx, 0, MAX_LEN_MA_FILTER ); set16_fx( hBWE_TD->old_EnvSHBres_fx, 0, L_FRAME4k ); hBWE_TD->old_mean_EnvSHBres_fx = 0; diff --git a/lib_enc/tcq_core_enc_fx.c b/lib_enc/tcq_core_enc_fx.c index 517c1c0b4..6189e81f8 100644 --- a/lib_enc/tcq_core_enc_fx.c +++ b/lib_enc/tcq_core_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/tcx_ltp_enc_fx.c b/lib_enc/tcx_ltp_enc_fx.c index 8b10a8f9b..4f5a438eb 100644 --- a/lib_enc/tcx_ltp_enc_fx.c +++ b/lib_enc/tcx_ltp_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/tcx_utils_enc_fx.c b/lib_enc/tcx_utils_enc_fx.c index 757cfeb8f..bc6408f8c 100644 --- a/lib_enc/tcx_utils_enc_fx.c +++ b/lib_enc/tcx_utils_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -1146,94 +1149,7 @@ Word16 SQ_gain_estimate_fx( return tmp16; } -#ifndef FIX_BASOP_2551_HARM_SCALAR_QUAN -void tcx_scalar_quantization_fx( - Word32 *x, /* i : input coefficients */ - Word16 x_e, /* i : exponent */ - Word16 *xq, /* o : quantized coefficients */ - Word16 L_frame, /* i : frame length */ - Word16 gain, /* i : quantization gain */ - Word16 gain_e, /* i : quantization gain exponent */ - Word16 offset, /* i : rounding offset (deadzone) */ - Word8 const *memQuantZeros_fx, /* i : coefficients to be set to 0 */ - const Word16 alfe_flag ) -{ - Word16 i, tmp16, s; - Word32 tmp32, offs32; - - /* common exponent for x and gain for comparison */ - tmp16 = sub( gain_e, x_e ); - tmp32 = L_shl( L_deposit_h( gain ), s_max( -31, s_min( tmp16, 0 ) ) ); - tmp16 = negate( s_max( tmp16, 0 ) ); - - i = sub( L_frame, 1 ); - - test(); - WHILE( ( memQuantZeros_fx[i] != 0 ) && ( LT_32( L_abs( L_shl( x[i], tmp16 ) ), tmp32 ) ) ) - { - test(); - xq[i] = 0; - move16(); - i = sub( i, 1 ); - } - - /* invert gain */ - gain = Inv16( gain, &gain_e ); - - s = sub( add( x_e, gain_e ), 15 ); - - /*It should almost never happen and if so the quantization will be discarded later on (saturation of gain Quantizer).*/ - IF( GT_16( s, 31 ) ) - { - /* Limit the inverse gain to maximal possible value=sqrtL_spec/NORM_MDCT_FACTOR)*/ - gain = 22435; /*sqrt(1200/NORM_MDCT_FACTOR) in 2Q13*/ - gain_e = 2; - move16(); - move16(); - - s = sub( add( x_e, gain_e ), 15 ); - } - - /* substract 0x8000 to affect the mac_r in the following loop - so it acts like extract_h. the 0x4000 will be multiplied by 2 - by the mac_r to get to 0x8000 and disable the round. */ - offset = sub( offset, 0x4000 ); - - FOR( ; i >= 0; i-- ) - { - offs32 = Mpy_32_16_1( L_abs( x[i] ), gain ); /* multiply */ - offs32 = L_shl_sat( offs32, s ); /* convert to 15Q16 */ - tmp16 = mac_r_sat( offs32, offset, 1 ); /* add offset and truncate */ - IF( x[i] < 0 ) - { - tmp16 = negate( tmp16 ); /* restore sign */ - } - - xq[i] = tmp16; - move16(); - } - - IF( alfe_flag == 0 ) - { - AdaptLowFreqEmph_fx( x, x_e, xq, gain, gain_e, 0, NULL, NULL, L_frame ); - } - return; -} -#endif // !FIX_BASOP_2551_HARM_SCALAR_QUAN - -#ifndef FIX_BASOP_2551_HARM_SCALAR_QUAN -void tcx_scalar_quantization_ivas_fx( - Word32 *x, /* i : input coefficients exponent = x_e */ - Word16 x_e, /* i : exponent */ - Word16 *xq, /* o : quantized coefficients */ - Word16 L_frame, /* i : frame length */ - Word16 gain, /* i : quantization gain exponent = gain_e */ - Word16 gain_e, /* i : quantization gain exponent */ - Word16 offset, /* i : rounding offset (deadzone) */ - Word8 const *memQuantZeros_fx, /* i : coefficients to be set to 0 */ - const Word16 alfe_flag ) -#else void tcx_scalar_quantization_fx( Word32 *x, /* i : input coefficients exponent = x_e */ Word16 x_e, /* i : exponent */ @@ -1245,7 +1161,6 @@ void tcx_scalar_quantization_fx( Word8 const *memQuantZeros_fx, /* i : coefficients to be set to 0 */ const Word16 alfe_flag, const Word16 element_mode ) -#endif // !FIX_BASOP_2551_HARM_SCALAR_QUAN { Word16 i, tmp16, s; Word32 tmp32, offs32; @@ -1254,12 +1169,8 @@ void tcx_scalar_quantization_fx( /* common exponent for x and gain for comparison */ tmp16 = sub( gain_e, x_e ); -#ifndef FIX_BASOP_2551_HARM_SCALAR_QUAN - tmp32 = L_shl_sat( L_deposit_h( gain ), tmp16 ); // exp:x_e -#else tmp32 = L_shl( L_deposit_h( gain ), s_max( -31, s_min( tmp16, 0 ) ) ); tmp16 = negate( s_max( tmp16, 0 ) ); -#endif // !FIX_BASOP_2551_HARM_SCALAR_QUAN i = sub( L_frame, 1 ); IF( memQuantZeros_fx != NULL ) @@ -1290,35 +1201,12 @@ void tcx_scalar_quantization_fx( s = sub( add( x_e, gain_e ), 15 ); } -#ifdef FIX_BASOP_2551_HARM_SCALAR_QUAN if ( EQ_16( element_mode, EVS_MONO ) ) { offset = sub( offset, 0x4000 ); } -#endif // FIX_BASOP_2551_HARM_SCALAR_QUAN -#ifndef FIX_BASOP_2551_HARM_SCALAR_QUAN - FOR( ; i >= 0; i-- ) - { - offs32 = Mpy_32_16_1( x[i], gain ); - offs32 = L_shl_sat( offs32, s ); /* convert to 15Q16 */ - - offs32_1 = L_add_sat( offs32, offset_Q16 ); /*15Q16 */ - tmp16 = extract_h( offs32_1 ); - IF( x[i] < 0 ) - { - offs32 = L_sub_sat( offs32, offset_Q16 ); /*15Q16 */ - tmp16 = extract_h( offs32 ); - if ( L_mac_sat( offs32, tmp16, -ONE_IN_Q15 ) > 0 ) - { - tmp16 = add( tmp16, 1 ); - } - } - xq[i] = tmp16; - move16(); - } -#else IF( EQ_16( element_mode, EVS_MONO ) ) { FOR( ; i >= 0; i-- ) @@ -1360,7 +1248,6 @@ void tcx_scalar_quantization_fx( move16(); } } -#endif IF( alfe_flag == 0 ) { @@ -1682,18 +1569,7 @@ Word16 tcx_scalar_quantization_rateloop_fx( } /* Quantize spectrum */ -#ifndef FIX_BASOP_2551_HARM_SCALAR_QUAN - IF( EQ_16( element_mode, EVS_MONO ) ) - { - tcx_scalar_quantization_fx( x, x_e, xq, L_frame, sqGain, sqGain_e, offset, memQuantZeros_fx, tcxonly ); - } - ELSE - { - tcx_scalar_quantization_ivas_fx( x, x_e, xq, L_frame, sqGain, sqGain_e, offset, memQuantZeros_fx, tcxonly ); - } -#else tcx_scalar_quantization_fx( x, x_e, xq, L_frame, sqGain, sqGain_e, offset, memQuantZeros_fx, tcxonly, element_mode ); -#endif // !FIX_BASOP_2551_HARM_SCALAR_QUAN /* Estimate bitrate */ stopFlag = 1; move16(); @@ -1744,20 +1620,7 @@ Word16 tcx_scalar_quantization_rateloop_fx( IF( GE_16( tcxRateLoopOpt, 1 ) ) { -#ifndef FIX_BASOP_2551_HARM_SCALAR_QUAN - - IF( EQ_16( element_mode, EVS_MONO ) ) - { - tcx_scalar_quantization_fx( x, x_e, xq, L_frame, *gain, *gain_e, offset, memQuantZeros_fx, tcxonly ); - } - ELSE - { - tcx_scalar_quantization_ivas_fx( x, x_e, xq, L_frame, *gain, *gain_e, offset, memQuantZeros_fx, tcxonly ); - } - -#else tcx_scalar_quantization_fx( x, x_e, xq, L_frame, *gain, *gain_e, offset, memQuantZeros_fx, tcxonly, element_mode ); -#endif // !FIX_BASOP_2551_HARM_SCALAR_QUAN /* Output */ @@ -2573,24 +2436,15 @@ void tcx_encoder_memory_update_ivas_fx( Word16 preemph, /* i : preemphasis factor, Q15 */ LPD_state *LPDmem, /* i/o: coder memory state */ Encoder_State *st, -#ifndef NONBE_FIX_ISSUE_2206 - Word16 *synthout, /* Q_new */ -#endif Word16 Q_new ) { Word16 tmp; Word16 buf[1 + M + LFAC + L_FRAME_PLUS]; Word16 *synth; -#ifndef NONBE_FIX_ISSUE_2206 - /* Output synth */ - Copy( xn_buf, synthout, L_frame_glob ); -#endif /* Update synth */ synth = buf + M + 1; -#ifdef NONBE_FIX_ISSUE_2206 assert( Q_new == LPDmem->q_lpd_syn ); -#endif Copy( LPDmem->syn, buf, M + 1 ); Copy( xn_buf, synth, L_frame_glob ); @@ -3142,7 +2996,6 @@ void ProcessIGF_fx( } test(); -#ifdef FIX_BASOP_2548_ProcessIGF_fx_PREDICTIONGAIN IF( EQ_16( st->element_mode, EVS_MONO ) ) { // this is a bug in the EVS legacy code, the IVAS branch is correct - don't fix for now, to keep EVS bit-exact @@ -3152,9 +3005,6 @@ void ProcessIGF_fx( { tns_predictionGain = L_deposit_h( hIGFEnc->tns_predictionGain ); } -#else - tns_predictionGain = L_deposit_l( hIGFEnc->tns_predictionGain ); -#endif IF( LT_32( tns_predictionGain, ONE_POINT_ONE_FIVE_Q23 ) && LT_16( predictionGain, ONE_POINT_ONE_FIVE_Q7 ) ) { hIGFEnc->flatteningTrigger = 1; diff --git a/lib_enc/tfa_enc_fx.c b/lib_enc/tfa_enc_fx.c index baea8b4f9..d345e1beb 100644 --- a/lib_enc/tfa_enc_fx.c +++ b/lib_enc/tfa_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/tns_base_enc_fx.c b/lib_enc/tns_base_enc_fx.c index 37883fb48..7f7c8fc83 100644 --- a/lib_enc/tns_base_enc_fx.c +++ b/lib_enc/tns_base_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/transient_detection_fx.c b/lib_enc/transient_detection_fx.c index f68923d69..e986e09ab 100644 --- a/lib_enc/transient_detection_fx.c +++ b/lib_enc/transient_detection_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -652,18 +655,6 @@ void SetTCXModeInfo_fx( move16(); } } -#ifdef SUPPORT_FORCE_TCX10_TCX20 -#ifdef DEBUGGING - if ( st->force == FORCE_TCX10 ) - { - hTcxEnc->tcxMode = TCX_10; - } - else if ( st->force == FORCE_TCX20 ) - { - hTcxEnc->tcxMode = TCX_20; - } -#endif -#endif /* set the left window overlap */ test(); diff --git a/lib_enc/transition_enc_fx.c b/lib_enc/transition_enc_fx.c index 00e047e16..7a5029a10 100644 --- a/lib_enc/transition_enc_fx.c +++ b/lib_enc/transition_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/update_decision_fx.c b/lib_enc/update_decision_fx.c index e25e4d50c..2272cd7e8 100644 --- a/lib_enc/update_decision_fx.c +++ b/lib_enc/update_decision_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/updt_enc_fx.c b/lib_enc/updt_enc_fx.c index 9224b1081..fe4a1d48f 100644 --- a/lib_enc/updt_enc_fx.c +++ b/lib_enc/updt_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ @@ -34,7 +37,6 @@ void updt_enc_fx( GSC_ENC_HANDLE hGSCEnc = st->hGSCEnc; TD_BWE_ENC_HANDLE hBWE_TD = st->hBWE_TD; -#ifdef NONBE_FIX_ISSUE_2518 /* update old excitation buffer */ IF( st->element_mode > EVS_MONO ) { @@ -71,10 +73,6 @@ void updt_enc_fx( { Copy( &old_exc[st->L_frame], hLPDmem->old_exc, L_EXC_MEM ); } -#else - /* update old excitation buffer */ - Copy( &old_exc[st->L_frame], hLPDmem->old_exc, L_EXC_MEM ); -#endif test(); test(); IF( !st->Opt_AMR_WB && st->hBWE_TD != NULL ) @@ -242,10 +240,8 @@ void updt_IO_switch_enc_fx( /* reset TD BWE buffers */ set16_fx( hBWE_TD->old_speech_shb_fx, 0, L_LOOK_16k + L_SUBFR16k ); -#ifdef NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT hBWE_TD->old_speech_shb_q = Q15; move16(); -#endif set16_fx( hBWE_TD->old_speech_wb_fx, 0, ( L_LOOK_12k8 + L_SUBFR ) * 5 / 16 ); set16_fx( hBWE_TD->old_bwe_exc_fx, 0, PIT16k_MAX * 2 ); set16_fx( hBWE_TD->old_bwe_exc_extended_fx, 0, NL_BUFF_OFFSET ); diff --git a/lib_enc/updt_tar_fx.c b/lib_enc/updt_tar_fx.c index b875a7ee4..f3b0c4696 100644 --- a/lib_enc/updt_tar_fx.c +++ b/lib_enc/updt_tar_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/vad_basop.h b/lib_enc/vad_basop.h index f6a0fed34..828d7cc7e 100644 --- a/lib_enc/vad_basop.h +++ b/lib_enc/vad_basop.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/vad_basop_fx.c b/lib_enc/vad_basop_fx.c index c4a5705c2..cba9352f8 100644 --- a/lib_enc/vad_basop_fx.c +++ b/lib_enc/vad_basop_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/vad_fx.c b/lib_enc/vad_fx.c index eec0b656d..e175c4514 100644 --- a/lib_enc/vad_fx.c +++ b/lib_enc/vad_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/vad_param_updt_fx.c b/lib_enc/vad_param_updt_fx.c index 9677fd2eb..681ea0384 100644 --- a/lib_enc/vad_param_updt_fx.c +++ b/lib_enc/vad_param_updt_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/vad_proc_fx.c b/lib_enc/vad_proc_fx.c index b3aac988c..6526e67f0 100644 --- a/lib_enc/vad_proc_fx.c +++ b/lib_enc/vad_proc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/vbr_average_rate_fx.c b/lib_enc/vbr_average_rate_fx.c index fd1092104..d4775625b 100644 --- a/lib_enc/vbr_average_rate_fx.c +++ b/lib_enc/vbr_average_rate_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/vlpc_1st_cod_fx.c b/lib_enc/vlpc_1st_cod_fx.c index f9b5ebbb3..0272d9d7d 100644 --- a/lib_enc/vlpc_1st_cod_fx.c +++ b/lib_enc/vlpc_1st_cod_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/vlpc_2st_cod_fx.c b/lib_enc/vlpc_2st_cod_fx.c index 780e0e89e..1685e5a33 100644 --- a/lib_enc/vlpc_2st_cod_fx.c +++ b/lib_enc/vlpc_2st_cod_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/voiced_enc_fx.c b/lib_enc/voiced_enc_fx.c index 40c7f8c13..be14256c0 100644 --- a/lib_enc/voiced_enc_fx.c +++ b/lib_enc/voiced_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_enc/waveadjust_fec_cod_fx.c b/lib_enc/waveadjust_fec_cod_fx.c index 07fa26b5b..8f60ad0c2 100644 --- a/lib_enc/waveadjust_fec_cod_fx.c +++ b/lib_enc/waveadjust_fec_cod_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 ====================================================================================*/ diff --git a/lib_isar/isar_MSPred.c b/lib_isar/isar_MSPred.c index 6698a12b3..fe9821877 100644 --- a/lib_isar/isar_MSPred.c +++ b/lib_isar/isar_MSPred.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "options.h" #include diff --git a/lib_isar/isar_PerceptualModel.c b/lib_isar/isar_PerceptualModel.c index 3ad12b9a4..a52902361 100644 --- a/lib_isar/isar_PerceptualModel.c +++ b/lib_isar/isar_PerceptualModel.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_isar/isar_PredDecoder.c b/lib_isar/isar_PredDecoder.c index 94d85f2eb..8a77f33e5 100644 --- a/lib_isar/isar_PredDecoder.c +++ b/lib_isar/isar_PredDecoder.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_isar/isar_PredEncoder.c b/lib_isar/isar_PredEncoder.c index 1cad13a8c..dd104a033 100644 --- a/lib_isar/isar_PredEncoder.c +++ b/lib_isar/isar_PredEncoder.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_isar/isar_RMSEnvGrouping.c b/lib_isar/isar_RMSEnvGrouping.c index ab6237a53..aac01383a 100644 --- a/lib_isar/isar_RMSEnvGrouping.c +++ b/lib_isar/isar_RMSEnvGrouping.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /* Double check cost function calculation */ @@ -867,9 +839,6 @@ static void LimitRMSEnvelope( IF( GT_32( iDelta, iRMSDeltaMax ) ) { -#ifdef DEBUGGING - printf( "Warning: RMS envelope delta limited!\n" ); -#endif piRMSEnvelope[iBand] = L_add( L_sub( iDelta, iRMSDeltaMax ), piRMSEnvelope[iBand] ); } @@ -887,9 +856,6 @@ static void LimitRMSEnvelope( IF( LT_32( iDelta, iRMSDeltaMin ) ) { -#ifdef DEBUGGING - printf( "Warning: RMS envelope delta limited!\n" ); -#endif piRMSEnvelope[iBand] = L_add( piRMSEnvelope[iBand], L_sub( iRMSDeltaMin, iDelta ) ); } diff --git a/lib_isar/isar_cnst.h b/lib_isar/isar_cnst.h index 449577f43..5f911256d 100644 --- a/lib_isar/isar_cnst.h +++ b/lib_isar/isar_cnst.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef ISAR_CNST_H #define ISAR_CNST_H diff --git a/lib_isar/isar_lc3plus_common.c b/lib_isar/isar_lc3plus_common.c index d8fc0cdb5..56ab5859b 100644 --- a/lib_isar/isar_lc3plus_common.c +++ b/lib_isar/isar_lc3plus_common.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_isar/isar_lc3plus_common.h b/lib_isar/isar_lc3plus_common.h index 5af4f80a8..bb7886a3c 100644 --- a/lib_isar/isar_lc3plus_common.h +++ b/lib_isar/isar_lc3plus_common.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef ISAR_LC3PLUS_COM_H #define ISAR_LC3PLUS_COM_H diff --git a/lib_isar/isar_lc3plus_dec.c b/lib_isar/isar_lc3plus_dec.c index 7f158cc04..9c054dc16 100644 --- a/lib_isar/isar_lc3plus_dec.c +++ b/lib_isar/isar_lc3plus_dec.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_isar/isar_lc3plus_dec.h b/lib_isar/isar_lc3plus_dec.h index 6f469f48b..765b62ee5 100644 --- a/lib_isar/isar_lc3plus_dec.h +++ b/lib_isar/isar_lc3plus_dec.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef ISAR_LC3PLUS_DEC_H #define ISAR_LC3PLUS_DEC_H diff --git a/lib_isar/isar_lc3plus_enc.c b/lib_isar/isar_lc3plus_enc.c index 9795833a3..9cc031ed9 100644 --- a/lib_isar/isar_lc3plus_enc.c +++ b/lib_isar/isar_lc3plus_enc.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "isar_lc3plus_enc.h" #include "isar_lc3plus_common.h" diff --git a/lib_isar/isar_lc3plus_enc.h b/lib_isar/isar_lc3plus_enc.h index 5ce87a91f..ba69d7b0a 100644 --- a/lib_isar/isar_lc3plus_enc.h +++ b/lib_isar/isar_lc3plus_enc.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef ISAR_LC3PLUS_ENC_H #define ISAR_LC3PLUS_ENC_H diff --git a/lib_isar/isar_lc3plus_payload.c b/lib_isar/isar_lc3plus_payload.c index 0a201b074..468a99a04 100644 --- a/lib_isar/isar_lc3plus_payload.c +++ b/lib_isar/isar_lc3plus_payload.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_isar/isar_lc3plus_payload.h b/lib_isar/isar_lc3plus_payload.h index 7ebdb3342..9cb9de1b8 100644 --- a/lib_isar/isar_lc3plus_payload.h +++ b/lib_isar/isar_lc3plus_payload.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef ISAR_LC3PLUS_PAYLOAD_H #define ISAR_LC3PLUS_PAYLOAD_H diff --git a/lib_isar/isar_lcld_decoder.c b/lib_isar/isar_lcld_decoder.c index d4d6074f8..c58c79f2b 100644 --- a/lib_isar/isar_lcld_decoder.c +++ b/lib_isar/isar_lcld_decoder.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -41,7 +13,6 @@ #include "basop_util.h" #include "prot_fx.h" // #define DEBUG_WRITE -#include "debug.h" #include "enh64.h" /*------------------------------------------------------------------------------------------* diff --git a/lib_isar/isar_lcld_encoder.c b/lib_isar/isar_lcld_encoder.c index 5b34a4ff3..6ad73a045 100644 --- a/lib_isar/isar_lcld_encoder.c +++ b/lib_isar/isar_lcld_encoder.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_isar/isar_lcld_prot.h b/lib_isar/isar_lcld_prot.h index aa9cd5107..24827087b 100644 --- a/lib_isar/isar_lcld_prot.h +++ b/lib_isar/isar_lcld_prot.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef ISAR_LCLD_PROT_H #define ISAR_LCLD_PROT_H diff --git a/lib_isar/isar_prot.h b/lib_isar/isar_prot.h index 43990c55b..9925b2721 100644 --- a/lib_isar/isar_prot.h +++ b/lib_isar/isar_prot.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef ISAR_PROT_H #define ISAR_PROT_H @@ -48,10 +20,6 @@ ivas_error isar_splitBinPreRendOpen( ISAR_BIN_HR_SPLIT_PRE_REND_HANDLE *hBinHrSplitPreRend, /* i/o: binaural pre-renderer handle */ MULTI_BIN_REND_POSE_DATA *pMultiBinPoseData /* i/o: pose correction data handle */ -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - , - const Word32 output_Fs -#endif ); ivas_error split_renderer_open_lc3plus( @@ -154,20 +122,6 @@ void isar_splitBinRendPLC( Word16 exp ); -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG -void isar_log_cldfb2wav_data( - float Cldfb_In_Real[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], - float Cldfb_In_Imag[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], - HANDLE_CLDFB_FILTER_BANK *cldfbSyn, - const Word16 num_chs, - const Word16 num_freq_bands, - const Word32 output_Fs, - const Word16 start_slot_idx, - const Word16 md_band_idx, - const char *filename -); - -#endif void isar_splitBinLCLDDecProcess( ISAR_BIN_HR_SPLIT_LCLD_DEC_HANDLE hSplitBinLCLDDec, /* i/o: ISAR LCLD decoder handle */ ISAR_SPLIT_REND_BITS_HANDLE pBits, /* i/o: ISAR bits handle */ @@ -241,10 +195,6 @@ void isar_splitBinPostRendMdDec_fx( ISAR_SPLIT_REND_BITS_HANDLE pBits, /* i/o: ISAR bits handle */ ISAR_BIN_HR_SPLIT_POST_REND_HANDLE hBinHrSplitPostRend, /* i/o: binaural post-renderer handle */ MULTI_BIN_REND_POSE_DATA *pMultiBinPoseData /* i/o: pose correction data handle */ -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - , - BIN_HR_SPLIT_PRE_REND_HANDLE hBinHrSplitPreRend /* i/o: binaural pre-renderer handle */ -#endif ); void Quat2EulerDegree( @@ -466,10 +416,6 @@ void ivas_calculate_rabs_fx( Word16 *exp_out ); -#ifdef SPLIT_POSE_CORRECTION_DEBUG -#define IVAS_CALCULATE_ABS( re, im, out ) \ - out = sqrtf( ( re * re ) + ( im * im ) ); -#endif /* clang-format on */ diff --git a/lib_isar/isar_rom_lcld_tables.c b/lib_isar/isar_rom_lcld_tables.c index 287d3f70c..186a2e087 100644 --- a/lib_isar/isar_rom_lcld_tables.c +++ b/lib_isar/isar_rom_lcld_tables.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "isar_rom_lcld_tables.h" #include "options.h" @@ -294,42 +266,6 @@ const Word32 c_aiQuantMaxValues_fx[ALLOC_TABLE_SIZE] = { 377487360, }; -#ifndef FIX_2095_REMOVE_UNUSED_ISAR_TABLES -const Word32 c_aiQuantMaxValues[ALLOC_TABLE_SIZE] = { - 0, - 3, - 3, - 4, - 5, - 5, - 6, - 7, - 8, - 9, - 12, - 13, - 16, - 17, - 19, - 23, - 26, - 26, - 27, - 28, - 31, - 36, - 38, - 45, - 54, - 64, - 76, - 90, - 108, - 128, - 152, - 180, -}; -#endif const Word32 c_aiHuffmanDim_fx[ALLOC_TABLE_SIZE] = { 2, @@ -471,42 +407,6 @@ const Word32 c_aiHuffmanMod[ALLOC_TABLE_SIZE] = { 1, }; -#ifndef FIX_2095_REMOVE_UNUSED_ISAR_TABLES -const Word32 c_aiHuffmanSize[ALLOC_TABLE_SIZE] = { - 1, - 16, - 16, - 25, - 36, - 36, - 49, - 64, - 81, - 100, - 169, - 196, - 289, - 324, - 400, - 576, - 729, - 729, - 28, - 29, - 32, - 37, - 39, - 46, - 55, - 65, - 77, - 91, - 109, - 129, - 153, - 181, -}; -#endif const UWord32 c_aaiRMSEnvHuffEnc[64][2] = { { 0x0014, 0x0000 }, @@ -19213,1246 +19113,142 @@ const Word16 c_aiLogAddTable_fx[LOG_ADD_TABLE_LENGTH] = { 0x00, }; -#ifndef FIX_2095_REMOVE_UNUSED_ISAR_TABLES -const Word32 c_aiLogAddTable[LOG_ADD_TABLE_LENGTH] = { - 0x40, - 0x40, - 0x3F, - 0x3F, - 0x3E, - 0x3E, - 0x3D, - 0x3D, - 0x3C, - 0x3C, - 0x3B, - 0x3B, - 0x3A, - 0x3A, - 0x39, - 0x39, - 0x38, - 0x38, - 0x37, - 0x37, - 0x37, - 0x36, - 0x36, - 0x35, - 0x35, - 0x34, - 0x34, - 0x33, - 0x33, - 0x33, - 0x32, - 0x32, - 0x31, - 0x31, - 0x31, - 0x30, - 0x30, - 0x2F, - 0x2F, - 0x2F, - 0x2E, - 0x2E, - 0x2D, - 0x2D, - 0x2D, - 0x2C, - 0x2C, - 0x2B, - 0x2B, - 0x2B, - 0x2A, - 0x2A, - 0x2A, - 0x29, - 0x29, - 0x29, - 0x28, - 0x28, - 0x27, - 0x27, - 0x27, - 0x26, - 0x26, - 0x26, - 0x25, - 0x25, - 0x25, - 0x24, - 0x24, - 0x24, - 0x23, - 0x23, - 0x23, - 0x23, - 0x22, - 0x22, - 0x22, - 0x21, - 0x21, - 0x21, - 0x20, - 0x20, - 0x20, - 0x20, - 0x1F, - 0x1F, - 0x1F, - 0x1E, - 0x1E, - 0x1E, - 0x1E, - 0x1D, - 0x1D, - 0x1D, - 0x1C, - 0x1C, - 0x1C, - 0x1C, - 0x1B, - 0x1B, - 0x1B, - 0x1B, - 0x1A, - 0x1A, - 0x1A, - 0x1A, - 0x19, - 0x19, - 0x19, - 0x19, - 0x18, - 0x18, - 0x18, - 0x18, - 0x18, - 0x17, - 0x17, - 0x17, - 0x17, - 0x16, - 0x16, - 0x16, - 0x16, - 0x16, - 0x15, - 0x15, - 0x15, - 0x15, - 0x15, - 0x14, - 0x14, - 0x14, - 0x14, - 0x14, - 0x13, - 0x13, - 0x13, - 0x13, - 0x13, - 0x13, - 0x12, - 0x12, - 0x12, - 0x12, - 0x12, - 0x11, - 0x11, - 0x11, - 0x11, - 0x11, - 0x11, - 0x10, - 0x10, - 0x10, - 0x10, - 0x10, - 0x10, - 0x0F, - 0x0F, - 0x0F, - 0x0F, - 0x0F, - 0x0F, - 0x0F, - 0x0E, - 0x0E, - 0x0E, - 0x0E, - 0x0E, - 0x0E, - 0x0E, - 0x0D, - 0x0D, - 0x0D, - 0x0D, - 0x0D, - 0x0D, - 0x0D, - 0x0D, - 0x0C, - 0x0C, - 0x0C, - 0x0C, - 0x0C, - 0x0C, - 0x0C, - 0x0C, - 0x0B, - 0x0B, - 0x0B, - 0x0B, - 0x0B, - 0x0B, - 0x0B, - 0x0B, - 0x0B, - 0x0A, - 0x0A, - 0x0A, - 0x0A, - 0x0A, - 0x0A, - 0x0A, - 0x0A, - 0x0A, - 0x0A, - 0x09, - 0x09, - 0x09, - 0x09, - 0x09, - 0x09, - 0x09, - 0x09, - 0x09, - 0x09, - 0x08, - 0x08, - 0x08, - 0x08, - 0x08, - 0x08, - 0x08, - 0x08, - 0x08, - 0x08, - 0x08, - 0x08, - 0x08, - 0x07, - 0x07, - 0x07, - 0x07, - 0x07, - 0x07, - 0x07, - 0x07, - 0x07, - 0x07, - 0x07, - 0x07, - 0x07, - 0x06, - 0x06, - 0x06, - 0x06, - 0x06, - 0x06, - 0x06, - 0x06, - 0x06, - 0x06, - 0x06, - 0x06, - 0x06, - 0x06, - 0x06, - 0x06, - 0x05, - 0x05, - 0x05, - 0x05, - 0x05, - 0x05, - 0x05, - 0x05, - 0x05, - 0x05, - 0x05, - 0x05, - 0x05, - 0x05, - 0x05, - 0x05, - 0x05, - 0x05, - 0x05, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, -}; -#endif - -const Word16 c_aiBandwidthAdjust48_fx[MAX_BANDS_48] = { - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 64, - 64, - 64, - 64, - 64, - 101, - 101, - 128, - 165, - 165, - 180, - 213, -}; - -#ifndef FIX_2095_REMOVE_UNUSED_ISAR_TABLES -const Word32 c_aiBandwidthAdjust48[MAX_BANDS_48] = { - - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 64, - 64, - 64, - 64, - 64, - 101, - 101, - 128, - 165, - 165, - 180, - 213, -}; -#endif - -const Word16 c_aiAbsoluteThresh48_fx[MAX_BANDS_48] = { - -1787, - -1787, - -1787, - -1787, - -1787, - -1787, - -1787, - -1787, - -1782, - -1761, - -1737, - -1679, - -1638, - -1613, - -1590, - -1568, - -1516, - -1459, - -1395, - -1289, - -671, - -409, - -401, -}; - -#ifndef FIX_2095_REMOVE_UNUSED_ISAR_TABLES -const Word32 c_aiAbsoluteThresh48[MAX_BANDS_48] = { - -1787, - -1787, - -1787, - -1787, - -1787, - -1787, - -1787, - -1787, - -1782, - -1761, - -1737, - -1679, - -1638, - -1613, - -1590, - -1568, - -1516, - -1459, - -1395, - -1289, - -671, - -409, - -401, -}; -#endif - -#if PERCEPTUAL_MODEL_SLGAIN_SHIFT == 4 -const Word32 c_aiDefaultTheta48[MAX_BANDS_48] = { - 7, - 7, - 6, - 5, - 5, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, -}; -#elif PERCEPTUAL_MODEL_SLGAIN_SHIFT == 8 -const Word16 c_aiDefaultTheta48_fx[MAX_BANDS_48] = { - - 112, - 112, - 96, - 80, - 80, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, -}; -#endif -const Word32 c_aiDefaultTheta48[MAX_BANDS_48] = { - - 112, - 112, - 96, - 80, - 80, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, - 64, -}; -const Word16 c_aaiSpreadFunction48_fx[MAX_BANDS_48 * MAX_BANDS_48] = { - 0, - -1561, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -289, - -4, - -1234, - -2295, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -569, - -229, - -8, - -905, - -1705, - -2324, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -789, - -445, - -173, - -16, - -656, - -1271, - -1765, - -2172, - -2520, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -961, - -616, - -340, - -136, - -28, - -488, - -976, - -1382, - -1729, - -2032, - -2305, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -1088, - -743, - -465, - -257, - -148, - -31, - -371, - -769, - -1114, - -1417, - -1689, - -2054, - -2483, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -1198, - -852, - -574, - -364, - -209, - -148, - -42, - -300, - -635, - -936, - -1207, - -1572, - -2000, - -2376, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -1293, - -948, - -669, - -458, - -301, - -183, - -145, - -56, - -258, - -547, - -816, - -1179, - -1606, - -1982, - -2311, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -1375, - -1029, - -750, - -539, - -381, - -260, - -180, - -142, - -68, - -231, - -487, - -846, - -1272, - -1647, - -1976, - -2261, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -1444, - -1099, - -820, - -608, - -449, - -328, - -233, - -194, - -138, - -77, - -213, - -555, - -978, - -1352, - -1681, - -1966, - -2268, - -2552, - -2552, - -2552, - -2552, - -2552, - -2552, - -1501, - -1155, - -876, - -665, - -505, - -383, - -287, - -210, - -193, - -130, - -79, - -298, - -711, - -1083, - -1411, - -1696, - -1997, - -2288, - -2550, - -2552, - -2552, - -2552, - -2552, - -1567, - -1221, - -942, - -730, - -570, - -448, - -351, - -272, - -206, - -189, - -151, - -72, - -349, - -713, - -1039, - -1324, - -1625, - -1915, - -2177, - -2448, - -2552, - -2552, - -2552, - -1650, - -1304, - -1025, - -813, - -653, - -530, - -432, - -352, - -285, - -227, - -177, - -163, - -69, - -297, - -613, - -895, - -1195, - -1485, - -1746, - -2017, - -2238, - -2401, - -2545, - -1727, - -1381, - -1102, - -890, - -730, - -607, - -509, - -428, - -360, - -301, - -249, - -180, - -153, - -72, - -257, - -527, - -824, - -1112, - -1373, - -1643, - -1865, - -2028, - -2171, - -1798, - -1452, - -1173, - -960, - -800, - -677, - -579, - -498, - -430, - -370, - -317, - -246, - -192, - -145, - -76, - -224, - -505, - -790, - -1050, - -1320, - -1540, - -1703, - -1847, - -1860, - -1514, - -1234, - -1022, - -862, - -738, - -640, - -559, - -490, - -430, - -377, - -306, - -224, - -197, - -136, - -81, - -242, - -515, - -771, - -1040, - -1260, - -1422, - -1566, - -1923, - -1577, - -1297, - -1085, - -925, - -801, - -703, - -621, - -553, - -492, - -439, - -367, - -284, - -213, - -198, - -144, - -83, - -235, - -479, - -744, - -963, - -1125, - -1268, - -1986, - -1640, - -1360, - -1148, - -988, - -864, - -766, - -684, - -615, - -555, - -501, - -429, - -345, - -273, - -211, - -204, - -146, - -89, - -216, - -465, - -680, - -841, - -984, - -2043, - -1697, - -1417, - -1205, - -1044, - -921, - -822, - -741, - -672, - -611, - -557, - -485, + +const Word16 c_aiBandwidthAdjust48_fx[MAX_BANDS_48] = { + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 64, + 64, + 64, + 64, + 64, + 101, + 101, + 128, + 165, + 165, + 180, + 213, +}; + + +const Word16 c_aiAbsoluteThresh48_fx[MAX_BANDS_48] = { + -1787, + -1787, + -1787, + -1787, + -1787, + -1787, + -1787, + -1787, + -1782, + -1761, + -1737, + -1679, + -1638, + -1613, + -1590, + -1568, + -1516, + -1459, + -1395, + -1289, + -671, + -409, -401, - -328, - -264, - -211, - -205, - -140, - -93, - -227, - -430, - -588, - -729, - -2104, - -1758, - -1479, - -1266, - -1106, - -982, - -884, - -802, - -733, - -673, - -619, - -546, - -461, - -388, - -324, - -269, - -212, - -211, - -151, - -100, - -195, - -336, - -472, - -2163, - -1817, - -1537, - -1324, - -1164, - -1040, - -942, - -860, - -791, - -731, - -676, - -604, - -519, - -445, - -380, - -325, - -268, - -226, - -219, - -147, - -114, - -167, - -280, - -2203, - -1857, - -1577, - -1365, - -1205, - -1081, - -982, - -901, - -831, - -771, - -717, - -644, - -559, - -485, - -420, - -364, - -306, - -252, - -239, - -206, - -132, - -122, - -163, - -2224, - -1878, - -1598, - -1386, - -1225, - -1102, - -1003, - -921, - -852, - -792, - -737, - -665, - -580, - -505, - -441, - -385, - -326, - -271, - -222, - -224, - -176, - -121, - -114, }; -#ifndef FIX_2095_REMOVE_UNUSED_ISAR_TABLES -const Word32 c_aaiSpreadFunction48[MAX_BANDS_48 * MAX_BANDS_48] = { + +#if PERCEPTUAL_MODEL_SLGAIN_SHIFT == 4 +const Word32 c_aiDefaultTheta48[MAX_BANDS_48] = { + 7, + 7, + 6, + 5, + 5, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, +}; +#elif PERCEPTUAL_MODEL_SLGAIN_SHIFT == 8 +const Word16 c_aiDefaultTheta48_fx[MAX_BANDS_48] = { + + 112, + 112, + 96, + 80, + 80, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, +}; +#endif +const Word32 c_aiDefaultTheta48[MAX_BANDS_48] = { + + 112, + 112, + 96, + 80, + 80, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, + 64, +}; +const Word16 c_aaiSpreadFunction48_fx[MAX_BANDS_48 * MAX_BANDS_48] = { 0, -1561, -2552, @@ -20984,7 +19780,6 @@ const Word32 c_aaiSpreadFunction48[MAX_BANDS_48 * MAX_BANDS_48] = { -114, }; -#endif const Word32 c_pfMagLUT[8] = /* Q31 */ { 0, 394599072, 775760576, 1130504448, 1446750336, 1713728896, 1922348544, 2065504896 @@ -21008,8 +19803,3 @@ const Word32 c_pfP2RImagLUT[32] = /* Q31 */ { 821806080, 418953248 }; -#ifndef FIX_2095_REMOVE_UNUSED_ISAR_TABLES -const Word32 c_pfWindowLUT[LCLD_PRED_WIN_LEN] = /* Q31 */ { - 190779840, 338280192, 610825408, 966922816, 1352359680, 1708457216, 1981002240, 2128502656, 2128502528, 1981002240, 1708456960, 1352359808, 966922624, 610825152, 338280192, 190779776 -}; -#endif diff --git a/lib_isar/isar_rom_lcld_tables.h b/lib_isar/isar_rom_lcld_tables.h index 278ca2d74..a43e72468 100644 --- a/lib_isar/isar_rom_lcld_tables.h +++ b/lib_isar/isar_rom_lcld_tables.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef ISAR_ROM_LCLD_TABLES_H #define ISAR_ROM_LCLD_TABLES_H @@ -130,14 +102,6 @@ extern const Word16 c_aiDefaultTheta48_fx[MAX_BANDS_48]; extern const Word16 c_aaiSpreadFunction48_fx[MAX_BANDS_48 * MAX_BANDS_48]; extern const Word32 c_aiDefaultTheta48[MAX_BANDS_48]; -#ifndef FIX_2095_REMOVE_UNUSED_ISAR_TABLES -extern const Word32 c_aiQuantMaxValues[ALLOC_TABLE_SIZE]; -extern const Word32 c_aiLogAddTable[LOG_ADD_TABLE_LENGTH]; -extern const Word32 c_aiHuffmanSize[ALLOC_TABLE_SIZE]; -extern const Word32 c_aiBandwidthAdjust48[MAX_BANDS_48]; -extern const Word32 c_aiAbsoluteThresh48[MAX_BANDS_48]; -extern const Word32 c_aaiSpreadFunction48[MAX_BANDS_48 * MAX_BANDS_48]; -#endif #define PRED_QUNAT_FILTER_MAG_BITS ( 3 ) #define PRED_QUANT_FILTER_PHASE_BITS ( 5 ) @@ -238,8 +202,5 @@ extern const UWord32 c_aaiRMSEnvHuffDec[13][HUFF_DEC_TABLE_SIZE]; extern const Word32 c_pfMagLUT[8]; /* Q31 */ extern const Word32 c_pfP2RRealLUT[32]; /* Q31 */ extern const Word32 c_pfP2RImagLUT[32]; /* Q31 */ -#ifndef FIX_2095_REMOVE_UNUSED_ISAR_TABLES -extern const Word32 c_pfWindowLUT[LCLD_PRED_WIN_LEN]; /* Q31 */ -#endif #endif /* ISAR_ROM_LCLD_TABLES_H_ */ diff --git a/lib_isar/isar_rom_post_rend.c b/lib_isar/isar_rom_post_rend.c index 2e4bf8ab8..b783fa6bf 100644 --- a/lib_isar/isar_rom_post_rend.c +++ b/lib_isar/isar_rom_post_rend.c @@ -1,40 +1,9 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "ivas_cnst.h" #include "isar_cnst.h" #include diff --git a/lib_isar/isar_rom_post_rend.h b/lib_isar/isar_rom_post_rend.h index b7bca73bd..78375704c 100644 --- a/lib_isar/isar_rom_post_rend.h +++ b/lib_isar/isar_rom_post_rend.h @@ -1,43 +1,12 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef ISAR_ROM_POST_REND_H #define ISAR_ROM_POST_REND_H #include #include "options.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "cnst.h" #include "isar_cnst.h" diff --git a/lib_isar/isar_splitRend_lcld_dec.c b/lib_isar/isar_splitRend_lcld_dec.c index 8fb28c90b..4cb23dabf 100644 --- a/lib_isar/isar_splitRend_lcld_dec.c +++ b/lib_isar/isar_splitRend_lcld_dec.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -37,9 +9,6 @@ #include "prot_fx.h" #include "prot_fx.h" // #include "control.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "wmc_auto.h" diff --git a/lib_isar/isar_splitRend_lcld_enc.c b/lib_isar/isar_splitRend_lcld_enc.c index 32346f887..65f182baa 100644 --- a/lib_isar/isar_splitRend_lcld_enc.c +++ b/lib_isar/isar_splitRend_lcld_enc.c @@ -1,42 +1,11 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" #include "isar_prot.h" #include "ivas_prot_fx.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "wmc_auto.h" @@ -227,9 +196,6 @@ void isar_splitBinLCLDEncProcess( EncodeLCLDFrame( hSplitBinLCLDEnc->psLCLDEncoder, hSplitBinLCLDEnc->pppfLCLDReal_fx, hSplitBinLCLDEnc->pppfLCLDImag_fx, &iBitsWritten, available_bits_itr, pBits, q_final ); available_bits_local = L_sub( available_bits_local, iBitsWritten ); -#ifdef DEBUGGING - assert( available_bits_local >= 0 ); -#endif #ifdef CLDFB_DEBUG printf( "Bits written = %d\n", iBitsWritten ); diff --git a/lib_isar/isar_splitRendererPLC.c b/lib_isar/isar_splitRendererPLC.c index d29a52722..15ddd8943 100644 --- a/lib_isar/isar_splitRendererPLC.c +++ b/lib_isar/isar_splitRendererPLC.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -37,9 +9,6 @@ #include "isar_cnst.h" #include "isar_prot.h" #include "enh64.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "wmc_auto.h" #include "prot_fx.h" #include "basop_util.h" diff --git a/lib_isar/isar_splitRendererPost.c b/lib_isar/isar_splitRendererPost.c index 380b9f976..0b2a0f10e 100644 --- a/lib_isar/isar_splitRendererPost.c +++ b/lib_isar/isar_splitRendererPost.c @@ -1,47 +1,13 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG -#include -#endif #include "ivas_prot_fx.h" #include "prot_fx.h" #include "isar_rom_post_rend.h" #include "isar_prot.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "wmc_auto.h" #include "basop_util.h" #define Q31_BY_360 ( 5965232 ) // Q31 @@ -71,15 +37,6 @@ ivas_error isar_splitBinPostRendOpen( hBinRend->cldfbSyn[ch] = NULL; hBinRend->cldfbAna[ch] = NULL; } -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - for ( int16_t i = 0; i < MAX_HEAD_ROT_POSES; i++ ) - { - for ( ch = 0; ch < BINAURAL_CHANNELS; ch++ ) - { - hBinRend->cldfbSynReconsBinDec[i][ch] = NULL; - } - } -#endif FOR( ch = 0; ch < BINAURAL_CHANNELS; ch++ ) { @@ -93,18 +50,6 @@ ivas_error isar_splitBinPostRendOpen( } } -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - for ( int16_t i = 0; i < MAX_HEAD_ROT_POSES; i++ ) - { - for ( ch = 0; ch < BINAURAL_CHANNELS; ch++ ) - { - if ( ( error = openCldfb_ivas_fx( &( hBinRend->cldfbSynReconsBinDec[i][ch] ), CLDFB_SYNTHESIS, output_Fs, CLDFB_PROTOTYPE_5_00MS, DEC ) ) != IVAS_ERR_OK ) - { - return error; - } - } - } -#endif hBinRend->cf_flag = 0; set_fix_rotation_mat_fx( hBinRend->fix_pos_rot_mat_fx, pMultiBinPoseData ); set_pose_types_fx( hBinRend->pose_type, pMultiBinPoseData ); @@ -140,19 +85,6 @@ void isar_splitBinPostRendClose( ( *hBinHrSplitPostRend )->cldfbAna[ch] = NULL; } } -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - for ( int16_t i = 0; i < MAX_HEAD_ROT_POSES; i++ ) - { - for ( ch = 0; ch < BINAURAL_CHANNELS; ch++ ) - { - if ( ( *hBinHrSplitPostRend )->cldfbSynReconsBinDec[i][ch] != NULL ) - { - deleteCldfb_fx( &( ( *hBinHrSplitPostRend )->cldfbSynReconsBinDec[i][ch] ) ); - ( *hBinHrSplitPostRend )->cldfbSynReconsBinDec[i][ch] = NULL; - } - } - } -#endif free( ( *hBinHrSplitPostRend ) ); ( *hBinHrSplitPostRend ) = NULL; @@ -207,9 +139,6 @@ static Word16 ivas_split_rend_huffman_decode_opt( codebook = huff_cfg->codebook; } -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - assert( ind >= huff_cfg->codebook[0] ); -#endif return extract_l( ind ); } @@ -639,10 +568,6 @@ void isar_splitBinPostRendMdDec_fx( ISAR_SPLIT_REND_BITS_HANDLE pBits, ISAR_BIN_HR_SPLIT_POST_REND_HANDLE hBinHrSplitPostRend, MULTI_BIN_REND_POSE_DATA *pMultiBinPoseData -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - , - BIN_HR_SPLIT_PRE_REND_HANDLE hBinHrSplitPreRend -#endif ) { Word16 pos_idx, b, sf_idx, num_subframes, ch1; @@ -654,9 +579,6 @@ void isar_splitBinPostRendMdDec_fx( Word16 pred_quant_pnts_yaw[ISAR_SPLIT_REND_NUM_QUANT_STRATS]; Word32 pred_1byquantstep_yaw_fx[ISAR_SPLIT_REND_NUM_QUANT_STRATS]; // Q26 Word32 pred_quantstep_yaw_fx[ISAR_SPLIT_REND_NUM_QUANT_STRATS]; // Q31 -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - Word16 ch1, ch2; -#endif ISAR_BIN_HR_SPLIT_REND_MD_HANDLE hMd; ISAR_SPLIT_REND_CONFIG_DATA split_rend_config; ISAR_SPLIT_REND_ROT_AXIS rot_axis; @@ -760,109 +682,6 @@ void isar_splitBinPostRendMdDec_fx( pred_real_bands_roll[quant_strat], pred_imag_bands_roll[quant_strat] ); } -#ifdef SPLIT_MD_CODING_DEBUG - for ( sf_idx = 0; sf_idx < num_subframes; sf_idx++ ) - { - int16_t val, ch2, val_ref; - char filename[200] = "split_md_debug_indices.bin"; - for ( pos_idx = 0; pos_idx < pMultiBinPoseData->num_poses - 1; pos_idx++ ) - { - if ( hBinHrSplitPostRend->pose_type[pos_idx] == ANY_YAW ) - { - for ( b = 0; b < pred_real_bands_yaw[quant_strat]; b++ ) - { - for ( ch1 = 0; ch1 < BINAURAL_CHANNELS; ch1++ ) - { - for ( ch2 = 0; ch2 < BINAURAL_CHANNELS; ch2++ ) - { - val = hBinHrSplitPostRend->rot_md[pos_idx][sf_idx][b].pred_mat_re_idx[ch1][ch2]; - dbgread( &val_ref, sizeof( int16_t ), 1, filename ); - if ( abs( val_ref - val ) > 0 ) - { - assert( 0 ); - } - } - } - } - for ( b = 0; b < pred_imag_bands_yaw[quant_strat]; b++ ) - { - for ( ch1 = 0; ch1 < BINAURAL_CHANNELS; ch1++ ) - { - for ( ch2 = 0; ch2 < BINAURAL_CHANNELS; ch2++ ) - { - val = hBinHrSplitPostRend->rot_md[pos_idx][sf_idx][b].pred_mat_im_idx[ch1][ch2]; - dbgread( &val_ref, sizeof( int16_t ), 1, filename ); - if ( abs( val_ref - val ) > 0 ) - { - assert( 0 ); - } - } - } - } - for ( b = 0; b < d_bands_yaw[quant_strat]; b++ ) - { - val = hBinHrSplitPostRend->rot_md[pos_idx][sf_idx][b].gd_idx; - dbgread( &val_ref, sizeof( int16_t ), 1, filename ); - if ( abs( val_ref - val ) > 0 ) - { - assert( 0 ); - } - } - } - else if ( hBinHrSplitPostRend->pose_type[pos_idx] == PITCH_ONLY ) - { - for ( b = 0; b < bands_pitch[quant_strat]; b++ ) - { - val = hBinHrSplitPostRend->rot_md[pos_idx][sf_idx][b].gd_idx; - dbgread( &val_ref, sizeof( int16_t ), 1, filename ); - if ( abs( val_ref - val ) > 0 ) - { - assert( 0 ); - } - val = hBinHrSplitPostRend->rot_md[pos_idx][sf_idx][b].gd2_idx; - dbgread( &val_ref, sizeof( int16_t ), 1, filename ); - if ( abs( val_ref - val ) > 0 ) - { - assert( 0 ); - } - } - } - else - { - for ( b = 0; b < pred_real_bands_roll[quant_strat]; b++ ) - { - for ( ch1 = 0; ch1 < BINAURAL_CHANNELS; ch1++ ) - { - for ( ch2 = 0; ch2 < BINAURAL_CHANNELS; ch2++ ) - { - val = hBinHrSplitPostRend->rot_md[pos_idx][sf_idx][b].pred_mat_re_idx[ch1][ch2]; - dbgread( &val_ref, sizeof( int16_t ), 1, filename ); - if ( abs( val_ref - val ) > 0 ) - { - assert( 0 ); - } - } - } - } - for ( b = 0; b < pred_imag_bands_roll[quant_strat]; b++ ) - { - for ( ch1 = 0; ch1 < BINAURAL_CHANNELS; ch1++ ) - { - for ( ch2 = 0; ch2 < BINAURAL_CHANNELS; ch2++ ) - { - val = hBinHrSplitPostRend->rot_md[pos_idx][sf_idx][b].pred_mat_im_idx[ch1][ch2]; - dbgread( &val_ref, sizeof( int16_t ), 1, filename ); - if ( abs( val_ref - val ) > 0 ) - { - assert( 0 ); - } - } - } - } - } - } - } -#endif FOR( sf_idx = 0; sf_idx < num_subframes; sf_idx++ ) { @@ -945,101 +764,6 @@ void isar_splitBinPostRendMdDec_fx( } } } -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - for ( sf_idx = 0; sf_idx < num_subframes; sf_idx++ ) - { - float val; - for ( pos_idx = 0; pos_idx < pMultiBinPoseData->num_poses - 1; pos_idx++ ) - { - if ( hBinHrSplitPostRend->pose_type[pos_idx] == ANY_YAW ) - { - for ( b = 0; b < pred_real_bands_yaw[quant_strat]; b++ ) - { - for ( ch1 = 0; ch1 < BINAURAL_CHANNELS; ch1++ ) - { - for ( ch2 = 0; ch2 < BINAURAL_CHANNELS; ch2++ ) - { - val = hBinHrSplitPreRend->rot_md[pos_idx][sf_idx][b].pred_mat_re_idx[ch1][ch2]; - if ( fabsf( hMd->pred_mat_re_idx[ch1][ch2] - val ) > 1e-20 ) - { - assert( 0 ); - } - } - } - } - for ( b = 0; b < pred_imag_bands_yaw[quant_strat]; b++ ) - { - for ( ch1 = 0; ch1 < BINAURAL_CHANNELS; ch1++ ) - { - for ( ch2 = 0; ch2 < BINAURAL_CHANNELS; ch2++ ) - { - val = hBinHrSplitPreRend->rot_md[pos_idx][sf_idx][b].pred_mat_im_idx[ch1][ch2]; - if ( fabsf( hMd->pred_mat_im_idx[ch1][ch2] - val ) > 1e-20 ) - { - assert( 0 ); - } - } - } - } - for ( b = 0; b < d_bands_yaw[quant_strat]; b++ ) - { - val = hBinHrSplitPreRend->rot_md[pos_idx][sf_idx][b].gd_idx; - if ( fabsf( hMd->gd_idx - val ) > 1e-20 ) - { - assert( 0 ); - } - } - } - else if ( hBinHrSplitPostRend->pose_type[pos_idx] == PITCH_ONLY ) - { - for ( b = 0; b < bands_pitch[quant_strat]; b++ ) - { - val = hBinHrSplitPreRend->rot_md[pos_idx][sf_idx][b].gd_idx; - if ( fabsf( hMd->gd_idx - val ) > 1e-20 ) - { - assert( 0 ); - } - val = hBinHrSplitPreRend->rot_md[pos_idx][sf_idx][b].gd2_idx; - if ( fabsf( hMd->gd2_idx - val ) > 1e-20 ) - { - assert( 0 ); - } - } - } - else - { - for ( b = 0; b < pred_real_bands_roll[quant_strat]; b++ ) - { - for ( ch1 = 0; ch1 < BINAURAL_CHANNELS; ch1++ ) - { - for ( ch2 = 0; ch2 < BINAURAL_CHANNELS; ch2++ ) - { - val = hBinHrSplitPreRend->rot_md[pos_idx][sf_idx][b].pred_mat_re_idx[ch1][ch2]; - if ( fabsf( hMd->pred_mat_re_idx[ch1][ch2] - val ) > 1e-20 ) - { - assert( 0 ); - } - } - } - } - for ( b = 0; b < pred_imag_bands_roll[quant_strat]; b++ ) - { - for ( ch1 = 0; ch1 < BINAURAL_CHANNELS; ch1++ ) - { - for ( ch2 = 0; ch2 < BINAURAL_CHANNELS; ch2++ ) - { - val = hBinHrSplitPreRend->rot_md[pos_idx][sf_idx][b].pred_mat_im_idx[ch1][ch2]; - if ( fabsf( hMd->pred_mat_im_idx[ch1][ch2] - val ) > 1e-20 ) - { - assert( 0 ); - } - } - } - } - } - } - } -#endif return; } diff --git a/lib_isar/isar_splitRendererPre.c b/lib_isar/isar_splitRendererPre.c index f657e7d4b..f44d72241 100644 --- a/lib_isar/isar_splitRendererPre.c +++ b/lib_isar/isar_splitRendererPre.c @@ -1,52 +1,15 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG -#include -#endif #include "ivas_prot_fx.h" #include "prot_fx.h" #include "lib_isar_pre_rend.h" #include "isar_rom_post_rend.h" #include "isar_prot.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "wmc_auto.h" -#ifdef DBG_WAV_WRITER -#include "string.h" -#endif #ifdef DEBUG_QUANT_CODE_OUT #include "float_to_fix_ops.h" #endif @@ -174,10 +137,6 @@ static void isar_calc_mat_inv_2by2_complex_fx( exp_det = add( exp_tmp5, sub( 1, exp_det ) ); det_fx = L_deposit_h( tmp5 ); -#ifdef DEBUGGING - /* assert to catch cases when input is singular matrix */ - assert( GT_32( det_fx, 0 ) ); -#endif exp_re = 0; exp_im = 0; @@ -1680,25 +1639,6 @@ static void isar_SplitRenderer_code_md_base2( } } -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - { - static int16_t num_bits = 0; - static int16_t cntr = 0; - float fnum_bits; - - cntr++; - - num_bits += pBits->bits_written; - /* collect bits for every second */ - if ( cntr == 50 ) - { - cntr = 0; - fnum_bits = (float) num_bits / 1000.0f; - dbgwrite_txt( &fnum_bits, 1, "split_rend_MD_bitrate.txt", "MD bitrate (kbps)" ); - num_bits = 0; - } - } -#endif return; } @@ -1843,24 +1783,6 @@ static void isar_SplitRenderer_code_md_huff( } } -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - { - static int16_t num_bits = 0; - static int16_t cntr = 0; - float fnum_bits; - - cntr++; - num_bits += pBits->bits_written; - /* collect bits for every second */ - IF( cntr == 50 ) - { - cntr = 0; - fnum_bits = (float) num_bits / 1000.0f; - dbgwrite_txt( &fnum_bits, 1, "split_rend_MD_bitrate.txt", "MD bitrate (kbps)" ); - num_bits = 0; - } - } -#endif return; } @@ -2070,82 +1992,6 @@ static void isar_SplitRenderer_quant_code( pBits->bits_written = start_bit; } -#ifdef SPLIT_MD_CODING_DEBUG - for ( sf_idx = 0; sf_idx < num_subframes; sf_idx++ ) - { - int16_t val, quant_strat, ch1, ch2; - char filename[200] = "split_md_debug_indices.bin"; - quant_strat = q; - for ( pos_idx = 0; pos_idx < pMultiBinPoseData->num_poses - 1; pos_idx++ ) - { - if ( hBinHrSplitPreRend->pose_type[pos_idx] == ANY_YAW ) - { - for ( b = 0; b < pred_real_bands_yaw[quant_strat]; b++ ) - { - for ( ch1 = 0; ch1 < BINAURAL_CHANNELS; ch1++ ) - { - for ( ch2 = 0; ch2 < BINAURAL_CHANNELS; ch2++ ) - { - val = hBinHrSplitPreRend->rot_md[pos_idx][sf_idx][b].pred_mat_re_idx[ch1][ch2]; - dbgwrite( &val, sizeof( int16_t ), 1, 1, filename ); - } - } - } - for ( b = 0; b < pred_imag_bands_yaw[quant_strat]; b++ ) - { - for ( ch1 = 0; ch1 < BINAURAL_CHANNELS; ch1++ ) - { - for ( ch2 = 0; ch2 < BINAURAL_CHANNELS; ch2++ ) - { - val = hBinHrSplitPreRend->rot_md[pos_idx][sf_idx][b].pred_mat_im_idx[ch1][ch2]; - dbgwrite( &val, sizeof( int16_t ), 1, 1, filename ); - } - } - } - for ( b = 0; b < d_bands_yaw[quant_strat]; b++ ) - { - val = hBinHrSplitPreRend->rot_md[pos_idx][sf_idx][b].gd_idx; - dbgwrite( &val, sizeof( int16_t ), 1, 1, filename ); - } - } - else if ( hBinHrSplitPreRend->pose_type[pos_idx] == PITCH_ONLY ) - { - for ( b = 0; b < bands_pitch[quant_strat]; b++ ) - { - val = hBinHrSplitPreRend->rot_md[pos_idx][sf_idx][b].gd_idx; - dbgwrite( &val, sizeof( int16_t ), 1, 1, filename ); - val = hBinHrSplitPreRend->rot_md[pos_idx][sf_idx][b].gd2_idx; - dbgwrite( &val, sizeof( int16_t ), 1, 1, filename ); - } - } - else - { - for ( b = 0; b < pred_real_bands_roll[quant_strat]; b++ ) - { - for ( ch1 = 0; ch1 < BINAURAL_CHANNELS; ch1++ ) - { - for ( ch2 = 0; ch2 < BINAURAL_CHANNELS; ch2++ ) - { - val = hBinHrSplitPreRend->rot_md[pos_idx][sf_idx][b].pred_mat_re_idx[ch1][ch2]; - dbgwrite( &val, sizeof( int16_t ), 1, 1, filename ); - } - } - } - for ( b = 0; b < pred_imag_bands_roll[quant_strat]; b++ ) - { - for ( ch1 = 0; ch1 < BINAURAL_CHANNELS; ch1++ ) - { - for ( ch2 = 0; ch2 < BINAURAL_CHANNELS; ch2++ ) - { - val = hBinHrSplitPreRend->rot_md[pos_idx][sf_idx][b].pred_mat_im_idx[ch1][ch2]; - dbgwrite( &val, sizeof( int16_t ), 1, 1, filename ); - } - } - } - } - } - } -#endif return; } @@ -2423,96 +2269,6 @@ void isar_rend_CldfbSplitPreRendProcess( } } #endif -#ifdef SPLIT_POSE_CORRECTION_DEBUG - float tmpCrendBuffer[2][L_FRAME48k], quant_val, step, minv, maxv; - IVAS_QUATERNION QuaternionsPost[MAX_PARAM_SPATIAL_SUBFRAMES], head_pos_euler; - float Cldfb_RealBuffer_Binaural_5ms[BINAURAL_CHANNELS][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX]; - float Cldfb_ImagBuffer_Binaural_5ms[BINAURAL_CHANNELS][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX]; - int16_t sf_idx, pos_idx, b, ch1, ch2; - int32_t read_off, write_off; - for ( sf_idx = 0; sf_idx < MAX_PARAM_SPATIAL_SUBFRAMES; sf_idx++ ) - { - QuaternionsPost[sf_idx].w = -3.0f; - QuaternionsPost[sf_idx].x = 0.0f; - QuaternionsPost[sf_idx].y = 0.0f; - QuaternionsPost[sf_idx].z = 0.0f; - } - - hBinHrSplitPreRend->hBinHrSplitPostRend->low_Res = 1; - set_fix_rotation_mat( hBinHrSplitPreRend->hBinHrSplitPostRend->fix_pos_rot_mat, pMultiBinPoseData ); - set_pose_types( hBinHrSplitPreRend->hBinHrSplitPostRend->pose_type, pMultiBinPoseData ); - for ( sf_idx = 0; sf_idx < MAX_PARAM_SPATIAL_SUBFRAMES; sf_idx++ ) - { - Quat2EulerDegree( headPosition, &head_pos_euler.z, &head_pos_euler.y, &head_pos_euler.x ); - hBinHrSplitPreRend->hBinHrSplitPostRend->QuaternionsPre[sf_idx].w = -3.0f; - hBinHrSplitPreRend->hBinHrSplitPostRend->QuaternionsPre[sf_idx].x = roundf( head_pos_euler.x ); - hBinHrSplitPreRend->hBinHrSplitPostRend->QuaternionsPre[sf_idx].y = roundf( head_pos_euler.y ); - hBinHrSplitPreRend->hBinHrSplitPostRend->QuaternionsPre[sf_idx].z = roundf( head_pos_euler.z ); - } - for ( sf_idx = 0; sf_idx < 1; sf_idx++ ) - { - for ( pos_idx = 0; pos_idx < pMultiBinPoseData->num_poses - 1; pos_idx++ ) - { - for ( b = 0; b < MAX_SPLIT_REND_MD_BANDS; b++ ) - { - hBinHrSplitPreRend->hBinHrSplitPostRend->rot_md[pos_idx][sf_idx][b] = hBinHrSplitPreRend->rot_md[pos_idx][sf_idx][b]; - BIN_HR_SPLIT_REND_MD_HANDLE hMd; - hMd = &hBinHrSplitPreRend->hBinHrSplitPostRend->rot_md[pos_idx][sf_idx][b]; - minv = -1.4f; - maxv = 1.4f; - step = ( maxv - minv ) / 62.0f; - if ( b >= 20 ) - { - float sign; - for ( ch1 = 0; ch1 < BINAURAL_CHANNELS; ch1++ ) - { - for ( ch2 = 0; ch2 < BINAURAL_CHANNELS; ch2++ ) - { - sign = ( hMd->pred_mat_re[ch1][ch2] >= 0.0f ) ? 1.0f : -1.0f; - IVAS_CALCULATE_ABS( hMd->pred_mat_re[ch1][ch2], hMd->pred_mat_im[ch1][ch2], hMd->pred_mat_re[ch1][ch2] ); - hMd->pred_mat_re[ch1][ch2] *= sign; - hMd->pred_mat_im[ch1][ch2] = 0.0f; - } - } - } - - for ( ch1 = 0; ch1 < BINAURAL_CHANNELS; ch1++ ) - { - for ( ch2 = 0; ch2 < BINAURAL_CHANNELS; ch2++ ) - { - quant_val = hMd->pred_mat_re[ch1][ch2] - hBinHrSplitPreRend->fix_pos_rot_mat[pos_idx][ch1][ch2]; - quant_val = min( maxv, max( quant_val, minv ) ); - quant_val = (int16_t) roundf( quant_val / step ); - hMd->pred_mat_re[ch1][ch2] = quant_val * step; - hMd->pred_mat_re[ch1][ch2] += hBinHrSplitPreRend->fix_pos_rot_mat[pos_idx][ch1][ch2]; - - quant_val = hMd->pred_mat_im[ch1][ch2]; - quant_val = min( maxv, max( quant_val, minv ) ); - quant_val = (int16_t) roundf( quant_val / step ); - hMd->pred_mat_im[ch1][ch2] = quant_val * step; - } - } - } - } - } - - for ( sf_idx = 0; sf_idx < MAX_PARAM_SPATIAL_SUBFRAMES; sf_idx++ ) - { - mvr2r( (float *) Cldfb_In_BinReal[0][sf_idx * MAX_PARAM_SPATIAL_SUBFRAMES], (float *) Cldfb_RealBuffer_Binaural_5ms[0], MAX_PARAM_SPATIAL_SUBFRAMES * CLDFB_NO_CHANNELS_MAX ); - mvr2r( (float *) Cldfb_In_BinReal[1][sf_idx * MAX_PARAM_SPATIAL_SUBFRAMES], (float *) Cldfb_RealBuffer_Binaural_5ms[1], MAX_PARAM_SPATIAL_SUBFRAMES * CLDFB_NO_CHANNELS_MAX ); - mvr2r( (float *) Cldfb_In_BinImag[0][sf_idx * MAX_PARAM_SPATIAL_SUBFRAMES], (float *) Cldfb_ImagBuffer_Binaural_5ms[0], MAX_PARAM_SPATIAL_SUBFRAMES * CLDFB_NO_CHANNELS_MAX ); - mvr2r( (float *) Cldfb_In_BinImag[1][sf_idx * MAX_PARAM_SPATIAL_SUBFRAMES], (float *) Cldfb_ImagBuffer_Binaural_5ms[1], MAX_PARAM_SPATIAL_SUBFRAMES * CLDFB_NO_CHANNELS_MAX ); - isar_rend_CldfbSplitPostRendProcess( hBinHrSplitPreRend->hBinHrSplitPostRend, pMultiBinPoseData, QuaternionsPost[0], Cldfb_RealBuffer_Binaural_5ms, Cldfb_ImagBuffer_Binaural_5ms, tmpCrendBuffer, 1 ); - - { - float *pOut[2]; - char fname[200] = "ref_act_pos.wav"; - pOut[0] = tmpCrendBuffer[0]; - pOut[1] = tmpCrendBuffer[1]; - dbgwrite_wav( pOut, CLDFB_NO_COL_MAX * hBinHrSplitPreRend->hBinHrSplitPostRend->cldfbSyn[0]->no_channels, fname, 48000, 2 ); - } - } -#endif pop_wmops(); return; @@ -2528,17 +2284,9 @@ void isar_rend_CldfbSplitPreRendProcess( ivas_error isar_splitBinPreRendOpen( ISAR_BIN_HR_SPLIT_PRE_REND_HANDLE *hBinHrSplitPreRend, MULTI_BIN_REND_POSE_DATA *pMultiBinPoseData -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - , - const int32_t output_Fs -#endif ) { ISAR_BIN_HR_SPLIT_PRE_REND_HANDLE hBinRend; -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - ivas_error error; - int16_t ch; -#endif Word16 pos_idx, sf_idx, bandIdx; IF( ( hBinRend = (ISAR_BIN_HR_SPLIT_PRE_REND_HANDLE) malloc( sizeof( ISAR_BIN_HR_SPLIT_PRE_REND ) ) ) == NULL ) @@ -2546,26 +2294,6 @@ ivas_error isar_splitBinPreRendOpen( return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for bin split pre renderer Module \n" ) ); } -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - for ( int16_t i = 0; i < MAX_HEAD_ROT_POSES + 1; i++ ) - { - for ( ch = 0; ch < BINAURAL_CHANNELS; ch++ ) - { - hBinRend->cldfbSynRotBinDec[i][ch] = NULL; - } - } - - for ( int16_t i = 0; i < MAX_HEAD_ROT_POSES + 1; i++ ) - { - for ( ch = 0; ch < BINAURAL_CHANNELS; ch++ ) - { - if ( ( error = openCldfb_ivas_fx( &( hBinRend->cldfbSynRotBinDec[i][ch] ), CLDFB_SYNTHESIS, output_Fs, CLDFB_PROTOTYPE_5_00MS ) ) != IVAS_ERR_OK ) - { - return error; - } - } - } -#endif FOR( pos_idx = 0; pos_idx < pMultiBinPoseData->num_poses - 1; pos_idx++ ) { @@ -2582,13 +2310,6 @@ ivas_error isar_splitBinPreRendOpen( isar_split_rend_init_huff_cfg( &hBinRend->huff_cfg ); -#ifdef SPLIT_POSE_CORRECTION_DEBUG - ivas_error error; - if ( ( error = isar_splitBinPostRendOpen( &hBinRend->hBinHrSplitPostRend, pMultiBinPoseData, 48000 ) ) != IVAS_ERR_OK ) - { - return error; - } -#endif *hBinHrSplitPreRend = hBinRend; @@ -2607,25 +2328,6 @@ void isar_splitBinPreRendClose( { IF( ( *hBinHrSplitPreRend ) != NULL ) { -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - { - Word16 i, n; - FOR( i = 0; i < MAX_HEAD_ROT_POSES + 1; i++ ) - { - FOR( n = 0; n < BINAURAL_CHANNELS; n++ ) - { - IF( ( *hBinHrSplitPreRend )->cldfbSynRotBinDec[i][n] != NULL ) - { - deleteCldfb_fx( &( ( *hBinHrSplitPreRend )->cldfbSynRotBinDec[i][n] ) ); - ( *hBinHrSplitPreRend )->cldfbSynRotBinDec[i][n] = NULL; - } - } - } - } -#endif -#ifdef SPLIT_POSE_CORRECTION_DEBUG - isar_splitBinPostRendClose( &( *hBinHrSplitPreRend )->hBinHrSplitPostRend ); -#endif free( ( *hBinHrSplitPreRend ) ); ( *hBinHrSplitPreRend ) = NULL; @@ -2943,22 +2645,6 @@ ivas_error isar_renderMultiTDBinToSplitBinaural( /* CLDFB Analysis*/ FOR( pos_idx = 0; pos_idx < num_poses; pos_idx++ ) { -#ifdef SPLIT_POSE_CORRECTION_DEBUG - { - float *pOut[2]; - char fname[200] = "ref_out_pos"; - char tag[2]; - tag[0] = (char) ( '0' + pos_idx ); - tag[1] = '\0'; - strcat( fname, tag ); - strcat( fname, ".wav" ); - - pOut[0] = in_delayed[2 * pos_idx]; - pOut[1] = in_delayed[2 * pos_idx + 1]; - dbgwrite_wav( pOut, CLDFB_NO_COL_MAX * max_bands, fname, 48000, 2 ); - } - -#endif FOR( ch = 0; ch < BINAURAL_CHANNELS; ch++ ) { HANDLE_CLDFB_FILTER_BANK temp_cldfbAna = hSplitBin->hCldfbHandles->cldfbAna[pos_idx * BINAURAL_CHANNELS + ch]; diff --git a/lib_isar/isar_splitRenderer_utils.c b/lib_isar/isar_splitRenderer_utils.c index f8359c18f..960a41df8 100644 --- a/lib_isar/isar_splitRenderer_utils.c +++ b/lib_isar/isar_splitRenderer_utils.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -42,9 +14,6 @@ #include "ivas_rom_binauralRenderer.h" #include "lib_isar_post_rend.h" #include "isar_prot.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "wmc_auto.h" #include "basop_settings.h" #include "prot_fx.h" @@ -522,10 +491,6 @@ Word32 ISAR_SPLIT_REND_BITStream_read_int32( { Word32 val, k, bit_val; -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - assert( ( pBits->bits_written - pBits->bits_read ) >= bits ); - assert( bits <= 32 ); -#endif /* write bit by bit */ val = 0; @@ -554,13 +519,6 @@ void ISAR_SPLIT_REND_BITStream_write_int32( { Word32 mask, k; -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - /*protection check*/ - if ( ( pBits->buf_len << 3 ) < ( pBits->bits_written + bits ) ) - { - assert( 0 ); - } -#endif mask = L_shl( 1, extract_l( L_sub( bits, 1 ) ) ); /* write bit by bit */ @@ -582,50 +540,6 @@ void ISAR_SPLIT_REND_BITStream_write_int32( } -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG -/*------------------------------------------------------------------------- - * isar_log_cldfb2wav_data() - * - * - *------------------------------------------------------------------------*/ - -void isar_log_cldfb2wav_data( - float Cldfb_In_Real[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], - float Cldfb_In_Imag[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], - HANDLE_CLDFB_FILTER_BANK *cldfbSyn, - const int16_t num_chs, - const int16_t num_freq_bands, - const int32_t output_Fs, - const int16_t num_slots, - const int16_t start_slot_idx, - const char *filename ) -{ - float *RealBuffer[CLDFB_NO_COL_MAX]; - float *ImagBuffer[CLDFB_NO_COL_MAX]; - float pcm_out[BINAURAL_CHANNELS][L_FRAME48k]; - float *pPcm[BINAURAL_CHANNELS]; - float Cldfb_local_Real[BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; - float Cldfb_local_Imag[BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; - int16_t sf, ch; - - assert( num_chs <= BINAURAL_CHANNELS ); - for ( ch = 0; ch < num_chs; ch++ ) - { - for ( sf = start_slot_idx; sf < start_slot_idx + num_slots; sf++ ) - { - mvr2r( Cldfb_In_Real[ch][sf], Cldfb_local_Real[ch][sf], num_freq_bands ); - mvr2r( Cldfb_In_Imag[ch][sf], Cldfb_local_Imag[ch][sf], num_freq_bands ); - RealBuffer[sf - start_slot_idx] = Cldfb_local_Real[ch][sf]; - ImagBuffer[sf - start_slot_idx] = Cldfb_local_Imag[ch][sf]; - } - cldfbSynthesis( RealBuffer, ImagBuffer, &( pcm_out[ch][0] ), num_freq_bands * num_slots, cldfbSyn[ch] ); - pPcm[ch] = pcm_out[ch]; - } - dbgwrite_wav( pPcm, num_freq_bands * num_slots, filename, output_Fs, num_chs ); - - return; -} -#endif /*------------------------------------------------------------------------- diff --git a/lib_isar/isar_stat.h b/lib_isar/isar_stat.h index 484948588..2d61d5bad 100644 --- a/lib_isar/isar_stat.h +++ b/lib_isar/isar_stat.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef ISAR_STAT_H #define ISAR_STAT_H @@ -69,11 +41,7 @@ typedef struct typedef struct { -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - HANDLE_CLDFB_FILTER_BANK cldfbAna[( 1 + MAX_HEAD_ROT_POSES ) * BINAURAL_CHANNELS]; -#else HANDLE_CLDFB_FILTER_BANK cldfbAna[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS]; -#endif HANDLE_CLDFB_FILTER_BANK cldfbSyn[BINAURAL_CHANNELS]; } CLDFB_HANDLES_WRAPPER, *CLDFB_HANDLES_WRAPPER_HANDLE; @@ -201,21 +169,12 @@ typedef struct isar_binaural_head_rot_split_post_rendering_struct Word32 fix_pos_rot_mat_fx[MAX_HEAD_ROT_POSES - 1][BINAURAL_CHANNELS][BINAURAL_CHANNELS]; /* Q31 */ ISAR_SPLIT_REND_POSE_TYPE pose_type[MAX_HEAD_ROT_POSES - 1]; ISAR_BIN_HR_SPLIT_REND_HUFF huff_cfg; -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - Word32 mixer_mat_re_fx[MAX_HEAD_ROT_POSES][MAX_SPLIT_REND_MD_BANDS][BINAURAL_CHANNELS][BINAURAL_CHANNELS]; - Word32 mixer_mat_im_fx[MAX_HEAD_ROT_POSES][MAX_SPLIT_REND_MD_BANDS][BINAURAL_CHANNELS][BINAURAL_CHANNELS]; - Word32 gd_mem_fx[MAX_HEAD_ROT_POSES][MAX_SPLIT_REND_MD_BANDS]; -#else Word32 mixer_mat_re_fx[1][MAX_SPLIT_REND_MD_BANDS][BINAURAL_CHANNELS][BINAURAL_CHANNELS]; Word32 mixer_mat_im_fx[1][MAX_SPLIT_REND_MD_BANDS][BINAURAL_CHANNELS][BINAURAL_CHANNELS]; Word32 gd_mem_fx[1][MAX_SPLIT_REND_MD_BANDS]; -#endif int16_t cf_flag; HANDLE_CLDFB_FILTER_BANK cldfbAna[BINAURAL_CHANNELS]; HANDLE_CLDFB_FILTER_BANK cldfbSyn[BINAURAL_CHANNELS]; -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - HANDLE_CLDFB_FILTER_BANK cldfbSynReconsBinDec[MAX_HEAD_ROT_POSES][BINAURAL_CHANNELS]; -#endif } ISAR_BIN_HR_SPLIT_POST_REND, *ISAR_BIN_HR_SPLIT_POST_REND_HANDLE; diff --git a/lib_isar/lib_isar_post_rend.c b/lib_isar/lib_isar_post_rend.c index 04e80dc61..5fb353284 100644 --- a/lib_isar/lib_isar_post_rend.c +++ b/lib_isar/lib_isar_post_rend.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "options.h" #include "lib_isar_post_rend.h" @@ -94,9 +66,6 @@ struct ISAR_POST_REND Word32 sampleRateOut; IVAS_LIMITER_HANDLE hLimiter; -#ifdef DEBUGGING - Word32 numClipping; /* Counter of clipped output samples */ -#endif input_split_post_rend inputsSplitPost[RENDERER_MAX_BIN_INPUTS]; @@ -275,7 +244,6 @@ static void accumulate2dArrayToBuffer_fx( * In-place saturation control for multichannel buffers with adaptive release time *-------------------------------------------------------------------*/ -#ifndef DISABLE_LIMITER /*! r: number of clipped output samples */ static Word32 limitRendererOutput_fx( IVAS_LIMITER_HANDLE hLimiter, /* i/o: limiter struct handle */ @@ -315,7 +283,6 @@ static Word32 limitRendererOutput_fx( return numClipping; } -#endif /*-------------------------------------------------------------------* @@ -634,9 +601,6 @@ ivas_error ISAR_POST_REND_open( hIvasRend->outputConfig = outConfig; hIvasRend->hLimiter = NULL; hIvasRend->num_subframes = 1; -#ifdef DEBUGGING - hIvasRend->numClipping = 0; -#endif hIvasRend->num_subframes = num_subframes; /* Initialize limiter */ @@ -1381,11 +1345,7 @@ static ivas_error renderSplitBinauralWithPostRot( { IF( !SplitRendBFI ) { -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - isar_splitBinPostRendMdDec_fx( &bits, hSplitBin->hBinHrSplitPostRend, &hSplitBin->multiBinPoseData, hSplitBin->hBinHrSplitPreRend ); -#else isar_splitBinPostRendMdDec_fx( &bits, hSplitBin->hBinHrSplitPostRend, &hSplitBin->multiBinPoseData ); -#endif } } @@ -1735,14 +1695,9 @@ ivas_error ISAR_POST_REND_getSamples( return error; } -#ifndef DISABLE_LIMITER Word32 limiter_threshold; -#ifdef DEBUGGING - hIvasRend->numClipping += -#endif limiter_threshold = L_shl( IVAS_LIMITER_THRESHOLD, *outAudio.pq_fact ); limitRendererOutput_fx( hIvasRend->hLimiter, outAudio.data_fx, outAudio.config.numSamplesPerChannel, limiter_threshold, *outAudio.pq_fact ); -#endif return IVAS_ERR_OK; } @@ -1835,27 +1790,3 @@ ivas_error ISAR_REND_SetSplitRendBitstreamHeader( return IVAS_ERR_OK; } -#ifdef DEBUGGING -/*-------------------------------------------------------------------* - * ISAR_POST_REND_GetNoCLipping() - * - * - *-------------------------------------------------------------------*/ - -int32_t ISAR_POST_REND_GetNoCLipping( - ISAR_POST_REND_HANDLE hIvasRend ) -{ - return hIvasRend->numClipping; -} - -int32_t ISAR_POST_REND_GetCntFramesLimited( - ISAR_POST_REND_CONST_HANDLE hIvasRend ) -{ - if ( hIvasRend->hLimiter == NULL ) - { - return 0; - } - - return hIvasRend->hLimiter->cnt_frames_limited; -} -#endif diff --git a/lib_isar/lib_isar_post_rend.h b/lib_isar/lib_isar_post_rend.h index d7f1cce84..5c5d28fd3 100644 --- a/lib_isar/lib_isar_post_rend.h +++ b/lib_isar/lib_isar_post_rend.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef LIB_ISAR_POST_REND_H #define LIB_ISAR_POST_REND_H @@ -191,15 +163,6 @@ ivas_error ISAR_REND_SetSplitRendBitstreamHeader( const Word16 lc3plus_highres /* i : LC3plus Hig-Res setting. Ignored if codec is not LC3plus */ ); -#ifdef DEBUGGING -int32_t ISAR_POST_REND_GetNoCLipping( - ISAR_POST_REND_HANDLE hIvasRend /* i : Renderer handle */ -); - -int32_t ISAR_POST_REND_GetCntFramesLimited( - ISAR_POST_REND_CONST_HANDLE hIvasRend /* i : Renderer handle */ -); -#endif /* clang-format on */ diff --git a/lib_isar/lib_isar_pre_rend.c b/lib_isar/lib_isar_pre_rend.c index 910f5f423..787d5fcdb 100644 --- a/lib_isar/lib_isar_pre_rend.c +++ b/lib_isar/lib_isar_pre_rend.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -38,9 +10,6 @@ #include "isar_rom_post_rend.h" #include "lib_isar_pre_rend.h" #include "isar_prot.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "wmc_auto.h" @@ -137,10 +106,6 @@ ivas_error ISAR_PRE_REND_open( IF( EQ_16( pSplitRendConfig->poseCorrectionMode, ISAR_SPLIT_REND_POSE_CORRECTION_MODE_CLDFB ) ) { if ( ( error = isar_splitBinPreRendOpen( &hSplitRendWrapper->hBinHrSplitPreRend, &hSplitRendWrapper->multiBinPoseData -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - , - OutSampleRate -#endif ) ) != IVAS_ERR_OK ) { return error; @@ -158,10 +123,6 @@ ivas_error ISAR_PRE_REND_open( } ELSE { -#ifndef FIX_1576_LCLD_CRASH_DIFFERENT_CODEC_ISAR_FRAME_SIZE - Word16 iNumBlocksPerFrame; - iNumBlocksPerFrame = ( CLDFB_NO_COL_MAX * pSplitRendConfig->codec_frame_size_ms ) / 20; -#else Word16 iNumBlocksPerFrame, iNumLCLDIterationsPerFrame; IF( GT_16( pSplitRendConfig->codec_frame_size_ms, 0 ) ) { @@ -174,13 +135,8 @@ ivas_error ISAR_PRE_REND_open( iNumLCLDIterationsPerFrame = 1; iNumBlocksPerFrame = CLDFB_NO_COL_MAX; } -#endif -#ifndef FIX_1576_LCLD_CRASH_DIFFERENT_CODEC_ISAR_FRAME_SIZE - IF( ( error = isar_splitBinLCLDEncOpen( &hSplitRendWrapper->hSplitBinLCLDEnc, OutSampleRate, BINAURAL_CHANNELS, isar_get_lcld_bitrate( pSplitRendConfig->splitRendBitRate, hSplitRendWrapper->multiBinPoseData.poseCorrectionMode ), iNumBlocksPerFrame, 1 ) ) != IVAS_ERR_OK ) -#else IF( ( error = isar_splitBinLCLDEncOpen( &hSplitRendWrapper->hSplitBinLCLDEnc, OutSampleRate, BINAURAL_CHANNELS, isar_get_lcld_bitrate( pSplitRendConfig->splitRendBitRate, hSplitRendWrapper->multiBinPoseData.poseCorrectionMode ), iNumBlocksPerFrame, iNumLCLDIterationsPerFrame ) ) != IVAS_ERR_OK ) -#endif { return error; } diff --git a/lib_isar/lib_isar_pre_rend.h b/lib_isar/lib_isar_pre_rend.h index e085852d1..69622231c 100644 --- a/lib_isar/lib_isar_pre_rend.h +++ b/lib_isar/lib_isar_pre_rend.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef LIB_ISAR_PRE_REND_H #define LIB_ISAR_PRE_REND_H diff --git a/lib_lc3plus/adjust_global_gain_fx.c b/lib_lc3plus/adjust_global_gain_fx.c index 5edf9b9fc..793e65104 100644 --- a/lib_lc3plus/adjust_global_gain_fx.c +++ b/lib_lc3plus/adjust_global_gain_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/al_fec.c b/lib_lc3plus/al_fec.c index f8f1ee3b8..d829ba6d4 100644 --- a/lib_lc3plus/al_fec.c +++ b/lib_lc3plus/al_fec.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/apply_global_gain_fx.c b/lib_lc3plus/apply_global_gain_fx.c index 7fa960267..4c81e999f 100644 --- a/lib_lc3plus/apply_global_gain_fx.c +++ b/lib_lc3plus/apply_global_gain_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/ari_codec.c b/lib_lc3plus/ari_codec.c index 05055122d..69ce32c35 100644 --- a/lib_lc3plus/ari_codec.c +++ b/lib_lc3plus/ari_codec.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/attack_detector_fx.c b/lib_lc3plus/attack_detector_fx.c index dd2541fd6..7b155d8eb 100644 --- a/lib_lc3plus/attack_detector_fx.c +++ b/lib_lc3plus/attack_detector_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/basop_mpy_lc3plus.c b/lib_lc3plus/basop_mpy_lc3plus.c index b570b9358..b1206a9ab 100644 --- a/lib_lc3plus/basop_mpy_lc3plus.c +++ b/lib_lc3plus/basop_mpy_lc3plus.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/basop_mpy_lc3plus.h b/lib_lc3plus/basop_mpy_lc3plus.h index 7d45f6fff..e40c62311 100644 --- a/lib_lc3plus/basop_mpy_lc3plus.h +++ b/lib_lc3plus/basop_mpy_lc3plus.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/basop_util_lc3plus.c b/lib_lc3plus/basop_util_lc3plus.c index 348e11b24..f12b9f8fc 100644 --- a/lib_lc3plus/basop_util_lc3plus.c +++ b/lib_lc3plus/basop_util_lc3plus.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/basop_util_lc3plus.h b/lib_lc3plus/basop_util_lc3plus.h index c8eb0b25f..474ff4c7f 100644 --- a/lib_lc3plus/basop_util_lc3plus.h +++ b/lib_lc3plus/basop_util_lc3plus.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/com_entropy.c b/lib_lc3plus/com_entropy.c index 6d8cb89b9..ec1c09bce 100644 --- a/lib_lc3plus/com_entropy.c +++ b/lib_lc3plus/com_entropy.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/constants.c b/lib_lc3plus/constants.c index c8aa477ef..9b05de684 100644 --- a/lib_lc3plus/constants.c +++ b/lib_lc3plus/constants.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/constants.h b/lib_lc3plus/constants.h index 2ecc1ad24..8d094e08c 100644 --- a/lib_lc3plus/constants.h +++ b/lib_lc3plus/constants.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/cutoff_bandwidth.c b/lib_lc3plus/cutoff_bandwidth.c index 5225cd0e8..0ef32f531 100644 --- a/lib_lc3plus/cutoff_bandwidth.c +++ b/lib_lc3plus/cutoff_bandwidth.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/dct2_fx.c b/lib_lc3plus/dct2_fx.c index 63d513219..cfb3c72c3 100644 --- a/lib_lc3plus/dct2_fx.c +++ b/lib_lc3plus/dct2_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/dct4_fx.c b/lib_lc3plus/dct4_fx.c index e5f1ed189..bdaeecb9e 100644 --- a/lib_lc3plus/dct4_fx.c +++ b/lib_lc3plus/dct4_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/dec_entropy.c b/lib_lc3plus/dec_entropy.c index 20582f47b..9346369cc 100644 --- a/lib_lc3plus/dec_entropy.c +++ b/lib_lc3plus/dec_entropy.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/dec_lc3plus.c b/lib_lc3plus/dec_lc3plus.c index ba9a2b39a..3f50642fa 100644 --- a/lib_lc3plus/dec_lc3plus.c +++ b/lib_lc3plus/dec_lc3plus.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/defines.h b/lib_lc3plus/defines.h index 746521471..6ddf74270 100644 --- a/lib_lc3plus/defines.h +++ b/lib_lc3plus/defines.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/detect_cutoff_warped_fx.c b/lib_lc3plus/detect_cutoff_warped_fx.c index e57723f7b..e3ade89fd 100644 --- a/lib_lc3plus/detect_cutoff_warped_fx.c +++ b/lib_lc3plus/detect_cutoff_warped_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/dynmem.c b/lib_lc3plus/dynmem.c index 9cdac738d..e48c80eb6 100644 --- a/lib_lc3plus/dynmem.c +++ b/lib_lc3plus/dynmem.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.5.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/dynmem.h b/lib_lc3plus/dynmem.h index b92fcd2a7..b75b64d33 100644 --- a/lib_lc3plus/dynmem.h +++ b/lib_lc3plus/dynmem.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.5.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/enc_entropy.c b/lib_lc3plus/enc_entropy.c index 4afac13a4..382441da6 100644 --- a/lib_lc3plus/enc_entropy.c +++ b/lib_lc3plus/enc_entropy.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/enc_lc3plus.c b/lib_lc3plus/enc_lc3plus.c index 0c34a8d48..ac4a13a9c 100644 --- a/lib_lc3plus/enc_lc3plus.c +++ b/lib_lc3plus/enc_lc3plus.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/estimate_global_gain_fx.c b/lib_lc3plus/estimate_global_gain_fx.c index 21b0d7d16..6bf318cfc 100644 --- a/lib_lc3plus/estimate_global_gain_fx.c +++ b/lib_lc3plus/estimate_global_gain_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/fft_lc3plus.c b/lib_lc3plus/fft_lc3plus.c index 1f727bcd4..6ff302ed6 100644 --- a/lib_lc3plus/fft_lc3plus.c +++ b/lib_lc3plus/fft_lc3plus.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/functions.h b/lib_lc3plus/functions.h index 38b32769d..3c946c28b 100644 --- a/lib_lc3plus/functions.h +++ b/lib_lc3plus/functions.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/imdct_fx.c b/lib_lc3plus/imdct_fx.c index 70e76c8c5..927781b0e 100644 --- a/lib_lc3plus/imdct_fx.c +++ b/lib_lc3plus/imdct_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/lc3plus.c b/lib_lc3plus/lc3plus.c index aed8e029b..c909bfc88 100644 --- a/lib_lc3plus/lc3plus.c +++ b/lib_lc3plus/lc3plus.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/lc3plus.h b/lib_lc3plus/lc3plus.h index 2ac69c9a9..37e8802a0 100644 --- a/lib_lc3plus/lc3plus.h +++ b/lib_lc3plus/lc3plus.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/levinson_fx.c b/lib_lc3plus/levinson_fx.c index 3cb547439..2f9589c2b 100644 --- a/lib_lc3plus/levinson_fx.c +++ b/lib_lc3plus/levinson_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/license.h b/lib_lc3plus/license.h index a692e0ed4..bb9146048 100644 --- a/lib_lc3plus/license.h +++ b/lib_lc3plus/license.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/ltpf_coder_fx.c b/lib_lc3plus/ltpf_coder_fx.c index bf2ea18ab..c3868f996 100644 --- a/lib_lc3plus/ltpf_coder_fx.c +++ b/lib_lc3plus/ltpf_coder_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/ltpf_decoder_fx.c b/lib_lc3plus/ltpf_decoder_fx.c index 084b7738b..7b69216cf 100644 --- a/lib_lc3plus/ltpf_decoder_fx.c +++ b/lib_lc3plus/ltpf_decoder_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/mdct_fx.c b/lib_lc3plus/mdct_fx.c index b2cde56ab..c72da8ac9 100644 --- a/lib_lc3plus/mdct_fx.c +++ b/lib_lc3plus/mdct_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/mdct_shaping_fx.c b/lib_lc3plus/mdct_shaping_fx.c index 90e29aa36..a8df97f5d 100644 --- a/lib_lc3plus/mdct_shaping_fx.c +++ b/lib_lc3plus/mdct_shaping_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/near_nyquist_detector_fx.c b/lib_lc3plus/near_nyquist_detector_fx.c index 5e83af0b1..ab5c77e43 100644 --- a/lib_lc3plus/near_nyquist_detector_fx.c +++ b/lib_lc3plus/near_nyquist_detector_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/noise_factor_fx.c b/lib_lc3plus/noise_factor_fx.c index c73eef56e..650ee6510 100644 --- a/lib_lc3plus/noise_factor_fx.c +++ b/lib_lc3plus/noise_factor_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/noise_filling_fx.c b/lib_lc3plus/noise_filling_fx.c index 0be080f6f..7dcf9d033 100644 --- a/lib_lc3plus/noise_filling_fx.c +++ b/lib_lc3plus/noise_filling_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/olpa_fx.c b/lib_lc3plus/olpa_fx.c index 813182609..ba64bd040 100644 --- a/lib_lc3plus/olpa_fx.c +++ b/lib_lc3plus/olpa_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/pc_apply_fx.c b/lib_lc3plus/pc_apply_fx.c index c34c83e14..87a53547f 100644 --- a/lib_lc3plus/pc_apply_fx.c +++ b/lib_lc3plus/pc_apply_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/pc_classify_fx.c b/lib_lc3plus/pc_classify_fx.c index a9736b9b9..bd638b6a8 100644 --- a/lib_lc3plus/pc_classify_fx.c +++ b/lib_lc3plus/pc_classify_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/pc_main_fx.c b/lib_lc3plus/pc_main_fx.c index 3e159b301..8a4f5b286 100644 --- a/lib_lc3plus/pc_main_fx.c +++ b/lib_lc3plus/pc_main_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/pc_update_fx.c b/lib_lc3plus/pc_update_fx.c index 6823a320f..f0d27aeae 100644 --- a/lib_lc3plus/pc_update_fx.c +++ b/lib_lc3plus/pc_update_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/per_band_energy_fx.c b/lib_lc3plus/per_band_energy_fx.c index 86c848c01..dfa05e857 100644 --- a/lib_lc3plus/per_band_energy_fx.c +++ b/lib_lc3plus/per_band_energy_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_apply_fx.c b/lib_lc3plus/plc_apply_fx.c index ca07b5d81..fc611c612 100644 --- a/lib_lc3plus/plc_apply_fx.c +++ b/lib_lc3plus/plc_apply_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_classify_fx.c b/lib_lc3plus/plc_classify_fx.c index 6779ca925..c0b939379 100644 --- a/lib_lc3plus/plc_classify_fx.c +++ b/lib_lc3plus/plc_classify_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_damping_scrambling_fx.c b/lib_lc3plus/plc_damping_scrambling_fx.c index 89c079202..03cd20ab2 100644 --- a/lib_lc3plus/plc_damping_scrambling_fx.c +++ b/lib_lc3plus/plc_damping_scrambling_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_lpc_scaling_fx.c b/lib_lc3plus/plc_lpc_scaling_fx.c index 945f583a1..dd94d8f4f 100644 --- a/lib_lc3plus/plc_lpc_scaling_fx.c +++ b/lib_lc3plus/plc_lpc_scaling_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_main_fx.c b/lib_lc3plus/plc_main_fx.c index 9f12d15a0..e0f0740fd 100644 --- a/lib_lc3plus/plc_main_fx.c +++ b/lib_lc3plus/plc_main_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_noise_substitution_fx.c b/lib_lc3plus/plc_noise_substitution_fx.c index 5bf71258a..d0febf01d 100644 --- a/lib_lc3plus/plc_noise_substitution_fx.c +++ b/lib_lc3plus/plc_noise_substitution_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_phecu_f0_refine_first_fx.c b/lib_lc3plus/plc_phecu_f0_refine_first_fx.c index 4c4f26b00..717cead78 100644 --- a/lib_lc3plus/plc_phecu_f0_refine_first_fx.c +++ b/lib_lc3plus/plc_phecu_f0_refine_first_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_phecu_fec_hq_fx.c b/lib_lc3plus/plc_phecu_fec_hq_fx.c index 0d94b3718..dcdfb9a63 100644 --- a/lib_lc3plus/plc_phecu_fec_hq_fx.c +++ b/lib_lc3plus/plc_phecu_fec_hq_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_phecu_lf_peak_analysis_fx.c b/lib_lc3plus/plc_phecu_lf_peak_analysis_fx.c index cdd082c31..cb52465be 100644 --- a/lib_lc3plus/plc_phecu_lf_peak_analysis_fx.c +++ b/lib_lc3plus/plc_phecu_lf_peak_analysis_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_phecu_peak_locator_fx.c b/lib_lc3plus/plc_phecu_peak_locator_fx.c index e1342a486..967aaa8b9 100644 --- a/lib_lc3plus/plc_phecu_peak_locator_fx.c +++ b/lib_lc3plus/plc_phecu_peak_locator_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_phecu_setf0hz_fx.c b/lib_lc3plus/plc_phecu_setf0hz_fx.c index b21488af4..06d3403b0 100644 --- a/lib_lc3plus/plc_phecu_setf0hz_fx.c +++ b/lib_lc3plus/plc_phecu_setf0hz_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_phecu_tools_fx.c b/lib_lc3plus/plc_phecu_tools_fx.c index c9eb49e02..50dcb5030 100644 --- a/lib_lc3plus/plc_phecu_tools_fx.c +++ b/lib_lc3plus/plc_phecu_tools_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_tdac_fx.c b/lib_lc3plus/plc_tdac_fx.c index 43b85be6d..aa767935e 100644 --- a/lib_lc3plus/plc_tdac_fx.c +++ b/lib_lc3plus/plc_tdac_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_tdc_inverse_odft_fx.c b/lib_lc3plus/plc_tdc_inverse_odft_fx.c index 3eb4cdc6a..903dc63e5 100644 --- a/lib_lc3plus/plc_tdc_inverse_odft_fx.c +++ b/lib_lc3plus/plc_tdc_inverse_odft_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_tdc_lagwin_fx.c b/lib_lc3plus/plc_tdc_lagwin_fx.c index 2de348eb2..15c59832a 100644 --- a/lib_lc3plus/plc_tdc_lagwin_fx.c +++ b/lib_lc3plus/plc_tdc_lagwin_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_tdc_main_fx.c b/lib_lc3plus/plc_tdc_main_fx.c index 56e62f21b..a11ebd2ce 100644 --- a/lib_lc3plus/plc_tdc_main_fx.c +++ b/lib_lc3plus/plc_tdc_main_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_tdc_pre_emphasis_fx.c b/lib_lc3plus/plc_tdc_pre_emphasis_fx.c index 401bb061b..a18c1429b 100644 --- a/lib_lc3plus/plc_tdc_pre_emphasis_fx.c +++ b/lib_lc3plus/plc_tdc_pre_emphasis_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_update_aft_imdct_fx.c b/lib_lc3plus/plc_update_aft_imdct_fx.c index 18685f5b4..8385ad46b 100644 --- a/lib_lc3plus/plc_update_aft_imdct_fx.c +++ b/lib_lc3plus/plc_update_aft_imdct_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_update_fx.c b/lib_lc3plus/plc_update_fx.c index 9cb2b02e4..315e50220 100644 --- a/lib_lc3plus/plc_update_fx.c +++ b/lib_lc3plus/plc_update_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_xcorr_fx.c b/lib_lc3plus/plc_xcorr_fx.c index 0c3dbb0cf..078c84855 100644 --- a/lib_lc3plus/plc_xcorr_fx.c +++ b/lib_lc3plus/plc_xcorr_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/pvq_dec_fx.c b/lib_lc3plus/pvq_dec_fx.c index 25ec3e539..f543f9903 100644 --- a/lib_lc3plus/pvq_dec_fx.c +++ b/lib_lc3plus/pvq_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/pvq_enc_fx.c b/lib_lc3plus/pvq_enc_fx.c index 9933419bb..d1185f62a 100644 --- a/lib_lc3plus/pvq_enc_fx.c +++ b/lib_lc3plus/pvq_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/pvq_index_fx.c b/lib_lc3plus/pvq_index_fx.c index 5d216df5e..a5f61a2dc 100644 --- a/lib_lc3plus/pvq_index_fx.c +++ b/lib_lc3plus/pvq_index_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/quantize_spec_fx.c b/lib_lc3plus/quantize_spec_fx.c index 147000186..581f8df24 100644 --- a/lib_lc3plus/quantize_spec_fx.c +++ b/lib_lc3plus/quantize_spec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/reorder_bitstream_fx.c b/lib_lc3plus/reorder_bitstream_fx.c index 657abffc1..f4face685 100644 --- a/lib_lc3plus/reorder_bitstream_fx.c +++ b/lib_lc3plus/reorder_bitstream_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/resamp12k8_fx.c b/lib_lc3plus/resamp12k8_fx.c index ebfa42502..7b49c0533 100644 --- a/lib_lc3plus/resamp12k8_fx.c +++ b/lib_lc3plus/resamp12k8_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/residual_coding_fx.c b/lib_lc3plus/residual_coding_fx.c index bec0636b7..dbfcb93dc 100644 --- a/lib_lc3plus/residual_coding_fx.c +++ b/lib_lc3plus/residual_coding_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/residual_decoding_fx.c b/lib_lc3plus/residual_decoding_fx.c index 158c5f454..0b05aa35b 100644 --- a/lib_lc3plus/residual_decoding_fx.c +++ b/lib_lc3plus/residual_decoding_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/rom_basop_util_lc3plus.c b/lib_lc3plus/rom_basop_util_lc3plus.c index f47c818f6..aac3d3ed7 100644 --- a/lib_lc3plus/rom_basop_util_lc3plus.c +++ b/lib_lc3plus/rom_basop_util_lc3plus.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/rom_basop_util_lc3plus.h b/lib_lc3plus/rom_basop_util_lc3plus.h index ac088fa1d..62f8caf6e 100644 --- a/lib_lc3plus/rom_basop_util_lc3plus.h +++ b/lib_lc3plus/rom_basop_util_lc3plus.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/scale_signal24_fx.c b/lib_lc3plus/scale_signal24_fx.c index 1cabd2bbf..280a25688 100644 --- a/lib_lc3plus/scale_signal24_fx.c +++ b/lib_lc3plus/scale_signal24_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/setup_com_lc3plus.c b/lib_lc3plus/setup_com_lc3plus.c index 1121d1905..c796eee77 100644 --- a/lib_lc3plus/setup_com_lc3plus.c +++ b/lib_lc3plus/setup_com_lc3plus.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/setup_dec_lc3plus.c b/lib_lc3plus/setup_dec_lc3plus.c index 43512a4ea..aabf72120 100644 --- a/lib_lc3plus/setup_dec_lc3plus.c +++ b/lib_lc3plus/setup_dec_lc3plus.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/setup_dec_lc3plus.h b/lib_lc3plus/setup_dec_lc3plus.h index e2c35ec45..6e4805e6b 100644 --- a/lib_lc3plus/setup_dec_lc3plus.h +++ b/lib_lc3plus/setup_dec_lc3plus.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/setup_enc_lc3plus.c b/lib_lc3plus/setup_enc_lc3plus.c index 6005f1521..5e84f1749 100644 --- a/lib_lc3plus/setup_enc_lc3plus.c +++ b/lib_lc3plus/setup_enc_lc3plus.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/setup_enc_lc3plus.h b/lib_lc3plus/setup_enc_lc3plus.h index 6fa08039d..b8985f2a4 100644 --- a/lib_lc3plus/setup_enc_lc3plus.h +++ b/lib_lc3plus/setup_enc_lc3plus.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/sns_compute_scf_fx.c b/lib_lc3plus/sns_compute_scf_fx.c index a95e3e772..d038eaabc 100644 --- a/lib_lc3plus/sns_compute_scf_fx.c +++ b/lib_lc3plus/sns_compute_scf_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/sns_interpolate_scf_fx.c b/lib_lc3plus/sns_interpolate_scf_fx.c index 89718af52..6c080eeb8 100644 --- a/lib_lc3plus/sns_interpolate_scf_fx.c +++ b/lib_lc3plus/sns_interpolate_scf_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/sns_quantize_scf_fx.c b/lib_lc3plus/sns_quantize_scf_fx.c index d4d3d3aa2..e07b1af21 100644 --- a/lib_lc3plus/sns_quantize_scf_fx.c +++ b/lib_lc3plus/sns_quantize_scf_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/tns_coder_fx.c b/lib_lc3plus/tns_coder_fx.c index e012abd0f..6f903682d 100644 --- a/lib_lc3plus/tns_coder_fx.c +++ b/lib_lc3plus/tns_coder_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/tns_decoder_fx.c b/lib_lc3plus/tns_decoder_fx.c index 7b9575f2d..a9c349f6e 100644 --- a/lib_lc3plus/tns_decoder_fx.c +++ b/lib_lc3plus/tns_decoder_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_rend/ivas_allrad_dec_fx.c b/lib_rend/ivas_allrad_dec_fx.c index 56b9bd7e9..4f857ac37 100644 --- a/lib_rend/ivas_allrad_dec_fx.c +++ b/lib_rend/ivas_allrad_dec_fx.c @@ -1,35 +1,7 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ #include #include "options.h" @@ -98,17 +70,10 @@ ivas_error ivas_sba_get_hoa_dec_matrix_fx( } ELSE IF( EQ_32( hOutSetup.output_config, IVAS_AUDIO_CONFIG_STEREO ) ) { -#ifdef FIX_1521_SBA_LOUDNESS_STEREO ( *hoa_dec_mtx )[0] = INV_SQRT2_FX >> 2; ( *hoa_dec_mtx )[1] = INV_SQRT2_FX >> 2; ( *hoa_dec_mtx )[SBA_NHARM_HOA3] = INV_SQRT2_FX >> 2; ( *hoa_dec_mtx )[SBA_NHARM_HOA3 + 1] = -( INV_SQRT2_FX >> 2 ); -#else - ( *hoa_dec_mtx )[0] = ONE_IN_Q28; // 0.5f in Q29 - ( *hoa_dec_mtx )[1] = ONE_IN_Q28; // 0.5f in Q29 - ( *hoa_dec_mtx )[SBA_NHARM_HOA3] = ONE_IN_Q28; // 0.5f in Q29 - ( *hoa_dec_mtx )[SBA_NHARM_HOA3 + 1] = -ONE_IN_Q28; // 0.5f in Q29 -#endif move32(); move32(); move32(); diff --git a/lib_rend/ivas_binRenderer_internal_fx.c b/lib_rend/ivas_binRenderer_internal_fx.c index 3d7241a97..713120d4f 100644 --- a/lib_rend/ivas_binRenderer_internal_fx.c +++ b/lib_rend/ivas_binRenderer_internal_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -41,9 +13,6 @@ #include "ivas_rom_binauralRenderer.h" #include "wmc_auto.h" #include "ivas_prot_fx.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*----------------------------------------------------------------------------------* diff --git a/lib_rend/ivas_cldfb_ring_buffer.c b/lib_rend/ivas_cldfb_ring_buffer.c index e6de5e65d..0094f8506 100644 --- a/lib_rend/ivas_cldfb_ring_buffer.c +++ b/lib_rend/ivas_cldfb_ring_buffer.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -36,9 +8,6 @@ #include "prot_fx.h" #include "ivas_prot_rend_fx.h" #include -#ifdef DEBUGGING -#include "debug.h" -#endif #include "wmc_auto.h" diff --git a/lib_rend/ivas_crend_fx.c b/lib_rend/ivas_crend_fx.c index fb652a389..5c96f7384 100644 --- a/lib_rend/ivas_crend_fx.c +++ b/lib_rend/ivas_crend_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -40,9 +12,6 @@ #include "ivas_stat_rend.h" #include "ivas_prot_fx.h" #include "wmc_auto.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*------------------------------------------------------------------------- diff --git a/lib_rend/ivas_dirac_ana_fx.c b/lib_rend/ivas_dirac_ana_fx.c index 9bdbc987e..42162501c 100644 --- a/lib_rend/ivas_dirac_ana_fx.c +++ b/lib_rend/ivas_dirac_ana_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "options.h" #include diff --git a/lib_rend/ivas_dirac_dec_binaural_functions_fx.c b/lib_rend/ivas_dirac_dec_binaural_functions_fx.c index f82cce810..a00f4e3ee 100644 --- a/lib_rend/ivas_dirac_dec_binaural_functions_fx.c +++ b/lib_rend/ivas_dirac_dec_binaural_functions_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_rend/ivas_dirac_decorr_dec_fx.c b/lib_rend/ivas_dirac_decorr_dec_fx.c index 792ac76de..b222729fb 100644 --- a/lib_rend/ivas_dirac_decorr_dec_fx.c +++ b/lib_rend/ivas_dirac_decorr_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_rend/ivas_dirac_onsets_dec_fx.c b/lib_rend/ivas_dirac_onsets_dec_fx.c index 5abc1f73e..7d8c8d847 100644 --- a/lib_rend/ivas_dirac_onsets_dec_fx.c +++ b/lib_rend/ivas_dirac_onsets_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_rend/ivas_dirac_output_synthesis_dec_fx.c b/lib_rend/ivas_dirac_output_synthesis_dec_fx.c index 0a6afb017..a405b9245 100644 --- a/lib_rend/ivas_dirac_output_synthesis_dec_fx.c +++ b/lib_rend/ivas_dirac_output_synthesis_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -3001,14 +2973,12 @@ void ivas_dirac_dec_compute_directional_responses_fx( move32(); } } -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES ELSE IF( EQ_16( transport_signal_type, MASA_DUAL_MONO ) ) { direct_response_fx[0] = ONE_IN_Q29; /*q29*/ move32(); /* direct_response[1] is not adjusted for dual mono input */ } -#endif ELSE { set32_fx( direct_response_fx, ONE_IN_Q29, hDirACRend->num_protos_ambi ); /*q29*/ diff --git a/lib_rend/ivas_dirac_rend_fx.c b/lib_rend/ivas_dirac_rend_fx.c index d56272108..8e9f3fbd9 100644 --- a/lib_rend/ivas_dirac_rend_fx.c +++ b/lib_rend/ivas_dirac_rend_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -41,7 +13,6 @@ #include "ivas_prot_fx.h" #include "ivas_rom_binaural_crend_head.h" -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES /*------------------------------------------------------------------------------------------* * Local constants *------------------------------------------------------------------------------------------*/ @@ -49,7 +20,6 @@ /* Constants for MASA dual mono detection */ #define MASA_DUAL_MONO_TAU1_FX 33554432 /* Q31, float 0.01562500000000000f, which is 2^-6, which is about -18 dB */ #define MASA_DUAL_MONO_TAU2_FX 16384 /* Q31, float 0.00000762939453125f, which is 2^-17, which is about -51 dB */ -#endif /*------------------------------------------------------------------------- * ivas_dirac_allocate_parameters() @@ -1730,16 +1700,11 @@ void protoSignalComputation2_fx( Word16 q_sum_total_ratio = 0; move16(); Word32 a_fx, b_fx, a2_fx, b2_fx; -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES Word16 interpolatorSpaced_fx, interpolatorDmx_fx, interpolatorDualMono_fx; Word32 tempSpaced_fx, tempDmx_fx, tempDualMono_fx; Word64 inst_diff_bb_power_64fx; Word16 inst_diff_bb_power_norm; Word16 max_band_diff_ene; -#else - Word16 interpolatorSpaced_fx, interpolatorDmx_fx; - Word32 tempSpaced_fx, tempDmx_fx; -#endif Word16 q_shift, min_q_shift[2], exp, q_temp[2]; Word32 temp; Word64 W_tmp1, W_tmp2, W_tmp3; @@ -1760,7 +1725,6 @@ void protoSignalComputation2_fx( move16(); interpolatorDmx_fx = MAX16B; move16(); -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES interpolatorDualMono_fx = 0; move16(); @@ -1770,7 +1734,6 @@ void protoSignalComputation2_fx( { max_band_diff_ene = s_min( stereo_type_detect->max_band_diff_ene, num_freq_bands ); /* Local version for correct maximum */ } -#endif /* Calculate the max shift possible for the buffers RealBuffer_fx and ImagBuffer_fx */ FOR( l = 0; l < 2; l++ ) @@ -1943,7 +1906,6 @@ void protoSignalComputation2_fx( total_hi_power_fx = 0; move32(); -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES inst_diff_bb_power_64fx = 0; move64(); @@ -1957,7 +1919,6 @@ void protoSignalComputation2_fx( stereo_type_detect->q_inst_total_bb_power_fx = Q31; move16(); -#endif dipole_freq_range[0] = stereo_type_detect->dipole_freq_range[0]; move16(); dipole_freq_range[1] = stereo_type_detect->dipole_freq_range[1]; @@ -1978,12 +1939,9 @@ void protoSignalComputation2_fx( /* interpolatorSpaced = ( (float) ( stereo_type_detect->interpolator ) ) / ( (float) MASA_STEREO_INTERPOLATION_SLOTS ); */ interpolatorSpaced_fx = i_mult_sat( stereo_type_detect->interpolator, 2048 /* 1 / MASA_STEREO_INTERPOLATION_SLOTS in Q15 */ ); /* Q15 */ interpolatorDmx_fx = sub( MAX16B, interpolatorSpaced_fx ); /* Q15 */ -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES interpolatorDualMono_fx = interpolatorDmx_fx; move16(); -#endif } -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES ELSE IF( EQ_16( stereo_type_detect->type_change_direction, MASA_DUAL_MONO ) ) { /* interpolatorDualMono = ( (float) ( stereo_type_detect->interpolator ) ) / ( (float) MASA_STEREO_INTERPOLATION_SLOTS ); */ @@ -1992,16 +1950,13 @@ void protoSignalComputation2_fx( interpolatorSpaced_fx = interpolatorDmx_fx; move16(); } -#endif ELSE { /* interpolatorDmx = ( (float) ( stereo_type_detect->interpolator ) ) / ( (float) MASA_STEREO_INTERPOLATION_SLOTS ); */ interpolatorDmx_fx = i_mult_sat( stereo_type_detect->interpolator, 2048 /* 1 / MASA_STEREO_INTERPOLATION_SLOTS in Q15 */ ); /* Q15 */ interpolatorSpaced_fx = sub( MAX16B, interpolatorDmx_fx ); /* Q15 */ -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES interpolatorDualMono_fx = interpolatorSpaced_fx; move16(); -#endif } } @@ -2142,7 +2097,6 @@ void protoSignalComputation2_fx( q_sum_total_ratio = s_max( q_sum_total_ratio, exp_sum_total_ratio_fx[l] ); } -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES RealSubtract_fx = L_sub( re1, re2 ); // q_cldfb+min_q_shift ImagSubtract_fx = L_sub( im1, im2 ); // q_cldfb+min_q_shift @@ -2179,80 +2133,12 @@ void protoSignalComputation2_fx( } } } -#else - IF( l == 0 ) - { - RealSubtract_fx = L_sub( re1, re2 ); // q_cldfb+min_q_shift - ImagSubtract_fx = L_sub( im1, im2 ); // q_cldfb+min_q_shift - - temp = Madd_32_32( Mpy_32_32( RealSubtract_fx, RealSubtract_fx ), ImagSubtract_fx, ImagSubtract_fx ); // 2*(q_cldfb+min_q_shift)-31 - assert( qidx == 0 ); - IF( LT_16( q_temp[qidx], stereo_type_detect->q_subtract_power_y ) ) - { - stereo_type_detect->subtract_power_y_fx = L_add( L_shr( stereo_type_detect->subtract_power_y_fx, sub( stereo_type_detect->q_subtract_power_y, q_temp[qidx] ) ), temp ); // q_temp - move32(); - stereo_type_detect->q_subtract_power_y = q_temp[qidx]; - move16(); - } - ELSE - { - stereo_type_detect->subtract_power_y_fx = L_add( stereo_type_detect->subtract_power_y_fx, L_shr( temp, sub( q_temp[qidx], stereo_type_detect->q_subtract_power_y ) ) ); // stereo_type_detect->q_subtract_power_y - move32(); - } - } -#endif /* Compute protos (and their power) for direct sound rendering */ /* W prototype */ IF( stereo_type_detect->interpolator > 0 ) { -#ifndef FIX_FLOAT_1578_OMASA_REND_SPIKES - IF( L_or( LT_16( l, sub( dipole_freq_range[1], 1 ) ), GE_16( l, MASA_SUM_PROTO_START_BIN ) ) ) - { - Real_aux_fx = Madd_32_16( Mpy_32_16_1( Real_aux_fx, shr( interpolatorSpaced_fx, 1 ) ), Real_aux_fx, interpolatorDmx_fx ); // q_cldfb+min_q_shift - Imag_aux_fx = Madd_32_16( Mpy_32_16_1( Imag_aux_fx, shr( interpolatorSpaced_fx, 1 ) ), Imag_aux_fx, interpolatorDmx_fx ); // q_cldfb+min_q_shift - - temp = Madd_32_32( Mpy_32_32( Real_aux_fx, Real_aux_fx ), Imag_aux_fx, Imag_aux_fx ); // 2*(q_cldfb+min_q_shift) -31 - IF( LT_16( q_temp[qidx], q_proto_power_smooth[qidx] ) ) - { - proto_power_smooth_fx[l] = L_add( L_shr( proto_power_smooth_fx[l], sub( q_proto_power_smooth[qidx], q_temp[qidx] ) ), temp ); // q_temp - move32(); - } - ELSE - { - proto_power_smooth_fx[l] = L_add( proto_power_smooth_fx[l], L_shr( temp, sub( q_temp[qidx], q_proto_power_smooth[qidx] ) ) ); // q_proto_power_smooth - move32(); - } - - p_proto_buffer_fx[2 * l] = Real_aux_fx; // q_cldfb+min_q_shift - move32(); - p_proto_buffer_fx[2 * l + 1] = Imag_aux_fx; // q_cldfb+min_q_shift - move32(); - } - ELSE - { - tempSpaced_fx = Madd_32_32( Mpy_32_32( re1, re1 ), im1, im1 ); // 2*(q_cldfb+min_q_shift)-31 - tempDmx_fx = Madd_32_32( Mpy_32_32( Real_aux_fx, Real_aux_fx ), Imag_aux_fx, Imag_aux_fx ); // 2*(q_cldfb+min_q_shift)-31 - - temp = Madd_32_16( Mpy_32_16_1( tempSpaced_fx, interpolatorSpaced_fx ), tempDmx_fx, interpolatorDmx_fx ); // 2*(q_cldfb+min_q_shift)-31 - IF( LT_16( q_temp[qidx], q_proto_power_smooth[qidx] ) ) - { - proto_power_smooth_fx[l] = L_add( L_shr( proto_power_smooth_fx[l], sub( q_proto_power_smooth[qidx], q_temp[qidx] ) ), temp ); // q_temp - move32(); - } - ELSE - { - proto_power_smooth_fx[l] = L_add( proto_power_smooth_fx[l], L_shr( temp, sub( q_temp[qidx], q_proto_power_smooth[qidx] ) ) ); // q_proto_power_smooth - move32(); - } - - p_proto_buffer_fx[2 * l] = Madd_32_16( Mpy_32_16_1( re1, interpolatorSpaced_fx ), Real_aux_fx, interpolatorDmx_fx ); // q_cldfb+min_q_shift - move32(); - p_proto_buffer_fx[2 * l + 1] = Madd_32_16( Mpy_32_16_1( im1, interpolatorSpaced_fx ), Imag_aux_fx, interpolatorDmx_fx ); // q_cldfb+min_q_shift - move32(); - } -#else test(); test(); test(); @@ -2383,7 +2269,6 @@ void protoSignalComputation2_fx( p_proto_buffer_fx[2 * l + 1] = Imag_aux_fx; // q_cldfb+min_q_shift move32(); } -#endif } ELSE IF( EQ_16( stereo_type_detect->masa_stereo_type, MASA_STEREO_SPACED_MICS ) ) { @@ -2429,7 +2314,6 @@ void protoSignalComputation2_fx( move32(); } } -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES ELSE IF( EQ_16( stereo_type_detect->masa_stereo_type, MASA_DUAL_MONO ) ) { Real_aux_fx = L_shr( Real_aux_fx, 1 ); // q_cldfb+min_q_shift @@ -2452,9 +2336,6 @@ void protoSignalComputation2_fx( move32(); } ELSE /* MASA_STEREO_DOWNMIX */ -#else - ELSE -#endif { temp = Madd_32_32( Mpy_32_32( Real_aux_fx, Real_aux_fx ), Imag_aux_fx, Imag_aux_fx ); // 2*(q_cldfb+min_q_shift)-31 IF( LT_16( q_temp[qidx], q_proto_power_smooth[qidx] ) ) @@ -2477,41 +2358,6 @@ void protoSignalComputation2_fx( /* Y prototype */ IF( stereo_type_detect->interpolator > 0 ) { -#ifndef FIX_FLOAT_1578_OMASA_REND_SPIKES - IF( LT_16( l, dipole_freq_range[0] ) ) - { - p_proto_buffer_fx[2 * ( num_freq_bands + l )] = Madd_32_16( Mpy_32_16_1( p_proto_buffer_fx[2 * l], interpolatorSpaced_fx ), L_sub( re1, re2 ), interpolatorDmx_fx ); // q_cldfb+min_q_shift - move32(); - p_proto_buffer_fx[2 * ( num_freq_bands + l ) + 1] = Madd_32_16( Mpy_32_16_1( p_proto_buffer_fx[2 * l + 1], interpolatorSpaced_fx ), L_sub( im1, im2 ), interpolatorDmx_fx ); // q_cldfb+min_q_shift - move32(); - } - ELSE IF( LT_16( l, dipole_freq_range[1] ) ) - { - p_proto_buffer_fx[2 * ( num_freq_bands + l )] = Madd_32_16( Mpy_32_16_1( L_sub( im1, im2 ), interpolatorSpaced_fx ), L_sub( re1, re2 ), interpolatorDmx_fx ); // q_cldfb+min_q_shift - move32(); - p_proto_buffer_fx[2 * ( num_freq_bands + l ) + 1] = Madd_32_16( Mpy_32_16_1( -L_sub( re1, re2 ), interpolatorSpaced_fx ), L_sub( im1, im2 ), interpolatorDmx_fx ); // q_cldfb+min_q_shift - move32(); - } - ELSE - { - p_proto_buffer_fx[2 * ( num_freq_bands + l )] = Madd_32_16( Mpy_32_16_1( p_proto_buffer_fx[2 * l], interpolatorSpaced_fx ), L_sub( re1, re2 ), interpolatorDmx_fx ); // q_cldfb+min_q_shift - move32(); - p_proto_buffer_fx[2 * ( num_freq_bands + l ) + 1] = Madd_32_16( Mpy_32_16_1( p_proto_buffer_fx[2 * l + 1], interpolatorSpaced_fx ), L_sub( im1, im2 ), interpolatorDmx_fx ); // q_cldfb+min_q_shift - move32(); - } - - temp = Madd_32_32( Mpy_32_32( p_proto_buffer_fx[2 * ( num_freq_bands + l )], p_proto_buffer_fx[2 * ( num_freq_bands + l )] ), p_proto_buffer_fx[2 * ( num_freq_bands + l ) + 1], p_proto_buffer_fx[2 * ( num_freq_bands + l ) + 1] ); // 2*(q_cldfb+min_q_shift)-31 - IF( LT_16( q_temp[qidx], q_proto_power_smooth[qidx] ) ) - { - proto_power_smooth_fx[l + num_freq_bands] = L_add( L_shr( proto_power_smooth_fx[l + num_freq_bands], sub( q_proto_power_smooth[qidx], q_temp[qidx] ) ), temp ); // q_temp - move32(); - } - ELSE - { - proto_power_smooth_fx[l + num_freq_bands] = L_add( proto_power_smooth_fx[l + num_freq_bands], L_shr( temp, sub( q_temp[qidx], q_proto_power_smooth[qidx] ) ) ); // q_proto_power_smooth - move32(); - } -#else test(); test(); test(); @@ -2587,7 +2433,6 @@ void protoSignalComputation2_fx( proto_power_smooth_fx[l + num_freq_bands] = L_add( proto_power_smooth_fx[l + num_freq_bands], L_shr( temp, sub( q_temp[qidx], q_proto_power_smooth[qidx] ) ) ); // q_proto_power_smooth move32(); } -#endif } ELSE IF( EQ_16( stereo_type_detect->masa_stereo_type, MASA_STEREO_SPACED_MICS ) ) { @@ -2629,7 +2474,6 @@ void protoSignalComputation2_fx( move32(); } } -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES ELSE IF( EQ_16( stereo_type_detect->masa_stereo_type, MASA_DUAL_MONO ) ) { /* proto = W */ @@ -2641,9 +2485,6 @@ void protoSignalComputation2_fx( move32(); } ELSE /* MASA_STEREO_DOWNMIX */ -#else - ELSE -#endif { p_proto_buffer_fx[2 * ( num_freq_bands + l )] = L_sub( re1, re2 ); // q_cldfb+min_q_shift move32(); @@ -2818,14 +2659,12 @@ void protoSignalComputation2_fx( stereo_type_detect->min_sum_total_ratio_db_fx = min_sum_total_ratio_db_fx; // Q21 move32(); -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES /* Convert inst_diff to Word32 */ inst_diff_bb_power_norm = W_norm( inst_diff_bb_power_64fx ); stereo_type_detect->inst_diff_bb_power_fx = W_extract_h( W_shl( inst_diff_bb_power_64fx, inst_diff_bb_power_norm ) ); move32(); stereo_type_detect->q_inst_diff_bb_power_fx = add( shl( add( q_cldfb, s_min( min_q_shift[0], min_q_shift[1] ) ), 1 ), sub( inst_diff_bb_power_norm, 32 ) ); move16(); -#endif ivas_masa_stereotype_detection_fx( stereo_type_detect ); } @@ -3394,12 +3233,8 @@ void computeDirectionAngles_fx( *------------------------------------------------------------------------*/ void ivas_masa_init_stereotype_detection_fx( -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES MASA_STEREO_TYPE_DETECT *stereo_type_detect, Word32 ivas_total_brate_fx ) -#else - MASA_STEREO_TYPE_DETECT *stereo_type_detect ) -#endif { stereo_type_detect->masa_stereo_type = MASA_STEREO_DOWNMIX; move32(); @@ -3471,7 +3306,6 @@ void ivas_masa_init_stereotype_detection_fx( move32(); stereo_type_detect->subtract_target_ratio_db_fx = 0; move32(); -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES stereo_type_detect->inst_diff_bb_power_fx = 0; move32(); @@ -3489,7 +3323,6 @@ void ivas_masa_init_stereotype_detection_fx( stereo_type_detect->max_band_diff_ene = 18; move16(); } -#endif return; } @@ -3518,12 +3351,10 @@ void ivas_masa_stereotype_detection_fx( Word32 lr_total_bb_temp_fx; Word32 lr_total_hi_temp_fx; Word32 temp; -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES Word16 change_to_dual_mono_selection; Word32 diffPerSum_fx; /* Q31 */ Word16 scale; Word32 tau; /* Q31 */ -#endif lr_total_bb_ratio_db_fx = stereo_type_detect->lr_total_bb_ratio_db_fx; // q21 move32(); @@ -3534,7 +3365,6 @@ void ivas_masa_stereotype_detection_fx( subtract_target_ratio_db_fx = stereo_type_detect->subtract_target_ratio_db_fx; // q21 move32(); -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES /* Determine if broadband energy and ratio between difference broadband energy and broadband energy indicate * that the signal type is dual mono */ change_to_dual_mono_selection = 0; @@ -3560,7 +3390,6 @@ void ivas_masa_stereotype_detection_fx( } } -#endif /* Determine if the determined features match the spaced mic type */ change_to_spaced_selection = 0; move16(); @@ -3637,16 +3466,12 @@ void ivas_masa_stereotype_detection_fx( } ELSE { -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES IF( EQ_16( change_to_dual_mono_selection, 1 ) ) { stereo_type_detect->masa_stereo_type = MASA_DUAL_MONO; move32(); } ELSE IF( EQ_16( change_to_spaced_selection, 1 ) ) -#else - IF( EQ_16( change_to_spaced_selection, 1 ) ) -#endif { stereo_type_detect->masa_stereo_type = MASA_STEREO_SPACED_MICS; move32(); diff --git a/lib_rend/ivas_efap_fx.c b/lib_rend/ivas_efap_fx.c index ba8d2eef7..7e019e4a8 100644 --- a/lib_rend/ivas_efap_fx.c +++ b/lib_rend/ivas_efap_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -49,10 +21,6 @@ #define EFAP_MAX_GHOST_LS 5 /* Maximum number of ghost Loudspeakers, for memory allocation purpose */ #define POLY_THRESH_Q29 53687LL // Q29 #define POLY_THRESH_Q28 26843 // Q28 -#ifdef DEBUG_EFAP_POLY_TOFILE -#define PANNING_AZI_RESOLUTION 2 -#define PANNING_ELE_RESOLUTION 5 -#endif #define Q22_1 4194304 #define Q22_45_DEG 188743680 #define Q22_90_DEG 377487360 diff --git a/lib_rend/ivas_hrtf_fx.c b/lib_rend/ivas_hrtf_fx.c index 1775c11f4..418dfe1b9 100644 --- a/lib_rend/ivas_hrtf_fx.c +++ b/lib_rend/ivas_hrtf_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_rend/ivas_masa_merge_fx.c b/lib_rend/ivas_masa_merge_fx.c index ee1480f06..db894e20b 100644 --- a/lib_rend/ivas_masa_merge_fx.c +++ b/lib_rend/ivas_masa_merge_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "options.h" #include "ivas_prot_rend_fx.h" diff --git a/lib_rend/ivas_mcmasa_ana_fx.c b/lib_rend/ivas_mcmasa_ana_fx.c index baf121956..256dba81e 100644 --- a/lib_rend/ivas_mcmasa_ana_fx.c +++ b/lib_rend/ivas_mcmasa_ana_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_rend/ivas_objectRenderer_fx.c b/lib_rend/ivas_objectRenderer_fx.c index 5266824fe..38a2e63cf 100644 --- a/lib_rend/ivas_objectRenderer_fx.c +++ b/lib_rend/ivas_objectRenderer_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "ivas_stat_rend.h" #include @@ -38,9 +10,6 @@ #include "ivas_rom_com.h" #include "wmc_auto.h" #include "ivas_prot_fx.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*---------------------------------------------------------------------* @@ -202,21 +171,12 @@ ivas_error ivas_td_binaural_open_unwrap_fx( DistAtten.DistAttenModel = TDREND_DIST_ATTEN_MODEL_INV_DIST_CLAMPED; // Q0 move16(); -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION DistAtten.MaxDist_fx = DIST_ATT_DEFAULT_MAXDIST_Q25; /* Maximum radius (2^ISM_RADIUS_NBITS-1)*0.25 */ /*15.75 in Q25*/ move32(); DistAtten.RefDist_fx = DIST_ATT_DEFAULT_REFDIST_Q28; // Q28 move32(); DistAtten.RollOffFactor_fx = DIST_ATT_DEFAULT_ROLLOFF_Q28; // Q28 move32(); -#else - DistAtten.MaxDist_fx = 2113929216; /* Maximum radius (2^ISM_RADIUS_NBITS-1)*0.25 */ /*15.75 in Q27*/ - move32(); - DistAtten.RefDist_fx = ONE_IN_Q30; // Q30 - move32(); - DistAtten.RollOffFactor_fx = ONE_IN_Q30; // Q30 - move32(); -#endif // TDREND_SRC_SPATIAL_t *SrcSpatial_p = pBinRendTd->Sources[nS]->SrcSpatial_p; IF( NE_32( ( error = TDREND_MIX_SRC_SetPos_fx( pBinRendTd, nS, Pos_fx ) ), IVAS_ERR_OK ) ) @@ -271,21 +231,12 @@ ivas_error ivas_td_binaural_open_unwrap_fx( { DistAtten.DistAttenModel = TDREND_DIST_ATTEN_MODEL_INV_DIST_CLAMPED; // Q0 move16(); -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION DistAtten.MaxDist_fx = DIST_ATT_DEFAULT_MAXDIST_Q25; /* Maximum radius (2^ISM_RADIUS_NBITS-1)*0.25 */ /*15.75 in Q25*/ move32(); DistAtten.RefDist_fx = DIST_ATT_DEFAULT_REFDIST_Q28; // Q28 move32(); DistAtten.RollOffFactor_fx = DIST_ATT_DEFAULT_ROLLOFF_Q28; // Q28 move32(); -#else - DistAtten.MaxDist_fx = 2113929216; /* Maximum radius (2^ISM_RADIUS_NBITS-1)*0.25 */ /*15.75 in Q27*/ - move32(); - DistAtten.RefDist_fx = ONE_IN_Q30; // Q30 - move32(); - DistAtten.RollOffFactor_fx = ONE_IN_Q30; // Q30 - move32(); -#endif } ELSE { @@ -738,9 +689,7 @@ ivas_error TDREND_Update_listener_orientation_fx( Word32 Rmat_fx[3][3]; Word16 orient_q, headPosition_q; Word32 Pos_p_fx[3]; -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION Word16 Pos_q; -#endif ivas_error error; IF( headRotEnabled ) @@ -779,9 +728,7 @@ ivas_error TDREND_Update_listener_orientation_fx( Pos_p_fx[0] = ( *Pos_fx ).x_fx; // Q Pos_fx->q_fact Pos_p_fx[1] = ( *Pos_fx ).y_fx; // Q Pos_fx->q_fact Pos_p_fx[2] = ( *Pos_fx ).z_fx; // Q Pos_fx->q_fact -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION Pos_q = ( *Pos_fx ).q_fact; -#endif } ELSE { @@ -789,16 +736,12 @@ ivas_error TDREND_Update_listener_orientation_fx( Pos_p_fx[0] = 0; Pos_p_fx[1] = 0; Pos_p_fx[2] = 0; -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION Pos_q = Q31; -#endif } move32(); move32(); move32(); -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION move16(); -#endif } ELSE { @@ -827,18 +770,12 @@ ivas_error TDREND_Update_listener_orientation_fx( move32(); Pos_p_fx[2] = 0; move32(); -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION Pos_q = Q31; move16(); -#endif } /* Set the listener position and orientation:*/ -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION TDREND_MIX_LIST_SetPos_fx( hBinRendererTd, Pos_p_fx, Pos_q ); -#else - TDREND_MIX_LIST_SetPos_fx( hBinRendererTd, Pos_p_fx ); -#endif error = TDREND_MIX_LIST_SetOrient_fx( hBinRendererTd, FrontVec_fx, UpVec_fx, orient_q ); @@ -1021,49 +958,22 @@ ivas_error ivas_td_binaural_renderer_ext_fx( { Word16 idx = subframe_idx; move16(); -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION Word16 pos_q = Q31; -#else - Word16 pos_q = Q25; -#endif move16(); test(); IF( *hCombinedOrientationData != NULL && ( *hCombinedOrientationData )->listenerPos != NULL ) { -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION_BUGFIX ( *hCombinedOrientationData )->listenerPos[idx].q_fact = pos_q; -#else - pos_q = ( *hCombinedOrientationData )->listenerPos[idx].q_fact; -#endif move16(); -#else - ( *hCombinedOrientationData )->listenerPos[idx].x_fx = L_shr( ( *hCombinedOrientationData )->listenerPos[idx].x_fx, sub( ( *hCombinedOrientationData )->listenerPos[idx].q_fact, pos_q ) ); - move32(); - ( *hCombinedOrientationData )->listenerPos[idx].y_fx = L_shr( ( *hCombinedOrientationData )->listenerPos[idx].y_fx, sub( ( *hCombinedOrientationData )->listenerPos[idx].q_fact, pos_q ) ); - move32(); - ( *hCombinedOrientationData )->listenerPos[idx].z_fx = L_shr( ( *hCombinedOrientationData )->listenerPos[idx].z_fx, sub( ( *hCombinedOrientationData )->listenerPos[idx].q_fact, pos_q ) ); - move32(); - ( *hCombinedOrientationData )->listenerPos[idx].q_fact = pos_q; - move16(); -#endif } FOR( Word16 i = 0; i < 3; i++ ) { pTDRend->hBinRendererTd->Listener_p->Pos_fx[i] = L_shr( pTDRend->hBinRendererTd->Listener_p->Pos_fx[i], sub( pTDRend->hBinRendererTd->Listener_p->Pos_q, pos_q ) ); -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION - move32(); -#else - pTDRend->hBinRendererTd->Listener_p->Pos_q = pos_q; move32(); - move16(); -#endif } -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION pTDRend->hBinRendererTd->Listener_p->Pos_q = pos_q; move16(); -#endif } IF( NE_32( ( error = ivas_td_binaural_renderer_unwrap_fx( hReverb, transport_config, pTDRend->hBinRendererTd, num_src, lfe_idx, ivas_format, hIsmMetaData, *hCombinedOrientationData, diff --git a/lib_rend/ivas_objectRenderer_hrFilt_fx.c b/lib_rend/ivas_objectRenderer_hrFilt_fx.c index 2a404c94b..603e6d811 100644 --- a/lib_rend/ivas_objectRenderer_hrFilt_fx.c +++ b/lib_rend/ivas_objectRenderer_hrFilt_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -38,7 +10,6 @@ #include "ivas_rom_rend.h" #include "ivas_cnst.h" #include "wmc_auto.h" -#include "debug.h" /*---------------------------------------------------------------------* * Local function prototypes diff --git a/lib_rend/ivas_objectRenderer_mix_fx.c b/lib_rend/ivas_objectRenderer_mix_fx.c index 088d6bda3..d3545941d 100644 --- a/lib_rend/ivas_objectRenderer_mix_fx.c +++ b/lib_rend/ivas_objectRenderer_mix_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -55,12 +27,8 @@ static ivas_error DefaultBSplineModel_fx( TDREND_HRFILT_FiltSet_t *HrFiltSet_p, void TDREND_MIX_LIST_SetPos_fx( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION const Word32 *Pos_p, /* i : Listener's position */ const Word16 Pos_q /* i : Listener's position Q */ -#else - const Word32 *Pos_p /* i : Listener's position */ // Q Pos_fx->q_fact -#endif ) { TDREND_MIX_Listener_t *Listener_p; @@ -68,19 +36,13 @@ void TDREND_MIX_LIST_SetPos_fx( Listener_p = hBinRendererTd->Listener_p; test(); test(); -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION test(); IF( NE_32( Pos_p[0], Listener_p->Pos_fx[0] ) || NE_32( Pos_p[1], Listener_p->Pos_fx[1] ) || NE_32( Pos_p[2], Listener_p->Pos_fx[2] ) || NE_16( Pos_q, Listener_p->Pos_q ) ) -#else - IF( NE_32( Pos_p[0], Listener_p->Pos_fx[0] ) || NE_32( Pos_p[1], Listener_p->Pos_fx[1] ) || NE_32( Pos_p[2], Listener_p->Pos_fx[2] ) ) -#endif { /* Set position */ Copy32( Pos_p, Listener_p->Pos_fx, 3 ); // Q Pos_fx->q_fact -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION Listener_p->Pos_q = Pos_q; move16(); -#endif /* Set pose update flag */ Listener_p->PoseUpdated = TRUE; @@ -212,11 +174,7 @@ ivas_error TDREND_MIX_Init_fx( } /* Init virtual and rendering listeners for spatial mixers */ TDREND_SPATIAL_VecInit_fx( hBinRendererTd->Listener_p->Pos_fx, 0, 0, 0 ); -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION hBinRendererTd->Listener_p->Pos_q = Q31; -#else - hBinRendererTd->Listener_p->Pos_q = Q25; -#endif move16(); TDREND_SPATIAL_VecInit_fx( hBinRendererTd->Listener_p->Vel_fx, 0, 0, 0 ); TDREND_SPATIAL_VecInit_fx( hBinRendererTd->Listener_p->Front_fx, 0, 0, -ONE_IN_Q30 ); diff --git a/lib_rend/ivas_objectRenderer_sfx_fx.c b/lib_rend/ivas_objectRenderer_sfx_fx.c index c54dc8676..bcd802e3e 100644 --- a/lib_rend/ivas_objectRenderer_sfx_fx.c +++ b/lib_rend/ivas_objectRenderer_sfx_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_rend/ivas_objectRenderer_sources_fx.c b/lib_rend/ivas_objectRenderer_sources_fx.c index 611c0c45e..0eee40651 100644 --- a/lib_rend/ivas_objectRenderer_sources_fx.c +++ b/lib_rend/ivas_objectRenderer_sources_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -36,9 +8,7 @@ #include "ivas_prot_rend_fx.h" #include "wmc_auto.h" #include "ivas_prot_fx.h" -#ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW #include "rom_com.h" -#endif /*---------------------------------------------------------------------* * Local function prototypes @@ -319,9 +289,7 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams_fx( Word32 ListRelPos[3]; Word32 ListRelDist; Word32 ListRelPosAbs[3]; /* Relative position, ignoring orientation of listener */ -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION Word16 ListRelPosAbs_e; -#endif Word32 Azim, Elev; Word32 hrf_left[SFX_SPAT_BIN_MAX_FILTER_LENGTH]; Word32 hrf_right[SFX_SPAT_BIN_MAX_FILTER_LENGTH]; @@ -329,14 +297,10 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams_fx( Word32 azim_delta; Word32 elev_delta; Word16 ListRelPos_e, ListRelDist_e; -#ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW Word16 pan; -#endif -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION Word16 pos_q; Word32 Src_p_tmp[3]; Word32 Listener_p_tmp[3]; -#endif /* Evaluate the HR filters from the source and listener positions and orientations */ Listener_p = hBinRendererTd->Listener_p; @@ -348,17 +312,12 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams_fx( { /* Absolute position */ -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION /* Align to smallest common Q-factor */ pos_q = s_min( SrcSpatial_p->q_Pos_p, Listener_p->Pos_q ); Copy_Scale_sig32( SrcSpatial_p->Pos_p_fx, Src_p_tmp, 3, sub( pos_q, SrcSpatial_p->q_Pos_p ) ); Copy_Scale_sig32( Listener_p->Pos_fx, Listener_p_tmp, 3, sub( pos_q, Listener_p->Pos_q ) ); TDREND_SPATIAL_VecMapToNewCoordSystem_fx( Src_p_tmp, Listener_p_tmp, Listener_p->Front_fx, Listener_p->Up_fx, Listener_p->Right_fx, ListRelPos, ListRelPosAbs ); ListRelPos_e = sub( 32, pos_q ); // output q of above function is pos_q + Q30 - 31. so exp will be 62 - pos_q - 30 = 32 - pos_q -#else - TDREND_SPATIAL_VecMapToNewCoordSystem_fx( SrcSpatial_p->Pos_p_fx, Listener_p->Pos_fx, Listener_p->Front_fx, Listener_p->Up_fx, Listener_p->Right_fx, ListRelPos, ListRelPosAbs ); - ListRelPos_e = 7; // output q of above function is Q25 + Q30 - 31. so exp will be 62 - Q25 - Q30. -#endif move16(); ListRelDist = TDREND_SPATIAL_VecNorm_fx( ListRelPos, ListRelPos_e, &ListRelDist_e ); @@ -398,12 +357,8 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams_fx( move16(); IF( SrcSpatial_p->DirAttenEnabled ) { -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION ListRelPosAbs_e = sub( 31, pos_q ); *SrcRend_p->DirGain_p_fx = TDREND_SRC_SPATIAL_GetDirGain_fx( &SrcSpatial_p->DirAtten, SrcSpatial_p->Front_p_fx, ListRelPosAbs, ListRelPosAbs_e ); -#else - *SrcRend_p->DirGain_p_fx = TDREND_SRC_SPATIAL_GetDirGain_fx( &SrcSpatial_p->DirAtten, SrcSpatial_p->Front_p_fx, ListRelPosAbs, 6 ); -#endif } /* Distance gain */ @@ -486,24 +441,9 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams_fx( move32(); set32_fx( hrf_left, 0, *filterlength ); set32_fx( hrf_right, 0, *filterlength ); -#ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION pan = add( extract_h( L_shl( SrcSpatial_p->Pos_p_fx[1], sub( Q21, SrcSpatial_p->q_Pos_p ) ) ), 32 ); -#else - pan = add( mult_r( extract_h( SrcSpatial_p->Pos_p_fx[1] ), 2048 ), 32 ); -#endif hrf_left[0] = L_shl_r( cos_table_129[64 - pan], 10 ); hrf_right[0] = L_shl_r( cos_table_129[pan], 10 ); -#else -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION - hrf_left[0] = L_shr( L_add( L_shl( SrcSpatial_p->Pos_p_fx[1], sub( Q25, SrcSpatial_p->q_Pos_p ) ), ONE_IN_Q25 ), 1 ); // Q25 -#else - hrf_left[0] = L_shr( L_add( SrcSpatial_p->Pos_p_fx[1], ONE_IN_Q25 ), 1 ); // Q25 -#endif - move32(); - hrf_right[0] = L_sub( ONE_IN_Q25, hrf_left[0] ); // Q25 - move32(); -#endif hrf_left_e = 6; move16(); @@ -671,21 +611,12 @@ static void TDREND_SRC_SPATIAL_Init_fx( move16(); SrcSpatial_p->DistAtten.DistAttenModel = TDREND_DIST_ATTEN_MODEL_INV_DIST_CLAMPED; // Q0 move16(); -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION SrcSpatial_p->DistAtten.RefDist_fx = DIST_ATT_DEFAULT_REFDIST_Q28; // Q28 move32(); SrcSpatial_p->DistAtten.MaxDist_fx = DIST_ATT_DEFAULT_MAXDIST_Q25; /* Maximum radius (2^ISM_RADIUS_NBITS-1)*0.25 */ /*15.75 in Q25*/ move32(); SrcSpatial_p->DistAtten.RollOffFactor_fx = DIST_ATT_DEFAULT_ROLLOFF_Q28; // Q28 move16(); -#else - SrcSpatial_p->DistAtten.RefDist_fx = ONE_IN_Q30; // Q30 - move32(); - SrcSpatial_p->DistAtten.MaxDist_fx = 2113929216; /* Maximum radius (2^ISM_RADIUS_NBITS-1)*0.25 */ /*15.75 in Q27*/ - move32(); - SrcSpatial_p->DistAtten.RollOffFactor_fx = ONE_IN_Q30; // Q30 - move16(); -#endif return; } @@ -877,70 +808,34 @@ static Word16 TDREND_SRC_SPATIAL_GetDistGain_fx( { case TDREND_DIST_ATTEN_MODEL_INV_DIST: /* DistGain = powf( DistAtten_p->RefDist / Dist2, DistAtten_p->RollOffFactor ); */ -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION tmp16 = BASOP_Util_Divide3232_Scale( DistAtten_p->RefDist_fx, Dist2_fx, &Dist_s ); /* tmp16 is Q(15 - Dist_s + Dist2_e - 3) */ tmp32 = L_deposit_h( tmp16 ); /* tmp32 is Q(31 - Dist_s + Dist2_e - 3) */ /* tmp32 exponent: 31 - (31 - Dist_s + Dist2_e - 3) = Dist_s - Dist2_e + 3, RollOffFactor_fx exponent: 31 - 28 = 3 */ tmp32 = BASOP_Util_fPow( tmp32, add( sub( Dist_s, Dist2_e ), 3 ), DistAtten_p->RollOffFactor_fx, 3, &tmp_e ); /* Q(31 - tmp_e) */ -#else - tmp16 = BASOP_Util_Divide3232_Scale( DistAtten_p->RefDist_fx, Dist2_fx, &Dist_s ); /* tmp16 is Q(15 - Dist_s + Dist2_e - 1) */ - tmp32 = L_deposit_h( tmp16 ); /* tmp32 is Q(31 - Dist_s + Dist2_e - 1) */ - /* tmp32 exponent: 31 - (31 - Dist_s + Dist2_e - 1) = Dist_s - Dist2_e + 1, RollOffFactor_fx exponent: 31 - 30 = 1 */ - tmp32 = BASOP_Util_fPow( tmp32, add( sub( Dist_s, Dist2_e ), 1 ), DistAtten_p->RollOffFactor_fx, 1, &tmp_e ); /* Q(31 - tmp_e) */ -#endif BREAK; case TDREND_DIST_ATTEN_MODEL_INV_DIST_CLAMPED: -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION flag = BASOP_Util_Cmp_Mant32Exp( Dist2_fx, Dist2_e, DistAtten_p->RefDist_fx, 3 ); -#else - flag = BASOP_Util_Cmp_Mant32Exp( Dist2_fx, Dist2_e, DistAtten_p->RefDist_fx, 1 ); -#endif IF( flag < 0 ) { -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION Dist2_fx = DistAtten_p->RefDist_fx; // Q28 move32(); Dist2_e = 3; move16(); -#else - Dist2_fx = DistAtten_p->RefDist_fx; // Q30 - move32(); - Dist2_e = 1; - move16(); -#endif } -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION flag = BASOP_Util_Cmp_Mant32Exp( Dist2_fx, Dist2_e, DistAtten_p->MaxDist_fx, 6 /*Q25*/ ); -#else - flag = BASOP_Util_Cmp_Mant32Exp( Dist2_fx, Dist2_e, DistAtten_p->MaxDist_fx, 4 ); -#endif IF( flag > 0 ) { -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION Dist2_fx = DistAtten_p->MaxDist_fx; // Q25 move32(); Dist2_e = 6; move16(); -#else - Dist2_fx = DistAtten_p->MaxDist_fx; // Q27 - move32(); - Dist2_e = 4; - move16(); -#endif } /* DistGain = powf( DistAtten_p->RefDist / Dist2, DistAtten_p->RollOffFactor ); */ -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION tmp16 = BASOP_Util_Divide3232_Scale( DistAtten_p->RefDist_fx, Dist2_fx, &Dist_s ); /* tmp16 is Q(15 - Dist_s + Dist2_e - 3) */ tmp32 = L_deposit_h( tmp16 ); /* tmp32 is Q(31 - Dist_s + Dist2_e - 3) */ /* tmp32 exponent: 31 - (31 - Dist_s + Dist2_e - 3) = Dist_s - Dist2_e + 3, RollOffFactor_fx exponent: 31 - 28 = 3 */ tmp32 = BASOP_Util_fPow( tmp32, add( sub( Dist_s, Dist2_e ), 3 ), DistAtten_p->RollOffFactor_fx, 3, &tmp_e ); /* Q(31 - tmp_e) */ -#else - tmp16 = BASOP_Util_Divide3232_Scale( DistAtten_p->RefDist_fx, Dist2_fx, &Dist_s ); /* tmp16 is Q(15 - Dist_s + Dist2_e - 1) */ - tmp32 = L_deposit_h( tmp16 ); /* tmp32 is Q(31 - Dist_s + Dist2_e - 1) */ - /* tmp32 exponent: 31 - (31 - Dist_s + Dist2_e - 1) = Dist_s - Dist2_e + 1, RollOffFactor_fx exponent: 31 - 30 = 1 */ - tmp32 = BASOP_Util_fPow( tmp32, add( sub( Dist_s, Dist2_e ), 1 ), DistAtten_p->RollOffFactor_fx, 1, &tmp_e ); /* Q(31 - tmp_e) */ -#endif BREAK; } diff --git a/lib_rend/ivas_objectRenderer_vec_fx.c b/lib_rend/ivas_objectRenderer_vec_fx.c index 995e6b787..e6c41d4ea 100644 --- a/lib_rend/ivas_objectRenderer_vec_fx.c +++ b/lib_rend/ivas_objectRenderer_vec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -77,17 +49,12 @@ Word32 TDREND_SPATIAL_VecNorm_fx( { Word32 tmp; Word16 tmp_e; -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION Word32 tmp_Vec[3]; /* Create 1-bit headroom */ Copy_Scale_sig32( Vec_p, tmp_Vec, 3, -1 ); tmp = L_add( L_add( Mpy_32_32( tmp_Vec[0], Vec_p[0] ), Mpy_32_32( tmp_Vec[1], Vec_p[1] ) ), Mpy_32_32( tmp_Vec[2], Vec_p[2] ) ); tmp_e = add( shl( in_exp, 1 ), 1 ); // 2 * in_exp + 1 -#else - tmp = L_add( L_add( Mpy_32_32( Vec_p[0], Vec_p[0] ), Mpy_32_32( Vec_p[1], Vec_p[1] ) ), Mpy_32_32( Vec_p[2], Vec_p[2] ) ); - tmp_e = shl( in_exp, 1 ); // 2 * in_exp -#endif tmp = Sqrt32( tmp, &tmp_e ); *out_exp = tmp_e; move16(); @@ -104,17 +71,12 @@ void TDREND_SPATIAL_VecNormalize_fx( Word32 scaler_fx; Word32 sqrd_sum; Word16 exp, shift; -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION Word32 tmp_Vec[3]; /* Create 1-bit headroom */ Copy_Scale_sig32( Vec_p_fx, tmp_Vec, 3, -1 ); sqrd_sum = L_add( Mpy_32_32( tmp_Vec[0], Vec_p_fx[0] ), L_add( Mpy_32_32( tmp_Vec[1], Vec_p_fx[1] ), Mpy_32_32( tmp_Vec[2], Vec_p_fx[2] ) ) ); exp = add( shl( sub( 31, q ), 1 ), 1 ); -#else - sqrd_sum = L_add( Mpy_32_32( Vec_p_fx[0], Vec_p_fx[0] ), L_add( Mpy_32_32( Vec_p_fx[1], Vec_p_fx[1] ), Mpy_32_32( Vec_p_fx[2], Vec_p_fx[2] ) ) ); - exp = shl( sub( 31, q ), 1 ); -#endif scaler_fx = ISqrt32( sqrd_sum, &exp ); VecNorm_p_fx[0] = Mpy_32_32( scaler_fx, Vec_p_fx[0] ); // Q: ( q + ( 31 - exp ) ) - 31 diff --git a/lib_rend/ivas_omasa_ana_fx.c b/lib_rend/ivas_omasa_ana_fx.c index 02af0f7fd..e598aa9f5 100644 --- a/lib_rend/ivas_omasa_ana_fx.c +++ b/lib_rend/ivas_omasa_ana_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "options.h" #include diff --git a/lib_rend/ivas_orient_trk_fx.c b/lib_rend/ivas_orient_trk_fx.c index 3c911bd0a..ce93f5316 100644 --- a/lib_rend/ivas_orient_trk_fx.c +++ b/lib_rend/ivas_orient_trk_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "common_api_types.h" #include diff --git a/lib_rend/ivas_output_init_fx.c b/lib_rend/ivas_output_init_fx.c index ec279e168..5c972e3b0 100644 --- a/lib_rend/ivas_output_init_fx.c +++ b/lib_rend/ivas_output_init_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_rend/ivas_prot_rend_fx.h b/lib_rend/ivas_prot_rend_fx.h index 2650e6180..4f4e95f41 100644 --- a/lib_rend/ivas_prot_rend_fx.h +++ b/lib_rend/ivas_prot_rend_fx.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_PROT_REND_H #define IVAS_PROT_REND_H @@ -357,12 +329,8 @@ void computeDirectionAngles_fx( ); void ivas_masa_init_stereotype_detection_fx( -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES MASA_STEREO_TYPE_DETECT *stereo_type_detect, Word32 ivas_total_brate_fx -#else - MASA_STEREO_TYPE_DETECT *stereo_type_detect -#endif ); void ivas_masa_stereotype_detection_fx( diff --git a/lib_rend/ivas_reflections_fx.c b/lib_rend/ivas_reflections_fx.c index d2230f728..b10ef715f 100644 --- a/lib_rend/ivas_reflections_fx.c +++ b/lib_rend/ivas_reflections_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "options.h" #include @@ -39,9 +11,6 @@ #include "ivas_cnst.h" #include "ivas_rom_com.h" #include "wmc_auto.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*-----------------------------------------------------------------------------------------* diff --git a/lib_rend/ivas_render_config_fx.c b/lib_rend/ivas_render_config_fx.c index efd794501..a43e42b0e 100644 --- a/lib_rend/ivas_render_config_fx.c +++ b/lib_rend/ivas_render_config_fx.c @@ -1,43 +1,13 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" #include "prot_fx.h" #include "ivas_prot_rend_fx.h" #include "ivas_rom_rend.h" -#ifdef FIX_1452_DEFAULT_REVERB #include "ivas_cnst.h" -#endif #include "ivas_rom_TdBinauralRenderer.h" #include "wmc_auto.h" @@ -45,16 +15,6 @@ * Local constants *-----------------------------------------------------------------------*/ -#ifndef FIX_1452_DEFAULT_REVERB -#define IVAS_REVERB_DEFAULT_L_PRE_DELAY_FX 2147484 // 0.016 -#define IVAS_REVERB_DEFAULT_L_INPUT_DELAY_FX 13421773 // 0.1 - -#define IVAS_REVERB_DEFAULT_S_PRE_DELAY_FX 1677722 // 0.0125f -#define IVAS_REVERB_DEFAULT_S_INPUT_DELAY_FX 0 // 0.0f - -#define IVAS_REVERB_DEFAULT_M_PRE_DELAY_FX 1677722 // 0.0125f -#define IVAS_REVERB_DEFAULT_M_INPUT_DELAY_FX 0 // 0.0f -#endif #define IVAS_REVERB_DEFAULT_USE_ER 0 @@ -122,17 +82,10 @@ ivas_error ivas_render_config_init_from_rom_fx( move16(); ( *hRenderConfig )->roomAcoustics.nBands = IVAS_REVERB_DEFAULT_L_N_BANDS; move16(); -#ifdef FIX_1452_DEFAULT_REVERB ( *hRenderConfig )->roomAcoustics.acousticPreDelay_fx = IVAS_REVERB_DEFAULT_L_ACOUSTIC_PRE_DELAY_FX; move32(); ( *hRenderConfig )->roomAcoustics.inputPreDelay_fx = IVAS_REVERB_DEFAULT_L_INPUT_PRE_DELAY_FX; move32(); -#else - ( *hRenderConfig )->roomAcoustics.acousticPreDelay_fx = IVAS_REVERB_DEFAULT_L_PRE_DELAY_FX; - move32(); - ( *hRenderConfig )->roomAcoustics.inputPreDelay_fx = IVAS_REVERB_DEFAULT_L_INPUT_DELAY_FX; - move32(); -#endif ( *hRenderConfig )->roomAcoustics.use_er = IVAS_REVERB_DEFAULT_USE_ER; move16(); set32_fx( &( *hRenderConfig )->roomAcoustics.pFc_input_fx[0], 0, CLDFB_NO_CHANNELS_MAX ); @@ -152,21 +105,12 @@ ivas_error ivas_render_config_init_from_rom_fx( ( *hRenderConfig )->directivity_fx[add( i_mult( i, 3 ), 2 )] = 32767 /*1.0f in Q15*/; /* Back attenuation */ move16(); } -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION ( *hRenderConfig )->distAtt_fx[0] = DIST_ATT_DEFAULT_MAXDIST_Q25; /* Maximum radius (2^ISM_RADIUS_NBITS-1)*0.25 */ /*15.75 in Q25*/ /* Default max dist */ move32(); ( *hRenderConfig )->distAtt_fx[1] = DIST_ATT_DEFAULT_REFDIST_Q28; // Q28 /* Default ref dist */ move32(); ( *hRenderConfig )->distAtt_fx[2] = DIST_ATT_DEFAULT_ROLLOFF_Q28; // Q28 /* Default rolloff factor */ move32(); -#else - ( *hRenderConfig )->distAtt_fx[0] = 2113929216; /* Maximum radius (2^ISM_RADIUS_NBITS-1)*0.25 */ /*15.75 in Q27*/ /* Default max dist */ - move32(); - ( *hRenderConfig )->distAtt_fx[1] = ONE_IN_Q30; // Q30 /* Default ref dist */ - move32(); - ( *hRenderConfig )->distAtt_fx[2] = ONE_IN_Q30; // Q30 /* Default rolloff factor */ - move32(); -#endif ( *hRenderConfig )->split_rend_config.splitRendBitRate = ISAR_MAX_SPLIT_REND_BITRATE; move32(); ( *hRenderConfig )->split_rend_config.dof = 3; @@ -203,30 +147,19 @@ ivas_error ivas_render_config_change_defaults( IVAS_DefaultReverbSize defaultReverbSize /* i: Reverb default size */ ) { -#ifdef FIX_1452_DEFAULT_REVERB hRenderConfig->roomAcoustics.use_er = IVAS_REVERB_DEFAULT_USE_ER; move16(); -#endif SWITCH( defaultReverbSize ) { case DEFAULT_REVERB_SMALL: hRenderConfig->roomAcoustics.nBands = IVAS_REVERB_DEFAULT_S_N_BANDS; move16(); -#ifdef FIX_1452_DEFAULT_REVERB hRenderConfig->roomAcoustics.acousticPreDelay_fx = IVAS_REVERB_DEFAULT_S_ACOUSTIC_PRE_DELAY_FX; move32(); hRenderConfig->roomAcoustics.inputPreDelay_fx = IVAS_REVERB_DEFAULT_S_INPUT_PRE_DELAY_FX; move32(); -#else - hRenderConfig->roomAcoustics.acousticPreDelay_fx = IVAS_REVERB_DEFAULT_S_PRE_DELAY_FX; - move32(); - hRenderConfig->roomAcoustics.inputPreDelay_fx = IVAS_REVERB_DEFAULT_S_INPUT_DELAY_FX; - move32(); - hRenderConfig->roomAcoustics.use_er = IVAS_REVERB_DEFAULT_USE_ER; - move16(); -#endif set_zero_fx( &hRenderConfig->roomAcoustics.pFc_input_fx[0], CLDFB_NO_CHANNELS_MAX ); set_zero_fx( &hRenderConfig->roomAcoustics.pAcoustic_rt60_fx[0], CLDFB_NO_CHANNELS_MAX ); set_zero_fx( &hRenderConfig->roomAcoustics.pAcoustic_dsr_fx[0], CLDFB_NO_CHANNELS_MAX ); @@ -238,19 +171,10 @@ ivas_error ivas_render_config_change_defaults( case DEFAULT_REVERB_MEDIUM: hRenderConfig->roomAcoustics.nBands = IVAS_REVERB_DEFAULT_M_N_BANDS; move16(); -#ifdef FIX_1452_DEFAULT_REVERB hRenderConfig->roomAcoustics.acousticPreDelay_fx = IVAS_REVERB_DEFAULT_M_ACOUSTIC_PRE_DELAY_FX; move32(); hRenderConfig->roomAcoustics.inputPreDelay_fx = IVAS_REVERB_DEFAULT_M_INPUT_PRE_DELAY_FX; move32(); -#else - hRenderConfig->roomAcoustics.acousticPreDelay_fx = IVAS_REVERB_DEFAULT_M_PRE_DELAY_FX; - move32(); - hRenderConfig->roomAcoustics.inputPreDelay_fx = IVAS_REVERB_DEFAULT_M_INPUT_DELAY_FX; - move32(); - hRenderConfig->roomAcoustics.use_er = IVAS_REVERB_DEFAULT_USE_ER; - move16(); -#endif set_zero_fx( &hRenderConfig->roomAcoustics.pFc_input_fx[0], CLDFB_NO_CHANNELS_MAX ); set_zero_fx( &hRenderConfig->roomAcoustics.pAcoustic_rt60_fx[0], CLDFB_NO_CHANNELS_MAX ); set_zero_fx( &hRenderConfig->roomAcoustics.pAcoustic_dsr_fx[0], CLDFB_NO_CHANNELS_MAX ); @@ -262,19 +186,10 @@ ivas_error ivas_render_config_change_defaults( case DEFAULT_REVERB_LARGE: hRenderConfig->roomAcoustics.nBands = IVAS_REVERB_DEFAULT_L_N_BANDS; move16(); -#ifdef FIX_1452_DEFAULT_REVERB hRenderConfig->roomAcoustics.acousticPreDelay_fx = IVAS_REVERB_DEFAULT_L_ACOUSTIC_PRE_DELAY_FX; move32(); hRenderConfig->roomAcoustics.inputPreDelay_fx = IVAS_REVERB_DEFAULT_L_INPUT_PRE_DELAY_FX; move32(); -#else - hRenderConfig->roomAcoustics.acousticPreDelay_fx = IVAS_REVERB_DEFAULT_L_PRE_DELAY_FX; - move32(); - hRenderConfig->roomAcoustics.inputPreDelay_fx = IVAS_REVERB_DEFAULT_L_INPUT_DELAY_FX; - move32(); - hRenderConfig->roomAcoustics.use_er = IVAS_REVERB_DEFAULT_USE_ER; - move16(); -#endif set_zero_fx( &hRenderConfig->roomAcoustics.pFc_input_fx[0], CLDFB_NO_CHANNELS_MAX ); set_zero_fx( &hRenderConfig->roomAcoustics.pAcoustic_rt60_fx[0], CLDFB_NO_CHANNELS_MAX ); set_zero_fx( &hRenderConfig->roomAcoustics.pAcoustic_dsr_fx[0], CLDFB_NO_CHANNELS_MAX ); diff --git a/lib_rend/ivas_reverb_delay_line_fx.c b/lib_rend/ivas_reverb_delay_line_fx.c index d3a0f5bb2..96ddc4f6c 100644 --- a/lib_rend/ivas_reverb_delay_line_fx.c +++ b/lib_rend/ivas_reverb_delay_line_fx.c @@ -1,43 +1,12 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" #include "ivas_prot_rend_fx.h" #include "prot_fx.h" #include "wmc_auto.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*-----------------------------------------------------------------------------------------* diff --git a/lib_rend/ivas_reverb_fft_filter_fx.c b/lib_rend/ivas_reverb_fft_filter_fx.c index 6cf1278fa..486ec5c47 100644 --- a/lib_rend/ivas_reverb_fft_filter_fx.c +++ b/lib_rend/ivas_reverb_fft_filter_fx.c @@ -1,43 +1,12 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" #include "prot_fx.h" #include "ivas_prot_rend_fx.h" #include "wmc_auto.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*------------------------------------------------------------------------------------------* * Static functions declarations diff --git a/lib_rend/ivas_reverb_filter_design_fx.c b/lib_rend/ivas_reverb_filter_design_fx.c index a6ffc84f8..d4f703f8e 100644 --- a/lib_rend/ivas_reverb_filter_design_fx.c +++ b/lib_rend/ivas_reverb_filter_design_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_rend/ivas_reverb_fx.c b/lib_rend/ivas_reverb_fx.c index 50bd990ad..6ffcbcafd 100644 --- a/lib_rend/ivas_reverb_fx.c +++ b/lib_rend/ivas_reverb_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -39,9 +11,6 @@ #include "ivas_rom_rend.h" #include #include "wmc_auto.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /* The reverberator structure implemented here is described in detail in: @@ -237,9 +206,7 @@ ivas_error ivas_reverb_HRTF_statistics_open_fx( BREAK; } ( *hHrtfStatistics )->fromROM = TRUE; -#ifdef FIX_1990_SANITIZER_IN_REVERB_LOAD ( *hHrtfStatistics )->fromROM = FALSE; // TODO: temporary hack until HRTF statistics ROM tables are converted from Word16 to Word32 -#endif return IVAS_ERR_OK; } diff --git a/lib_rend/ivas_reverb_iir_filter_fx.c b/lib_rend/ivas_reverb_iir_filter_fx.c index e4ce77b65..bb87f117b 100644 --- a/lib_rend/ivas_reverb_iir_filter_fx.c +++ b/lib_rend/ivas_reverb_iir_filter_fx.c @@ -1,43 +1,12 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" #include "prot_fx.h" #include "ivas_prot_rend_fx.h" #include "wmc_auto.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #define float_to_fix( n, factor ) ( round( n * ( 1 << factor ) ) ) diff --git a/lib_rend/ivas_reverb_utils_fx.c b/lib_rend/ivas_reverb_utils_fx.c index 1b8c9835d..29af1dcd6 100644 --- a/lib_rend/ivas_reverb_utils_fx.c +++ b/lib_rend/ivas_reverb_utils_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_rend/ivas_rom_TdBinauralRenderer.h b/lib_rend/ivas_rom_TdBinauralRenderer.h index 34ef98e66..d9c35f780 100644 --- a/lib_rend/ivas_rom_TdBinauralRenderer.h +++ b/lib_rend/ivas_rom_TdBinauralRenderer.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef _IVAS_ROM_TDBINAURALRENDERER_ #define _IVAS_ROM_TDBINAURALRENDERER_ diff --git a/lib_rend/ivas_rom_TdBinauralRenderer_fx.c b/lib_rend/ivas_rom_TdBinauralRenderer_fx.c index 1269e7caa..b4c9b7113 100644 --- a/lib_rend/ivas_rom_TdBinauralRenderer_fx.c +++ b/lib_rend/ivas_rom_TdBinauralRenderer_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /* clang-format off */ @@ -39,18 +11,12 @@ #define WMC_TOOL_SKIP -#ifdef DEBUGGING -/* Generated on 31-Jul-2024 with Matlab version 9.9.0.2037887 (R2020b) Update 8 by tmu on MACI64 */ -#endif /*------------------------------------------------------------------------- * TD Binaural rendering related ROM tables *------------------------------------------------------------------------*/ /* TD renderer default HRIR model */ -#ifdef DEBUGGING -/* Generated on 09-Sep-2025 with Matlab version 23.2.0.2668659 (R2023b) Update 9 by marcemerit on MACA64 */ -#endif const Word16 defaultHRIR_rom_latency_s_Q_fx = 31; diff --git a/lib_rend/ivas_rom_binauralRenderer.h b/lib_rend/ivas_rom_binauralRenderer.h index 178a50b7c..c38bc30b9 100644 --- a/lib_rend/ivas_rom_binauralRenderer.h +++ b/lib_rend/ivas_rom_binauralRenderer.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef _IVAS_ROM_BINAURAL_RENDERER_ #define _IVAS_ROM_BINAURAL_RENDERER_ diff --git a/lib_rend/ivas_rom_binauralRenderer_fx.c b/lib_rend/ivas_rom_binauralRenderer_fx.c index 37b472fc9..f02d83940 100644 --- a/lib_rend/ivas_rom_binauralRenderer_fx.c +++ b/lib_rend/ivas_rom_binauralRenderer_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" @@ -42,14 +14,6 @@ /*------------------------------------------------------------------------- * Binaural rendering related ROM tables *------------------------------------------------------------------------*/ -#ifdef DEBUGGING -/* Binaural rendering data set based on HRIRs */ -/* Tables generated by the script at "scripts/binauralRenderer_interface/run_generate_IVAS_tables.m */ -/* Can be replaced by your own generated HRIR tables */ -/* - * Generated with Matlab version 9.3.0.713579 (R2017b) by MUXE6256 -*/ -#endif const Word16 FASTCONV_factor_Q_HOA3_latency_s_fx = 31; @@ -46963,9 +46927,6 @@ const Word16 fastconvReverberationEneCorrections_fx[CLDFB_NO_CHANNELS_MAX] = }; -#ifdef DEBUGGING -/* Generated on 09-Sep-2025 with Matlab version 23.2.0.2668659 (R2023b) Update 9 by marcemerit on MACA64 */ -#endif const Word16 hrtfShCoeffs_factorQ_fx = 14; diff --git a/lib_rend/ivas_rom_binaural_crend_head.h b/lib_rend/ivas_rom_binaural_crend_head.h index a0f13e471..8ebdd8f05 100644 --- a/lib_rend/ivas_rom_binaural_crend_head.h +++ b/lib_rend/ivas_rom_binaural_crend_head.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /* clang-format off */ diff --git a/lib_rend/ivas_rom_binaural_crend_head_fx.c b/lib_rend/ivas_rom_binaural_crend_head_fx.c index 28ebb28e0..e79163408 100644 --- a/lib_rend/ivas_rom_binaural_crend_head_fx.c +++ b/lib_rend/ivas_rom_binaural_crend_head_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /* clang-format off */ diff --git a/lib_rend/ivas_rom_rend.h b/lib_rend/ivas_rom_rend.h index 7a1cf8971..a06d0e4bb 100644 --- a/lib_rend/ivas_rom_rend.h +++ b/lib_rend/ivas_rom_rend.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_ROM_REND_H #define IVAS_ROM_REND_H diff --git a/lib_rend/ivas_rom_rend_fx.c b/lib_rend/ivas_rom_rend_fx.c index cd57355f5..dcd4f6355 100644 --- a/lib_rend/ivas_rom_rend_fx.c +++ b/lib_rend/ivas_rom_rend_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "options.h" #include @@ -270,21 +242,12 @@ const Word32 ivas_reverb_default_small_RT60_fx[IVAS_REVERB_DEFAULT_S_N_BANDS] = const Word32 ivas_reverb_default_small_DSR_fx[IVAS_REVERB_DEFAULT_S_N_BANDS] = { -#ifdef FIX_1452_DEFAULT_REVERB 7492, 3154, 2033, 1848, 2280, 2721, 2988, 3693, 4165, 4276, 3797, 3273, 2676, 2205, 1756, 1386, 1142, 932, 832, 952, 1084, 1320, 1508, 1675, 1659, 1610, 1475, 1263, 1118, 981, 876, 769, 666, 612, 535, 467, 429, 379, 351, 321, 296, 273, 250, 226, 203, 180, 160, 149, 141, 133, 129, 123, 118, 115, 111, 110, 107, 106, 106, 105 -#else - 16773, 7628, 5046, 4620, 5666, 6853, 7771, 9876, 11530, 12337, - 11421, 10287, 8791, 7565, 6305, 5215, 4504, 3860, 3627, 4363, - 5246, 6739, 8151, 9611, 10088, 10416, 10154, 9187, 8628, 8012, - 7491, 6931, 6320, 6074, 5589, 5145, 4977, 4646, 4558, 4411, - 4331, 4253, 4147, 4018, 3821, 3629, 3428, 3361, 3361, 3361, - 3361, 3361, 3361, 3361, 3361, 3361, 3361, 3361, 3361, 3361 -#endif }; const Word32 ivas_reverb_default_medium_fc_fx[IVAS_REVERB_DEFAULT_M_N_BANDS] = @@ -313,7 +276,6 @@ const Word32 ivas_reverb_default_medium_RT60_fx[IVAS_REVERB_DEFAULT_M_N_BANDS] = const Word32 ivas_reverb_default_medium_DSR_fx[IVAS_REVERB_DEFAULT_M_N_BANDS] = { -#ifdef FIX_1452_DEFAULT_REVERB 5324, 5580, 5917, 6365, 6903, 7617, 8575, 9732, 11218, 13358, 15873, 14689, @@ -322,16 +284,6 @@ const Word32 ivas_reverb_default_medium_DSR_fx[IVAS_REVERB_DEFAULT_M_N_BANDS] = 5367, 6294, 8399, 8798, 5894, 2958, 2403, 3968, 1999, 840, 433 -#else - 15978, 16341, 16813, 17430, - 18156, 19101, 20335, 21788, - 23603, 26145, 29050, 27037, - 24421, 20999, 16973, 12614, - 10726, 8506, 8047, 8659, - 10526, 12575, 17260, 19074, - 13653, 7464, 6609, 12688, - 7607, 3835, 2373 -#endif }; const Word32 ivas_reverb_default_large_fc_fx[IVAS_REVERB_DEFAULT_L_N_BANDS] /*Q16*/ = diff --git a/lib_rend/ivas_rotation_fx.c b/lib_rend/ivas_rotation_fx.c index 47807658f..7a1534e3a 100644 --- a/lib_rend/ivas_rotation_fx.c +++ b/lib_rend/ivas_rotation_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -39,9 +11,6 @@ #include "ivas_prot_rend_fx.h" #include "wmc_auto.h" #include "ivas_prot_fx.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "ivas_rom_binaural_crend_head.h" @@ -1058,9 +1027,6 @@ void rotateFrame_shd_cldfb_fx( /* calculate Ambisonics rotation matrix from the quaternion */ SHrotmatgen_fx( SHrotmat, Rmat, shd_rot_max_order ); -#ifdef DEBUGGING - dbgwrite_txt( (const float *) SHrotmat[0], HEADROT_SHMAT_DIM * HEADROT_SHMAT_DIM, "Fixed_SHrotmat.txt", NULL ); -#endif /* rotation by mtx multiplication */ FOR( i = 0; i < numTimeSlots; i++ ) diff --git a/lib_rend/ivas_sba_rendering_fx.c b/lib_rend/ivas_sba_rendering_fx.c index f4fab9d6e..0bdf3c752 100644 --- a/lib_rend/ivas_sba_rendering_fx.c +++ b/lib_rend/ivas_sba_rendering_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_rend/ivas_shoebox_fx.c b/lib_rend/ivas_shoebox_fx.c index 44b4c28af..d6b5c1082 100644 --- a/lib_rend/ivas_shoebox_fx.c +++ b/lib_rend/ivas_shoebox_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "options.h" #include diff --git a/lib_rend/ivas_stat_rend.h b/lib_rend/ivas_stat_rend.h index d785ed933..8748ffeab 100644 --- a/lib_rend/ivas_stat_rend.h +++ b/lib_rend/ivas_stat_rend.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_STAT_REND_H #define IVAS_STAT_REND_H @@ -384,14 +356,12 @@ typedef struct Word32 min_sum_total_ratio_db_fx; /* Q21 */ Word32 subtract_target_ratio_db_fx; /* Q21 */ -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES Word32 inst_diff_bb_power_fx; /* Q(q_inst_diff_bb_power_fx) */ Word16 q_inst_diff_bb_power_fx; Word32 inst_total_bb_power_fx; /* Q(q_inst_total_bb_power_fx) */ Word16 q_inst_total_bb_power_fx; Word16 max_band_diff_ene; -#endif Word16 counter; Word16 interpolator; @@ -1186,15 +1156,9 @@ typedef struct ivas_hrtf_TDREND_HRFILT_FiltSet_struct typedef struct { TDREND_DistAttenModel_t DistAttenModel; -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION Word32 RefDist_fx; /* Q28 */ Word32 MaxDist_fx; /* Q25 */ Word32 RollOffFactor_fx; /* Q28 */ -#else - Word32 RefDist_fx; /* Q30 */ - Word32 MaxDist_fx; /* Q27 */ - Word32 RollOffFactor_fx; /* Q30 */ -#endif } TDREND_DistAtten_t; @@ -1232,11 +1196,7 @@ typedef struct { Word16 Updated; TDREND_PosType_t PosType; -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION Word32 Pos_p_fx[3 * SPAT_BIN_MAX_INPUT_CHANNELS]; // Q q_Pos_p -#else - Word32 Pos_p_fx[3 * SPAT_BIN_MAX_INPUT_CHANNELS]; // Q25 -#endif Word16 q_Pos_p; Word32 Front_p_fx[3 * SPAT_BIN_MAX_INPUT_CHANNELS]; // Q30 Word16 DirAttenEnabled; @@ -1472,9 +1432,6 @@ typedef struct Word32 release_heuristic_fx; /* Q30 */ Word32 attack_constant_fx; /* Q31 */ Word16 strong_saturation_count; -#ifdef DEBUGGING - int32_t cnt_frames_limited; /* counter of frames in which the limiter is applied */ -#endif } IVAS_LIMITER, *IVAS_LIMITER_HANDLE; diff --git a/lib_rend/ivas_td_decorr_fx.c b/lib_rend/ivas_td_decorr_fx.c index d2ebd34d8..3058e2a47 100644 --- a/lib_rend/ivas_td_decorr_fx.c +++ b/lib_rend/ivas_td_decorr_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -37,9 +9,6 @@ #include "ivas_prot_fx.h" #include "ivas_prot_rend_fx.h" #include "wmc_auto.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*------------------------------------------------------------------------------------------* diff --git a/lib_rend/ivas_td_ring_buffer_fx.c b/lib_rend/ivas_td_ring_buffer_fx.c index 98905d25e..d6868bfa3 100644 --- a/lib_rend/ivas_td_ring_buffer_fx.c +++ b/lib_rend/ivas_td_ring_buffer_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_rend/ivas_vbap_fx.c b/lib_rend/ivas_vbap_fx.c index 19b4b1f56..deef33f28 100644 --- a/lib_rend/ivas_vbap_fx.c +++ b/lib_rend/ivas_vbap_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_rend/lib_rend.h b/lib_rend/lib_rend.h index d16cff506..86b4d66fb 100644 --- a/lib_rend/lib_rend.h +++ b/lib_rend/lib_rend.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef LIB_REND_H #define LIB_REND_H diff --git a/lib_rend/lib_rend_fx.c b/lib_rend/lib_rend_fx.c index 1dd55712d..da1eeac5e 100644 --- a/lib_rend/lib_rend_fx.c +++ b/lib_rend/lib_rend_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -47,12 +19,7 @@ #include "ivas_rom_com.h" #include "ivas_rom_rend.h" #include "wmc_auto.h" -#ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW #include "rom_com.h" -#endif -#ifdef DEBUGGING -#include "debug.h" -#endif /*-------------------------------------------------------------------* @@ -228,9 +195,6 @@ struct IVAS_REND Word8 rendererConfigEnabled; RENDER_CONFIG_DATA *hRendererConfig; /* Renderer config pointer */ IVAS_DefaultReverbSize selectedRoomReverbSize; -#ifdef DEBUGGING - Word32 numClipping; /* Counter of clipped output samples */ -#endif Word16 num_subframes; hrtf_handles hHrtfs; @@ -622,7 +586,6 @@ static void audio_buffer_td_to_cldfb_fx( * In-place saturation control for multichannel buffers with adaptive release time *-------------------------------------------------------------------*/ -#ifndef DISABLE_LIMITER /*! r: number of clipped output samples */ static Word32 limitRendererOutput_fx( IVAS_LIMITER_HANDLE hLimiter, /* i/o: limiter struct handle */ @@ -666,7 +629,6 @@ static Word32 limitRendererOutput_fx( return numClipping; } -#endif /*-------------------------------------------------------------------* * validateOutputAudioConfig() @@ -2626,9 +2588,7 @@ static ivas_error updateMcPanGainsForMcOut( const AUDIO_CONFIG outConfig ) { ivas_error error; -#ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW Word16 pan; -#endif /* "if" conditions below realize the following mapping: @@ -2657,7 +2617,6 @@ static ivas_error updateMcPanGainsForMcOut( { -#ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW IF( EQ_32( inputMc->nonDiegeticPanGain_fx, ONE_IN_Q31 ) ) { inputMc->panGains_fx[0][0] = ONE_IN_Q31; @@ -2674,19 +2633,6 @@ static ivas_error updateMcPanGainsForMcOut( inputMc->panGains_fx[0][0] = L_deposit_h( cos_table_129[64 - pan] ); inputMc->panGains_fx[0][1] = L_deposit_h( cos_table_129[pan] ); } -#else - IF( EQ_32( inputMc->nonDiegeticPanGain_fx, ONE_IN_Q31 ) ) - { - inputMc->panGains_fx[0][0] = ONE_IN_Q31; - } - ELSE - { - inputMc->panGains_fx[0][0] = L_add( L_shr( inputMc->nonDiegeticPanGain_fx, 1 ), ONE_IN_Q30 /* 0.5f in Q31 */ ); /* Q31 */ - } - move32(); - inputMc->panGains_fx[0][1] = L_sub( ONE_IN_Q31, inputMc->panGains_fx[0][0] ); - move32(); -#endif error = IVAS_ERR_OK; move32(); } @@ -2878,14 +2824,11 @@ static ivas_error updateMcPanGainsForAmbiOut( static ivas_error updateMcPanGainsForBinauralOut( input_mc *inputMc ) { -#ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW Word16 pan; -#endif setZeroPanMatrix_fx( inputMc->panGains_fx ); IF( inputMc->base.inConfig == IVAS_AUDIO_CONFIG_MONO ) { -#ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW IF( EQ_32( inputMc->nonDiegeticPanGain_fx, ONE_IN_Q31 ) ) { inputMc->panGains_fx[0][0] = ONE_IN_Q31; @@ -2902,19 +2845,6 @@ static ivas_error updateMcPanGainsForBinauralOut( inputMc->panGains_fx[0][0] = L_deposit_h( cos_table_129[64 - pan] ); inputMc->panGains_fx[0][1] = L_deposit_h( cos_table_129[pan] ); } -#else - IF( EQ_32( inputMc->nonDiegeticPanGain_fx, ONE_IN_Q31 ) ) - { - inputMc->panGains_fx[0][0] = ONE_IN_Q31; - } - ELSE - { - inputMc->panGains_fx[0][0] = L_add( L_shr( inputMc->nonDiegeticPanGain_fx, 1 ), ONE_IN_Q30 /* 0.5f in Q31 */ ); /* Q31 */ - } - move32(); - inputMc->panGains_fx[0][1] = L_sub( ONE_IN_Q31, inputMc->panGains_fx[0][0] ); - move32(); -#endif } ELSE { @@ -5583,10 +5513,8 @@ ivas_error IVAS_REND_FeedRenderConfig( hRenderConfig->roomAcoustics.aeID = renderConfig.roomAcoustics.aeID; move16(); -#ifdef FIX_1452_DEFAULT_REVERB hIvasRend->selectedRoomReverbSize = DEFAULT_REVERB_UNSET; move32(); -#endif hRenderConfig->roomAcoustics.nBands = renderConfig.roomAcoustics.nBands; move16(); hRenderConfig->roomAcoustics.acousticPreDelay_fx = renderConfig.roomAcoustics.acousticPreDelay_fx; @@ -6126,13 +6054,7 @@ ivas_error IVAS_REND_SetReverbRoomSize( BREAK; case IVAS_ROOM_SIZE_AUTO: default: -#ifdef FIX_1452_DEFAULT_REVERB assert( 0 && "Room size is not set" ); -#else - hIvasRend->selectedRoomReverbSize = DEFAULT_REVERB_UNSET; - move32(); - BREAK; /* will be setup in IVAS_REND_AddInput() */ -#endif } IF( hIvasRend->hRendererConfig != NULL ) @@ -6601,10 +6523,6 @@ static ivas_error rotateFrameSba_fx( /* calculate ambisonics rotation matrices for the previous and current frames */ SHrotmatgen_fx( gains, Rmat, shd_rot_max_order ); -#ifdef DEBUGGING - dbgwrite_txt( (const float *) ( gains[0] ), HEADROT_SHMAT_DIM * HEADROT_SHMAT_DIM, "Fixed_code_gains.txt", NULL ); - dbgwrite_txt( (const float *) ( Rmat[0] ), 3 * 3, "Fixed_code_Rmat.txt", NULL ); -#endif FOR( i = 0; i < subframe_len; i++ ) { idx = add( imult1616( subframe_idx, subframe_len ), i ); @@ -6998,9 +6916,7 @@ static ivas_error renderIsmToMc( Word8 position_changed; pan_vector_fx currentPanGains_fx; /* Q31 */ ivas_error error; -#ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW Word16 pan; -#endif push_wmops( "renderIsmToMc" ); @@ -7020,7 +6936,6 @@ static ivas_error renderIsmToMc( { IF( ismInput->nonDiegeticPan ) { -#ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW IF( EQ_32( ismInput->nonDiegeticPanGain_fx, ONE_IN_Q31 ) ) { currentPanGains_fx[0] = ONE_IN_Q31; @@ -7038,10 +6953,6 @@ static ivas_error renderIsmToMc( currentPanGains_fx[0] = L_deposit_h( cos_table_129[64 - pan] ); currentPanGains_fx[1] = L_deposit_h( cos_table_129[pan] ); } -#else - currentPanGains_fx[0] = L_add( L_shr( ismInput->nonDiegeticPanGain_fx, 1 ), ONE_IN_Q30 ); /* Q31 */ - currentPanGains_fx[1] = L_sub( ONE_IN_Q31, currentPanGains_fx[0] ); /* Q31 */ -#endif ismInput->prev_pan_gains_fx[0] = currentPanGains_fx[0]; /* Q31 */ ismInput->prev_pan_gains_fx[1] = currentPanGains_fx[1]; /* Q31 */ move32(); @@ -9843,9 +9754,7 @@ ivas_error IVAS_REND_GetSamples( IF( EQ_16( outAudio.config.is_cldfb, 0 ) ) { Word32 limiter_threshold = L_lshl( IVAS_LIMITER_THRESHOLD, *outAudio.pq_fact ); -#ifndef DISABLE_LIMITER limitRendererOutput_fx( hIvasRend->hLimiter, outAudio.data_fx, outAudio.config.numSamplesPerChannel, limiter_threshold, *outAudio.pq_fact ); -#endif } /* update global cominbed orientation start index */ @@ -10075,12 +9984,7 @@ ivas_error IVAS_REND_GetSplitBinauralBitstream( IF( EQ_16( outAudio.config.is_cldfb, 0 ) ) { Word32 limiter_threshold = L_lshl( IVAS_LIMITER_THRESHOLD, *outAudio.pq_fact ); -#ifndef DISABLE_LIMITER -#ifdef DEBUGGING - hIvasRend->numClipping += -#endif limitRendererOutput_fx( hIvasRend->hLimiter, outAudio.data_fx, outAudio.config.numSamplesPerChannel, limiter_threshold, *outAudio.pq_fact ); -#endif } /* update global cominbed orientation start index */ @@ -10593,11 +10497,7 @@ static ivas_error ivas_masa_ext_rend_dirac_rend_init( { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for DirAC\n" ) ); } -#ifdef FIX_FLOAT_1578_OMASA_REND_SPIKES ivas_masa_init_stereotype_detection_fx( hDirACRend->masa_stereo_type_detect, IVAS_512k ); /* Use 512k to get correct path */ -#else - ivas_masa_init_stereotype_detection_fx( hDirACRend->masa_stereo_type_detect ); -#endif } ELSE { diff --git a/lib_util/aeid_file_reader.c b/lib_util/aeid_file_reader.c index 4433ced8d..cef1c8b13 100644 --- a/lib_util/aeid_file_reader.c +++ b/lib_util/aeid_file_reader.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "aeid_file_reader.h" #include "ivas_error_utils.h" diff --git a/lib_util/aeid_file_reader.h b/lib_util/aeid_file_reader.h index 789b166f4..8ae399787 100644 --- a/lib_util/aeid_file_reader.h +++ b/lib_util/aeid_file_reader.h @@ -1,35 +1,7 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #pragma once -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ #ifndef IVAS_AEID_FILE_READER_H #define IVAS_AEID_FILE_READER_H diff --git a/lib_util/ambi_convert.c b/lib_util/ambi_convert.c index 08572b883..5f0c40a57 100644 --- a/lib_util/ambi_convert.c +++ b/lib_util/ambi_convert.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_util/ambi_convert.h b/lib_util/ambi_convert.h index eb8d094f8..9d0faecff 100644 --- a/lib_util/ambi_convert.h +++ b/lib_util/ambi_convert.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef AMBI_CONVERT_H #define AMBI_CONVERT_H diff --git a/lib_util/audio_file_reader.c b/lib_util/audio_file_reader.c index f342c64c4..4fa2e2cc8 100644 --- a/lib_util/audio_file_reader.c +++ b/lib_util/audio_file_reader.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "audio_file_reader.h" #include "tinywavein_c.h" diff --git a/lib_util/audio_file_reader.h b/lib_util/audio_file_reader.h index 376b649b8..31ead4fe4 100644 --- a/lib_util/audio_file_reader.h +++ b/lib_util/audio_file_reader.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_AUDIO_FILE_READER_H #define IVAS_AUDIO_FILE_READER_H diff --git a/lib_util/audio_file_writer.c b/lib_util/audio_file_writer.c index e008aa886..8d2b46515 100644 --- a/lib_util/audio_file_writer.c +++ b/lib_util/audio_file_writer.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "audio_file_writer.h" #include "tinywaveout_c.h" diff --git a/lib_util/audio_file_writer.h b/lib_util/audio_file_writer.h index 62c74f1a8..e9f9da76c 100644 --- a/lib_util/audio_file_writer.h +++ b/lib_util/audio_file_writer.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_AUDIO_FILE_WRITER_H #define IVAS_AUDIO_FILE_WRITER_H diff --git a/lib_util/bitstream_reader.c b/lib_util/bitstream_reader.c index 2a452abb6..0c017b78c 100644 --- a/lib_util/bitstream_reader.c +++ b/lib_util/bitstream_reader.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "bitstream_reader.h" #include "g192.h" diff --git a/lib_util/bitstream_reader.h b/lib_util/bitstream_reader.h index 51159dd5b..cef740644 100644 --- a/lib_util/bitstream_reader.h +++ b/lib_util/bitstream_reader.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef BITSTREAM_READER_H #define BITSTREAM_READER_H diff --git a/lib_util/bitstream_writer.c b/lib_util/bitstream_writer.c index 13981bd01..35cded73b 100644 --- a/lib_util/bitstream_writer.c +++ b/lib_util/bitstream_writer.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "bitstream_writer.h" #include "g192.h" diff --git a/lib_util/bitstream_writer.h b/lib_util/bitstream_writer.h index 0d7d47472..4048f9440 100644 --- a/lib_util/bitstream_writer.h +++ b/lib_util/bitstream_writer.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef BITSTREAM_WRITER_H #define BITSTREAM_WRITER_H diff --git a/lib_util/cmdl_tools.c b/lib_util/cmdl_tools.c index 504228a73..9906d08ef 100644 --- a/lib_util/cmdl_tools.c +++ b/lib_util/cmdl_tools.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "cmdl_tools.h" #include diff --git a/lib_util/cmdl_tools.h b/lib_util/cmdl_tools.h index 605c06d07..821cf55e6 100644 --- a/lib_util/cmdl_tools.h +++ b/lib_util/cmdl_tools.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef CMDL_TOOLS_H #define CMDL_TOOLS_H diff --git a/lib_util/cmdln_parser.c b/lib_util/cmdln_parser.c index 6df8cacde..8ec4063ef 100644 --- a/lib_util/cmdln_parser.c +++ b/lib_util/cmdln_parser.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "cmdln_parser.h" #include "cmdl_tools.h" diff --git a/lib_util/cmdln_parser.h b/lib_util/cmdln_parser.h index 446831526..b6d783241 100644 --- a/lib_util/cmdln_parser.h +++ b/lib_util/cmdln_parser.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef CMDLN_PARSER_H #define CMDLN_PARSER_H diff --git a/lib_util/evs_rtp_payload.c b/lib_util/evs_rtp_payload.c index fef44d646..ea06f27d9 100644 --- a/lib_util/evs_rtp_payload.c +++ b/lib_util/evs_rtp_payload.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_util/evs_rtp_payload.h b/lib_util/evs_rtp_payload.h index 00f634574..b37f77864 100644 --- a/lib_util/evs_rtp_payload.h +++ b/lib_util/evs_rtp_payload.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_util/float_to_fix_ops.c b/lib_util/float_to_fix_ops.c index 5da59c51e..d8ccf8f4d 100644 --- a/lib_util/float_to_fix_ops.c +++ b/lib_util/float_to_fix_ops.c @@ -1,11 +1,12 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "common_api_types.h" #include "float_to_fix_ops.h" #include #include -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION #include -#endif #define Q15 15 #define Q31 31 @@ -131,7 +132,6 @@ Word32 floatToFixed_32( } -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION Word16 float_to_fix_find_q( const float val ) { @@ -149,4 +149,3 @@ Word16 float_to_fix_find_q( /* Subtract bias of 127 (from floating point format), add 1 and subtract result from 31 to get Q */ return (Word16) ( 31 - ( biased_exp - 127 + 1 ) ); } -#endif diff --git a/lib_util/float_to_fix_ops.h b/lib_util/float_to_fix_ops.h index 8559a872b..08813ace8 100644 --- a/lib_util/float_to_fix_ops.h +++ b/lib_util/float_to_fix_ops.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "common_api_types.h" @@ -16,8 +19,6 @@ float fixedToFloat( const Word32 i, const Word16 Q ); float fix16_to_float( const Word16 number, const Word16 Q ); -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION Word16 float_to_fix_find_q( const float val ); -#endif #endif /* FLOAT_TO_FIX_OPS_H */ diff --git a/lib_util/g192.c b/lib_util/g192.c index 3779b417f..1df3f7794 100644 --- a/lib_util/g192.c +++ b/lib_util/g192.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_util/g192.h b/lib_util/g192.h index 93ba57c8e..b33134097 100644 --- a/lib_util/g192.h +++ b/lib_util/g192.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_util/hrtf_file_reader.c b/lib_util/hrtf_file_reader.c index d961a1e8f..622782e1d 100644 --- a/lib_util/hrtf_file_reader.c +++ b/lib_util/hrtf_file_reader.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "hrtf_file_reader.h" #include diff --git a/lib_util/hrtf_file_reader.h b/lib_util/hrtf_file_reader.h index 21d65f059..0daf89208 100644 --- a/lib_util/hrtf_file_reader.h +++ b/lib_util/hrtf_file_reader.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_HRTF_FILE_READER_H #define IVAS_HRTF_FILE_READER_H diff --git a/lib_util/ism_file_reader.c b/lib_util/ism_file_reader.c index ce4b6fd3b..eab44e125 100644 --- a/lib_util/ism_file_reader.c +++ b/lib_util/ism_file_reader.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "ism_file_reader.h" #include "cmdl_tools.h" diff --git a/lib_util/ism_file_reader.h b/lib_util/ism_file_reader.h index 561eba40f..a1d1515ab 100644 --- a/lib_util/ism_file_reader.h +++ b/lib_util/ism_file_reader.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_ISM_FILE_READER_H #define IVAS_ISM_FILE_READER_H diff --git a/lib_util/ism_file_writer.c b/lib_util/ism_file_writer.c index acbd7ec59..017189301 100644 --- a/lib_util/ism_file_writer.c +++ b/lib_util/ism_file_writer.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "ism_file_writer.h" #include diff --git a/lib_util/ism_file_writer.h b/lib_util/ism_file_writer.h index dbebe1bad..142ddc59c 100644 --- a/lib_util/ism_file_writer.h +++ b/lib_util/ism_file_writer.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_ISM_FILE_WRITER_H #define IVAS_ISM_FILE_WRITER_H diff --git a/lib_util/ivas_bpool.c b/lib_util/ivas_bpool.c index 0ba94528f..c51fd6567 100644 --- a/lib_util/ivas_bpool.c +++ b/lib_util/ivas_bpool.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include #include "ivas_bpool.h" diff --git a/lib_util/ivas_bpool.h b/lib_util/ivas_bpool.h index 06281b453..0f829c9ab 100644 --- a/lib_util/ivas_bpool.h +++ b/lib_util/ivas_bpool.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_BPOOL_H #define IVAS_BPOOL_H diff --git a/lib_util/ivas_queue.c b/lib_util/ivas_queue.c index 7c8be93af..32781a1e7 100644 --- a/lib_util/ivas_queue.c +++ b/lib_util/ivas_queue.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include "ivas_queue.h" diff --git a/lib_util/ivas_queue.h b/lib_util/ivas_queue.h index a1df80035..d7f0f012b 100644 --- a/lib_util/ivas_queue.h +++ b/lib_util/ivas_queue.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_QUEUE_H #define IVAS_QUEUE_H diff --git a/lib_util/ivas_rtp_api.h b/lib_util/ivas_rtp_api.h index 038680c1b..b0bea2f98 100644 --- a/lib_util/ivas_rtp_api.h +++ b/lib_util/ivas_rtp_api.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_RTP_API_H #define IVAS_RTP_API_H @@ -82,9 +54,7 @@ /* IVAS Codec Types */ typedef enum { -#ifdef FIX_FMSW_DEC IVAS_RTP_UNDEF = -1, /* undefined = Codec Type not set yet */ -#endif IVAS_RTP_EVS, /* EVS */ IVAS_RTP_IVAS /* IVAS */ } IVAS_RTP_CODEC; diff --git a/lib_util/ivas_rtp_file.c b/lib_util/ivas_rtp_file.c index 4e0feaeea..d5a2d3972 100644 --- a/lib_util/ivas_rtp_file.c +++ b/lib_util/ivas_rtp_file.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include @@ -934,9 +906,7 @@ ivas_error IVAS_RTP_READER_Init( rtp->unpackCfg.maxFramesPerPacket = IVAS_MAX_FRAMES_PER_RTP_PACKET; rtp->rtpPacket.buffer = rtp->packet; rtp->rtpPacket.capacity = sizeof( rtp->packet ); -#ifdef FIX_FMSW_DEC rtp->codecId = IVAS_RTP_UNDEF; -#endif error = IVAS_RTP_UNPACK_Open( &rtp->hUnpack, &rtp->unpackCfg ); if ( error == IVAS_ERR_OK ) @@ -1124,7 +1094,6 @@ ivas_error IVAS_RTP_ReadNextFrame( } else { -#ifdef FIX_FMSW_DEC if ( rtp->codecId != IVAS_RTP_UNDEF && rtp->codecId != codecId ) { rtp->restartNeeded = true; @@ -1133,18 +1102,6 @@ ivas_error IVAS_RTP_ReadNextFrame( ( rtp->codecId == IVAS_RTP_EVS ) ? "EVS" : "IVAS", ( codecId == IVAS_RTP_EVS ) ? "EVS" : "IVAS" ); } -#else - - rtp->restartNeeded = ( rtp->codecId != codecId ) || - ( codecId == IVAS_RTP_EVS && ( rtp->isAMRWB_IOmode != isAMRWB_IOmode ) ); - - if ( rtp->restartNeeded ) - { - fprintf( stdout, "\nRTP packet codec changed %s -> %s\n", - ( rtp->codecId == IVAS_RTP_EVS ) ? ( rtp->isAMRWB_IOmode ? "AMRWB_IO" : "EVS" ) : "IVAS", - ( codecId == IVAS_RTP_EVS ) ? ( isAMRWB_IOmode ? "AMRWB_IO" : "EVS" ) : "IVAS" ); - } -#endif rtp->codecId = codecId; rtp->isAMRWB_IOmode = isAMRWB_IOmode; diff --git a/lib_util/ivas_rtp_file.h b/lib_util/ivas_rtp_file.h index 0c2b08081..eec24cd9e 100644 --- a/lib_util/ivas_rtp_file.h +++ b/lib_util/ivas_rtp_file.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_RTP_FILE_H #define IVAS_RTP_FILE_H diff --git a/lib_util/ivas_rtp_internal.h b/lib_util/ivas_rtp_internal.h index afa4c3c60..cc9dfba50 100644 --- a/lib_util/ivas_rtp_internal.h +++ b/lib_util/ivas_rtp_internal.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_RTP_INTERNAL_H #define IVAS_RTP_INTERNAL_H diff --git a/lib_util/ivas_rtp_payload.c b/lib_util/ivas_rtp_payload.c index 57a2b0aab..3798db6f4 100644 --- a/lib_util/ivas_rtp_payload.c +++ b/lib_util/ivas_rtp_payload.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_util/ivas_rtp_pi_data.c b/lib_util/ivas_rtp_pi_data.c index b533d07c2..004f0dc62 100644 --- a/lib_util/ivas_rtp_pi_data.c +++ b/lib_util/ivas_rtp_pi_data.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "ivas_error_utils.h" #include "ivas_rtp_internal.h" diff --git a/lib_util/ivas_rtp_pi_data.h b/lib_util/ivas_rtp_pi_data.h index 4f156a9de..8c3e0a7a1 100644 --- a/lib_util/ivas_rtp_pi_data.h +++ b/lib_util/ivas_rtp_pi_data.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_RTP_PI_DATA_H #define IVAS_RTP_PI_DATA_H diff --git a/lib_util/jbm_file_reader.c b/lib_util/jbm_file_reader.c index 556d8cd67..f7d86bc54 100644 --- a/lib_util/jbm_file_reader.c +++ b/lib_util/jbm_file_reader.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "jbm_file_reader.h" #include "cmdl_tools.h" diff --git a/lib_util/jbm_file_reader.h b/lib_util/jbm_file_reader.h index f6ecee961..591e170a4 100644 --- a/lib_util/jbm_file_reader.h +++ b/lib_util/jbm_file_reader.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_JBM_FILE_READER_H #define IVAS_JBM_FILE_READER_H diff --git a/lib_util/jbm_file_writer.c b/lib_util/jbm_file_writer.c index da27b218c..d55faf5ca 100644 --- a/lib_util/jbm_file_writer.c +++ b/lib_util/jbm_file_writer.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "jbm_file_writer.h" #include diff --git a/lib_util/jbm_file_writer.h b/lib_util/jbm_file_writer.h index 7dd339ad3..4a931649b 100644 --- a/lib_util/jbm_file_writer.h +++ b/lib_util/jbm_file_writer.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_JBM_FILE_WRITER_H #define IVAS_JBM_FILE_WRITER_H diff --git a/lib_util/ls_custom_file_reader.c b/lib_util/ls_custom_file_reader.c index e79eab7d3..a89f5c240 100644 --- a/lib_util/ls_custom_file_reader.c +++ b/lib_util/ls_custom_file_reader.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "ls_custom_file_reader.h" #include diff --git a/lib_util/ls_custom_file_reader.h b/lib_util/ls_custom_file_reader.h index d5ead2841..4c50cdc47 100644 --- a/lib_util/ls_custom_file_reader.h +++ b/lib_util/ls_custom_file_reader.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_LS_CUSTOM_FILE_READER_H #define IVAS_LS_CUSTOM_FILE_READER_H diff --git a/lib_util/masa_file_reader.c b/lib_util/masa_file_reader.c index 7a241e531..35a9f4af2 100644 --- a/lib_util/masa_file_reader.c +++ b/lib_util/masa_file_reader.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "masa_file_reader.h" #include diff --git a/lib_util/masa_file_reader.h b/lib_util/masa_file_reader.h index d430a9194..4f8c4a8d8 100644 --- a/lib_util/masa_file_reader.h +++ b/lib_util/masa_file_reader.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_MASA_FILE_READER_H #define IVAS_MASA_FILE_READER_H diff --git a/lib_util/masa_file_writer.c b/lib_util/masa_file_writer.c index 9ba0e5e53..005a61048 100644 --- a/lib_util/masa_file_writer.c +++ b/lib_util/masa_file_writer.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "masa_file_writer.h" #include "ivas_stat_dec.h" diff --git a/lib_util/masa_file_writer.h b/lib_util/masa_file_writer.h index c2d51d394..9a76a0af4 100644 --- a/lib_util/masa_file_writer.h +++ b/lib_util/masa_file_writer.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_MASA_FILE_WRITER_H #define IVAS_MASA_FILE_WRITER_H diff --git a/lib_util/mime_io.c b/lib_util/mime_io.c index de2654d1b..69b8d7118 100644 --- a/lib_util/mime_io.c +++ b/lib_util/mime_io.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "options.h" #include "mime_io.h" diff --git a/lib_util/mime_io.h b/lib_util/mime_io.h index d3b0d7a58..8973f1d44 100644 --- a/lib_util/mime_io.h +++ b/lib_util/mime_io.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef MIME_IO_H #define MIME_IO_H diff --git a/lib_util/mutex.h b/lib_util/mutex.h index 64f5d2c58..59b425b0f 100644 --- a/lib_util/mutex.h +++ b/lib_util/mutex.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 diff --git a/lib_util/obj_edit_file_reader.c b/lib_util/obj_edit_file_reader.c index 22163d23d..eedd8fb42 100644 --- a/lib_util/obj_edit_file_reader.c +++ b/lib_util/obj_edit_file_reader.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - -(C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, -Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., -Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, -Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other -contributors to this repository. All Rights Reserved. - -This software is protected by copyright law and by international treaties. -The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, -Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., -Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, -Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other -contributors to this repository retain full ownership rights in their respective contributions in -the software. This notice grants no license of any kind, including but not limited to patent -license, nor is any license granted by implication, estoppel or otherwise. - -Contributors are required to enter into the IVAS codec Public Collaboration agreement before making -contributions. - -This software is provided "AS IS", without any express or implied warranties. The software is in the -development stage. It is intended exclusively for experts who have experience with such software and -solely for the purpose of inspection. All implied warranties of non-infringement, merchantability -and fitness for a particular purpose are hereby disclaimed and excluded. - -Any dispute, controversy or claim arising under or in relation to providing this software shall be -submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in -accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and -the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include #include diff --git a/lib_util/obj_edit_file_reader.h b/lib_util/obj_edit_file_reader.h index 352202ef5..22c3f4501 100644 --- a/lib_util/obj_edit_file_reader.h +++ b/lib_util/obj_edit_file_reader.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - -(C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, -Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., -Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, -Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other -contributors to this repository. All Rights Reserved. - -This software is protected by copyright law and by international treaties. -The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, -Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., -Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, -Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other -contributors to this repository retain full ownership rights in their respective contributions in -the software. This notice grants no license of any kind, including but not limited to patent -license, nor is any license granted by implication, estoppel or otherwise. - -Contributors are required to enter into the IVAS codec Public Collaboration agreement before making -contributions. - -This software is provided "AS IS", without any express or implied warranties. The software is in the -development stage. It is intended exclusively for experts who have experience with such software and -solely for the purpose of inspection. All implied warranties of non-infringement, merchantability -and fitness for a particular purpose are hereby disclaimed and excluded. - -Any dispute, controversy or claim arising under or in relation to providing this software shall be -submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in -accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and -the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef OBJ_EDIT_FILE_READER_H #define OBJ_EDIT_FILE_READER_H diff --git a/lib_util/render_config_reader.c b/lib_util/render_config_reader.c index 0101924f5..1750d9518 100644 --- a/lib_util/render_config_reader.c +++ b/lib_util/render_config_reader.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "render_config_reader.h" #include @@ -81,7 +53,6 @@ #define IVAS_ER_LIST_ORIGIN_X_FX 0 #define IVAS_ER_LIST_ORIGIN_Y_FX 0 -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION #define DIST_ATT_MIN_MAXDIST 0.0f #define DIST_ATT_MIN_REFDIST 0.0f #define DIST_ATT_MIN_ROLLOFF 0.0f @@ -95,7 +66,6 @@ #define DIRECTIVITY_MAX_ANGLE 360.0f #define DIRECTIVITY_MIN_ATT_FAC 0.0f #define DIRECTIVITY_MAX_ATT_FAC 1.0f -#endif #ifndef min #define min( x, y ) ( ( x ) < ( y ) ? ( x ) : ( y ) ) @@ -168,11 +138,7 @@ struct RenderConfigReader AcousticEnv *pAE; /* Acoustic environments */ uint32_t nDP; /* Number of directivity patterns */ DirectrivityPat *pDP; /* Directivity Pattern */ -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION float distAtt[3]; /* [MaxDist Q25, RefDist Q28, Rolloff Q28] */ -#else - float distAtt[3]; /* [MaxDist Q30, RefDist Q30, Rolloff Q30] */ -#endif }; @@ -1284,7 +1250,6 @@ static int32_t errorHandler( * * Verifies if the configuration parameters lie within acceptable limits *------------------------------------------------------------------------------------------*/ -#ifdef FIX_2500_RENDCONF_REFACTOR ivas_error RenderConfigReader_checkValues( RenderConfigReader *pRenderConfigReader /* i/o: Renderer configuration reader */ ) @@ -1432,93 +1397,6 @@ ivas_error RenderConfigReader_checkValues( return IVAS_ERR_OK; } -#else -ivas_error RenderConfigReader_checkValues( - IVAS_RENDER_CONFIG_HANDLE hRenderConfig /* o : Renderer configuration handle */ -) -{ - int16_t band_idx, tab_value_err_count; - IVAS_ROOM_ACOUSTICS_CONFIG_DATA *pRoom_acoustics; - pRoom_acoustics = &hRenderConfig->roomAcoustics; - tab_value_err_count = 0; - int16_t wall_idx; - - /* Verify the number of frequency bands in the config input data */ - if ( ( pRoom_acoustics->nBands > N_BANDS_MAX ) || ( pRoom_acoustics->nBands < N_BANDS_MIN ) ) - { - return IVAS_ERR_WRONG_PARAMS; - } - /* Verify data per band in the acoustic properties table */ - for ( band_idx = 0; band_idx < pRoom_acoustics->nBands; band_idx++ ) - { - /* Verify if the frequencies are in the ascending order (required for interpolation) */ - if ( band_idx != 0 ) - { - if ( pRoom_acoustics->pFc_input_fx[band_idx] <= pRoom_acoustics->pFc_input_fx[band_idx - 1] ) - { - tab_value_err_count++; - } - } - - /* Replace zero DSR values with very small positive values, to avoid issues with coloration filter design */ - if ( pRoom_acoustics->pAcoustic_dsr_fx[band_idx] == 0 ) - { - pRoom_acoustics->pAcoustic_dsr_fx[band_idx] = ACOUSTIC_DSR_EPSILON_FX; - } - } - - if ( tab_value_err_count != 0 ) - { - return IVAS_ERR_WRONG_PARAMS; - } - - - if ( pRoom_acoustics->use_er == 1 ) - { - /* Room dimensions */ - if ( pRoom_acoustics->dimensions.x_fx < ER_MIN_ROOM_DIMENSION_FX ) - { - pRoom_acoustics->dimensions.x_fx = ER_MIN_ROOM_DIMENSION_FX; - } - if ( pRoom_acoustics->dimensions.x_fx > ER_MAX_ROOM_DIMENSION_FX ) - { - pRoom_acoustics->dimensions.x_fx = ER_MAX_ROOM_DIMENSION_FX; - } - if ( pRoom_acoustics->dimensions.y_fx < ER_MIN_ROOM_DIMENSION_FX ) - { - pRoom_acoustics->dimensions.y_fx = ER_MIN_ROOM_DIMENSION_FX; - } - if ( pRoom_acoustics->dimensions.y_fx > ER_MAX_ROOM_DIMENSION_FX ) - { - pRoom_acoustics->dimensions.y_fx = ER_MAX_ROOM_DIMENSION_FX; - } - if ( pRoom_acoustics->dimensions.z_fx < ER_MIN_ROOM_DIMENSION_FX ) - { - pRoom_acoustics->dimensions.z_fx = ER_MIN_ROOM_DIMENSION_FX; - } - if ( pRoom_acoustics->dimensions.z_fx > ER_MAX_ROOM_DIMENSION_FX ) - { - pRoom_acoustics->dimensions.z_fx = ER_MAX_ROOM_DIMENSION_FX; - } - - /* Abs Coeff */ - for ( wall_idx = 0; wall_idx < IVAS_ROOM_ABS_COEFF; wall_idx++ ) - { - if ( pRoom_acoustics->AbsCoeff_fx[wall_idx] < ER_MIN_ABS_COEFF_FX ) - { - pRoom_acoustics->AbsCoeff_fx[wall_idx] = ER_MIN_ABS_COEFF_FX; - } - if ( pRoom_acoustics->AbsCoeff_fx[wall_idx] > ER_MAX_ABS_COEFF_FX ) - { - pRoom_acoustics->AbsCoeff_fx[wall_idx] = ER_MAX_ABS_COEFF_FX; - } - } - } - - - return IVAS_ERR_OK; -} -#endif /*------------------------------------------------------------------------------------------* * RenderConfigReader_open() @@ -2504,9 +2382,7 @@ ivas_error RenderConfigReader_read( aeHasERsize = aeHasERabs = FALSE; params_idx = 0; pValue = (char *) calloc( strlen( pParams ), sizeof( char ) ); -#ifdef FIX_1452_DEFAULT_REVERB hRenderConfig->roomAcoustics.acousticPreDelay_fx = IVAS_REVERB_DEFAULT_L_ACOUSTIC_PRE_DELAY_FX; -#endif while ( sscanf( pParams + params_idx, "%64[^=]=%[^;];", item, pValue ) == 2 ) { params_idx += (int32_t) ( strlen( item ) + strlen( pValue ) + 2 ); @@ -2673,9 +2549,6 @@ ivas_error RenderConfigReader_read( while ( sscanf( pParams + params_idx, "%64[^=]=%[^;];", item, pValue ) == 2 ) { params_idx += (int32_t) ( strlen( item ) + strlen( pValue ) + 2 ); -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - fprintf( stderr, " PARAM: %s -> %s\n", item, pValue ); -#endif if ( strcmp( item, "CODECDELAY" ) == 0 ) { if ( !sscanf( pValue, "%hd", &hRenderConfig->split_rend_config.codec_delay_ms ) ) @@ -2789,12 +2662,6 @@ ivas_error RenderConfigReader_read( errorHandler( item, ERROR_VALUE_INVALID ); } } -#ifdef DEBUGGING - else - { - fprintf( stderr, "Unsupported configuration property %s\n", item ); - } -#endif } free( pValue ); } @@ -3122,31 +2989,11 @@ ivas_error RenderConfigReader_getAcousticEnvironment( { if ( id == pRenderConfigReader->pAE[n].id ) { -#ifdef FIX_1452_DEFAULT_REVERB pAcEnv->aeID = (UWord16) pRenderConfigReader->pAE[n].id; -#endif pAcEnv->nBands = (int16_t) pRenderConfigReader->pAE[n].pFG->nrBands; pAcEnv->inputPreDelay_fx = (Word32) ( pRenderConfigReader->pAE[n].preDelay * ONE_IN_Q27 ); -#ifndef FIX_2500_RENDCONF_REFACTOR - if ( pRenderConfigReader->pAE[n].preDelay > INPUTPREDELAY_MAX || - pRenderConfigReader->pAE[n].preDelay < INPUTPREDELAY_MIN ) - { - return IVAS_ERR_INVALID_RENDER_CONFIG; - } -#endif for ( m = 0; m < pAcEnv->nBands; m++ ) { -#ifndef FIX_2500_RENDCONF_REFACTOR - if ( pRenderConfigReader->pAE[n].pFG->pFc[m] > FC_INPUT_MAX || - pRenderConfigReader->pAE[n].pFG->pFc[m] < FC_INPUT_MIN || - pRenderConfigReader->pAE[n].pRT60[m] > ACOUSTIC_RT60_MAX || - pRenderConfigReader->pAE[n].pRT60[m] < ACOUSTIC_RT60_MIN || - pRenderConfigReader->pAE[n].pDSR[m] > ACOUSTIC_DSR_MAX || - pRenderConfigReader->pAE[n].pDSR[m] < ACOUSTIC_DSR_MIN ) - { - return IVAS_ERR_INVALID_RENDER_CONFIG; - } -#endif pAcEnv->pFc_input_fx[m] = (Word32) ( pRenderConfigReader->pAE[n].pFG->pFc[m] * ONE_IN_Q16 ); pAcEnv->pAcoustic_rt60_fx[m] = (Word32) ( pRenderConfigReader->pAE[n].pRT60[m] * ONE_IN_Q26 ); @@ -3282,15 +3129,6 @@ ivas_error RenderConfigReader_getDirectivity( /* Convert to Word16 */ FOR( n = 0; n < 4; n++ ) { -#ifndef FIX_2500_RENDCONF_REFACTOR -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION - /* Verify range of directivity patterns */ - /* Range needs to be checked before converting to fixed point -- different from float */ - directivity[n * 3] = max( 0.0f, min( 360.0f, directivity[n * 3] ) ); - directivity[n * 3 + 1] = max( 0.0f, min( 360.0f, directivity[n * 3 + 1] ) ); - directivity[n * 3 + 2] = max( 0.0f, min( 1.0f, directivity[n * 3 + 2] ) ); -#endif -#endif directivity_fx[n * 3] = (Word16) ( directivity[n * 3] * ( 1u << 6 ) ); directivity_fx[n * 3 + 1] = (Word16) ( directivity[n * 3 + 1] * ( 1u << 6 ) ); @@ -3329,24 +3167,9 @@ ivas_error RenderConfigReader_getDistanceAttenuation( } /* Convert to Word32 */ -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION -#ifndef FIX_2500_RENDCONF_REFACTOR - /* Range needs to be checked before converting to fixed point -- different from float */ - /* Verify range of distance attenuation parameters: refDist: 0.0 <= distAtt[1] <= 6.3 */ - /* maxDist: distAtt[1] <= distAtt[0] <= 63.0 */ - /* rollOffFactor: 0 <= distAtt[2] <= 4.0 */ - distAtt[1] = min( max( 0, distAtt[1] ), DIST_ATT_MAX_REFDIST ); - distAtt[0] = min( max( distAtt[1], distAtt[0] ), DIST_ATT_MAX_MAXDIST ); - distAtt[2] = min( max( 0.0f, distAtt[2] ), DIST_ATT_MAX_ROLLOFF ); -#endif distAtt_fx[0] = (Word32) ( distAtt[0] * ( 1u << 25 ) ); distAtt_fx[1] = (Word32) ( distAtt[1] * ( 1u << 28 ) ); distAtt_fx[2] = (Word32) ( distAtt[2] * ( 1u << 28 ) ); -#else - distAtt_fx[0] = (Word32) ( distAtt[0] * ( 1u << 27 ) ); - distAtt_fx[1] = (Word32) ( distAtt[1] * ( 1u << 30 ) ); - distAtt_fx[2] = (Word32) ( distAtt[2] * ( 1u << 30 ) ); -#endif return IVAS_ERR_OK; } diff --git a/lib_util/render_config_reader.h b/lib_util/render_config_reader.h index 54180eabb..8e75dc348 100644 --- a/lib_util/render_config_reader.h +++ b/lib_util/render_config_reader.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef RENDER_CONFIG_READER_H #define RENDER_CONFIG_READER_H @@ -79,11 +51,7 @@ ivas_error RenderConfigReader_getDistanceAttenuation( ); /* Verifies configuration parameters */ ivas_error RenderConfigReader_checkValues( -#ifdef FIX_2500_RENDCONF_REFACTOR RenderConfigReader *pRenderConfigReader /* i/o: Renderer configuration reader */ -#else - IVAS_RENDER_CONFIG_HANDLE hRenderConfig /* o : Renderer configuration handle */ -#endif ); /* Reads a configuration */ diff --git a/lib_util/requests_file_reader.c b/lib_util/requests_file_reader.c index 894b07568..b953abb91 100644 --- a/lib_util/requests_file_reader.c +++ b/lib_util/requests_file_reader.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "requests_file_reader.h" #include diff --git a/lib_util/requests_file_reader.h b/lib_util/requests_file_reader.h index 0918dd344..daedbdf07 100644 --- a/lib_util/requests_file_reader.h +++ b/lib_util/requests_file_reader.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_REQUESTS_FILE_READER_H #define IVAS_REQUESTS_FILE_READER_H diff --git a/lib_util/rotation_file_reader.c b/lib_util/rotation_file_reader.c index 1701f285b..43a428549 100644 --- a/lib_util/rotation_file_reader.c +++ b/lib_util/rotation_file_reader.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "rotation_file_reader.h" #include @@ -42,7 +14,6 @@ #define Q29 29 #define Q31 31 -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION #ifndef min #define min( x, y ) ( ( x ) < ( y ) ? ( x ) : ( y ) ) #endif @@ -50,7 +21,6 @@ #ifndef max #define max( x, y ) ( ( x ) > ( y ) ? ( x ) : ( y ) ) #endif -#endif struct RotFileReader @@ -116,9 +86,7 @@ ivas_error HeadRotationFileReading( { float w, x, y, z; float posx, posy, posz; -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION float maxAbsPos; -#endif int32_t read_values; posx = 0.0f; @@ -159,7 +127,6 @@ ivas_error HeadRotationFileReading( if ( pPos != NULL ) { -#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION posx = min( max( -IVAS_LISTENER_POSITION_MAX, posx ), IVAS_LISTENER_POSITION_MAX ); posy = min( max( -IVAS_LISTENER_POSITION_MAX, posy ), IVAS_LISTENER_POSITION_MAX ); posz = min( max( -IVAS_LISTENER_POSITION_MAX, posz ), IVAS_LISTENER_POSITION_MAX ); @@ -170,15 +137,6 @@ ivas_error HeadRotationFileReading( pPos->x_fx = floatToFixed_32( posx, pPos->q_fact ); pPos->y_fx = floatToFixed_32( posy, pPos->q_fact ); pPos->z_fx = floatToFixed_32( posz, pPos->q_fact ); -#else - pPos->x = posx; - pPos->y = posy; - pPos->z = posz; - pPos->x_fx = floatToFixed_32( posx, Q25 ); - pPos->y_fx = floatToFixed_32( posy, Q25 ); - pPos->z_fx = floatToFixed_32( posz, Q25 ); - pPos->q_fact = Q25; -#endif } return IVAS_ERR_OK; diff --git a/lib_util/rotation_file_reader.h b/lib_util/rotation_file_reader.h index 4cb9e5f6a..62e18b912 100644 --- a/lib_util/rotation_file_reader.h +++ b/lib_util/rotation_file_reader.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_ROTATION_FILE_READER_H #define IVAS_ROTATION_FILE_READER_H diff --git a/lib_util/rtpdump.c b/lib_util/rtpdump.c index 0a115ec4e..c539bbd98 100644 --- a/lib_util/rtpdump.c +++ b/lib_util/rtpdump.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_util/rtpdump.h b/lib_util/rtpdump.h index 95c716457..54e1ed40a 100644 --- a/lib_util/rtpdump.h +++ b/lib_util/rtpdump.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0 diff --git a/lib_util/split_rend_bfi_file_reader.c b/lib_util/split_rend_bfi_file_reader.c index ec9755019..20db55f7b 100644 --- a/lib_util/split_rend_bfi_file_reader.c +++ b/lib_util/split_rend_bfi_file_reader.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "split_rend_bfi_file_reader.h" #include diff --git a/lib_util/split_rend_bfi_file_reader.h b/lib_util/split_rend_bfi_file_reader.h index 57e6294f8..d902cb609 100644 --- a/lib_util/split_rend_bfi_file_reader.h +++ b/lib_util/split_rend_bfi_file_reader.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_SR_BFI_FILE_READER_H #define IVAS_SR_BFI_FILE_READER_H diff --git a/lib_util/split_render_file_read_write.c b/lib_util/split_render_file_read_write.c index 2fcc70dfb..c74cf4d37 100644 --- a/lib_util/split_render_file_read_write.c +++ b/lib_util/split_render_file_read_write.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "split_render_file_read_write.h" #include "ivas_error_utils.h" diff --git a/lib_util/split_render_file_read_write.h b/lib_util/split_render_file_read_write.h index bfb0a191c..3b59b7296 100644 --- a/lib_util/split_render_file_read_write.h +++ b/lib_util/split_render_file_read_write.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef SPLIT_RENDER_FILE_READ_WRITE_H #define SPLIT_RENDER_FILE_READ_WRITE_H diff --git a/lib_util/tinywavein_c.h b/lib_util/tinywavein_c.h index eafac53d9..ac91ae6b4 100644 --- a/lib_util/tinywavein_c.h +++ b/lib_util/tinywavein_c.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef __TINYWAVEIN_C_H__ #define __TINYWAVEIN_C_H__ diff --git a/lib_util/tinywaveout_c.h b/lib_util/tinywaveout_c.h index c82113538..cae7c293c 100644 --- a/lib_util/tinywaveout_c.h +++ b/lib_util/tinywaveout_c.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef __TINYWAVEOUT_C_H__ #define __TINYWAVEOUT_C_H__ diff --git a/lib_util/vector3_pair_file_reader.c b/lib_util/vector3_pair_file_reader.c index d2225b7f5..2bd7bbf06 100644 --- a/lib_util/vector3_pair_file_reader.c +++ b/lib_util/vector3_pair_file_reader.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #include "vector3_pair_file_reader.h" #include diff --git a/lib_util/vector3_pair_file_reader.h b/lib_util/vector3_pair_file_reader.h index af4a6c991..eaf2697ca 100644 --- a/lib_util/vector3_pair_file_reader.h +++ b/lib_util/vector3_pair_file_reader.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 + ====================================================================================*/ #ifndef IVAS_V3PAIR_FILE_READER_H #define IVAS_V3PAIR_FILE_READER_H -- GitLab From 206f231665a50fa39f5b2de217298a1d957efdbe Mon Sep 17 00:00:00 2001 From: Markus Multrus Date: Fri, 1 May 2026 21:32:28 +0200 Subject: [PATCH 2/4] formatting --- apps/decoder.c | 1 - apps/encoder.c | 4 -- lib_com/ari_fx.c | 1 - lib_com/bitstream_fx.c | 9 ++-- lib_com/cldfb_evs_fx.c | 2 +- lib_com/cldfb_fx.c | 1 - lib_com/common_api_types.h | 4 +- lib_com/prot_fx.h | 2 +- lib_com/rom_com.h | 2 +- lib_com/swb_bwe_com_fx.c | 2 +- lib_com/trans_inv_fx.c | 2 +- lib_dec/ivas_init_dec_fx.c | 60 ++++++++++----------- lib_dec/ivas_objectRenderer_internal_fx.c | 1 - lib_dec/ivas_stereo_dft_dec_fx.c | 1 - lib_dec/lib_dec_fx.c | 11 ++-- lib_dec/stat_dec.h | 4 +- lib_enc/acelp_core_enc_fx.c | 4 +- lib_enc/ari_enc_fx.c | 3 -- lib_enc/avq_cod_fx.c | 2 +- lib_enc/cng_enc_fx.c | 12 ++--- lib_enc/cod_tcx_fx.c | 1 - lib_enc/enc_higher_acelp_fx.c | 2 +- lib_enc/ext_sig_ana_fx.c | 6 +-- lib_enc/hq_core_enc_fx.c | 4 +- lib_enc/igf_enc_fx.c | 1 - lib_enc/ivas_core_enc_fx.c | 12 ++--- lib_enc/ivas_core_pre_proc_front_fx.c | 28 +++++----- lib_enc/ivas_core_pre_proc_fx.c | 64 +++++++++++------------ lib_enc/ivas_cpe_enc_fx.c | 2 - lib_enc/ivas_decision_matrix_enc_fx.c | 1 - lib_enc/ivas_enc_fx.c | 3 +- lib_enc/ivas_mdct_core_enc_fx.c | 6 +-- lib_enc/ivas_stat_enc.h | 4 +- lib_enc/ivas_stereo_dft_enc_fx.c | 4 +- lib_enc/ivas_stereo_icbwe_enc_fx.c | 8 +-- lib_enc/ivas_stereo_mdct_core_enc_fx.c | 2 +- lib_enc/ivas_stereo_td_enc_fx.c | 1 - lib_enc/ivas_tcx_core_enc_fx.c | 12 ++--- lib_enc/pre_proc_fx.c | 18 +++---- lib_enc/prot_fx_enc.h | 57 ++++++++++---------- lib_enc/stat_enc.h | 12 ++--- lib_enc/swb_bwe_enc_fx.c | 8 +-- lib_enc/swb_pre_proc_fx.c | 12 ++--- lib_enc/swb_tbe_enc_fx.c | 24 ++++----- lib_isar/isar_rom_lcld_tables.c | 1 - lib_isar/isar_splitRendererPost.c | 3 +- lib_isar/isar_splitRendererPre.c | 3 +- lib_isar/isar_splitRenderer_utils.c | 2 - lib_isar/lib_isar_post_rend.c | 3 +- lib_isar/lib_isar_pre_rend.c | 3 +- lib_rend/ivas_efap_fx.c | 16 +++--- lib_rend/ivas_objectRenderer_mix_fx.c | 4 +- lib_rend/lib_rend_fx.c | 2 +- lib_util/ivas_rtp_api.h | 4 +- lib_util/render_config_reader.c | 2 +- 55 files changed, 216 insertions(+), 247 deletions(-) diff --git a/apps/decoder.c b/apps/decoder.c index 302c4745b..04d26fcdc 100644 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -39,7 +39,6 @@ static #define RANDOM_INITSEED_DEC ( 0xFADE ) - /*------------------------------------------------------------------------------------------* * Local structure for storing cmdln arguments *------------------------------------------------------------------------------------------*/ diff --git a/apps/encoder.c b/apps/encoder.c index 51c9773e2..d5c277de3 100644 --- a/apps/encoder.c +++ b/apps/encoder.c @@ -18,7 +18,6 @@ #include "wmc_auto.h" - #define WMC_TOOL_SKIP /*------------------------------------------------------------------------------------------* @@ -1167,7 +1166,6 @@ static bool parseCmdlIVAS_enc( { i++; arg->inputFormat = IVAS_ENC_INPUT_STEREO; - } else if ( strcmp( argv_to_upper, "-BINAURAL" ) == 0 ) { @@ -1951,6 +1949,4 @@ static bool readBitrate( } - - #undef WMC_TOOL_SKIP diff --git a/lib_com/ari_fx.c b/lib_com/ari_fx.c index fdbe33195..c3746a1d5 100644 --- a/lib_com/ari_fx.c +++ b/lib_com/ari_fx.c @@ -12,7 +12,6 @@ #include "cnst.h" - /*--------------------------------------------------------------- Ari 14 bits common routines -------------------------------------------------------------*/ diff --git a/lib_com/bitstream_fx.c b/lib_com/bitstream_fx.c index 645b38019..4d458fa42 100644 --- a/lib_com/bitstream_fx.c +++ b/lib_com/bitstream_fx.c @@ -1007,7 +1007,6 @@ ivas_error check_ind_list_limits( } - /*-------------------------------------------------------------------* * push_indice() * @@ -1699,14 +1698,14 @@ static ivas_error write_indices_element_fx( pt_stream_loc += nb_bits_tot_metadata - 1; pt_stream_end = pt_stream_loc + 1; - write_indices_to_stream_fx( ind_list_metadata, &pt_stream_loc, -1, - nb_ind_tot_metadata ); + write_indices_to_stream_fx( ind_list_metadata, &pt_stream_loc, -1, + nb_ind_tot_metadata ); /* restore previous pointer position */ pt_stream_loc = pt_stream_backup; } - write_indices_to_stream_fx( sts[n]->hBstr->ind_list, &pt_stream_loc, 1, - sts[n]->hBstr->nb_ind_tot ); + write_indices_to_stream_fx( sts[n]->hBstr->ind_list, &pt_stream_loc, 1, + sts[n]->hBstr->nb_ind_tot ); if ( pt_stream_loc > pt_stream_end ) { diff --git a/lib_com/cldfb_evs_fx.c b/lib_com/cldfb_evs_fx.c index 0e431342c..cf10eae53 100644 --- a/lib_com/cldfb_evs_fx.c +++ b/lib_com/cldfb_evs_fx.c @@ -1240,7 +1240,7 @@ void analysisCldfbEncoder_fx( void GetEnergyCldfb( - Word16 element_mode, /*!< i: | Is IVAS or EVS? */ + Word16 element_mode, /*!< i: | Is IVAS or EVS? */ Word32 *energyLookahead, /*!< o: Q(*sf_energyLookahead) | pointer to the result in the core look-ahead slot */ Word16 *sf_energyLookahead, /*!< o: pointer to the scalefactor of the result in the core look-ahead slot */ const Word16 numLookahead, /*!< i: Q0 the number of look-ahead time-slots */ diff --git a/lib_com/cldfb_fx.c b/lib_com/cldfb_fx.c index fafffe298..b018bde2a 100644 --- a/lib_com/cldfb_fx.c +++ b/lib_com/cldfb_fx.c @@ -1414,7 +1414,6 @@ void resampleCldfb_ivas_fx( } - void analysisCldfbEncoder_ivas_fx( Encoder_State *st, /* i/o: encoder state structure */ Word32 *timeIn, /*q11*/ diff --git a/lib_com/common_api_types.h b/lib_com/common_api_types.h index 77f83dfd9..cc189a614 100644 --- a/lib_com/common_api_types.h +++ b/lib_com/common_api_types.h @@ -35,8 +35,8 @@ #define IVAS_ER_LIST_HEIGHT 1.6f #define IVAS_ER_LIST_HEIGHT_FX 6710886 /* 1.6f in Q.22 */ #define IVAS_DEFAULT_AEID 65535 -#define IVAS_LISTENER_POSITION_MAX 327.67f -#define IVAS_LISTENER_POSITION_MAX_Q22 1374347592 /* 327.67 in Q22 */ +#define IVAS_LISTENER_POSITION_MAX 327.67f +#define IVAS_LISTENER_POSITION_MAX_Q22 1374347592 /* 327.67 in Q22 */ /* JBM constants for adaptive-playout */ #define IVAS_TIME_SCALE_MIN 50 /* min. time-scaling [%] */ diff --git a/lib_com/prot_fx.h b/lib_com/prot_fx.h index a7c5c521a..143b5f406 100644 --- a/lib_com/prot_fx.h +++ b/lib_com/prot_fx.h @@ -4073,7 +4073,7 @@ void analysisCldfbEncoder_fx( CLDFB_SCALE_FACTOR *scale ); void GetEnergyCldfb( - Word16 element_mode, /*!< i: | Is IVAS or EVS? */ + Word16 element_mode, /*!< i: | Is IVAS or EVS? */ Word32 *energyLookahead, /*!< o: Q31 | pointer to the result in the core look-ahead slot */ Word16 *sf_energyLookahead, /*!< o: pointer to the scalefactor of the result in the core look-ahead slot - apply as negative exponent*/ const Word16 numLookahead, /*!< i: Q0 the number of look-ahead time-slots */ diff --git a/lib_com/rom_com.h b/lib_com/rom_com.h index 53634d083..0e2cef07d 100644 --- a/lib_com/rom_com.h +++ b/lib_com/rom_com.h @@ -1107,7 +1107,7 @@ extern const Word32 rot_vec_syn_im_L40_fx[20]; // Q31 extern const Word32 rot_vec_syn_re_L60_fx[30]; // Q31 extern const Word32 rot_vec_syn_im_L60_fx[30]; // Q31 -extern const Word16 bpf_weights_16_Fx[16]; // Q15 +extern const Word16 bpf_weights_16_Fx[16]; // Q15 extern const Word32 bpf_weights_16_ivas_fx_32[16]; // Q30 extern const Word16 CNG_details_codebook_fx[64][NUM_ENV_CNG]; // Q6 diff --git a/lib_com/swb_bwe_com_fx.c b/lib_com/swb_bwe_com_fx.c index f4f699af2..a4e413d3e 100644 --- a/lib_com/swb_bwe_com_fx.c +++ b/lib_com/swb_bwe_com_fx.c @@ -2719,7 +2719,7 @@ void hq_generic_decoding_fx( exp2 = sub( norm_l( L_tmp2 ), 1 ); tmp1_fx = extract_h( L_shl( L_tmp1, exp1 ) ); tmp2_fx = extract_h( L_shl( L_tmp2, exp2 ) ); - tmp3_fx = div_s( tmp2_fx, tmp1_fx ); /*15 + exp2 + 15 - (exp1 + 15) */ + tmp3_fx = div_s( tmp2_fx, tmp1_fx ); /*15 + exp2 + 15 - (exp1 + 15) */ tmp3_fx = shr_sat( tmp3_fx, add( 5, sub( exp2, exp1 ) ) ); /*10 */ if ( LT_16( tmp3_fx, 307 /*0.3 in Q10 */ ) ) diff --git a/lib_com/trans_inv_fx.c b/lib_com/trans_inv_fx.c index 4524b039e..f717cb694 100644 --- a/lib_com/trans_inv_fx.c +++ b/lib_com/trans_inv_fx.c @@ -750,7 +750,7 @@ void preecho_sb_fx( } tmp_fxL1 = L_add_sat( eshbmean2_fx, es_mdct_hb_fx[ind3] ); /*2*(q_sig16)*/ - Mpy_32_16_ss( tmp_fxL1, 4369, &eshbmean3_fx, &tmp_u16 ); /*10922 : 1/3*/ + Mpy_32_16_ss( tmp_fxL1, 4369, &eshbmean3_fx, &tmp_u16 ); /*10922 : 1/3*/ tmp_fxL1 = L_sub( es_mdct_hb_fx[ind3], es_mdct_hb_fx[ind5] ); /*2*(q_sig16)*/ IF( LT_32( tmp_fxL1, eshbmean3_fx ) ) diff --git a/lib_dec/ivas_init_dec_fx.c b/lib_dec/ivas_init_dec_fx.c index aacd86ee5..f6176f82d 100644 --- a/lib_dec/ivas_init_dec_fx.c +++ b/lib_dec/ivas_init_dec_fx.c @@ -111,10 +111,10 @@ ivas_error ivas_dec_get_format_fx( !( EQ_32( st_ivas->ivas_format, MASA_FORMAT ) && EQ_32( st_ivas->last_ivas_format, MASA_ISM_FORMAT ) ) && !( EQ_32( st_ivas->ivas_format, MASA_ISM_FORMAT ) && EQ_32( st_ivas->last_ivas_format, MASA_FORMAT ) ) ) { - st_ivas->restartNeeded = 1; - move16(); + st_ivas->restartNeeded = 1; + move16(); - return IVAS_ERR_OK; + return IVAS_ERR_OK; } /*-------------------------------------------------------------------* @@ -152,10 +152,10 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( nchan_ism, st_ivas->nchan_ism ) ) { - st_ivas->restartNeeded = 1; - move16(); + st_ivas->restartNeeded = 1; + move16(); - return IVAS_ERR_OK; + return IVAS_ERR_OK; } st_ivas->nchan_ism = nchan_ism; @@ -179,10 +179,10 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( sba_planar, st_ivas->sba_planar ) ) { - st_ivas->restartNeeded = 1; - move16(); + st_ivas->restartNeeded = 1; + move16(); - return IVAS_ERR_OK; + return IVAS_ERR_OK; } /* read Ambisonic (SBA) order */ @@ -193,10 +193,10 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( sba_order, st_ivas->sba_order ) ) { - st_ivas->restartNeeded = 1; - move16(); + st_ivas->restartNeeded = 1; + move16(); - return IVAS_ERR_OK; + return IVAS_ERR_OK; } sba_analysis_order = ivas_sba_get_analysis_order_fx( ivas_total_brate, sba_order ); @@ -275,10 +275,10 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( nchan_ism, st_ivas->nchan_ism ) ) { - st_ivas->restartNeeded = 1; - move16(); + st_ivas->restartNeeded = 1; + move16(); - return IVAS_ERR_OK; + return IVAS_ERR_OK; } st_ivas->nchan_ism = nchan_ism; @@ -297,10 +297,10 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( nchan_ism, st_ivas->nchan_ism ) ) { - st_ivas->restartNeeded = 1; - move16(); + st_ivas->restartNeeded = 1; + move16(); - return IVAS_ERR_OK; + return IVAS_ERR_OK; } st_ivas->nchan_ism = nchan_ism; @@ -315,10 +315,10 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( nchan_ism, st_ivas->nchan_ism ) ) { - st_ivas->restartNeeded = 1; - move16(); + st_ivas->restartNeeded = 1; + move16(); - return IVAS_ERR_OK; + return IVAS_ERR_OK; } st_ivas->nchan_ism = nchan_ism; @@ -346,10 +346,10 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( sba_order, st_ivas->sba_order ) ) { - st_ivas->restartNeeded = 1; - move16(); + st_ivas->restartNeeded = 1; + move16(); - return IVAS_ERR_OK; + return IVAS_ERR_OK; } st_ivas->ism_mode = ivas_osba_ism_mode_select( ivas_total_brate, st_ivas->nchan_ism ); @@ -376,10 +376,10 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_32( st_ivas->transport_config, signaled_config ) ) { - st_ivas->restartNeeded = 1; - move16(); + st_ivas->restartNeeded = 1; + move16(); - return IVAS_ERR_OK; + return IVAS_ERR_OK; } st_ivas->mc_mode = ivas_mc_mode_select_fx( ivas_mc_map_output_config_to_mc_ls_setup_fx( signaled_config ), ivas_total_brate ); @@ -478,10 +478,10 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( nchan_ism, st_ivas->nchan_ism ) ) { - st_ivas->restartNeeded = 1; - move16(); + st_ivas->restartNeeded = 1; + move16(); - return IVAS_ERR_OK; + return IVAS_ERR_OK; } st_ivas->nchan_ism = nchan_ism; diff --git a/lib_dec/ivas_objectRenderer_internal_fx.c b/lib_dec/ivas_objectRenderer_internal_fx.c index 8aa1ef8c8..7d69a11a4 100644 --- a/lib_dec/ivas_objectRenderer_internal_fx.c +++ b/lib_dec/ivas_objectRenderer_internal_fx.c @@ -232,7 +232,6 @@ ivas_error ivas_td_binaural_renderer_sf_fx( tmp_vector_fx = &st_ivas->hCombinedOrientationData->listenerPos[st_ivas->hCombinedOrientationData->subframe_idx]; enableCombinedOrientation = st_ivas->hCombinedOrientationData->enableCombinedOrientation[st_ivas->hCombinedOrientationData->subframe_idx]; move16(); - } ELSE { diff --git a/lib_dec/ivas_stereo_dft_dec_fx.c b/lib_dec/ivas_stereo_dft_dec_fx.c index d10270ef0..bbaa32e02 100644 --- a/lib_dec/ivas_stereo_dft_dec_fx.c +++ b/lib_dec/ivas_stereo_dft_dec_fx.c @@ -4396,7 +4396,6 @@ void stereo_dft_dec_read_BS_fx( } ECSQ_dequantize_vector_fx( dec, hStereoDft->res_global_gain_fx, hStereoDft->res_cod_line_max, res_buf_fx ); - } ELSE { diff --git a/lib_dec/lib_dec_fx.c b/lib_dec/lib_dec_fx.c index ac7ef9c22..6149a0f26 100644 --- a/lib_dec/lib_dec_fx.c +++ b/lib_dec/lib_dec_fx.c @@ -55,11 +55,11 @@ #define max( x, y ) ( ( x ) > ( y ) ? ( x ) : ( y ) ) #endif -/*---------------------------------------------------------------------* - * Local structs - *---------------------------------------------------------------------*/ + /*---------------------------------------------------------------------* + * Local structs + *---------------------------------------------------------------------*/ -struct IVAS_DEC_VOIP + struct IVAS_DEC_VOIP { JB4_HANDLE hJBM; UWord16 lastDecodedWasActive; @@ -84,7 +84,7 @@ struct IVAS_DEC bool isInitialized; Word16 bitstreamformat; /* Bitstream format flag (G.192/MIME/VOIP_G192_RTP/VOIP_RTPDUMP) */ - Word16 tsm_scale; /* scale for TSM operation */ + Word16 tsm_scale; /* scale for TSM operation */ Word16 tsm_max_scaling; Word16 timeScalingDone; /* have we done already one TSM in a 20ms frame? */ Word16 tsm_quality; /*Q14*/ @@ -129,7 +129,6 @@ static Word16 ivas_dec_split_rend_cldfb_in( const RENDERER_TYPE renderer_type ); static void update_voip_rendered20ms( IVAS_DEC_HANDLE hIvasDec, const Word16 nSamplesRendered ); - /*---------------------------------------------------------------------* * ivas_dec_handle_init() * diff --git a/lib_dec/stat_dec.h b/lib_dec/stat_dec.h index 485a991b4..191f06505 100644 --- a/lib_dec/stat_dec.h +++ b/lib_dec/stat_dec.h @@ -988,8 +988,8 @@ typedef struct Decoder_State * Common parameters *----------------------------------------------------------------------------------*/ - Word16 idchan; /* channel ID (audio channel number) */ - Word16 element_mode; /* element mode */ + Word16 idchan; /* channel ID (audio channel number) */ + Word16 element_mode; /* element mode */ Word32 element_brate; /* element bitrate */ Word16 codec_mode; /* Mode 1 or 2 */ Word16 mdct_sw_enable; /* MDCT switching enable flag */ diff --git a/lib_enc/acelp_core_enc_fx.c b/lib_enc/acelp_core_enc_fx.c index e63f0109d..eae084cda 100644 --- a/lib_enc/acelp_core_enc_fx.c +++ b/lib_enc/acelp_core_enc_fx.c @@ -23,8 +23,8 @@ *--------------------------------------------------------------------*/ ivas_error acelp_core_enc_fx( - Encoder_State *st, /* i/o: encoder state structure */ - const Word16 inp[], /* i : input signal of the current frame Q_new-1*/ + Encoder_State *st, /* i/o: encoder state structure */ + const Word16 inp[], /* i : input signal of the current frame Q_new-1*/ Word16 A[NB_SUBFR16k * ( M + 1 )], /* i : A(z) unquantized for the 4 subframes Q12*/ Word16 Aw[NB_SUBFR16k * ( M + 1 )], /* i : weighted A(z) unquant. for subframes Q12*/ const Word32 epsP[M + 1], /* i : LP prediction errors Qx*/ diff --git a/lib_enc/ari_enc_fx.c b/lib_enc/ari_enc_fx.c index c2b7e8074..d744cae56 100644 --- a/lib_enc/ari_enc_fx.c +++ b/lib_enc/ari_enc_fx.c @@ -38,7 +38,6 @@ static Word16 ari_encode_14bits_high_low_fx( *-------------------------------------------------------------*/ - /*--------------------------------------------------------------- * ari_copy_states_ivas_fx() * @@ -145,7 +144,6 @@ Word16 ari_encode_overflow_fx( } - /*------------------------------------------------------------------------ * Function: ari_encode_14bits_range_fx * @@ -179,7 +177,6 @@ Word16 ari_encode_14bits_range_fx( *-------------------------------------------------------------------------*/ - /*------------------------------------------------------------------------ * Function: ari_done_cbr_encoding_14bits_fx * diff --git a/lib_enc/avq_cod_fx.c b/lib_enc/avq_cod_fx.c index 812ce4e7f..1a6544b66 100644 --- a/lib_enc/avq_cod_fx.c +++ b/lib_enc/avq_cod_fx.c @@ -8,7 +8,7 @@ #include #include "options.h" /* Compilation switches */ #include "cnst.h" -#include /* Compilation switches */ +#include /* Compilation switches */ #include "prot_fx.h" /* Function prototypes */ #include "prot_fx_enc.h" /* Function prototypes */ #include "rom_com.h" /* Static table prototypes */ diff --git a/lib_enc/cng_enc_fx.c b/lib_enc/cng_enc_fx.c index 852dc586e..e8caef2be 100644 --- a/lib_enc/cng_enc_fx.c +++ b/lib_enc/cng_enc_fx.c @@ -1454,9 +1454,9 @@ void calculate_hangover_attenuation_gain_fx( *---------------------------------------------------------------------*/ void swb_CNG_enc_fx( - Encoder_State *st, /* i/o: State structure */ - const Word16 *shb_speech_fx, /* i : SHB target signal (6-14kHz) at 16kHz shb_speech_q */ - const Word16 shb_speech_q, /* i : SHB target signal Q (6-14kHz) at 16kHz Q0 */ + Encoder_State *st, /* i/o: State structure */ + const Word16 *shb_speech_fx, /* i : SHB target signal (6-14kHz) at 16kHz shb_speech_q */ + const Word16 shb_speech_q, /* i : SHB target signal Q (6-14kHz) at 16kHz Q0 */ const Word16 *syn_12k8_16k_fx /* i : ACELP core synthesis at 12.8kHz or 16kHz Q0 */ ) { @@ -1622,9 +1622,9 @@ static void shb_CNG_encod_fx( *---------------------------------------------------------------------*/ static Word16 shb_DTX_fx( - Encoder_State *st, /* i/o: State structure */ - const Word16 *shb_speech_fx, /* i : SHB target signal (6-14kHz) at 16kHz shb_speech_q */ - const Word16 shb_speech_q, /* i : SHB target signal (6-14kHz) at 16kHz Q Q0 */ + Encoder_State *st, /* i/o: State structure */ + const Word16 *shb_speech_fx, /* i : SHB target signal (6-14kHz) at 16kHz shb_speech_q */ + const Word16 shb_speech_q, /* i : SHB target signal (6-14kHz) at 16kHz Q Q0 */ const Word16 *syn_12k8_16k_fx /* i : ACELP core synthesis at 12.8kHz or 16kHz Q0 */ ) { diff --git a/lib_enc/cod_tcx_fx.c b/lib_enc/cod_tcx_fx.c index 8f70c82a5..94c6ac901 100644 --- a/lib_enc/cod_tcx_fx.c +++ b/lib_enc/cod_tcx_fx.c @@ -1742,7 +1742,6 @@ void QuantizeSpectrum_fx( st->element_mode ); - move16(); stop = 1; diff --git a/lib_enc/enc_higher_acelp_fx.c b/lib_enc/enc_higher_acelp_fx.c index 650531045..d582b5a34 100644 --- a/lib_enc/enc_higher_acelp_fx.c +++ b/lib_enc/enc_higher_acelp_fx.c @@ -398,7 +398,7 @@ void transf_cdbk_enc_fx( } /*fxn[L_SUBFR-1] -= *fgain_preQ * ftemp;*/ Ltmp = L_shr( Mult_32_16( Ltmp, *gain_preQ ), sub( add( q_x_tran, 2 ), Q_new ) ); /* (2 + 1 + 14 +shift+Q_AVQ_OUT)-(Q_AVQ_OUT+2-Q_new) = 15 + Q_new + shift */ - xn[L_SUBFR - 1] = round_fx( L_sub( L_mult( xn[L_SUBFR - 1], 32767 ), Ltmp ) ); /* -> Q_new + shift -1 */ + xn[L_SUBFR - 1] = round_fx( L_sub( L_mult( xn[L_SUBFR - 1], 32767 ), Ltmp ) ); /* -> Q_new + shift -1 */ } ELSE { diff --git a/lib_enc/ext_sig_ana_fx.c b/lib_enc/ext_sig_ana_fx.c index 389a7976c..f32a2f9cf 100644 --- a/lib_enc/ext_sig_ana_fx.c +++ b/lib_enc/ext_sig_ana_fx.c @@ -477,9 +477,9 @@ void core_signal_analysis_high_bitrate_fx( void core_signal_analysis_high_bitrate_ivas_fx( const Word16 *new_samples, /*i : *Q_new-1 */ - const Word16 T_op[3], /* i : open-loop pitch values for quantiz. Q0*/ - Word16 lsp_new[], /* Q15 */ - Word16 lsp_mid[], /* Q15 */ + const Word16 T_op[3], /* i : open-loop pitch values for quantiz. Q0*/ + Word16 lsp_new[], /* Q15 */ + Word16 lsp_mid[], /* Q15 */ Encoder_State *st, Word16 pTnsSize[], /* Q0 */ Word16 pTnsBits[], /* Q0 */ diff --git a/lib_enc/hq_core_enc_fx.c b/lib_enc/hq_core_enc_fx.c index 5f61c996f..740cdef23 100644 --- a/lib_enc/hq_core_enc_fx.c +++ b/lib_enc/hq_core_enc_fx.c @@ -73,8 +73,8 @@ void HQ_core_enc_init_fx( *--------------------------------------------------------------------------*/ void hq_core_enc_fx( - Encoder_State *st, /* i/o: encoder state structure */ - Word16 *audio_fx, /* i : input audio signal Q0*/ + Encoder_State *st, /* i/o: encoder state structure */ + Word16 *audio_fx, /* i : input audio signal Q0*/ const Word16 input_frame_orig, /* i : frame length Q0*/ const Word16 hq_core_type, /* i : HQ core type Q0*/ const Word16 Voicing_flag, /* i : Voicing flag for FER method selection Q0*/ diff --git a/lib_enc/igf_enc_fx.c b/lib_enc/igf_enc_fx.c index e3c3a756b..01d280998 100644 --- a/lib_enc/igf_enc_fx.c +++ b/lib_enc/igf_enc_fx.c @@ -69,7 +69,6 @@ static void IGF_write_bits( } - /*-------------------------------------------------------------------* * IGF_WriteEnvelope() * diff --git a/lib_enc/ivas_core_enc_fx.c b/lib_enc/ivas_core_enc_fx.c index 128fb2843..bc0db16b8 100644 --- a/lib_enc/ivas_core_enc_fx.c +++ b/lib_enc/ivas_core_enc_fx.c @@ -18,12 +18,12 @@ *-------------------------------------------------------------------*/ ivas_error ivas_core_enc_fx( - SCE_ENC_HANDLE hSCE, /* i/o: SCE encoder structure */ - CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ - MCT_ENC_HANDLE hMCT, /* i/o: MCT encoder structure */ - const Word16 n_CoreChannels, /* i : number of core channels to be coded Q0*/ - Word16 old_inp_12k8_fx[][L_INP_12k8], /* i : buffer of old input signal Q_new-1*/ - Word16 old_inp_16k_fx[][L_INP], /* i : buffer of old input signal Q_new-1*/ + SCE_ENC_HANDLE hSCE, /* i/o: SCE encoder structure */ + CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ + MCT_ENC_HANDLE hMCT, /* i/o: MCT encoder structure */ + const Word16 n_CoreChannels, /* i : number of core channels to be coded Q0*/ + Word16 old_inp_12k8_fx[][L_INP_12k8], /* i : buffer of old input signal Q_new-1*/ + Word16 old_inp_16k_fx[][L_INP], /* i : buffer of old input signal Q_new-1*/ Word16 Q_new[], /* i : Q factor of speech buffers */ Word32 ener_fx[], /* i : residual energy from Levinson-Durbin epsP_fx_q*/ Word16 A_fx[][NB_SUBFR16k * ( M + 1 )], /* i : A(z) unquantized for the 4 subframes Q12*/ diff --git a/lib_enc/ivas_core_pre_proc_front_fx.c b/lib_enc/ivas_core_pre_proc_front_fx.c index d6aa13e43..cfadfe631 100644 --- a/lib_enc/ivas_core_pre_proc_front_fx.c +++ b/lib_enc/ivas_core_pre_proc_front_fx.c @@ -45,14 +45,14 @@ static Word16 get_zero_flag( const Word32 arr[], const Word16 len ) *--------------------------------------------------------------------*/ void pre_proc_front_ivas_fx( - SCE_ENC_HANDLE hSCE, /* i/o: SCE encoder structure */ - CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ - const Word32 element_brate, /* i : SCE/CPE element bitrate Q0*/ - const Word16 nb_bits_metadata, /* i : number of metadata bits Q0*/ - const Word16 input_frame, /* i : frame length Q0*/ - const Word16 n, /* i : channel number Q0*/ - Word16 old_inp_12k8_fx[], /* o : buffer of old input signal (st->Q_inp until preemph, then Q_new, then Q_new-1 towards the end)*/ - Word16 old_inp_16k_fx[], /* o : buffer of old input signal @16kHz (st->Q_inp until preemph, then Q_new, then Q_new-1 towards the end)*/ + SCE_ENC_HANDLE hSCE, /* i/o: SCE encoder structure */ + CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ + const Word32 element_brate, /* i : SCE/CPE element bitrate Q0*/ + const Word16 nb_bits_metadata, /* i : number of metadata bits Q0*/ + const Word16 input_frame, /* i : frame length Q0*/ + const Word16 n, /* i : channel number Q0*/ + Word16 old_inp_12k8_fx[], /* o : buffer of old input signal (st->Q_inp until preemph, then Q_new, then Q_new-1 towards the end)*/ + Word16 old_inp_16k_fx[], /* o : buffer of old input signal @16kHz (st->Q_inp until preemph, then Q_new, then Q_new-1 towards the end)*/ Word32 *ener_fx, /* o : residual energy from Levinson-Durbin epsP_fx_q*/ Word16 *relE_fx, /* o : frame relative energy Q8*/ Word16 A_fx[NB_SUBFR16k * ( M + 1 )], /* o : A(z) unquantized for the 4 subframes Q12*/ @@ -424,12 +424,12 @@ void pre_proc_front_ivas_fx( IF( EQ_16( element_mode, IVAS_SCE ) ) { new_inp_out_size = modify_Fs_fx( signal_in_fx, input_frame, input_Fs, new_inp_12k8_fx, INT_FS_12k8, st->mem_decim_fx_q_inp, ( st->max_bwidth == NB ), &Q_new_inp, &mem_decim_size ); /* st->q_inp */ - scale_sig( new_inp_12k8_fx, new_inp_out_size, negate( Q_new_inp ) ); /* scaling back to st->q_inp*/ + scale_sig( new_inp_12k8_fx, new_inp_out_size, negate( Q_new_inp ) ); /* scaling back to st->q_inp*/ Copy( st->mem_decim_fx_q_inp, mem_decim_dummy_fx, 2 * L_FILT_MAX ); /* q_inp */ set16_fx( temp1F_icatdmResampBuf_fx, 0, L_FILT_MAX ); new_inp_out_size = modify_Fs_fx( temp1F_icatdmResampBuf_fx, NS2SA_FX2( input_Fs, DELAY_FIR_RESAMPL_NS ), input_Fs, new_inp_12k8_fx + L_FRAME, INT_FS_12k8, mem_decim_dummy_fx, 0, &Q_new_inp, &mem_decim_size ); /* st->q_inp */ - scale_sig( new_inp_12k8_fx + L_FRAME, new_inp_out_size, negate( Q_new_inp ) ); /* scaling back to st->q_inp*/ + scale_sig( new_inp_12k8_fx + L_FRAME, new_inp_out_size, negate( Q_new_inp ) ); /* scaling back to st->q_inp*/ } ELSE IF( EQ_16( element_mode, IVAS_CPE_TD ) || EQ_16( element_mode, IVAS_CPE_MDCT ) ) { @@ -441,12 +441,12 @@ void pre_proc_front_ivas_fx( Word16 length_12k8 = NS2SA( INT_FS_12k8, L_MEM_RECALC_SCH_NS ); new_inp_out_size = modify_Fs_fx( signal_in_fx - lMemRecalc - length_inp, length_inp, input_Fs, new_inp_12k8_fx - lMemRecalc_12k8 - length_12k8, INT_FS_12k8, st->mem_decim_fx_q_inp, 0, &Q_new_inp, &mem_decim_size ); /* st->q_inp */ - scale_sig( new_inp_12k8_fx - lMemRecalc_12k8 - length_12k8, new_inp_out_size, negate( Q_new_inp ) ); /* scaling back to st->q_inp*/ + scale_sig( new_inp_12k8_fx - lMemRecalc_12k8 - length_12k8, new_inp_out_size, negate( Q_new_inp ) ); /* scaling back to st->q_inp*/ } new_inp_out_size = modify_Fs_fx( signal_in_fx - lMemRecalc, input_frame, input_Fs, new_inp_12k8_fx - lMemRecalc_12k8, INT_FS_12k8, st->mem_decim_fx_q_inp, ( st->max_bwidth == NB ), &Q_new_inp, &mem_decim_size ); /* st->q_inp */ - Copy( st->mem_decim_fx_q_inp, mem_decim_dummy_fx, 2 * L_FILT_MAX ); /* st->q_inp */ - scale_sig( new_inp_12k8_fx - lMemRecalc_12k8, new_inp_out_size, negate( Q_new_inp ) ); /* scaling back to st->q_inp*/ + Copy( st->mem_decim_fx_q_inp, mem_decim_dummy_fx, 2 * L_FILT_MAX ); /* st->q_inp */ + scale_sig( new_inp_12k8_fx - lMemRecalc_12k8, new_inp_out_size, negate( Q_new_inp ) ); /* scaling back to st->q_inp*/ IF( lMemRecalc > 0 ) { @@ -609,7 +609,7 @@ void pre_proc_front_ivas_fx( Copy_Scale_sig32_16( sig_out, preemp_start_idx, preemp_len, sub( add( *Q_new, 1 ), st->q_inp ) ); /* Q_new */ Scale_sig( old_inp_12k8_fx, (Word16) ( preemp_start_idx - old_inp_12k8_fx ), sub( *Q_new, st->q_inp ) ); /* Q_new */ - scale_sig( old_inp_16k_fx, L_INP, sub( *Q_new, st->q_inp ) ); /* Q_new */ + scale_sig( old_inp_16k_fx, L_INP, sub( *Q_new, st->q_inp ) ); /* Q_new */ cldfbScale.hb_scale = cldfbScale.lb_scale; move16(); diff --git a/lib_enc/ivas_core_pre_proc_fx.c b/lib_enc/ivas_core_pre_proc_fx.c index b8f1f7ef5..316297bdc 100644 --- a/lib_enc/ivas_core_pre_proc_fx.c +++ b/lib_enc/ivas_core_pre_proc_fx.c @@ -19,23 +19,23 @@ *--------------------------------------------------------------------*/ void pre_proc_ivas_fx( - Encoder_State *st, /* i/o: encoder state structure */ - const Word16 last_element_mode, /* i : last element mode Q0*/ - const Word32 element_brate, /* i : element bitrate Q0*/ - const Word32 last_element_brate, /* i : last element bitrate Q0*/ - const Word16 input_frame, /* i : frame length Q0*/ - Word16 old_inp_12k8_fx[], /* i/o: buffer of old input signal Q_new-1 */ - Word16 old_inp_16k_fx[], /* i/o: buffer of old input signal @ 16kHz Q_new */ - Word16 **inp_fx, /* o : ptr. to inp. signal in the current frame Q_new*/ - Word32 *ener_fx, /* o : residual energy from Levinson-Durbin epsP_fx_q*/ - Word16 A_fx[NB_SUBFR16k * ( M + 1 )], /* i/o: A(z) unquantized for the 4 subframes Q12*/ - Word16 Aw_fx[NB_SUBFR16k * ( M + 1 )], /* i/o: weighted A(z) unquantized for subframes Q14*/ - Word32 epsP_fx[M + 1], /* i : LP prediction errors epsP_fx_q*/ - Word16 *epsP_fx_q, /* i : LP prediction errors */ - Word16 lsp_new_fx[M], /* i/o: LSPs at the end of the frame Q15*/ - Word16 lsp_mid_fx[M], /* i/o: LSPs in the middle of the frame Q15*/ - Word16 *new_inp_resamp16k_fx, /* o : new input signal @16kHz, non pre-emphasised, used by the WB TBE/BWE q_new_inp_resamp16k_fx*/ - Word16 *q_new_inp_resamp16k_fx, /* o : Q value of new input signal @16kHz, non pre-emphasised, used by the WB TBE/BWE */ + Encoder_State *st, /* i/o: encoder state structure */ + const Word16 last_element_mode, /* i : last element mode Q0*/ + const Word32 element_brate, /* i : element bitrate Q0*/ + const Word32 last_element_brate, /* i : last element bitrate Q0*/ + const Word16 input_frame, /* i : frame length Q0*/ + Word16 old_inp_12k8_fx[], /* i/o: buffer of old input signal Q_new-1 */ + Word16 old_inp_16k_fx[], /* i/o: buffer of old input signal @ 16kHz Q_new */ + Word16 **inp_fx, /* o : ptr. to inp. signal in the current frame Q_new*/ + Word32 *ener_fx, /* o : residual energy from Levinson-Durbin epsP_fx_q*/ + Word16 A_fx[NB_SUBFR16k * ( M + 1 )], /* i/o: A(z) unquantized for the 4 subframes Q12*/ + Word16 Aw_fx[NB_SUBFR16k * ( M + 1 )], /* i/o: weighted A(z) unquantized for subframes Q14*/ + Word32 epsP_fx[M + 1], /* i : LP prediction errors epsP_fx_q*/ + Word16 *epsP_fx_q, /* i : LP prediction errors */ + Word16 lsp_new_fx[M], /* i/o: LSPs at the end of the frame Q15*/ + Word16 lsp_mid_fx[M], /* i/o: LSPs in the middle of the frame Q15*/ + Word16 *new_inp_resamp16k_fx, /* o : new input signal @16kHz, non pre-emphasised, used by the WB TBE/BWE q_new_inp_resamp16k_fx*/ + Word16 *q_new_inp_resamp16k_fx, /* o : Q value of new input signal @16kHz, non pre-emphasised, used by the WB TBE/BWE */ Word16 *Voicing_flag, /* o : voicing flag for HQ FEC Q0*/ Word16 old_wsp_fx[], /* i : weighted input signal buffer e_old_wsp*/ const Word16 e_old_wsp, /* i : Q value of weighted input signal buffer */ @@ -45,10 +45,10 @@ void pre_proc_ivas_fx( const Word16 vad_hover_flag, /* i : VAD hangover flag Q0*/ const Word16 flag_16k_smc, /* i : flag to indicate if the OL SMC is run at 16 kHz Q0*/ Word32 enerBuffer_fx[CLDFB_NO_CHANNELS_MAX], /* i : energy buffer e_enerBuffer */ - Word16 e_enerBuffer, /* i : Q value of energy buffer */ - Word16 fft_buff_fx[2 * L_FFT], /* i : FFT buffer Qx*/ - const Word16 cor_map_sum_fx, /* i : speech/music clasif. parameter Q8*/ - Word16 *Q_new /* i/o: Q factor of speech buffers */ + Word16 e_enerBuffer, /* i : Q value of energy buffer */ + Word16 fft_buff_fx[2 * L_FFT], /* i : FFT buffer Qx*/ + const Word16 cor_map_sum_fx, /* i : speech/music clasif. parameter Q8*/ + Word16 *Q_new /* i/o: Q factor of speech buffers */ ) { Word16 L_look, element_mode, lMemRecalc_12k8; @@ -683,9 +683,9 @@ void pre_proc_ivas_fx( *--------------------------------------------------------------------*/ void ivas_compute_core_buffers_fx( - Encoder_State *st, /* i/o: encoder state structure */ - Word16 **inp16k_out_fx, /* o : ptr. to inp. signal in the current frame Q_new-1*/ - Word16 *old_inp_16k_fx, /* i/o: buffer of old input signal @ 16kHz in Q_old_inp_16k = Q_new, out Q_new-1 */ + Encoder_State *st, /* i/o: encoder state structure */ + Word16 **inp16k_out_fx, /* o : ptr. to inp. signal in the current frame Q_new-1*/ + Word16 *old_inp_16k_fx, /* i/o: buffer of old input signal @ 16kHz in Q_old_inp_16k = Q_new, out Q_new-1 */ Word16 new_inp_resamp16k_out_fx[], /* o : new input signal @16kHz, non pre-emphasised, used by the WB TBE/BWE Q_old_inp_16k*/ const Word16 input_frame, /* i : frame length Q0*/ const Word16 last_element_mode, /* i : last element mode Q0*/ @@ -803,14 +803,14 @@ void ivas_compute_core_buffers_fx( } ELSE IF( EQ_32( input_Fs, 32000 ) || EQ_32( input_Fs, 48000 ) ) { - scale_sig( st->mem_decim16k_fx, 2 * L_FILT_MAX, sub( Q_old_inp_16k, st->q_mem_decim16k_fx ) ); /* Q_old_inp_16k */ + scale_sig( st->mem_decim16k_fx, 2 * L_FILT_MAX, sub( Q_old_inp_16k, st->q_mem_decim16k_fx ) ); /* Q_old_inp_16k */ size_modified = modify_Fs_fx( signal_in_fx, input_frame, input_Fs, new_inp_16k_fx, sr_core, st->mem_decim16k_fx, 0, &Q_tmp, &mem_decim16k_size ); /* Q0 */ - scale_sig( new_inp_16k_fx, size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ + scale_sig( new_inp_16k_fx, size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ Copy( st->mem_decim16k_fx, mem_decim16k_dummy_fx, 2 * L_FILT_MAX ); /* Q(-1) */ set16_fx( temp1F_icatdmResampBuf_fx, 0, L_FILT_MAX ); size_modified = modify_Fs_fx( temp1F_icatdmResampBuf_fx, NS2SA_FX2( input_Fs, DELAY_FIR_RESAMPL_NS ), input_Fs, new_inp_16k_fx + NS2SA_FX2( sr_core, FRAME_SIZE_NS ), sr_core, mem_decim16k_dummy_fx, 0, &Q_tmp, &mem_decim16k_size ); /* Q0 */ - scale_sig( new_inp_16k_fx + NS2SA_FX2( sr_core, FRAME_SIZE_NS ), size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ + scale_sig( new_inp_16k_fx + NS2SA_FX2( sr_core, FRAME_SIZE_NS ), size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ Q_tmp = norm_arr( st->mem_decim16k_fx, mem_decim16k_size ); scale_sig( st->mem_decim16k_fx, mem_decim16k_size, Q_tmp ); st->q_mem_decim16k_fx = add( Q_tmp, Q_old_inp_16k ); @@ -847,11 +847,11 @@ void ivas_compute_core_buffers_fx( Copy( signal_in_fx - lMemRecalc - length_inp - 2 * NS2SA_FX2( input_Fs, DELAY_FIR_RESAMPL_NS ), st->mem_decim16k_fx, 2 * NS2SA_FX2( input_Fs, DELAY_FIR_RESAMPL_NS ) ); /* st->q_inp */ size_modified = modify_Fs_fx( signal_in_fx - lMemRecalc - length_inp, length_inp, input_Fs, new_inp_16k_fx - lMemRecalc_16k - length_16k, sr_core, st->mem_decim16k_fx, 0, &Q_tmp, &mem_decim16k_size ); /* Q0 */ - scale_sig( new_inp_16k_fx - lMemRecalc_16k - length_16k, size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ + scale_sig( new_inp_16k_fx - lMemRecalc_16k - length_16k, size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ } size_modified = modify_Fs_fx( signal_in_fx - lMemRecalc, input_frame, input_Fs, new_inp_16k_fx - lMemRecalc_16k, sr_core, st->mem_decim16k_fx, 0, &Q_tmp, &mem_decim16k_size ); /* Q0 */ - scale_sig( new_inp_16k_fx - lMemRecalc_16k, size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ + scale_sig( new_inp_16k_fx - lMemRecalc_16k, size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ Copy( st->mem_decim16k_fx, mem_decim16k_dummy_fx, 2 * L_FILT_MAX ); // Scale_sig( st->mem_decim16k_fx, mem_decim16k_size, sub( -1, Q_old_inp_16k ) ); /* Q(-1) */ @@ -862,12 +862,12 @@ void ivas_compute_core_buffers_fx( IF( lMemRecalc > 0 ) { size_modified = modify_Fs_fx( signal_in_fx - lMemRecalc + input_frame, lMemRecalc, input_Fs, new_inp_16k_fx + NS2SA_FX2( sr_core, FRAME_SIZE_NS ) - lMemRecalc_16k, sr_core, mem_decim16k_dummy_fx, 0, &Q_tmp, &mem_decim16k_size ); /* Q0 */ - scale_sig( new_inp_16k_fx + NS2SA_FX2( sr_core, FRAME_SIZE_NS ) - lMemRecalc_16k, size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ + scale_sig( new_inp_16k_fx + NS2SA_FX2( sr_core, FRAME_SIZE_NS ) - lMemRecalc_16k, size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ } set16_fx( temp1F_icatdmResampBuf_fx, 0, L_FILT_MAX ); size_modified = modify_Fs_fx( temp1F_icatdmResampBuf_fx, NS2SA_FX2( input_Fs, DELAY_FIR_RESAMPL_NS ), input_Fs, new_inp_16k_fx + NS2SA_FX2( sr_core, FRAME_SIZE_NS ), sr_core, mem_decim16k_dummy_fx, 0, &Q_tmp, &mem_decim16k_size ); /* Q0 */ - scale_sig( new_inp_16k_fx + NS2SA_FX2( sr_core, FRAME_SIZE_NS ), size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ + scale_sig( new_inp_16k_fx + NS2SA_FX2( sr_core, FRAME_SIZE_NS ), size_modified, negate( Q_tmp ) ); /* scaling back to Q_old_inp_16k */ } } ELSE IF( st->idchan == 0 ) @@ -1009,7 +1009,7 @@ void ivas_compute_core_buffers_fx( st->mem_preemph16k_fx = shl( st->mem_preemph16k_DFT_fx, sub( Q_old_inp_16k, -1 ) ); move16(); Copy_Scale_sig( st->inp_16k_mem_stereo_sw_fx, new_inp_16k_fx - L_MEM_RECALC_16K - ( STEREO_DFT_OVL_16k - L_MEM_RECALC_16K - L_FILT16k ), STEREO_DFT_OVL_16k - L_MEM_RECALC_16K - L_FILT16k, sub( Q_old_inp_16k, -1 ) ); /* Q(-1) */ - preemph_copy_32fx2( new_inp_16k_fx - L_MEM_RECALC_16K - ( STEREO_DFT_OVL_16k - L_MEM_RECALC_16K - L_FILT16k ), sig_out, PREEMPH_FAC_16k, STEREO_DFT_OVL_16k - L_MEM_RECALC_16K - L_FILT16k, &st->mem_preemph16k_fx ); /* Q(-1) */ + preemph_copy_32fx2( new_inp_16k_fx - L_MEM_RECALC_16K - ( STEREO_DFT_OVL_16k - L_MEM_RECALC_16K - L_FILT16k ), sig_out, PREEMPH_FAC_16k, STEREO_DFT_OVL_16k - L_MEM_RECALC_16K - L_FILT16k, &st->mem_preemph16k_fx ); /* Q(-1) */ preemp_start_idx = new_inp_16k_fx - L_MEM_RECALC_16K - ( STEREO_DFT_OVL_16k - L_MEM_RECALC_16K - L_FILT16k ); move16(); preemp_len = STEREO_DFT_OVL_16k - L_MEM_RECALC_16K - L_FILT16k; diff --git a/lib_enc/ivas_cpe_enc_fx.c b/lib_enc/ivas_cpe_enc_fx.c index c0a97f1e8..b4b850535 100644 --- a/lib_enc/ivas_cpe_enc_fx.c +++ b/lib_enc/ivas_cpe_enc_fx.c @@ -174,7 +174,6 @@ ivas_error ivas_cpe_enc_fx( } sts[n]->rate_switching_reset = 0; move16(); - } Word16 norm, Q_min = s_min( q_data_fx, add( sts[0]->q_old_inp32, L_norm_arr( sts[0]->input32_fx - input_frame, input_frame ) ) ); @@ -710,7 +709,6 @@ ivas_error ivas_cpe_enc_fx( sts[1]->exp_old_inp_12k8 = Q15; move16(); } - } stereo_td_itd_mdct_stereo_fx( hCPE, vad_flag_dtx, vad_hover_flag, input_frame ); diff --git a/lib_enc/ivas_decision_matrix_enc_fx.c b/lib_enc/ivas_decision_matrix_enc_fx.c index 6462b5b6f..638275b53 100644 --- a/lib_enc/ivas_decision_matrix_enc_fx.c +++ b/lib_enc/ivas_decision_matrix_enc_fx.c @@ -279,7 +279,6 @@ void ivas_decision_matrix_enc_fx( } } } - } /* SWB and FB */ diff --git a/lib_enc/ivas_enc_fx.c b/lib_enc/ivas_enc_fx.c index c7ee70776..5172b3e3a 100644 --- a/lib_enc/ivas_enc_fx.c +++ b/lib_enc/ivas_enc_fx.c @@ -393,8 +393,7 @@ ivas_error ivas_enc_fx( } /* Configuration of combined-format bit-budget distribution */ - ivas_set_surplus_brate_enc( st_ivas - ); + ivas_set_surplus_brate_enc( st_ivas ); /* Encode MASA transport channels */ IF( ( ivas_cpe_enc_fx( st_ivas, 0, data_fx[n], data_fx[n + 1], st_ivas->q_data_fx, input_frame, nb_bits_metadata[0], NULL ) ) != IVAS_ERR_OK ) diff --git a/lib_enc/ivas_mdct_core_enc_fx.c b/lib_enc/ivas_mdct_core_enc_fx.c index 43f670878..3f5099229 100644 --- a/lib_enc/ivas_mdct_core_enc_fx.c +++ b/lib_enc/ivas_mdct_core_enc_fx.c @@ -1135,9 +1135,9 @@ static void compute_power_spec( *-------------------------------------------------------------------*/ void ivas_mdct_core_whitening_enc_fx( - CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ - Word16 new_samples_fx[CPE_CHANNELS][L_INP], /* i : new samples Q_new[]-1*/ - Word16 *Q_new, /* i : new samples q */ + CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ + Word16 new_samples_fx[CPE_CHANNELS][L_INP], /* i : new samples Q_new[]-1*/ + Word16 *Q_new, /* i : new samples q */ Word16 old_wsp_fx[CPE_CHANNELS][L_WSP], /* i : 12.8kHz weighted speech (for LTP Qx*/ Word16 pitch_buf_fx[CPE_CHANNELS][NB_SUBFR16k], /* o : floating pitch for each subframe Q6*/ Word32 *mdst_spectrum_long_fx[CPE_CHANNELS], /* o : buffer for MDST spectrum mdst_spectrum_e*/ diff --git a/lib_enc/ivas_stat_enc.h b/lib_enc/ivas_stat_enc.h index 4682f8b74..09b0f13ad 100644 --- a/lib_enc/ivas_stat_enc.h +++ b/lib_enc/ivas_stat_enc.h @@ -293,8 +293,8 @@ typedef struct stereo_mdct_enc_data_structure /* only intraframe */ Word16 mdct_stereo_mode[2]; /* mdct stereo mode: LR, MS, band-wise MS */ - Word16 global_ild[2]; /* Quantized ILD for the whole spectrum */ - Word16 split_ratio; /* Ratio of bitrate (1 to 7), split_ratio = 8 * 1st chn bitrate / (1st + 2nd chn bitrate) */ + Word16 global_ild[2]; /* Quantized ILD for the whole spectrum */ + Word16 split_ratio; /* Ratio of bitrate (1 to 7), split_ratio = 8 * 1st chn bitrate / (1st + 2nd chn bitrate) */ Word16 IGFStereoMode[2]; /* MDCT stereo mode for IGF */ diff --git a/lib_enc/ivas_stereo_dft_enc_fx.c b/lib_enc/ivas_stereo_dft_enc_fx.c index eeaff314b..80dcd1382 100644 --- a/lib_enc/ivas_stereo_dft_enc_fx.c +++ b/lib_enc/ivas_stereo_dft_enc_fx.c @@ -1100,8 +1100,8 @@ void stereo_dft_enc_analyze_fx( Word32 stereo_dft_enc_synthesize_fx( STEREO_DFT_ENC_DATA_HANDLE hStereoDft, /* i/o: encoder stereo handle */ - Word32 *output_fx, /* i/o : output synthesis q_output */ - Word16 *q_output, /* i/o : output synthesis Q */ + Word32 *output_fx, /* i/o : output synthesis q_output */ + Word16 *q_output, /* i/o : output synthesis Q */ Word16 *output_start_index, Word16 *output_end_index, const Word16 chan, /* i : channel number */ diff --git a/lib_enc/ivas_stereo_icbwe_enc_fx.c b/lib_enc/ivas_stereo_icbwe_enc_fx.c index fd674aa8e..8cdb45731 100644 --- a/lib_enc/ivas_stereo_icbwe_enc_fx.c +++ b/lib_enc/ivas_stereo_icbwe_enc_fx.c @@ -584,12 +584,12 @@ static void icbwe_dft_stereo_param_fx( *-------------------------------------------------------------------*/ void stereo_icBWE_enc_fx( - CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ + CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ const Word16 shb_speech_ref_fx16[], /* i : SHB speech ref channel shb_speech_ref_q*/ const Word16 shb_speech_ref_q, /* i : SHB speech ref channel Q */ - Word16 shb_speech_nonref_fx_16[], /* i/o: SHB speech non-ref channel shb_speech_nonref_e*/ - Word16 shb_speech_nonref_e, /* i/o: SHB speech non-ref channel */ - const Word16 *voice_factors_fx16 /* i : voicing factors Q15 */ + Word16 shb_speech_nonref_fx_16[], /* i/o: SHB speech non-ref channel shb_speech_nonref_e*/ + Word16 shb_speech_nonref_e, /* i/o: SHB speech non-ref channel */ + const Word16 *voice_factors_fx16 /* i : voicing factors Q15 */ ) { Word16 i, j, k, nbSubFr; diff --git a/lib_enc/ivas_stereo_mdct_core_enc_fx.c b/lib_enc/ivas_stereo_mdct_core_enc_fx.c index ef783e420..9018f34d0 100644 --- a/lib_enc/ivas_stereo_mdct_core_enc_fx.c +++ b/lib_enc/ivas_stereo_mdct_core_enc_fx.c @@ -100,7 +100,7 @@ static void sync_tcx_mode_fx( *-------------------------------------------------------------------*/ void stereo_mdct_core_enc_fx( - CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ + CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ Word16 new_samples[CPE_CHANNELS][L_INP], /* i : new samples Q_new[]-1*/ Word16 *Q_new, Word16 old_wsp[CPE_CHANNELS][L_WSP], /* i : 12.8kHz weighted speech (for LTP Qx*/ diff --git a/lib_enc/ivas_stereo_td_enc_fx.c b/lib_enc/ivas_stereo_td_enc_fx.c index 76123e758..d914ee7e6 100644 --- a/lib_enc/ivas_stereo_td_enc_fx.c +++ b/lib_enc/ivas_stereo_td_enc_fx.c @@ -217,7 +217,6 @@ ivas_error stereo_set_tdm_fx( } - /* normal TD / LRTD switching */ IF( EQ_16( hCPE->hStereoTD->tdm_LRTD_flag, 0 ) ) { diff --git a/lib_enc/ivas_tcx_core_enc_fx.c b/lib_enc/ivas_tcx_core_enc_fx.c index 963bcb05d..c7f1008c6 100644 --- a/lib_enc/ivas_tcx_core_enc_fx.c +++ b/lib_enc/ivas_tcx_core_enc_fx.c @@ -123,16 +123,16 @@ void stereo_tcx_init_enc_fx( *-------------------------------------------------------------------*/ void stereo_tcx_core_enc( - Encoder_State *st, /* i/o: encoder state structure */ - Word16 new_samples_12k8[], /* i : buffer of input signal @12.8 kHz Q_new -1 */ - Word16 new_samples_16k[], /* i : buffer of input signal @16 kHz Q_new -1 */ + Encoder_State *st, /* i/o: encoder state structure */ + Word16 new_samples_12k8[], /* i : buffer of input signal @12.8 kHz Q_new -1 */ + Word16 new_samples_16k[], /* i : buffer of input signal @16 kHz Q_new -1 */ const Word16 Aw_fx[], /* i : weighted A(z) unquant. for subframes, Q12 */ Word16 lsp_new_fx[], /* i : LSPs at the end of the frame, Q15 */ Word16 lsp_mid_fx[], /* i : LSPs in the middle of the frame, Q15 */ Word16 pitch_buf_fx[NB_SUBFR16k], /* o : pitch for each subframe, Q6 */ const Word16 last_element_mode, /* i : last element mode, Q0 */ const Word16 vad_hover_flag, /* i : VAD hangover flag, Q0 */ - const Word16 Q_new_orig /* i : Scaling factor of new_samples_xx[] */ + const Word16 Q_new_orig /* i : Scaling factor of new_samples_xx[] */ ) { TCX_ENC_HANDLE hTcxEnc; @@ -767,8 +767,8 @@ Word16 ivas_acelp_tcx20_switching_fx( Encoder_State *st, /* i/o: encoder state structure */ Word16 *inp_fx, Word16 q_inp, - Word16 *wsp, /* q_wsp i : input weighted signal */ - Word16 q_wsp, /* i : Q of input weighted signal */ + Word16 *wsp, /* q_wsp i : input weighted signal */ + Word16 q_wsp, /* i : Q of input weighted signal */ Word32 non_staX, /*Q20 i : unbound non-stationarity for sp/mu clas*/ Word16 *pitch_fr, /*Q6 i : fraction pitch values */ Word16 *voicing_fr, /*Q15 i : fractional voicing values */ diff --git a/lib_enc/pre_proc_fx.c b/lib_enc/pre_proc_fx.c index 4ceaf0d29..086cad225 100644 --- a/lib_enc/pre_proc_fx.c +++ b/lib_enc/pre_proc_fx.c @@ -22,15 +22,15 @@ *--------------------------------------------------------------------*/ void pre_proc_fx( - Encoder_State *st, /* i/o: encoder state structure */ - const Word16 input_frame, /* i : frame length */ - Word16 old_inp_12k8[], /* i/o: buffer of old input signal */ - Word16 old_inp_16k[], /* i/o: buffer of old input signal @ 16kHz */ - Word16 **inp, /* o : ptr. to inp. signal in the current frame */ - Word32 fr_bands[2 * NB_BANDS], /* o : energy in frequency bands */ - Word16 *Etot, /* o : total energy */ - Word32 *ener, /* o : residual energy from Levinson-Durbin */ - Word16 pitch_orig[3], /* o : open-loop pitch values for quantization */ + Encoder_State *st, /* i/o: encoder state structure */ + const Word16 input_frame, /* i : frame length */ + Word16 old_inp_12k8[], /* i/o: buffer of old input signal */ + Word16 old_inp_16k[], /* i/o: buffer of old input signal @ 16kHz */ + Word16 **inp, /* o : ptr. to inp. signal in the current frame */ + Word32 fr_bands[2 * NB_BANDS], /* o : energy in frequency bands */ + Word16 *Etot, /* o : total energy */ + Word32 *ener, /* o : residual energy from Levinson-Durbin */ + Word16 pitch_orig[3], /* o : open-loop pitch values for quantization */ Word16 A[NB_SUBFR16k * ( M + 1 )], /* o : A(z) unquantized for the 4 subframes */ Word16 Aw[NB_SUBFR16k * ( M + 1 )], /* o : weighted A(z) unquantized for subframes */ Word32 epsP[M + 1], /* o : LP prediction errors */ diff --git a/lib_enc/prot_fx_enc.h b/lib_enc/prot_fx_enc.h index 08db816d2..6bd33585f 100644 --- a/lib_enc/prot_fx_enc.h +++ b/lib_enc/prot_fx_enc.h @@ -191,8 +191,8 @@ void fine_gain_quant_fx( ); void hq_core_enc_fx( - Encoder_State *st_fx, /* i/o: encoder state structure */ - Word16 *audio, /* i : i audio signal Q0*/ + Encoder_State *st_fx, /* i/o: encoder state structure */ + Word16 *audio, /* i : i audio signal Q0*/ const Word16 input_frame_orig, /* i : frame length Q0*/ const Word16 hq_core_type, /* i : HQ core type Q0*/ const Word16 Voicing_flag, /* i : Voicing flag for FER method selection Q0*/ @@ -503,17 +503,17 @@ void swb_bwe_enc_fx( Word16 Q_slb_speech ); void swb_CNG_enc_fx( - Encoder_State *st_fx, /* i/o: State structure */ - const Word16 *shb_speech_fx, /* i : SHB target signal (6-14kHz) at 16kHz */ - const Word16 shb_speech_q, /* i : SHB target signal Q (6-14kHz) at 16kHz */ + Encoder_State *st_fx, /* i/o: State structure */ + const Word16 *shb_speech_fx, /* i : SHB target signal (6-14kHz) at 16kHz */ + const Word16 shb_speech_q, /* i : SHB target signal Q (6-14kHz) at 16kHz */ const Word16 *syn_12k8_16k_fx /* i : ACELP core synthesis at 12.8kHz or 16kHz */ ); void swb_pre_proc_fx( - Encoder_State *st, /* i/o: encoder state structure */ - Word16 *new_swb_speech, /* o : original input signal at 32kHz - st->q_inp */ - Word16 *shb_speech, /* o : SHB target signal (6-14kHz) at 16kHz - shb_speech_q */ - Word16 *shb_speech_q, /* o : SHB target signal (6-14kHz) at 16kHz - Q */ + Encoder_State *st, /* i/o: encoder state structure */ + Word16 *new_swb_speech, /* o : original input signal at 32kHz - st->q_inp */ + Word16 *shb_speech, /* o : SHB target signal (6-14kHz) at 16kHz - shb_speech_q */ + Word16 *shb_speech_q, /* o : SHB target signal (6-14kHz) at 16kHz - Q */ Word32 realBuffer[CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i : real buffer Q - q_reImbuffer */ Word32 imagBuffer[CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i : imag buffer Q - q_reImbuffer */ Word16 q_reImBuffer, /* i : scale data of real and imag CLDFB buffers*/ @@ -580,23 +580,23 @@ void vad_param_updt_fx( ); void wb_bwe_enc_fx( - Encoder_State *st_fx, /* i/o: encoder state structure */ + Encoder_State *st_fx, /* i/o: encoder state structure */ const Word16 *new_wb_speech_fx, /* i : original i signal at 16kHz */ const Word16 new_wb_speech_q /* i : Q of new_wb_speech_fx */ ); void wb_pre_proc_fx( - Encoder_State *st_fx, /* i/o: encoder state structure */ - const Word16 last_element_mode, /* i : last element mode */ + Encoder_State *st_fx, /* i/o: encoder state structure */ + const Word16 last_element_mode, /* i : last element mode */ const Word16 *new_inp_resamp16k, /* i : original input signal in new_inp_resamp16k_q */ Word16 *hb_speech, /* o : HB target signal (6-8kHz) at 16kHz in Q-1 */ const Word16 new_inp_resamp16k_q /* i : Q of new_inp_resamp16k */ ); void wb_tbe_enc_fx( - Encoder_State *st_fx, /* i/o: encoder state structure */ - const Word16 *hb_speech, /* i : HB target signal (6-8kHz) at 16kHz q_hb_speech */ - const Word16 q_hb_speech, /* i : Q of HB target signal (6-8kHz) at 16kHz Q0 */ + Encoder_State *st_fx, /* i/o: encoder state structure */ + const Word16 *hb_speech, /* i : HB target signal (6-8kHz) at 16kHz q_hb_speech */ + const Word16 q_hb_speech, /* i : Q of HB target signal (6-8kHz) at 16kHz Q0 */ const Word32 *bwe_exc_extended, /* i : bandwidth extended exciatation Q(2*Q_new) */ const Word16 Q_new, /* i : input HB speech Q factor */ const Word16 voice_factors[], /* i : voicing factors Q15 */ @@ -1033,7 +1033,6 @@ Word16 SQ_gain_estimate_fx( ); - Word16 tcx_scalar_quantization_rateloop_fx( Word32 *x, /* i : input coefficients Q = 31 - x_e*/ Word16 x_e, /* i : exponent Q0*/ @@ -1352,7 +1351,6 @@ void encode_acelp_gains_fx( ); - void ari_copy_states_fx( Tastat *source, Tastat *dest ); @@ -1706,7 +1704,6 @@ Word16 ari_encode_14bits_range_fx( ); - Word16 ari_done_cbr_encoding_14bits_fx( Word16 *ptr, /* Q0 */ Word16 bp, /* Q0 */ @@ -1904,9 +1901,9 @@ void core_signal_analysis_high_bitrate_fx( void core_signal_analysis_high_bitrate_ivas_fx( const Word16 *new_samples, /*i : Q_new-1 */ - const Word16 T_op[3], /* i : open-loop pitch values for quantiz. Q0*/ - Word16 lsp_new[], /* Q15 */ - Word16 lsp_mid[], /* Q15 */ + const Word16 T_op[3], /* i : open-loop pitch values for quantiz. Q0*/ + Word16 lsp_new[], /* Q15 */ + Word16 lsp_mid[], /* Q15 */ Encoder_State *st, Word16 pTnsSize[], /* Q0 */ Word16 pTnsBits[], /* Q0 */ @@ -3163,15 +3160,15 @@ Word16 gaus_encode_fx( ); void pre_proc_fx( - Encoder_State *st, /* i/o: encoder state structure */ - const Word16 input_frame, /* i : frame length */ - Word16 old_inp_12k8[], /* i/o: buffer of old i signal */ - Word16 old_inp_16k[], /* i/o: buffer of old i signal @ 16kHz */ - Word16 **inp, /* o : ptr. to inp. signal in the current frame */ - Word32 fr_bands[2 * NB_BANDS], /* o : energy in frequency bands */ - Word16 *Etot, /* o : total energy */ - Word32 *ener, /* o : residual energy from Levinson-Durbin */ - Word16 pitch_orig[3], /* o : open-loop pitch values for quantization */ + Encoder_State *st, /* i/o: encoder state structure */ + const Word16 input_frame, /* i : frame length */ + Word16 old_inp_12k8[], /* i/o: buffer of old i signal */ + Word16 old_inp_16k[], /* i/o: buffer of old i signal @ 16kHz */ + Word16 **inp, /* o : ptr. to inp. signal in the current frame */ + Word32 fr_bands[2 * NB_BANDS], /* o : energy in frequency bands */ + Word16 *Etot, /* o : total energy */ + Word32 *ener, /* o : residual energy from Levinson-Durbin */ + Word16 pitch_orig[3], /* o : open-loop pitch values for quantization */ Word16 A[NB_SUBFR16k * ( M + 1 )], /* o : A(z) unquantized for the 4 subframes */ Word16 Aw[NB_SUBFR16k * ( M + 1 )], /* o : weighted A(z) unquantized for subframes */ Word32 epsP[M + 1], /* o : LP prediction errors */ diff --git a/lib_enc/stat_enc.h b/lib_enc/stat_enc.h index 9c62be4db..20202ab35 100644 --- a/lib_enc/stat_enc.h +++ b/lib_enc/stat_enc.h @@ -928,7 +928,7 @@ typedef struct td_bwe_enc_structure Word32 prev_gainFr_SHB_fx; /* Q18 */ Word16 lsp_shb_slow_interpl_fx[LPC_SHB_ORDER]; /* Q15 */ Word16 lsp_shb_fast_interpl_fx[LPC_SHB_ORDER]; /* Q15 */ - Word16 shb_inv_filt_mem_fx[LPC_SHB_ORDER]; /* Q(shb_inv_filt_mem_q) */ + Word16 shb_inv_filt_mem_fx[LPC_SHB_ORDER]; /* Q(shb_inv_filt_mem_q) */ Word16 shb_inv_filt_mem_q; Word16 lsp_shb_spacing_fx[3]; /* Q15 */ Word16 prev_swb_GainShape_fx; /* Q15 */ @@ -994,7 +994,7 @@ typedef struct fd_bwe_enc_structure Word16 old_input_wb_fx[NS2SA( 16000, DELAY_FD_BWE_ENC_NS )]; /* Q(-1) */ Word16 old_input_lp_fx[NS2SA( 16000, ACELP_LOOK_NS + DELAY_FD_BWE_ENC_NS )]; // st->hBWE_FD->prev_Q_input_lp Word16 old_syn_12k8_16k_fx[NS2SA( 16000, DELAY_FD_BWE_ENC_NS )]; // st->Q_syn - Word16 old_fdbwe_speech_fx[L_FRAME48k]; // Q(old_fdbwe_speech_q) for IVAS, Q(-1) for EVS. + Word16 old_fdbwe_speech_fx[L_FRAME48k]; // Q(old_fdbwe_speech_q) for IVAS, Q(-1) for EVS. Word16 old_fdbwe_speech_q; Word16 mem_deemph_old_syn_fx; Word16 q_mem_deemph_old_syn; @@ -1205,7 +1205,7 @@ typedef struct enc_core_structure * Common parameters *----------------------------------------------------------------------------------*/ - Word16 idchan; /* channel ID (audio channel number) */ + Word16 idchan; /* channel ID (audio channel number) */ Word16 element_mode; /* element mode */ Word32 element_brate; /* element bitrate */ Word16 codec_mode; /* Mode1 or Mode2 */ @@ -1249,7 +1249,7 @@ typedef struct enc_core_structure Word16 last_Opt_SC_VBR; /* flag indicating prev frame's SC-VBR mode */ Word16 low_rate_mode; /* low-rate mode flag */ Word16 inactive_coder_type_flag; /* inactive coder type flag (0 = AVQ / 1 = GSC) */ - Word16 ini_frame; /* initialization frames counter */ + Word16 ini_frame; /* initialization frames counter */ /*----------------------------------------------------------------------------------* * ACELP core parameters @@ -1391,8 +1391,8 @@ typedef struct enc_core_structure Word16 mem_decim_fx_q_inp[2 * L_FILT_MAX]; /* decimation filter memory st->q_inp */ Word16 *mem_decim16k_fx; /* ACELP@16kHz - decimation filter memory @16kHz q_mem_decim16k_fx */ Word16 q_mem_decim16k_fx; /* Q of ACELP@16kHz - decimation filter memory @16kHz */ - Word16 *old_inp_12k8_fx; /* memory of input signal at 12.8kHz */ - Word16 *old_inp_16k_fx; /* ACELP@16kHz - memory of input signal @16 kHz */ + Word16 *old_inp_12k8_fx; /* memory of input signal at 12.8kHz */ + Word16 *old_inp_16k_fx; /* ACELP@16kHz - memory of input signal @16 kHz */ Word16 *buf_speech_enc_pe; // exp_buf_speech_enc_pe Word16 *buf_synth; /* can be reduced to PIT_MAX_MAX+L_FRAME_MAX if no rate switching*/ diff --git a/lib_enc/swb_bwe_enc_fx.c b/lib_enc/swb_bwe_enc_fx.c index da8cec5b4..2d27feb27 100644 --- a/lib_enc/swb_bwe_enc_fx.c +++ b/lib_enc/swb_bwe_enc_fx.c @@ -106,7 +106,7 @@ static void delay_input_signal_fx( *-------------------------------------------------------------------*/ void wb_bwe_enc_fx( - Encoder_State *st_fx, /* i/o: encoder state structure */ + Encoder_State *st_fx, /* i/o: encoder state structure */ const Word16 *new_wb_speech_fx, /* i : original input signal at 16kHz */ const Word16 new_wb_speech_q /* i : Q of new_wb_speech_fx */ ) @@ -184,7 +184,7 @@ void swb_bwe_enc_fx( const Word16 *old_syn_12k8_16k_fx, /* i : ACELP core synthesis at 12.8kHz or 16kHz */ const Word16 *new_swb_speech_fx, /* i : original input signal at 32kHz */ const Word16 Q_new_swb_speech, /* i : Q for new_swb_speech_fx */ - Word16 *shb_speech_fx_input, /* i : SHB target signal (6-14kHz) at 16kHz Q_shb_speech */ + Word16 *shb_speech_fx_input, /* i : SHB target signal (6-14kHz) at 16kHz Q_shb_speech */ Word16 Q_shb_speech, Word16 Q_slb_speech ) { @@ -1997,7 +1997,7 @@ static Word16 WB_BWE_encoding_fx( tmp = Log2_norm_lc( L_shl( L_tmp, exp ) ); /* exp = 30-exp-(2*Q_synth-2 / exp = 30-exp-(q_WB_fenv[i]+4) */ exp = sub( sub( 30, exp ), Q_fenv[i] ); - L_tmp = Mpy_32_16( exp, tmp, 32767 ); /* Q16 */ + L_tmp = Mpy_32_16( exp, tmp, 32767 ); /* Q16 */ WB_fenv_fx[i] = round_fx( L_shl_sat( L_tmp, 10 ) ); /* Q10 */ move16(); } @@ -2568,7 +2568,7 @@ static Word16 SWB_BWE_encoding_fx( { expn = sub( 30, add( expn, q_SWB_fenv[n_band] ) ); } - L_tmp = Mpy_32_16( expn, tmp, 24660 ); /* Q14 */ /*10log10(2) in Q13 */ + L_tmp = Mpy_32_16( expn, tmp, 24660 ); /* Q14 */ /*10log10(2) in Q13 */ SWB_fenv_fx[n_band] = round_fx( L_shl_sat( L_tmp, 10 ) ); /* Q8 */ move16(); } diff --git a/lib_enc/swb_pre_proc_fx.c b/lib_enc/swb_pre_proc_fx.c index 497cfb0bb..1e9b0bb6e 100644 --- a/lib_enc/swb_pre_proc_fx.c +++ b/lib_enc/swb_pre_proc_fx.c @@ -38,8 +38,8 @@ /*========================================================================*/ void wb_pre_proc_fx( - Encoder_State *st_fx, /* i/o: encoder state structure */ - const Word16 last_element_mode, /* i : last element mode */ + Encoder_State *st_fx, /* i/o: encoder state structure */ + const Word16 last_element_mode, /* i : last element mode */ const Word16 *new_inp_resamp16k, /* i : original input signal in new_inp_resamp16k_q */ Word16 *hb_speech, /* o : HB target signal (6-8kHz) at 16kHz in new_inp_resamp16k_q */ const Word16 new_inp_resamp16k_q /* i : Q of new_inp_resamp16k */ @@ -388,10 +388,10 @@ void wb_pre_proc_fx( /*========================================================================*/ void swb_pre_proc_fx( - Encoder_State *st, /* i/o: encoder state structure */ - Word16 *new_swb_speech, /* o : original input signal at 32kHz - st->q_inp */ - Word16 *shb_speech, /* o : SHB target signal (6-14kHz) at 16kHz - shb_speech_q */ - Word16 *shb_speech_q, /* o : SHB target signal (6-14kHz) at 16kHz - Q */ + Encoder_State *st, /* i/o: encoder state structure */ + Word16 *new_swb_speech, /* o : original input signal at 32kHz - st->q_inp */ + Word16 *shb_speech, /* o : SHB target signal (6-14kHz) at 16kHz - shb_speech_q */ + Word16 *shb_speech_q, /* o : SHB target signal (6-14kHz) at 16kHz - Q */ Word32 realBuffer[CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i : real buffer Q - q_reImbuffer */ Word32 imagBuffer[CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i : imag buffer Q - q_reImbuffer */ Word16 q_reImBuffer, /* i : scale data of real and imag CLDFB buffers */ diff --git a/lib_enc/swb_tbe_enc_fx.c b/lib_enc/swb_tbe_enc_fx.c index 9f8d0516e..e1192057d 100644 --- a/lib_enc/swb_tbe_enc_fx.c +++ b/lib_enc/swb_tbe_enc_fx.c @@ -567,9 +567,9 @@ void ResetSHBbuffer_Enc_fx( #define WBTBE_LPCWIN_LENGTH ( L_LOOK_12k8 + L_SUBFR + L_FRAME ) * 5 / 16 - 1 void wb_tbe_enc_fx( - Encoder_State *st_fx, /* i/o: encoder state structure */ - const Word16 *hb_speech, /* i : HB target signal (6-8kHz) at 16kHz q_hb_speech */ - const Word16 q_hb_speech, /* i : Q of HB target signal (6-8kHz) at 16kHz Q0 */ + Encoder_State *st_fx, /* i/o: encoder state structure */ + const Word16 *hb_speech, /* i : HB target signal (6-8kHz) at 16kHz q_hb_speech */ + const Word16 q_hb_speech, /* i : Q of HB target signal (6-8kHz) at 16kHz Q0 */ const Word32 *bwe_exc_extended, /* i : bandwidth extended exciatation Q(2*Q_new) */ const Word16 Q_new, /* i : input HB speech Q factor */ const Word16 voice_factors[], /* i : voicing factors Q15 */ @@ -1369,15 +1369,15 @@ void fb_tbe_reset_enc_fx( void swb_tbe_enc_fx( Encoder_State *st_fx, /* i/o: encoder state structure */ STEREO_ICBWE_ENC_HANDLE hStereoICBWE, /* i/o: IC-BWE state structure */ - Word16 *shb_speech_fx, /* i : SHB target signal (6-14kHz) at 16kHz Q_shb */ - Word32 *bwe_exc_extended, /* i : bandwidth extended exciatation 2 * Q_new */ - const Word16 voice_factors_fx[], /* i : voicing factors Q15 */ - Word16 *White_exc16k_fx, /* o : shaped white excitation for the FB TBE Q_white_exc */ - Word16 *Q_white_exc, /* o : generated white noise for FB Q factor */ - Word16 Q_new, /* i : Q_new */ - Word16 Q_shb, /* i : SHB target Q factor */ - Word16 *voicing, /* i : OL maximum normalized correlation */ - const Word16 pitch_buf[] /* i : subframe pitch Q6 */ + Word16 *shb_speech_fx, /* i : SHB target signal (6-14kHz) at 16kHz Q_shb */ + Word32 *bwe_exc_extended, /* i : bandwidth extended exciatation 2 * Q_new */ + const Word16 voice_factors_fx[], /* i : voicing factors Q15 */ + Word16 *White_exc16k_fx, /* o : shaped white excitation for the FB TBE Q_white_exc */ + Word16 *Q_white_exc, /* o : generated white noise for FB Q factor */ + Word16 Q_new, /* i : Q_new */ + Word16 Q_shb, /* i : SHB target Q factor */ + Word16 *voicing, /* i : OL maximum normalized correlation */ + const Word16 pitch_buf[] /* i : subframe pitch Q6 */ ) { diff --git a/lib_isar/isar_rom_lcld_tables.c b/lib_isar/isar_rom_lcld_tables.c index 186a2e087..05b0ef998 100644 --- a/lib_isar/isar_rom_lcld_tables.c +++ b/lib_isar/isar_rom_lcld_tables.c @@ -19802,4 +19802,3 @@ const Word32 c_pfP2RImagLUT[32] = /* Q31 */ { 2147483647, 2106220288, 1984016128, 1785567232, 1518500224, 1193077888, 821806080, 418953248 }; - diff --git a/lib_isar/isar_splitRendererPost.c b/lib_isar/isar_splitRendererPost.c index 0b2a0f10e..e92571893 100644 --- a/lib_isar/isar_splitRendererPost.c +++ b/lib_isar/isar_splitRendererPost.c @@ -567,8 +567,7 @@ static void ivas_splitBinPostRendMdHuffDec( void isar_splitBinPostRendMdDec_fx( ISAR_SPLIT_REND_BITS_HANDLE pBits, ISAR_BIN_HR_SPLIT_POST_REND_HANDLE hBinHrSplitPostRend, - MULTI_BIN_REND_POSE_DATA *pMultiBinPoseData -) + MULTI_BIN_REND_POSE_DATA *pMultiBinPoseData ) { Word16 pos_idx, b, sf_idx, num_subframes, ch1; Word16 pred_real_bands_yaw[ISAR_SPLIT_REND_NUM_QUANT_STRATS], pred_real_bands_roll[ISAR_SPLIT_REND_NUM_QUANT_STRATS]; diff --git a/lib_isar/isar_splitRendererPre.c b/lib_isar/isar_splitRendererPre.c index f44d72241..204458621 100644 --- a/lib_isar/isar_splitRendererPre.c +++ b/lib_isar/isar_splitRendererPre.c @@ -2283,8 +2283,7 @@ void isar_rend_CldfbSplitPreRendProcess( ivas_error isar_splitBinPreRendOpen( ISAR_BIN_HR_SPLIT_PRE_REND_HANDLE *hBinHrSplitPreRend, - MULTI_BIN_REND_POSE_DATA *pMultiBinPoseData -) + MULTI_BIN_REND_POSE_DATA *pMultiBinPoseData ) { ISAR_BIN_HR_SPLIT_PRE_REND_HANDLE hBinRend; Word16 pos_idx, sf_idx, bandIdx; diff --git a/lib_isar/isar_splitRenderer_utils.c b/lib_isar/isar_splitRenderer_utils.c index 960a41df8..68ccce36c 100644 --- a/lib_isar/isar_splitRenderer_utils.c +++ b/lib_isar/isar_splitRenderer_utils.c @@ -540,8 +540,6 @@ void ISAR_SPLIT_REND_BITStream_write_int32( } - - /*------------------------------------------------------------------------- * Function isar_get_split_rend_md_target_brate() * diff --git a/lib_isar/lib_isar_post_rend.c b/lib_isar/lib_isar_post_rend.c index 5fb353284..87d55d138 100644 --- a/lib_isar/lib_isar_post_rend.c +++ b/lib_isar/lib_isar_post_rend.c @@ -1696,7 +1696,7 @@ ivas_error ISAR_POST_REND_getSamples( } Word32 limiter_threshold; - limiter_threshold = L_shl( IVAS_LIMITER_THRESHOLD, *outAudio.pq_fact ); + limiter_threshold = L_shl( IVAS_LIMITER_THRESHOLD, *outAudio.pq_fact ); limitRendererOutput_fx( hIvasRend->hLimiter, outAudio.data_fx, outAudio.config.numSamplesPerChannel, limiter_threshold, *outAudio.pq_fact ); return IVAS_ERR_OK; @@ -1789,4 +1789,3 @@ ivas_error ISAR_REND_SetSplitRendBitstreamHeader( return IVAS_ERR_OK; } - diff --git a/lib_isar/lib_isar_pre_rend.c b/lib_isar/lib_isar_pre_rend.c index 787d5fcdb..38f4ddc2b 100644 --- a/lib_isar/lib_isar_pre_rend.c +++ b/lib_isar/lib_isar_pre_rend.c @@ -105,8 +105,7 @@ ivas_error ISAR_PRE_REND_open( IF( EQ_16( pSplitRendConfig->poseCorrectionMode, ISAR_SPLIT_REND_POSE_CORRECTION_MODE_CLDFB ) ) { - if ( ( error = isar_splitBinPreRendOpen( &hSplitRendWrapper->hBinHrSplitPreRend, &hSplitRendWrapper->multiBinPoseData - ) ) != IVAS_ERR_OK ) + if ( ( error = isar_splitBinPreRendOpen( &hSplitRendWrapper->hBinHrSplitPreRend, &hSplitRendWrapper->multiBinPoseData ) ) != IVAS_ERR_OK ) { return error; } diff --git a/lib_rend/ivas_efap_fx.c b/lib_rend/ivas_efap_fx.c index 7e019e4a8..e25807f9c 100644 --- a/lib_rend/ivas_efap_fx.c +++ b/lib_rend/ivas_efap_fx.c @@ -21,14 +21,14 @@ #define EFAP_MAX_GHOST_LS 5 /* Maximum number of ghost Loudspeakers, for memory allocation purpose */ #define POLY_THRESH_Q29 53687LL // Q29 #define POLY_THRESH_Q28 26843 // Q28 -#define Q22_1 4194304 -#define Q22_45_DEG 188743680 -#define Q22_90_DEG 377487360 -#define Q22_180_DEG 754974720 -#define Q22_360_DEG 1509949440 -#define Q22_120_DEG 503316480 -#define MAX_AZI_GAP 13421773 /* (1.f / 160.0f) in Q31 */ -#define Q22_240_DEG 1006632960 +#define Q22_1 4194304 +#define Q22_45_DEG 188743680 +#define Q22_90_DEG 377487360 +#define Q22_180_DEG 754974720 +#define Q22_360_DEG 1509949440 +#define Q22_120_DEG 503316480 +#define MAX_AZI_GAP 13421773 /* (1.f / 160.0f) in Q31 */ +#define Q22_240_DEG 1006632960 /*-----------------------------------------------------------------------* * Local function prototypes diff --git a/lib_rend/ivas_objectRenderer_mix_fx.c b/lib_rend/ivas_objectRenderer_mix_fx.c index d3545941d..dd537c06b 100644 --- a/lib_rend/ivas_objectRenderer_mix_fx.c +++ b/lib_rend/ivas_objectRenderer_mix_fx.c @@ -27,8 +27,8 @@ static ivas_error DefaultBSplineModel_fx( TDREND_HRFILT_FiltSet_t *HrFiltSet_p, void TDREND_MIX_LIST_SetPos_fx( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ - const Word32 *Pos_p, /* i : Listener's position */ - const Word16 Pos_q /* i : Listener's position Q */ + const Word32 *Pos_p, /* i : Listener's position */ + const Word16 Pos_q /* i : Listener's position Q */ ) { TDREND_MIX_Listener_t *Listener_p; diff --git a/lib_rend/lib_rend_fx.c b/lib_rend/lib_rend_fx.c index da1eeac5e..6b8b7f7ec 100644 --- a/lib_rend/lib_rend_fx.c +++ b/lib_rend/lib_rend_fx.c @@ -9984,7 +9984,7 @@ ivas_error IVAS_REND_GetSplitBinauralBitstream( IF( EQ_16( outAudio.config.is_cldfb, 0 ) ) { Word32 limiter_threshold = L_lshl( IVAS_LIMITER_THRESHOLD, *outAudio.pq_fact ); - limitRendererOutput_fx( hIvasRend->hLimiter, outAudio.data_fx, outAudio.config.numSamplesPerChannel, limiter_threshold, *outAudio.pq_fact ); + limitRendererOutput_fx( hIvasRend->hLimiter, outAudio.data_fx, outAudio.config.numSamplesPerChannel, limiter_threshold, *outAudio.pq_fact ); } /* update global cominbed orientation start index */ diff --git a/lib_util/ivas_rtp_api.h b/lib_util/ivas_rtp_api.h index b0bea2f98..9d89b5fa7 100644 --- a/lib_util/ivas_rtp_api.h +++ b/lib_util/ivas_rtp_api.h @@ -55,8 +55,8 @@ typedef enum { IVAS_RTP_UNDEF = -1, /* undefined = Codec Type not set yet */ - IVAS_RTP_EVS, /* EVS */ - IVAS_RTP_IVAS /* IVAS */ + IVAS_RTP_EVS, /* EVS */ + IVAS_RTP_IVAS /* IVAS */ } IVAS_RTP_CODEC; /* IVAS Bandwidth Requests */ diff --git a/lib_util/render_config_reader.c b/lib_util/render_config_reader.c index 1750d9518..4b8c30fa0 100644 --- a/lib_util/render_config_reader.c +++ b/lib_util/render_config_reader.c @@ -138,7 +138,7 @@ struct RenderConfigReader AcousticEnv *pAE; /* Acoustic environments */ uint32_t nDP; /* Number of directivity patterns */ DirectrivityPat *pDP; /* Directivity Pattern */ - float distAtt[3]; /* [MaxDist Q25, RefDist Q28, Rolloff Q28] */ + float distAtt[3]; /* [MaxDist Q25, RefDist Q28, Rolloff Q28] */ }; -- GitLab From 95618b2525153e8f2b204a98eb1e0422d9104a08 Mon Sep 17 00:00:00 2001 From: Markus Multrus Date: Fri, 1 May 2026 21:56:36 +0200 Subject: [PATCH 3/4] delete BOM --- lib_dec/lib_dec_fx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib_dec/lib_dec_fx.c b/lib_dec/lib_dec_fx.c index 6149a0f26..6bd718252 100644 --- a/lib_dec/lib_dec_fx.c +++ b/lib_dec/lib_dec_fx.c @@ -1,7 +1,7 @@ /*==================================================================================== 3GPP TS26.251 May 01, 2026. IVAS Codec Version IVAS-FX-3.1RC01 ====================================================================================*/ -/****************************************************************************************************** +/****************************************************************************************************** (C) 2022-2026 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., -- GitLab From 198b8c340c9b03aa8f97dd792281b6b856d26d7a Mon Sep 17 00:00:00 2001 From: Markus Multrus Date: Fri, 1 May 2026 22:07:08 +0200 Subject: [PATCH 4/4] formatting --- lib_dec/lib_dec_fx.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib_dec/lib_dec_fx.c b/lib_dec/lib_dec_fx.c index 6bd718252..d70079cd7 100644 --- a/lib_dec/lib_dec_fx.c +++ b/lib_dec/lib_dec_fx.c @@ -55,11 +55,11 @@ #define max( x, y ) ( ( x ) > ( y ) ? ( x ) : ( y ) ) #endif - /*---------------------------------------------------------------------* - * Local structs - *---------------------------------------------------------------------*/ +/*---------------------------------------------------------------------* + * Local structs + *---------------------------------------------------------------------*/ - struct IVAS_DEC_VOIP +struct IVAS_DEC_VOIP { JB4_HANDLE hJBM; UWord16 lastDecodedWasActive; -- GitLab