diff --git a/Workspace_msvc/lib_com.vcxproj b/Workspace_msvc/lib_com.vcxproj
index 8c42f19ca34b36be2b4d276e944b85569539f2fa..5b26a291129f7a52473b5e27eeb62f48de258b78 100644
--- a/Workspace_msvc/lib_com.vcxproj
+++ b/Workspace_msvc/lib_com.vcxproj
@@ -138,7 +138,6 @@
-
@@ -238,7 +237,6 @@
-
@@ -324,7 +322,6 @@
-
diff --git a/Workspace_msvc/lib_com.vcxproj.filters b/Workspace_msvc/lib_com.vcxproj.filters
index 8f2be885325a38db818dd341b5754145dbdc4569..b9769e3ec6a62093e8d490955823c8466cfc7b77 100644
--- a/Workspace_msvc/lib_com.vcxproj.filters
+++ b/Workspace_msvc/lib_com.vcxproj.filters
@@ -304,9 +304,6 @@
common_all_c
-
- common_all_c
-
common_all_c
@@ -412,9 +409,6 @@
common_all_c
-
- common_all_c
-
common_all_c
@@ -588,9 +582,6 @@
common_h
-
- common_h
-
common_h
diff --git a/lib_com/ari_hm_fx.c b/lib_com/ari_hm_fx.c
index 076bc8d9263d1f59c12906bb796fcbd5f245f591..46f8ecea1e78f01164d1acc083f29d3c26b145b6 100644
--- a/lib_com/ari_hm_fx.c
+++ b/lib_com/ari_hm_fx.c
@@ -10,7 +10,6 @@
#include "basop_util.h"
#include "rom_com.h"
#include "prot_fx.h"
-#include "prot.h"
#define GET_ADJ2( T, L, F ) ( ( ( L ) << ( F ) ) - ( T ) )
void UnmapIndex(
diff --git a/lib_com/arith_coder_fx.c b/lib_com/arith_coder_fx.c
index de22a7cf34863a72a79c2ba62661753766146176..846b4dceab0befaa6257563eda540e785fb7c1d9 100644
--- a/lib_com/arith_coder_fx.c
+++ b/lib_com/arith_coder_fx.c
@@ -6,7 +6,6 @@
#include
#include "options.h"
#include "prot_fx.h"
-#include "prot.h"
#include "basop_util.h"
#include "basop_proto_func.h"
#include "cnst.h"
diff --git a/lib_com/basop_tcx_utils.c b/lib_com/basop_tcx_utils.c
index 378faae0f912a9af3b62e846b29ec38b8fbb44d4..8038c4f91e44fa3d4f3be746e03c2e3f1a7816ce 100644
--- a/lib_com/basop_tcx_utils.c
+++ b/lib_com/basop_tcx_utils.c
@@ -40,7 +40,7 @@
#include "cnst.h"
#include "basop_proto_func.h"
#include "stl.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "rom_com.h"
#define WMC_TOOL_SKIP
diff --git a/lib_com/bitalloc_fx.c b/lib_com/bitalloc_fx.c
index 92a8e3928cf25b050ed7cc0a5766181b60f4a66f..30ae2d47b028021152ead282c240af1a18c6f46b 100644
--- a/lib_com/bitalloc_fx.c
+++ b/lib_com/bitalloc_fx.c
@@ -7,7 +7,6 @@
#include "cnst.h" /* Common constants */
#include "rom_com.h" /* Static table prototypes */
#include "prot_fx.h" /* Function prototypes */
-#include "prot.h" /* Function prototypes */
void bitalloc_fx(
Word16 *y, /* i : reordered norm of sub-vectors Q0 */
diff --git a/lib_com/bitstream.c b/lib_com/bitstream.c
index e5754fa3550fc318b4ab703338a30db52018fa1d..9c0a53f8f541644be805662bdde778e026fd1a7c 100644
--- a/lib_com/bitstream.c
+++ b/lib_com/bitstream.c
@@ -38,7 +38,6 @@
#include
#include "options.h"
#include "cnst.h"
-#include "prot.h"
#include "prot_fx.h"
#include "stat_enc.h"
#include "stat_dec.h"
@@ -1884,7 +1883,7 @@ static void decision_matrix_core_dec(
* Set up MDCT core switching if indicated in the bitstream
*-------------------------------------------------------------------*/
-void mdct_switching_dec(
+void mdct_switching_dec_ivas_fx(
Decoder_State *st /* i/o: decoder state structure */
)
{
diff --git a/lib_com/cldfb.c b/lib_com/cldfb.c
index 1907ef327628d6b60c2af3a5443ef37a1db114ba..38195b65d8f360e408176ea694171d21f52fad0d 100644
--- a/lib_com/cldfb.c
+++ b/lib_com/cldfb.c
@@ -39,7 +39,6 @@
#include "options.h"
#include
#include "stat_dec.h"
-#include "prot.h"
#include "prot_fx.h"
#include "rom_com.h"
#include "rom_com_fx.h"
diff --git a/lib_com/cng_exc.c b/lib_com/cng_exc.c
deleted file mode 100644
index 494305e6f6435bf08e82e84ff48aa93390afef7d..0000000000000000000000000000000000000000
--- a/lib_com/cng_exc.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
-
-/*====================================================================================
- EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0
- ====================================================================================*/
-
-#include
-#include "options.h"
-#include
-#include "cnst.h"
-#include "prot.h"
-#include "rom_com.h"
-#include "wmc_auto.h"
-
-/*---------------------------------------------------------------------*
- * Local constants
- *---------------------------------------------------------------------*/
-
-#define A2 0.2f
-#define GAIN_VAR 0.000011f
-
-
-/*-------------------------------------------------------*
- * cng_params_upd()
- *
- * update CNG parameters
- *-------------------------------------------------------*/
diff --git a/lib_com/codec_tcx_common.c b/lib_com/codec_tcx_common.c
index f6da34b5583d96ee20611780db70092f10014bfa..1ebc2829c15493506950bd608ca397162826847c 100644
--- a/lib_com/codec_tcx_common.c
+++ b/lib_com/codec_tcx_common.c
@@ -6,7 +6,6 @@
#include
#include
#include "options.h"
-#include "prot.h"
#include "prot_fx.h"
#include "basop_util.h"
#include "rom_basop_util.h"
diff --git a/lib_com/core_com_config.c b/lib_com/core_com_config.c
index fdf935461115bb4a2fa979677e076a21a9b51eb6..ed72605de96233aa45f2a5460dc6032004e49efa 100644
--- a/lib_com/core_com_config.c
+++ b/lib_com/core_com_config.c
@@ -38,10 +38,9 @@
#include
#include "options.h"
#include "rom_com.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "wmc_auto.h"
#include "ivas_prot.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
#define FSCALE_DENOM_BY_12800_Q15 1311
@@ -551,63 +550,6 @@ int16_t sr2fscale(
return (int16_t) ( ( FSCALE_DENOM * sr_core ) / 12800 );
}
-/*-------------------------------------------------------------------*
- * getCoreSamplerateMode2_flt()
- *
- *
- *-------------------------------------------------------------------*/
-
-int32_t getCoreSamplerateMode2_flt(
- const int16_t element_mode, /* i : IVAS element mode */
- const int32_t total_brate, /* i : total bitrate */
- const int16_t bwidth, /* i : audio bandwidth */
- const int16_t flag_ACELP16k, /* i : ACELP@16kHz flag */
- const int16_t rf_mode, /* i : flag to signal the RF mode */
- const IVAS_FORMAT is_ism_format /* i : flag indicating ISM format */
-)
-{
- int32_t sr_core = 0;
-
- if ( bwidth == NB )
- {
- sr_core = INT_FS_12k8;
- }
- else if ( element_mode == EVS_MONO && ( ( bwidth == WB && total_brate < ACELP_13k20 ) || ( bwidth == SWB && total_brate <= ACELP_13k20 ) || ( rf_mode == 1 ) ) )
- {
- sr_core = INT_FS_12k8;
- }
- else if ( element_mode > EVS_MONO && flag_ACELP16k == 0 )
- {
- sr_core = INT_FS_12k8;
- }
- else if ( bwidth == WB || ( bwidth == SWB && total_brate <= ACELP_32k ) || ( bwidth == FB && total_brate <= ACELP_32k ) )
- {
- sr_core = INT_FS_16k;
- }
- else if ( ( bwidth == SWB || bwidth == FB ) && total_brate <= MAX_ACELP_BRATE && element_mode == IVAS_SCE && !is_ism_format )
- {
- sr_core = INT_FS_16k;
- }
- else if ( ( bwidth == SWB || bwidth == FB ) && total_brate <= MAX_ACELP_BRATE_ISM && element_mode == IVAS_SCE && is_ism_format )
- {
- sr_core = INT_FS_16k;
- }
- else if ( ( bwidth == SWB || bwidth == FB ) && total_brate <= MAX_ACELP_BRATE && element_mode == IVAS_SCE && is_ism_format )
- {
- sr_core = 25600;
- }
- else if ( ( ( bwidth == SWB || bwidth == FB ) && element_mode == EVS_MONO && total_brate <= HQ_64k ) || ( element_mode > IVAS_SCE && ( ( bwidth == SWB && total_brate <= IVAS_96k ) || ( bwidth == FB && total_brate <= IVAS_96k ) ) ) )
- {
- sr_core = 25600;
- }
- else if ( bwidth == SWB || bwidth == FB )
- {
- sr_core = 32000;
- }
-
- return sr_core;
-}
-
Word32 getCoreSamplerateMode2(
const Word16 element_mode, /* i : IVAS element mode Q0*/
const Word32 total_brate, /* i : total bitrate Q0*/
diff --git a/lib_com/deemph.c b/lib_com/deemph.c
index b2b43cf723086f91f455c975a0db37760bfbca6a..c03a050bca095711ea2e0c6a07e721aeb29e1dbf 100644
--- a/lib_com/deemph.c
+++ b/lib_com/deemph.c
@@ -36,9 +36,8 @@
#include
#include "options.h"
-#include "prot.h"
-#include "wmc_auto.h"
#include "prot_fx.h"
+#include "wmc_auto.h"
void deemph_fx_32(
diff --git a/lib_com/delay_comp.c b/lib_com/delay_comp.c
index 9e6c450cd3b2dc11b0543e41de400afdd67b1145..edccca07400e2758d17230e2030c91929269027f 100644
--- a/lib_com/delay_comp.c
+++ b/lib_com/delay_comp.c
@@ -36,10 +36,9 @@
#include
#include "options.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_cnst.h"
#include "wmc_auto.h"
-#include "prot_fx.h"
/*--------------------------------------------------------------------------
* get_delay()
diff --git a/lib_com/disclaimer.c b/lib_com/disclaimer.c
index ba0973f97ec04508dda0ac2f6132ad3ac562c0cd..1a01c2c320d249726ccf142ca9a0390f2846ac24 100644
--- a/lib_com/disclaimer.c
+++ b/lib_com/disclaimer.c
@@ -36,7 +36,7 @@
#include
#include "options.h"
-#include "prot.h"
+#include "prot_fx.h"
#define WMC_TOOL_SKIP
diff --git a/lib_com/enr_1_az.c b/lib_com/enr_1_az.c
index 81fb78262435c66a23d564dc26f15444b91bf27a..5c99cdfa5e27692d9373f9e5bec6e1b046f8b380 100644
--- a/lib_com/enr_1_az.c
+++ b/lib_com/enr_1_az.c
@@ -37,9 +37,8 @@
#include
#include "options.h"
#include "cnst.h"
-#include "prot.h"
-#include "wmc_auto.h"
#include "prot_fx.h"
+#include "wmc_auto.h"
Word16 Enr_1_Az_fx_o( /* o : impulse response energy Q3 */
diff --git a/lib_com/env_adj.c b/lib_com/env_adj.c
index 18520e188655666eb58e0a9ef12e83b364be5c1f..5a83dbe5fa8af935aa151a8fdb7d87738100c789 100644
--- a/lib_com/env_adj.c
+++ b/lib_com/env_adj.c
@@ -38,9 +38,8 @@
#include "options.h"
#include "cnst.h"
#include "rom_com.h"
-#include "prot.h"
-#include "wmc_auto.h"
#include "prot_fx.h"
+#include "wmc_auto.h"
/*--------------------------------------------------------------------------*
* env_adj()
diff --git a/lib_com/env_stab.c b/lib_com/env_stab.c
index b80fd0a8bddfbcee88da6ec12e1600dd9cf635dd..a3140b4e498beb79ffa011af6baa60bbeb0a2bad 100644
--- a/lib_com/env_stab.c
+++ b/lib_com/env_stab.c
@@ -39,11 +39,10 @@
#include "options.h"
#include
#include "cnst.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "rom_com.h"
#include "wmc_auto.h"
#include "stl.h"
-#include "prot_fx.h"
/*--------------------------------------------------------------------------*
* Local constants
*--------------------------------------------------------------------------*/
diff --git a/lib_com/env_stab_trans.c b/lib_com/env_stab_trans.c
index 8c6ec265fca667c94303d50eff38b3d3486f36f1..829bef5f40f99a7245b65102c1f3aad4f685aa7d 100644
--- a/lib_com/env_stab_trans.c
+++ b/lib_com/env_stab_trans.c
@@ -38,10 +38,9 @@
#include "options.h"
#include
#include "cnst.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "rom_com.h"
#include "wmc_auto.h"
-#include "prot_fx.h"
/*--------------------------------------------------------------------------*
* env_stab_transient_detect()
*
diff --git a/lib_com/fd_cng_com_fx.c b/lib_com/fd_cng_com_fx.c
index e04a13fdf30bde622746ef3d482e3384315fc064..78809ed2c6a0dd5a4ca9ba595896388b03106c75 100644
--- a/lib_com/fd_cng_com_fx.c
+++ b/lib_com/fd_cng_com_fx.c
@@ -12,7 +12,6 @@
#include "prot_fx.h"
#include "prot_fx_enc.h"
#include "ivas_prot_fx.h"
-#include "prot.h"
#define FFT_SCALING_512 1073741824 // Q22
#define FFT_SCALING_640 1342177280 // Q22
diff --git a/lib_com/fft.c b/lib_com/fft.c
index 352a24be9f15eef4afe81bb41463b90651e525b4..e262f3909f179ea67b91c160866b1f62cd2b411a 100644
--- a/lib_com/fft.c
+++ b/lib_com/fft.c
@@ -39,7 +39,7 @@
#include "options.h"
#include
#include "cnst.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "rom_com.h"
#include "wmc_auto.h"
diff --git a/lib_com/fft_fx.c b/lib_com/fft_fx.c
index acadbb06b7702dc254b91d036d42c5f4f212c976..73ff582df61d5583b183473ee303d95f84dc675a 100644
--- a/lib_com/fft_fx.c
+++ b/lib_com/fft_fx.c
@@ -44,7 +44,7 @@
#include "options.h"
#include
#include "cnst.h"
-// #include "prot.h"
+// #include "prot_fx.h"
#include "prot_fx.h"
//#include "cnst_fx.h"
#include "rom_com.h"
diff --git a/lib_com/fft_rel.c b/lib_com/fft_rel.c
index 839b2faaf0012cb535e19a5ba8dbf265d6dccb62..1d020cabdd7d013f554eeb3d0a697e73682881d9 100644
--- a/lib_com/fft_rel.c
+++ b/lib_com/fft_rel.c
@@ -36,10 +36,9 @@
#include
#include "options.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "rom_com.h"
#include "wmc_auto.h"
-#include "prot_fx.h"
/*---------------------------------------------------------------------*
* Local constants
diff --git a/lib_com/fill_spectrum.c b/lib_com/fill_spectrum.c
index 12ed75f0af89e02d3977505249687b75ebe7d7c4..bd9080a7bd41747ba25f9a5cecce507c5ac55e63 100644
--- a/lib_com/fill_spectrum.c
+++ b/lib_com/fill_spectrum.c
@@ -38,9 +38,8 @@
#include "options.h"
#include "cnst.h"
#include "rom_com.h"
-#include "prot.h"
-#include "wmc_auto.h"
#include "prot_fx.h"
+#include "wmc_auto.h"
#include "ivas_prot_fx.h"
diff --git a/lib_com/findpulse.c b/lib_com/findpulse.c
index f2347d5b37f70a5bf9c5dd41296eb9d59f8da7b1..68853e06142c91523103ce2ae595215b69bbe61c 100644
--- a/lib_com/findpulse.c
+++ b/lib_com/findpulse.c
@@ -37,10 +37,9 @@
#include
#include "options.h"
#include
-#include "prot.h"
+#include "prot_fx.h"
#include "cnst.h"
#include "wmc_auto.h"
-#include "prot_fx.h"
/*----------------------------------------------------------------------------------*
* findpulse()
diff --git a/lib_com/float_to_fix_ops.c b/lib_com/float_to_fix_ops.c
index 41d90359f4a2643524d1abd16276b9c1e374512e..1f7c28fd81130ecf0142d75b653482418b2fdfab 100644
--- a/lib_com/float_to_fix_ops.c
+++ b/lib_com/float_to_fix_ops.c
@@ -3,7 +3,6 @@
#include
#include
#include "options.h"
-#include "prot.h"
#include "prot_fx.h"
#define WMC_TOOL_SKIP
diff --git a/lib_com/frame_ener_fx.c b/lib_com/frame_ener_fx.c
index 4428c07964003506079fb33e6568451c4c8f1820..68fdf33c3a2db5ba8703f436ddc1e1043d17eef4 100644
--- a/lib_com/frame_ener_fx.c
+++ b/lib_com/frame_ener_fx.c
@@ -38,9 +38,8 @@
#include "options.h"
#include
#include "cnst.h"
-#include "prot.h"
-#include "wmc_auto.h"
#include "prot_fx.h"
+#include "wmc_auto.h"
/*----------------------------------------------------------------------------------*
* fer_energy()
*
diff --git a/lib_com/get_gain_fx.c b/lib_com/get_gain_fx.c
index d4c2413c35dcd4893fbfd11e84b593c433b901e9..8ec4f5a40314afa27263cb7a4a77d8a31dd8d53c 100644
--- a/lib_com/get_gain_fx.c
+++ b/lib_com/get_gain_fx.c
@@ -36,9 +36,8 @@
#include
#include "options.h"
-#include "prot.h"
-#include "wmc_auto.h"
#include "prot_fx.h"
+#include "wmc_auto.h"
/*----------------------------------------------------------------------------------*
* get_gain()
diff --git a/lib_com/gs_bitallocation_ivas_fx.c b/lib_com/gs_bitallocation_ivas_fx.c
index eef3d50c651e3854584303d596b0df54f80aba14..0921dc88ca1d69e896ea1a8db45e65a6dc95f0c7 100644
--- a/lib_com/gs_bitallocation_ivas_fx.c
+++ b/lib_com/gs_bitallocation_ivas_fx.c
@@ -5,7 +5,6 @@
#include "options.h" /* Compilation switches */
#include "cnst.h" /* Common constants */
#include "rom_com.h" /* Static table prototypes */
-#include "prot.h" /* Function prototypes */
#include "prot_fx.h" /* Function prototypes */
#include "ivas_prot.h" /* Function prototypes */
#include "assert.h" /* Debug prototypes */
diff --git a/lib_com/gs_gains.c b/lib_com/gs_gains.c
index 9adb448a4b21203625d0bd16617464f47c9096f7..8fa7694755c7c5ac9f912f26abdff9211895ff07 100644
--- a/lib_com/gs_gains.c
+++ b/lib_com/gs_gains.c
@@ -39,7 +39,6 @@
#include
#include "cnst.h"
#include "rom_com.h"
-#include "prot.h"
#include "prot_fx.h"
#include "wmc_auto.h"
diff --git a/lib_com/gs_preech_fx.c b/lib_com/gs_preech_fx.c
index 2e9e5eb96e8ea9eda99fadefde7e55f03728740b..3b3eaa7776b9ff3c7403e4cb7f30decf8bf77a2b 100644
--- a/lib_com/gs_preech_fx.c
+++ b/lib_com/gs_preech_fx.c
@@ -39,9 +39,8 @@
#include
#include "cnst.h"
#include "rom_com.h"
-#include "prot.h"
-#include "wmc_auto.h"
#include "prot_fx.h"
+#include "wmc_auto.h"
/*-------------------------------------------------------------------*
* Local constants
diff --git a/lib_com/hp50_fx.c b/lib_com/hp50_fx.c
index 9820eb3c87b7454b599ae0d031489f48eb23439e..f5e7105cfcf9dfeebad0e4bff0d5a262cc8a7dd8 100644
--- a/lib_com/hp50_fx.c
+++ b/lib_com/hp50_fx.c
@@ -37,9 +37,8 @@
#include
#include
#include "options.h"
-#include "prot.h"
-#include "wmc_auto.h"
#include "prot_fx.h"
+#include "wmc_auto.h"
#define HP20_COEFF_SCALE ( 2 )
diff --git a/lib_com/hq2_core_com.c b/lib_com/hq2_core_com.c
index bc4edb8693cb17aed07ff08d218a7eaa169673ec..121dae06a1ef18c4cd878c09921758a9d0ced65e 100644
--- a/lib_com/hq2_core_com.c
+++ b/lib_com/hq2_core_com.c
@@ -39,7 +39,7 @@
#include
#include "cnst.h"
#include "rom_com.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "basop_util.h"
#include "basop_proto_func.h"
#include "wmc_auto.h"
diff --git a/lib_com/hq_conf.c b/lib_com/hq_conf.c
index c139a493c8601785881ef08bd5a5a781704d1955..90a256ceab3e43b00c51885fe3e3ac35efea1113 100644
--- a/lib_com/hq_conf.c
+++ b/lib_com/hq_conf.c
@@ -38,9 +38,8 @@
#include "options.h"
#include "cnst.h"
#include "rom_com.h"
-#include "prot.h"
-#include "wmc_auto.h"
#include "prot_fx.h"
+#include "wmc_auto.h"
void hq_configure_fx(
diff --git a/lib_com/hq_tools_fx.c b/lib_com/hq_tools_fx.c
index 4426f85d98d0b79248d5308c349ecef0561ad8ad..cf3ce202e0f0951c92b3610319cb5e7db95146b8 100644
--- a/lib_com/hq_tools_fx.c
+++ b/lib_com/hq_tools_fx.c
@@ -39,7 +39,6 @@
#include "rom_com.h" /* Static table prototypes FIP version */
#include "stl.h" /* required for wmc_tool */
#include "prot_fx.h"
-#include "prot.h"
#include "ivas_prot_fx.h"
/*--------------------------------------------------------------------------*
diff --git a/lib_com/ifft_rel.c b/lib_com/ifft_rel.c
index 423eea46d7f8d5965fb9c002f3096d4d2efde2df..9e64a4e254f17bd36d456d3d45bf35d36612720d 100644
--- a/lib_com/ifft_rel.c
+++ b/lib_com/ifft_rel.c
@@ -36,10 +36,9 @@
#include
#include "options.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "rom_com.h"
#include "wmc_auto.h"
-#include "prot_fx.h"
/*-----------------------------------------------------------------*
* Local constants
*-----------------------------------------------------------------*/
diff --git a/lib_com/int_lsp.c b/lib_com/int_lsp.c
index 0f673b8fd610188a6dc014914aaa54fac9ce713d..570e9ebd987527155d240e94341b7224aa876224 100644
--- a/lib_com/int_lsp.c
+++ b/lib_com/int_lsp.c
@@ -37,10 +37,9 @@
#include
#include "options.h"
#include "cnst.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "rom_com.h"
#include "wmc_auto.h"
-#include "prot_fx.h"
void int_lsp_fx(
diff --git a/lib_com/interleave_spectrum.c b/lib_com/interleave_spectrum.c
index 745ee6ac3d7da541cf8d62ac6fc71e2386ed5f05..5c4c98e291e33db70a7fa6a8763926f963fe485c 100644
--- a/lib_com/interleave_spectrum.c
+++ b/lib_com/interleave_spectrum.c
@@ -37,10 +37,9 @@
#include
#include "options.h"
#include "cnst.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "rom_com.h"
#include "wmc_auto.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
diff --git a/lib_com/interpol.c b/lib_com/interpol.c
index 45021f1c274004c456b85e5eddbe8a84982f4d3c..a490a755269c9fa7d3f9bdeb440b60bf7f483253 100644
--- a/lib_com/interpol.c
+++ b/lib_com/interpol.c
@@ -36,10 +36,9 @@
#include
#include "options.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "wmc_auto.h"
#include "rom_com.h"
-#include "prot_fx.h"
#include "prot_fx_enc.h"
diff --git a/lib_com/ivas_agc_com_fx.c b/lib_com/ivas_agc_com_fx.c
index b2c09fa073e524dfbc82dcaa88db2e910746b719..94e6b222fcd0401e042f3f0409e435ba82ebc4a4 100644
--- a/lib_com/ivas_agc_com_fx.c
+++ b/lib_com/ivas_agc_com_fx.c
@@ -38,7 +38,7 @@
#include "ivas_prot_fx.h"
#include
#include "wmc_auto.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "rom_com.h"
/*------------------------------------------------------------------------------------------*
* Local constants
diff --git a/lib_com/ivas_arith_fx.c b/lib_com/ivas_arith_fx.c
index 2f729bbd4e6d4b9675349adb8ec2bcc998628734..006a31177873484eeb93f6aa14cd71f38c6b969f 100644
--- a/lib_com/ivas_arith_fx.c
+++ b/lib_com/ivas_arith_fx.c
@@ -33,9 +33,8 @@
#include
#include "options.h"
#include "wmc_auto.h"
-#include "prot.h"
-#include "ivas_prot.h"
#include "prot_fx.h"
+#include "ivas_prot.h"
#include "ivas_prot_fx.h"
#include "stat_dec.h"
diff --git a/lib_com/ivas_avq_pos_reorder_com_fx.c b/lib_com/ivas_avq_pos_reorder_com_fx.c
index ac539b7879b99ccf2941f6768be01caba574fdbb..25f8be3ad2ae64b4b05bc88bfc19b22043377621 100644
--- a/lib_com/ivas_avq_pos_reorder_com_fx.c
+++ b/lib_com/ivas_avq_pos_reorder_com_fx.c
@@ -32,7 +32,7 @@
#include
#include "options.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "wmc_auto.h"
/*-----------------------------------------------------------------*
diff --git a/lib_com/ivas_cov_smooth_fx.c b/lib_com/ivas_cov_smooth_fx.c
index 445ea8c78e22e5e04815372b1df63d22601dc3a8..acc0df8215a514ccf2033f6ee2b971879a52f73c 100644
--- a/lib_com/ivas_cov_smooth_fx.c
+++ b/lib_com/ivas_cov_smooth_fx.c
@@ -35,7 +35,6 @@
#include "cnst.h"
#include "ivas_prot.h"
#include "wmc_auto.h"
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_prot_fx.h"
diff --git a/lib_com/ivas_dirac_com_fx.c b/lib_com/ivas_dirac_com_fx.c
index 557db9696924b28e7e610943125931ebb4c2d13c..9b60b2c5c9b963c93ca20b070ad2ab4951d1238c 100644
--- a/lib_com/ivas_dirac_com_fx.c
+++ b/lib_com/ivas_dirac_com_fx.c
@@ -37,10 +37,9 @@
#include "ivas_cnst.h"
#include "ivas_rom_com.h"
#include "ivas_prot.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "cnst.h"
#include "wmc_auto.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
#include "ivas_rom_com_fx.h"
diff --git a/lib_com/ivas_entropy_coder_common_fx.c b/lib_com/ivas_entropy_coder_common_fx.c
index d28828d6f4d20b163ab0e4a57faaf83391e359c8..99381d19aced0fb0422feb9c024141284b06471a 100644
--- a/lib_com/ivas_entropy_coder_common_fx.c
+++ b/lib_com/ivas_entropy_coder_common_fx.c
@@ -35,7 +35,7 @@
#include "ivas_prot.h"
#include "ivas_rom_com.h"
#include "math.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
diff --git a/lib_com/ivas_fb_mixer_fx.c b/lib_com/ivas_fb_mixer_fx.c
index 43f468fb0f120c7e25471b14c5c7aac6c15f513a..883861024e23cf96e9d31b9bfd0048ddd5506078 100644
--- a/lib_com/ivas_fb_mixer_fx.c
+++ b/lib_com/ivas_fb_mixer_fx.c
@@ -34,13 +34,12 @@
#include
#include
#include "options.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "rom_com.h"
#include "ivas_rom_com.h"
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
-#include "prot_fx.h"
#include "ivas_rom_com_fx.h"
diff --git a/lib_com/ivas_ism_com_fx.c b/lib_com/ivas_ism_com_fx.c
index d3f18a795da563e9051fb019d403f3b3264fb228..f1201b06ca6952cf7a20f39173cd0af07e4714d2 100644
--- a/lib_com/ivas_ism_com_fx.c
+++ b/lib_com/ivas_ism_com_fx.c
@@ -35,13 +35,12 @@
#include "cnst.h"
#include "ivas_cnst.h"
#include "rom_com.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_stat_com.h"
#include "ivas_rom_com.h"
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
-#include "prot_fx.h"
/*-----------------------------------------------------------------------*
diff --git a/lib_com/ivas_lfe_com_fx.c b/lib_com/ivas_lfe_com_fx.c
index 4d993d64f1b23234bb43c5b46800a632f92b1e2a..7464c41c2c47a4c1d7871f37ada1bcef1e8d1afa 100644
--- a/lib_com/ivas_lfe_com_fx.c
+++ b/lib_com/ivas_lfe_com_fx.c
@@ -34,7 +34,7 @@
#include "math.h"
#include "options.h"
#include "ivas_stat_com.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "rom_com.h"
#include "ivas_rom_com.h"
diff --git a/lib_com/ivas_masa_com_fx.c b/lib_com/ivas_masa_com_fx.c
index 35db926d0a60f6ac52e7e35bdaab20bac34de81c..fbe752aad277923102b1796d3c52f8bf9e301d19 100644
--- a/lib_com/ivas_masa_com_fx.c
+++ b/lib_com/ivas_masa_com_fx.c
@@ -34,14 +34,13 @@
#include
#include "options.h"
#include
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_cnst.h"
#include "ivas_prot.h"
#include "ivas_rom_com.h"
#include "ivas_stat_dec.h"
#include "wmc_auto.h"
#include "ivas_rom_com_fx.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
diff --git a/lib_com/ivas_mc_com_fx.c b/lib_com/ivas_mc_com_fx.c
index 88d6c1b5ec8526ac9afc06ac569ae91fc1a4d4f2..62d623b830daf6924b4d4cfc0dd9468e6b2d1bd2 100644
--- a/lib_com/ivas_mc_com_fx.c
+++ b/lib_com/ivas_mc_com_fx.c
@@ -34,7 +34,7 @@
#include
#include "options.h"
#include
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
diff --git a/lib_com/ivas_mc_param_com_fx.c b/lib_com/ivas_mc_param_com_fx.c
index d69da849a4450816e9bb35fe78facfc4c6e96833..a54abe7ab00d5ee98841b9788f28d2f467cce7b7 100644
--- a/lib_com/ivas_mc_param_com_fx.c
+++ b/lib_com/ivas_mc_param_com_fx.c
@@ -35,7 +35,6 @@
#include
#include "options.h"
#include "ivas_cnst.h"
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_stat_com.h"
diff --git a/lib_com/ivas_mct_com_fx.c b/lib_com/ivas_mct_com_fx.c
index b220d69a7651fbe29593101d76d17ad20d306022..1f3c58153b3b52bd4f97ef03ebea6305f01dfd14 100644
--- a/lib_com/ivas_mct_com_fx.c
+++ b/lib_com/ivas_mct_com_fx.c
@@ -34,7 +34,7 @@
#include "options.h"
#include "ivas_cnst.h"
#include "ivas_prot.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "wmc_auto.h"
#include
diff --git a/lib_com/ivas_mdct_core_com_fx.c b/lib_com/ivas_mdct_core_com_fx.c
index a5cfb8673abbf845b4938d48d8a14dd73cdc3b49..000f3992f1f1670bcd13f82edf20e8cd4adf3072 100644
--- a/lib_com/ivas_mdct_core_com_fx.c
+++ b/lib_com/ivas_mdct_core_com_fx.c
@@ -34,9 +34,8 @@
#include "options.h"
#include "ivas_cnst.h"
#include "ivas_prot.h"
-#include "prot.h"
-#include "wmc_auto.h"
#include "prot_fx.h"
+#include "wmc_auto.h"
#include "ivas_prot_fx.h"
/*--------------------------------------------------------------------------*
diff --git a/lib_com/ivas_mdft_imdft_fx.c b/lib_com/ivas_mdft_imdft_fx.c
index 0f24fba817b5c3f3781266a7e8dc55033bfc01a0..b104443073a0d1bc311186a9a88deeee447b3c5b 100644
--- a/lib_com/ivas_mdft_imdft_fx.c
+++ b/lib_com/ivas_mdft_imdft_fx.c
@@ -33,14 +33,13 @@
#include
#include "options.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_rom_com.h"
#include
#include "wmc_auto.h"
#include
#include
-#include "prot_fx.h"
#include "debug.h"
#include "ivas_rom_com_fx.h"
#include "ivas_prot_fx.h"
diff --git a/lib_com/ivas_omasa_com_fx.c b/lib_com/ivas_omasa_com_fx.c
index eb230b224a57dd7e58e083a97dbef256d2577c19..ef63502854d78c30549ba6dbcae6ad0c7171478f 100644
--- a/lib_com/ivas_omasa_com_fx.c
+++ b/lib_com/ivas_omasa_com_fx.c
@@ -35,11 +35,10 @@
#include "ivas_cnst.h"
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_rom_com.h"
#include "rom_com.h"
#include
-#include "prot_fx.h"
/*---------------------------------------------------------------
* Local constants
diff --git a/lib_com/ivas_pca_tools_fx.c b/lib_com/ivas_pca_tools_fx.c
index 5689e81c01988cc20f6fb56879945270a0b03788..1e36c5e8e8bcf0f1ffb18a7e31a39c5ccfec1018 100644
--- a/lib_com/ivas_pca_tools_fx.c
+++ b/lib_com/ivas_pca_tools_fx.c
@@ -38,7 +38,6 @@
#include
#include "ivas_rom_com.h"
#include "wmc_auto.h"
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_prot_fx.h"
diff --git a/lib_com/ivas_qmetadata_com_fx.c b/lib_com/ivas_qmetadata_com_fx.c
index cbc67de00687671820538f9c8f4741fb28928c9d..79a585e8b121e286d4bde9ae24bed1c51660fd2c 100644
--- a/lib_com/ivas_qmetadata_com_fx.c
+++ b/lib_com/ivas_qmetadata_com_fx.c
@@ -37,10 +37,9 @@
#include "ivas_cnst.h"
#include "ivas_rom_com.h"
#include "ivas_prot.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "cnst.h"
#include "wmc_auto.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
#include "ivas_rom_com_fx.h"
diff --git a/lib_com/ivas_qspherical_com_fx.c b/lib_com/ivas_qspherical_com_fx.c
index 8ef48be2e355803124f13020b97b562ca6d85615..5caa850cbbe9b7f96998ef990021fcf5c532bdff 100644
--- a/lib_com/ivas_qspherical_com_fx.c
+++ b/lib_com/ivas_qspherical_com_fx.c
@@ -37,12 +37,10 @@
#include "ivas_cnst.h"
#include "ivas_rom_com.h"
#include "ivas_prot.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "cnst.h"
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
-#include "prot_fx.h"
-#include "prot_fx.h"
#include "ivas_rom_com_fx.h"
diff --git a/lib_com/ivas_sba_config_fx.c b/lib_com/ivas_sba_config_fx.c
index 94ceb8e3cb1b4a9ae6b0c252636f3641b96ad360..38785956c36f90dd1d6435f7a443217eee8284e7 100644
--- a/lib_com/ivas_sba_config_fx.c
+++ b/lib_com/ivas_sba_config_fx.c
@@ -37,7 +37,7 @@
#include "cnst.h"
#include "ivas_cnst.h"
#include "rom_com.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_stat_com.h"
#include "ivas_rom_com.h"
diff --git a/lib_com/ivas_sns_com_fx.c b/lib_com/ivas_sns_com_fx.c
index 788fb3c56568b76a9da297901c393c1ded640571..f35de8eb0037c6c2cc6bb174c0492e7d6fe528e6 100644
--- a/lib_com/ivas_sns_com_fx.c
+++ b/lib_com/ivas_sns_com_fx.c
@@ -33,7 +33,6 @@
#include
#include "options.h"
#include "cnst.h"
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_prot.h"
#include "rom_com.h"
diff --git a/lib_com/ivas_spar_com_fx.c b/lib_com/ivas_spar_com_fx.c
index 0ebae0de678aacc93972eab223eefd9cb9908cf3..fc6e60310f49484e8eb1505cc9b68d7335316895 100644
--- a/lib_com/ivas_spar_com_fx.c
+++ b/lib_com/ivas_spar_com_fx.c
@@ -35,7 +35,6 @@
#include "options.h"
#include "basop_util.h"
#include "ivas_stat_com.h"
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_prot.h"
#include "rom_com.h"
diff --git a/lib_com/ivas_spar_com_quant_util_fx.c b/lib_com/ivas_spar_com_quant_util_fx.c
index 0f0e003dd3be3d4b58764a2c74e899361f74f26c..8292de5c101c0517ec8239feeac508dc06e78bbc 100644
--- a/lib_com/ivas_spar_com_quant_util_fx.c
+++ b/lib_com/ivas_spar_com_quant_util_fx.c
@@ -33,7 +33,6 @@
#include
#include "options.h"
#include "math.h"
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_rom_com.h"
diff --git a/lib_com/ivas_stereo_dft_com_fx.c b/lib_com/ivas_stereo_dft_com_fx.c
index 1157fffcf9664bf918466201103087f011585b21..80e64c0ccc4a54e4f984314164b89fb0b329b6d3 100644
--- a/lib_com/ivas_stereo_dft_com_fx.c
+++ b/lib_com/ivas_stereo_dft_com_fx.c
@@ -36,7 +36,7 @@
#include "ivas_cnst.h"
#include "ivas_rom_com.h"
#include "ivas_prot.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "cnst.h"
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
diff --git a/lib_com/ivas_stereo_eclvq_com_fx.c b/lib_com/ivas_stereo_eclvq_com_fx.c
index b4fb6642953e1a7d7e2a713eaf572950992addf9..d0ffff39ce3b743b02529abcc2bef03b9c8d6234 100644
--- a/lib_com/ivas_stereo_eclvq_com_fx.c
+++ b/lib_com/ivas_stereo_eclvq_com_fx.c
@@ -37,7 +37,7 @@
#include "ivas_prot_fx.h"
#include "ivas_cnst.h"
#include
-#include "prot.h"
+#include "prot_fx.h"
#include "wmc_auto.h"
/*---------------------------------------------------------------
diff --git a/lib_com/ivas_stereo_ica_com_fx.c b/lib_com/ivas_stereo_ica_com_fx.c
index 78a3c90caa265dec0fdbca7344d3d390b86763a2..9aa880842290c9e374ff0b58a8a0335102e6490d 100644
--- a/lib_com/ivas_stereo_ica_com_fx.c
+++ b/lib_com/ivas_stereo_ica_com_fx.c
@@ -36,7 +36,6 @@
#include "options.h"
#include "cnst.h"
#include "ivas_cnst.h"
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_prot.h"
#include "wmc_auto.h"
diff --git a/lib_com/ivas_stereo_mdct_bands_com_fx.c b/lib_com/ivas_stereo_mdct_bands_com_fx.c
index b1750fd16a3148fa01e314412e5ae620b41c687f..c21abcf8ca8aeff3f5a3461c26bd4634de435371 100644
--- a/lib_com/ivas_stereo_mdct_bands_com_fx.c
+++ b/lib_com/ivas_stereo_mdct_bands_com_fx.c
@@ -37,9 +37,8 @@
#include "ivas_rom_com.h"
#include "ivas_prot.h"
#include "rom_com.h"
-#include "prot.h"
-#include "wmc_auto.h"
#include "prot_fx.h"
+#include "wmc_auto.h"
#include "ivas_prot_fx.h"
/*-------------------------------------------------------------------*
diff --git a/lib_com/ivas_stereo_psychlpc_com_fx.c b/lib_com/ivas_stereo_psychlpc_com_fx.c
index 996b262db669270cf1f79828cfc99cd04d902c7c..cb3c39df2ae68c173550b31bd7e108e5532b83e8 100644
--- a/lib_com/ivas_stereo_psychlpc_com_fx.c
+++ b/lib_com/ivas_stereo_psychlpc_com_fx.c
@@ -34,7 +34,7 @@
#include "options.h"
#include "ivas_rom_com.h"
#include "ivas_prot.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "wmc_auto.h"
#include
diff --git a/lib_com/ivas_stereo_td_bit_alloc_fx.c b/lib_com/ivas_stereo_td_bit_alloc_fx.c
index 14ab8131e196032a592316911b5a25ce4a34df8c..9074473d730ae31df6e5ddbbe03dfd6f75f247a6 100644
--- a/lib_com/ivas_stereo_td_bit_alloc_fx.c
+++ b/lib_com/ivas_stereo_td_bit_alloc_fx.c
@@ -38,9 +38,8 @@
#include "ivas_prot.h"
#include "ivas_rom_com.h"
#include "ivas_cnst.h"
-#include "prot.h"
-#include "wmc_auto.h"
#include "prot_fx.h"
+#include "wmc_auto.h"
#include "ivas_prot_fx.h"
#include "ivas_rom_com_fx.h"
diff --git a/lib_com/ivas_tools_fx.c b/lib_com/ivas_tools_fx.c
index 9cd1a063e889694e4afde7b1711c8525f782a00e..e460637f77247ee40b3ce977e3744b63c9352e80 100644
--- a/lib_com/ivas_tools_fx.c
+++ b/lib_com/ivas_tools_fx.c
@@ -34,11 +34,10 @@
#include
#include "options.h"
#include
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "wmc_auto.h"
#include "ivas_rom_com.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
#define ANGLE_90_DEG_Q22 377487360
diff --git a/lib_com/ivas_transient_det_fx.c b/lib_com/ivas_transient_det_fx.c
index b5ea507eb4065efc85019a44e0eb8bc226428e45..97025b46f7330ed8f861efeaa3c2815e2cd4bd30 100644
--- a/lib_com/ivas_transient_det_fx.c
+++ b/lib_com/ivas_transient_det_fx.c
@@ -34,11 +34,10 @@
#include "options.h"
#include "math.h"
#include "wmc_auto.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_cnst.h"
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
-#include "prot_fx.h"
#include "ivas_stat_com.h"
/*------------------------------------------------------------------------------------------*
diff --git a/lib_com/lag_wind.c b/lib_com/lag_wind.c
index e0871fa70124f1d3479f0d1801c8e71c503ce419..9fb2872711d553565e75f883d9ddeafaef19cd40 100644
--- a/lib_com/lag_wind.c
+++ b/lib_com/lag_wind.c
@@ -37,7 +37,6 @@
#include
#include
#include "options.h"
-#include "prot.h"
#include "prot_fx.h"
#include "cnst.h"
#include "rom_com.h"
diff --git a/lib_com/lerp.c b/lib_com/lerp.c
index 28719205a02f9cfacdec6f7dc3686e8493e858bd..4e306b93698eaff8917a518ff6f531615683af53 100644
--- a/lib_com/lerp.c
+++ b/lib_com/lerp.c
@@ -36,154 +36,25 @@
#include
#include "options.h"
-#include "prot.h"
#include "prot_fx.h"
#include "wmc_auto.h"
-
/*-------------------------------------------------------------*
* Local function prototypes
*-------------------------------------------------------------*/
-static void lerp_proc_flt( const float *f, float *f_out, const int16_t bufferNewSize, const int16_t bufferOldSize );
-
-
/*-------------------------------------------------------------*
* procedure lerp_flt() *
* *
* *
*-------------------------------------------------------------*/
-void lerp_flt(
- const float *f,
- float *f_out,
- const int16_t bufferNewSize,
- const int16_t bufferOldSize_inp )
-{
- float maxFac;
- int16_t bufferOldSize, tmpNewSize;
-
- maxFac = 507.0 / 128.0;
- bufferOldSize = bufferOldSize_inp;
-
- if ( (float) bufferNewSize / bufferOldSize > maxFac )
- {
- tmpNewSize = bufferOldSize * 2;
- while ( bufferNewSize > bufferOldSize )
- {
- if ( (float) bufferNewSize / bufferOldSize <= maxFac )
- {
- tmpNewSize = bufferNewSize;
- }
-
- lerp_proc_flt( f, f_out, tmpNewSize, bufferOldSize );
-
- f = f_out;
- bufferOldSize = tmpNewSize;
- tmpNewSize *= 2;
- }
- }
- else if ( (float) bufferOldSize / bufferNewSize > maxFac )
- {
- tmpNewSize = bufferOldSize / 2;
- while ( bufferNewSize < bufferOldSize )
- {
- if ( (float) bufferOldSize / bufferNewSize <= maxFac )
- {
- tmpNewSize = bufferNewSize;
- }
-
- lerp_proc_flt( f, f_out, tmpNewSize, bufferOldSize );
-
- f = f_out;
- bufferOldSize = tmpNewSize;
- tmpNewSize /= 2;
- }
- }
- else
- {
- lerp_proc_flt( f, f_out, bufferNewSize, bufferOldSize );
- }
-
- return;
-}
-
/*-------------------------------------------------------------*
* procedure lerp_proc_flt() *
* *
* *
*-------------------------------------------------------------*/
-static void lerp_proc_flt(
- const float *f,
- float *f_out,
- const int16_t bufferNewSize,
- const int16_t bufferOldSize )
-{
- int16_t i, idx;
- float pos, shift, diff;
- float buf[2 * L_FRAME_MAX];
- Word16 tmp;
-
- if ( bufferNewSize == bufferOldSize )
- {
- mvr2r( f, buf, bufferNewSize );
- mvr2r( buf, f_out, bufferNewSize );
- return;
- }
-
- /* Using the basop code to avoid reading beyond end of input for bufferOldSize=320, bufferNewSize=640 */
- tmp = div_s( bufferOldSize, shl( bufferNewSize, 4 ) );
- shift = (float) ( L_shl( L_deposit_l( tmp ), 4 - 15 + 16 ) ) / 65536.0f;
- pos = 0.5f * shift - 0.5f;
-
- if ( shift < 0.3f )
- {
- pos = pos - 0.13f;
- }
-
- /* first point of interpolation */
- if ( pos < 0 )
- {
- buf[0] = f[0] + pos * ( f[1] - f[0] );
- }
- else
- {
- idx = (int16_t) pos;
- diff = pos - idx;
- buf[0] = f[idx] + diff * ( f[idx + 1] - f[idx] );
- }
-
- pos += shift;
-
- for ( i = 1; i < bufferNewSize - 1; i++ )
- {
- idx = (int16_t) pos;
- diff = pos - idx;
-
- buf[i] = f[idx] + diff * ( f[idx + 1] - f[idx] );
- pos += shift;
- }
-
-
- /* last point */
- idx = (int16_t) pos;
-
- if ( pos > bufferOldSize - 1 )
- {
- idx = bufferOldSize - 2;
- }
-
- diff = pos - idx;
-
- buf[bufferNewSize - 1] = f[idx] + diff * ( f[idx + 1] - f[idx] );
-
- mvr2r( buf, f_out, bufferNewSize );
-
- return;
-}
-
-
/*-------------------------------------------------------------*
* Local constants
*-------------------------------------------------------------*/
diff --git a/lib_com/limit_t0.c b/lib_com/limit_t0.c
deleted file mode 100644
index d49cad28376c7dd239a9bcd7634582d235a1f225..0000000000000000000000000000000000000000
--- a/lib_com/limit_t0.c
+++ /dev/null
@@ -1,231 +0,0 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
-
-/*====================================================================================
- EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0
- ====================================================================================*/
-
-#include
-#include "options.h"
-#include "cnst.h"
-#include "prot.h"
-#include "wmc_auto.h"
-
-/*-------------------------------------------------*
- * Local constants
- *-------------------------------------------------*/
-
-#define LIMIT_PIT_REL_LOWER 2 /* delta interval to extend pitch coding in relative Q */
-#define LIMIT_PIT_REL_UPPER 0
-
-/*-------------------------------------------------*
- * limit_T0()
- *
- * Close-loop pitch lag search limitation
- *-------------------------------------------------*/
-
-void limit_T0(
- const int16_t L_frame, /* i : length of the frame */
- const int16_t delta, /* i : Half the close-loop searched interval */
- const int16_t pit_flag, /* i : selecting absolute(0) or delta(1) pitch quantization */
- const int16_t limit_flag, /* i : flag for Q limits (0=restrained, 1=extended) */
- const int16_t T0, /* i : rough pitch estimate around which the search is done */
- const int16_t T0_frac, /* i : pitch estimate fractional part */
- int16_t *T0_min, /* o : lower pitch limit */
- int16_t *T0_max /* o : higher pitch limit */
-)
-{
- int16_t delta2, T1;
- int16_t pit_min, pit_max;
-
- if ( limit_flag == 0 ) /* restrained Q limits */
- {
- /* set limits */
- if ( L_frame == L_FRAME )
- {
- pit_max = PIT_MAX;
- pit_min = PIT_MIN;
- }
- else /* L_frame == L_FRAME16k */
- {
- pit_max = PIT16k_MAX;
- pit_min = PIT16k_MIN;
- }
-
- delta2 = 2 * delta - 1;
-
- T1 = T0;
- if ( T0_frac >= 2 )
- {
- T1++;
- }
- *T0_min = T1 - delta;
-
- if ( *T0_min < pit_min )
- {
- *T0_min = pit_min;
- }
- *T0_max = *T0_min + delta2;
-
- if ( *T0_max > pit_max )
- {
- *T0_max = pit_max;
- *T0_min = *T0_max - delta2;
- }
- }
- else /* extended Q limits */
- {
-
- /* set limits */
- if ( L_frame == L_FRAME )
- {
- pit_max = PIT_MAX;
- pit_min = PIT_MIN_EXTEND;
-
- if ( limit_flag == 2 )
- {
- pit_min = PIT_MIN_DOUBLEEXTEND;
- }
- }
- else /* L_frame == L_FRAME16k */
- {
- pit_max = PIT16k_MAX;
- pit_min = PIT16k_MIN_EXTEND;
- }
-
- delta2 = 2 * delta - 1;
-
- T1 = T0;
- if ( T0_frac >= 2 )
- {
- T1++;
- }
- *T0_min = T1 - delta;
-
- if ( pit_flag == 0 )
- {
- /* subframes with absolute search: keep Q range */
- if ( *T0_min < pit_min )
- {
- *T0_min = pit_min;
- }
- *T0_max = *T0_min + delta2;
-
- if ( *T0_max > pit_max )
- {
- *T0_max = pit_max;
- *T0_min = *T0_max - delta2;
- }
- }
- else
- {
- /* subframes with relative search: extend Q range */
- if ( *T0_min < pit_min - LIMIT_PIT_REL_LOWER )
- {
- *T0_min = pit_min - LIMIT_PIT_REL_LOWER;
- }
-
- if ( *T0_min < L_INTERPOL )
- {
- *T0_min = L_INTERPOL;
- }
- *T0_max = *T0_min + delta2;
-
- if ( *T0_max > pit_max + LIMIT_PIT_REL_UPPER )
- {
- *T0_max = pit_max + LIMIT_PIT_REL_UPPER;
- *T0_min = *T0_max - delta2;
- }
- }
- }
-
- return;
-}
-
-
-/*-------------------------------------------------*
- * Routine limit_T0_voiced_ivas()
- *
- * Close-loop pitch lag search limitation
- *-------------------------------------------------*/
-
-void limit_T0_voiced_ivas(
- const int16_t nbits,
- const int16_t res,
- const int16_t T0, /* i : rough pitch estimate around which the search is done */
- const int16_t T0_frac, /* i : pitch estimate fractional part */
- const int16_t T0_res, /* i : pitch resolution */
- int16_t *T0_min, /* o : lower pitch limit */
- int16_t *T0_min_frac, /* o : lower pitch limit */
- int16_t *T0_max, /* o : higher pitch limit */
- int16_t *T0_max_frac, /* o : higher pitch limit */
- const int16_t pit_min, /* i : Minimum pitch lag */
- const int16_t pit_max /* i : Maximum pitch lag */
-)
-{
- int16_t T1, temp1, temp2;
-
- /* Mid-point */
- T1 = T0;
- if ( ( T0_res > 1 ) && ( T0_frac >= ( T0_res >> 1 ) ) )
- {
- T1++;
- }
-
- /* Lower-bound */
- temp1 = ( T1 * res ) - ( 1 << ( nbits - 1 ) );
- temp2 = temp1 / res;
- *T0_min = temp2;
- *T0_min_frac = temp1 - temp2 * res;
- if ( *T0_min < pit_min )
- {
- *T0_min = pit_min;
- *T0_min_frac = 0;
- }
-
- /* Higher-bound */
- temp1 = ( *T0_min * res ) + *T0_min_frac + ( 1 << nbits ) - 1;
- temp2 = temp1 / res;
- *T0_max = temp2;
- *T0_max_frac = temp1 - temp2 * res;
- if ( *T0_max > pit_max )
- {
- *T0_max = pit_max;
- *T0_max_frac = res - 1;
- temp1 = ( *T0_max * res ) + *T0_max_frac - ( 1 << nbits ) + 1;
- temp2 = temp1 / res;
- *T0_min = temp2;
- *T0_min_frac = temp1 - temp2 * res;
- }
-
- return;
-}
diff --git a/lib_com/longarith.c b/lib_com/longarith.c
index 66c5dd15ef0e35eac14d866e775ae82f56560561..8946e41aacfbd8b52834f85e8910c07cbbb0f3ce 100644
--- a/lib_com/longarith.c
+++ b/lib_com/longarith.c
@@ -37,10 +37,9 @@
#include
#include
#include "options.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
-#include "prot_fx.h"
/*-------------------------------------------------------------------*
diff --git a/lib_com/lsp_conv_poly_fx.c b/lib_com/lsp_conv_poly_fx.c
index 61ead2bf2a75118ce2399146e065fd243fae0077..4f493cacde1c222cba29c4859e08beb17776da29 100644
--- a/lib_com/lsp_conv_poly_fx.c
+++ b/lib_com/lsp_conv_poly_fx.c
@@ -6,10 +6,9 @@
#include "options.h"
#include "cnst.h"
#include "rom_com.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "wmc_auto.h"
-#include "prot_fx.h"
/*-------------------------------------------------------------------*
* Local constants
diff --git a/lib_com/modif_fs.c b/lib_com/modif_fs.c
index 1b2836252089ac00a6df050edf87e1ba0987439d..7ed3cb59b62389a3fa6166306cc6d632a9d44885 100644
--- a/lib_com/modif_fs.c
+++ b/lib_com/modif_fs.c
@@ -38,10 +38,9 @@
#include "options.h"
#include
#include "cnst.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "rom_com.h"
#include "wmc_auto.h"
-#include "prot_fx.h"
void Interpolate_allpass_steep_32(
diff --git a/lib_com/mslvq_com.c b/lib_com/mslvq_com.c
index 34e2083b96bd5146f205f9dd6d3f91e3be14af53..a15b116110d15462512689ca4a062eea6efa68ae 100644
--- a/lib_com/mslvq_com.c
+++ b/lib_com/mslvq_com.c
@@ -38,10 +38,9 @@
#include "options.h"
#include "cnst.h"
#include "rom_com.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "wmc_auto.h"
#include "ivas_prot.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
/*-----------------------------------------------------------------*
diff --git a/lib_com/mslvq_com_fx.c b/lib_com/mslvq_com_fx.c
index d97830a5f790784c682015de9dfadc33bdbb7176..10e5604335a7b1ad471ffb3cf631bf2b8c6856aa 100644
--- a/lib_com/mslvq_com_fx.c
+++ b/lib_com/mslvq_com_fx.c
@@ -31,7 +31,6 @@
*******************************************************************************************************/
#include "options.h"
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_cnst.h"
#include "stl.h"
diff --git a/lib_com/preemph.c b/lib_com/preemph.c
index 490a18aef187ffac1e65529de8eee2cbe3b3a3d1..9ebc0f72a81c39542312ff9e6bbd3d76b5a49197 100644
--- a/lib_com/preemph.c
+++ b/lib_com/preemph.c
@@ -36,7 +36,7 @@
#include
#include "options.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "wmc_auto.h"
/*-------------------------------------------------------------*
diff --git a/lib_com/prot.h b/lib_com/prot.h
deleted file mode 100644
index f5d69075ed6760359f9c58066864b47a22dc326d..0000000000000000000000000000000000000000
--- a/lib_com/prot.h
+++ /dev/null
@@ -1,8340 +0,0 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
-
-/*====================================================================================
- EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0
- ====================================================================================*/
-
-#ifndef PROT_H
-#define PROT_H
-
-#include
-#include
-#include
-#include "options.h"
-#include "typedef.h"
-#include "stat_enc.h"
-#include "stat_dec.h"
-#include "stat_com.h"
-#include "ivas_stat_com.h"
-#include "ivas_stat_enc.h"
-#include "ivas_stat_dec.h"
-#include "cnst.h"
-#include "stl.h"
-#include "ivas_error_utils.h"
-
-
-/*----------------------------------------------------------------------------------*
- * Prototypes of global macros
- *----------------------------------------------------------------------------------*/
-
-#ifndef min
-#define min( x, y ) ( ( x ) < ( y ) ? ( x ) : ( y ) )
-#endif
-
-#ifndef max
-#define max( x, y ) ( ( x ) > ( y ) ? ( x ) : ( y ) )
-#endif
-
-#ifndef TRUNC
-#define TRUNC( x ) ( (int16_t) ( ( ( x ) >= 32767. ? 32767 : ( ( x ) <= -32768. ? -32768 : ( x ) ) ) + 0.5 ) )
-#endif
-
-#define log_base_2( x ) ( (double) log( (double) ( x ) ) * 1.4426950408889634074f )
-#define round_f( x ) ( ( ( x ) > 0 ) ? (int32_t) ( ( x ) + 0.5f ) : ( -(int32_t) ( ( -x ) + 0.5f ) ) )
-
-#ifndef ABSVAL
-#define ABSVAL( a ) ( ( a ) >= 0 ? ( a ) : ( -( a ) ) )
-#endif
-
-#ifndef SQR
-#define SQR( a ) ( ( a ) * ( a ) )
-#endif
-
-#ifndef SWAP
-#define SWAP( a, b ) \
- { \
- tempr = ( a ); \
- ( a ) = ( b ); \
- ( b ) = tempr; \
- }
-#endif
-
-#ifndef swap
-#define swap( x, y, type ) \
- { \
- type u__p; \
- u__p = x; \
- x = y; \
- y = u__p; \
- }
-#endif
-
-#define set_max( a, b ) \
- { \
- if ( ( b ) > *a ) \
- { \
- *a = ( b ); \
- } \
- } /* If the first argument is already the highes or lowest, nothing is done. */
-#define set_min( a, b ) \
- { \
- if ( ( b ) < *a ) \
- { \
- *a = ( b ); \
- } \
- } /* Otherwise, the 2nd arg is stored at the address of the first arg. */
-
-
-/*----------------------------------------------------------------------------------*
- * MODE1 prototypes
- *----------------------------------------------------------------------------------*/
-
-/*! r: inverse square root of input value */
-float inv_sqrt(
- const float x /* i : input value */
-);
-
-/*! r: output random value */
-int16_t own_random(
- int16_t *seed /* i/o: random seed */
-);
-
-/*! r: sign of x (+1/-1) */
-float sign(
- const float x /* i : input value of x */
-);
-
-/*! r: logarithm2 of x */
-float log2_f(
- const float x /* i : input value of x */
-);
-
-int16_t norm_ul_float(
- uint32_t UL_var1 );
-
-/*! r: sum of all vector elements */
-int16_t sum_s(
- const int16_t *vec, /* i : input vector */
- const int16_t lvec /* i : length of input vector */
-);
-
-/*! r: sum of all vector elements */
-int32_t sum_l(
- const int32_t *vec, /* i : input vector */
- const int16_t lvec /* i : length of input vector */
-);
-
-/*! r: sum of all vector elements */
-float sum_f(
- const float *vec, /* i : input vector */
- const int16_t lvec /* i : length of input vector */
-);
-
-/*! r: sum of all squared vector elements */
-float sum2_f(
- const float *vec, /* i : input vector */
- const int16_t lvec /* i : length of input vector */
-);
-
-void set_c(
- int8_t y[], /* i/o: Vector to set */
- const int8_t a, /* i : Value to set the vector to */
- const int32_t N /* i : Length of the vector */
-);
-
-void set_s(
- int16_t y[], /* i/o: Vector to set */
- const int16_t a, /* i : Value to set the vector to */
- const int16_t N /* i : Lenght of the vector */
-);
-
-void set_l(
- int32_t y[], /* i/o: Vector to set */
- const int32_t a, /* i : Value to set the vector to */
- const int16_t N /* i : Length of the vector */
-);
-
-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 */
-);
-
-void set_zero_fx(
- Word32 *vec, /* o : input vector */
- const Word16 lvec /* i : length of the vector */
-);
-void set_zero2_fx(
- Word32 *vec, /* o : input vector */
- const Word32 lvec /* i : length of the vector */
-);
-void set16_zero_fx(
- Word16 *vec, /* o : input vector */
- const Word16 lvec /* i : length of the vector */
-);
-
-void set_zero(
- float *vec, /* o : input vector */
- const int16_t lvec /* i : length of the vector */
-);
-
-void mvr2r(
- const float x[], /* i : input vector */
- float y[], /* o : output vector */
- const int16_t n /* i : vector size */
-);
-
-void mvs2s(
- const int16_t x[], /* i : input vector */
- int16_t y[], /* o : output vector */
- const int16_t n /* i : vector size */
-);
-
-uint32_t mvr2s(
- const float x[], /* i : input vector */
- int16_t y[], /* o : output vector */
- const int16_t n /* i : vector size */
-);
-
-void mvs2r(
- const int16_t x[], /* i : input vector */
- float y[], /* o : output vector */
- const int16_t n /* i : vector size */
-);
-
-void mvl2l(
- const int32_t x[], /* i : input vector */
- int32_t y[], /* o : output vector */
- const int16_t n /* i : vector size */
-);
-
-
-/*! r: index of the maximum value in the input vector */
-int16_t maximum(
- const float *vec, /* i : input vector */
- const int16_t lvec, /* i : length of input vector */
- float *max_val /* o : maximum value in the input vector */
-);
-/*! r: index of the maximum value in the input vector */
-int16_t maximumAbs(
- const float *vec, /* i : input vector */
- const int16_t lvec, /* i : length of input vector */
- float *max_val /* o : maximum value in the input vector */
-);
-
-Word16 maximumAbs_l(
- const Word32 *vec, /* i : input vector */
- const Word16 lvec, /* i : length of input vector */
- Word32 *max_val /* o : maximum value in the input vector */
-);
-
-/*! r: index of the minimum value in the input vector */
-int16_t minimum(
- const float *vec, /* i : input vector */
- const int16_t lvec, /* i : length of input vector */
- float *min_val /* o : minimum value in the input vector */
-);
-
-/*! r: index of the minimum value in the input vector */
-int16_t minimum_s(
- const int16_t *vec, /* i : Input vector */
- const int16_t lvec, /* i : Vector length */
- int16_t *min_val /* o : minimum value in the input vector */
-);
-
-/*! r: return index with max energy value in vector */
-int16_t emaximum(
- const float *vec, /* i : input vector */
- const int16_t lvec, /* i : length of input vector */
- float *ener_max /* o : maximum energy value */
-);
-
-/*! r: vector mean */
-float mean(
- const float *vec, /* i : input vector */
- const int16_t lvec /* i : length of input vector */
-);
-
-/*! r: dot product of x[] and y[] */
-float dotp(
- const float x[], /* i : vector x[] */
- const float y[], /* i : vector y[] */
- const int16_t n /* i : vector length */
-);
-
-void conv(
- const float x[], /* i : input vector */
- const float h[], /* i : impulse response (or second input vector) */
- float y[], /* o : output vetor (result of convolution) */
- const int16_t L /* i : vector size */
-);
-
-void fir(
- const float x[], /* i : input vector */
- const float h[], /* i : impulse response of the FIR filter */
- float y[], /* o : output vector (result of filtering) */
- float mem[], /* i/o: memory of the input signal (M samples) */
- const int16_t L, /* i : input vector size */
- const int16_t K, /* i : order of the FIR filter (M+1 coefs.) */
- const int16_t upd /* i : 1 = update the memory, 0 = not */
-);
-
-void v_add(
- const float x1[], /* i : Input vector 1 */
- const float x2[], /* i : Input vector 2 */
- float y[], /* o : Output vector that contains vector 1 + vector 2 */
- const int16_t N /* i : Vector length */
-);
-
-void v_sub(
- const float x1[], /* i : Input vector 1 */
- const float x2[], /* i : Input vector 2 */
- float y[], /* o : Output vector that contains vector 1 - vector 2 */
- const int16_t N /* i : Vector length */
-);
-
-void v_mult(
- const float x1[], /* i : Input vector 1 */
- const float x2[], /* i : Input vector 2 */
- float y[], /* o : Output vector that contains vector 1 .* vector 2*/
- const int16_t N /* i : Vector length */
-);
-
-void v_multc(
- const float x[], /* i : Input vector */
- const float c, /* i : Constant */
- float y[], /* o : Output vector that contains c*x */
- const int16_t N /* i : Vector length */
-);
-
-/*! r: index of the winning codeword */
-int16_t squant(
- const float x, /* i : scalar value to quantize */
- float *xq, /* o : quantized value */
- const float cb[], /* i : codebook */
- const int16_t cbsize /* i : codebook size */
-);
-
-int16_t squant_int(
- uint8_t x, /* i : scalar value to quantize */
- uint8_t *xq, /* o : quantized value */
- const uint8_t *cb, /* i : codebook */
- const int16_t cbsize /* i : codebook size */
-);
-
-/*! r: index of the winning codevector */
-int16_t vquant(
- float x[], /* i : vector to quantize */
- const float x_mean[], /* i : vector mean to subtract (0 if none) */
- float xq[], /* o : quantized vector */
- const float cb[], /* i : codebook */
- const int16_t dim, /* i : dimension of codebook vectors */
- const int16_t cbsize /* i : codebook size */
-);
-
-/*! r: index of the winning codevector */
-int16_t w_vquant(
- float x[], /* i : vector to quantize */
- const float x_mean[], /* i : vector mean to subtract (0 if none) */
- const int16_t weights[], /* i : error weights */
- float xq[], /* o : quantized vector */
- const float cb[], /* i : codebook */
- const int16_t dim, /* i : dimension of codebook vectors */
- const int16_t cbsize, /* i : codebook size */
- const int16_t reverse /* i : reverse codebook vectors */
-);
-
-/*! r: index of the winning codeword */
-int16_t usquant(
- const float x, /* i : scalar value to quantize */
- float *xq, /* o : quantized value */
- const float qlow, /* i : lowest codebook entry (index 0) */
- const float delta, /* i : quantization step */
- const int16_t cbsize /* i : codebook size */
-);
-
-/*! r: dequanzited gain */
-float usdequant(
- const int16_t idx, /* i : quantizer index */
- const float qlow, /* i : lowest codebook entry (index 0) */
- const float delta /* i : quantization step */
-);
-
-void v_sort_float(
- float *r, /* i/o: Vector to be sorted in place */
- const int16_t lo, /* i : Low limit of sorting range */
- const int16_t up /* i : High limit of sorting range */
-);
-
-void sort(
- uint16_t *x, /* i/o: Vector to be sorted */
- uint16_t len /* i/o: vector length */
-);
-
-void sort_l(
- Word32 *x, /* i/o: Vector to be sorted */
- Word16 len /* i/o: vector length */
-);
-
-/*! r: variance of vector */
-float var(
- const float *x, /* i : input vector */
- const int16_t len /* i : length of inputvector */
-);
-
-/*! r: standard deviation */
-float std_dev(
- const float *x, /* i : input vector */
- const int16_t len /* i : length of the input vector */
-);
-
-/*! r: the dot product x'*A*x */
-float dot_product_mat(
- const float *x, /* i : vector x */
- const float *A, /* i : matrix A */
- const int16_t m /* i : vector length */
-);
-
-float root_a(
- float a );
-
-float root_a_over_b(
- float a,
- float b );
-
-void polezero_filter(
- const float *in, /* i : input vector */
- float *out, /* o : output vector */
- const int16_t N, /* i : input vector size */
- const float *b, /* i : numerator coefficients */
- const float *a, /* i : denominator coefficients */
- const int16_t order, /* i : filter order */
- float *mem /* i/o: filter memory */
-);
-
-double rint_new(
- double x /* i/o: Round to the nearest integer with mid point exception */
-);
-
-double anint(
- double x /* i/o: Round to the nearest integer */
-);
-
-/*! r: Output either 1 if Numeric, 0 if NaN or Inf */
-int16_t is_numeric_float(
- float x /* i : Input value which is checked if numeric or not */
-);
-
-void delay_signal_float(
- float x[], /* i/o: signal to be delayed */
- const int16_t len, /* i : length of the input signal */
- float mem[], /* i/o: synchronization memory */
- const int16_t delay /* i : delay in samples */
-);
-
-ivas_error push_indice(
- BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */
- int16_t id, /* i : ID of the indice */
- uint16_t value, /* i : value of the quantized indice */
- int16_t nb_bits /* i : number of bits used to quantize the indice */
-);
-
-ivas_error push_next_indice(
- BSTR_ENC_HANDLE hBstr,
- UWord16 value, /* i : value of the quantized indice */
- Word16 nb_bits /* i : number of bits used to quantize the indice */
-);
-
-ivas_error push_next_bits(
- 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 */
-);
-
-/*! r: maximum number of indices */
-Word16 get_ivas_max_num_indices_fx(
- const IVAS_FORMAT ivas_format, /* i : IVAS format */
- const Word32 ivas_total_brate /* i : IVAS total bitrate */
-);
-
-/*! r: maximum number of indices */
-int16_t get_BWE_max_num_indices(
- const int32_t extl_brate /* i : extensiona layer bitrate */
-);
-
-/*! r: maximum number of indices */
-Word16 get_ivas_max_num_indices_metadata_fx(
- const IVAS_FORMAT ivas_format, /* i : IVAS format */
- const Word32 ivas_total_brate /* i : IVAS total bitrate */
-);
-ivas_error ind_list_realloc(
- INDICE_HANDLE old_ind_list, /* i : pointer to the beginning of the old buffer of indices */
- const int16_t max_num_indices, /* i : new maximum number of allowed indices in the list */
- Encoder_Struct *st_ivas /* i : IVAS encoder structure */
-);
-
-ivas_error check_ind_list_limits(
- BSTR_ENC_HANDLE hBstr /* i/o: encoder bitstream handle */
-);
-
-void move_indices(
- INDICE_HANDLE old_ind_list, /* i/o: old location of indices */
- INDICE_HANDLE new_ind_list, /* i/o: new location of indices */
- const int16_t nb_indices /* i : number of moved indices */
-);
-
-/*! r: index of the indice in the list, -1 if not found */
-int16_t find_indice(
- BSTR_ENC_HANDLE hBstr, /* i : encoder bitstream handle */
- const int16_t id, /* i : ID of the indice */
- uint16_t *value, /* o : value of the quantized indice */
- int16_t *nb_bits /* o : number of bits used to quantize the indice */
-);
-
-/*! r: number of deleted indices */
-uint16_t delete_indice(
- BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */
- const int16_t id /* i : ID of the indice */
-);
-
-/*! r: value of the indice */
-uint16_t get_next_indice(
- Decoder_State *st, /* i/o: decoder state structure */
- int16_t nb_bits /* i : number of bits that were used to quantize the indice */
-);
-
-/*! r: value of the indice */
-uint16_t get_next_indice_1(
- Decoder_State *st /* i/o: decoder state structure */
-);
-
-void get_next_indice_tmp(
- Decoder_State *st, /* o : decoder state structure */
- int16_t nb_bits /* i : number of bits that were used to quantize the indice */
-);
-
-/*! r: value of the indice */
-uint16_t get_indice(
- Decoder_State *st, /* i/o: decoder state structure */
- int16_t pos, /* i : absolute position in the bitstream */
- int16_t nb_bits /* i : number of bits that were used to quantize the indice */
-);
-
-/*! r: value of the indice */
-uint16_t get_indice_1(
- Decoder_State *st, /* i/o: decoder state structure */
- int16_t pos /* i : absolute position in the bitstream */
-);
-
-void reset_indices_enc(
- BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */
- const int16_t max_num_indices /* i : max number of indices */
-);
-
-void reset_indices_dec(
- Decoder_State *st /* i/o: decoder state structure */
-);
-
-ivas_error write_indices_ivas(
- Encoder_Struct *st_ivas, /* i/o: encoder state structure */
- uint16_t *bit_stream, /* i/o: output bitstream */
- uint16_t *num_bits /* i/o: number of bits written to output */
-);
-
-Word16 rate2EVSmode_float(
- const Word32 brate, /* i : bitrate */
- int16_t *is_amr_wb /* o : (flag) does the bitrate belong to AMR-WB? Can be NULL */
-);
-
-
-/*! r: 1 = OK, 0 = something wrong */
-ivas_error read_indices(
- Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */
- uint16_t bit_stream[], /* i : bitstream buffer */
- UWord16 num_bits, /* i : number of bits in bitstream */
- int16_t *prev_ft_speech,
- int16_t *CNG,
- int16_t bfi /* i : bad frame indicator */
-);
-
-
-void ivas_set_bitstream_pointers(
- Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */
-);
-
-Decoder_State **reset_elements(
- Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */
-);
-
-
-void convertSerialToBytestream(
- const uint16_t *const serial, /* i : input serial bitstream with values 0 and 1 */
- const uint16_t num_bits, /* i : number of bits in the input bitstream */
- uint8_t *const bytestream /* o : output compact bitstream (bytestream) */
-);
-
-void convertBytestreamToSerial(
- const uint8_t *const bytestream, /* i : input compact bitstream (bytestream) */
- const uint16_t num_bits, /* i : number of bits in the input bitstream */
- uint16_t *const serial /* o : output serial bitstream with values 0 and 1 */
-);
-
-void mdct_switching_dec(
- Decoder_State *st /* i/o: decoder state structure */
-);
-
-void evs_dec_previewFrame_float(
- uint8_t *bitstream, /* i : bitstream pointer */
- int16_t bitstreamSize, /* i : bitstream size */
- int16_t *partialCopyFrameType, /* o : frame type of the partial copy */
- int16_t *partialCopyOffset /* o : offset of the partial copy relative to the primary copy */
-);
-
-
-void getPartialCopyInfo_float(
- Decoder_State *st, /* i : decoder state structure */
- int16_t *sharpFlag );
-
-void get_NextCoderType(
- uint8_t *bitstream, /* i : bitstream */
- int16_t *next_coder_type /* o : next coder type */
-);
-
-int16_t print_disclaimer(
- FILE *fPtr );
-
-
-/*! r: delay value in ns */
-int32_t get_delay(
- const int16_t enc_dec, /* i : encoder/decoder flag */
- const int32_t io_fs, /* i : input/output sampling frequency */
- const IVAS_FORMAT ivas_format, /* i : IVAS format */
- HANDLE_CLDFB_FILTER_BANK hCldfb /* i : Handle of Cldfb analysis */
-);
-
-void decision_matrix_enc(
- Encoder_State *st, /* i/o: encoder state structure */
- int16_t *hq_core_type /* o : HQ core type */
-);
-
-void signaling_enc(
- Encoder_State *st /* i : encoder state structure */
-);
-
-int16_t signaling_mode1_tcx20_enc(
- Encoder_State *st, /* i/o: encoder state structure */
- const int16_t push /* i : flag to push indice */
-);
-
-void decision_matrix_dec(
- Decoder_State *st, /* i/o: decoder state structure */
- int16_t *sharpFlag, /* o : formant sharpening flag */
- int16_t *hq_core_type, /* o : HQ core type */
- int16_t *core_switching_flag /* o : ACELP->HQ switching frame flag */
-);
-
-
-void amr_wb_dec_init(
- AMRWB_IO_DEC_HANDLE hAmrwb_IO /* i/o: AMR-WB IO data handle */
-);
-
-void hf_synth_amr_wb_init(
- AMRWB_IO_DEC_HANDLE hAmrwb_IO /* i/o: AMR-WB IO data handle */
-);
-
-void hf_synth_amr_wb_reset(
- AMRWB_IO_DEC_HANDLE hAmrwb_IO, /* i/o: AMR-WB IO data handle */
- ZERO_BWE_DEC_HANDLE hBWE_zero /* o : zero BWE decoder handle */
-);
-
-void hf_synth_amr_wb(
- AMRWB_IO_DEC_HANDLE hAmrwb_IO, /* i/o: AMR-WB IO data handle */
- ZERO_BWE_DEC_HANDLE hBWE_zero, /* o : zero BWE decoder handle */
- const int32_t core_brate, /* i : core bitrate */
- const int16_t output_frame, /* i : output frame length */
- const float *Aq, /* i : quantized Az */
- const float *exc, /* i : excitation at 12.8 kHz */
- float *synth, /* i/o: synthesis signal at 12.8 kHz */
- int16_t *amr_io_class, /* i : signal class (determined by FEC algorithm) */
- float *synth_out, /* i/o: synthesis signal at output Fs */
- float fmerit, /* i : classify parameter from FEC */
- const int16_t *hf_gain, /* i : decoded HF gain */
- const float *voice_factors, /* i : voicing factors */
- const float pitch_buf[], /* i : pitch buffer */
- const float ng_ener_ST, /* i : Noise gate - short-term energy */
- const float *lsf_new /* i : ISF vector */
-);
-
-void hf_cod_init(
- float *mem_hp400_enc, /* o : memory of hp 400 Hz filter */
- float *mem_hf1_enc, /* o : HF band-pass filter memory */
- float *mem_syn_hf_enc, /* o : HF synthesis memory */
- float *mem_hf2_enc, /* o : HF band-pass filter memory */
- float *gain_alpha /* o : smoothing gain for transitions between active and inactive frames */
-);
-
-void hf_cod(
- const int32_t core_brate, /* i : core bitrate */
- const float *speech16k, /* i : original speech at 16 kHz */
- const float Aq[], /* i : quantized Aq */
- const float exc[], /* i : excitation at 12.8 kHz */
- float synth[], /* i : 12.8kHz synthesis signal */
- int16_t *seed2_enc, /* i/o: random seed for HF noise gen */
- float *mem_hp400_enc, /* i/o: memory of hp 400 Hz filter */
- float *mem_syn_hf_enc, /* i/o: HF synthesis memory */
- float *mem_hf1_enc, /* i/o: HF band-pass filter memory */
- float *mem_hf2_enc, /* i/o: HF band-pass filter memory */
- const int16_t *dtxHangoverCount,
- float *gain_alpha, /* i/o: smoothing gain for transitions between active and inactive frames */
- int16_t *hf_gain /* o : HF gain to be transmitted to decoder */
-);
-
-void hf_synth_init(
- ZERO_BWE_DEC_HANDLE hBWE_zero /* o : zero BWE decoder handle */
-);
-
-void hf_synth_reset(
- ZERO_BWE_DEC_HANDLE hBWE_zero /* o : zero BWE decoder handle */
-);
-
-void hf_synth(
- ZERO_BWE_DEC_HANDLE hBWE_zero, /* o : zero BWE decoder handle */
- const int32_t core_brate, /* i : core bitrate */
- const int16_t output_frame, /* i : output frame length */
- const float *Aq, /* i : quantized Az */
- const float *exc, /* i : excitation at 12.8 kHz */
- float *synth, /* i/o: 12.8kHz synthesis signal */
- float *synth16k /* i/o: 16kHz synthesis signal */
-);
-
-void fft_rel(
- float x[], /* i/o: input/output vector */
- const int16_t n, /* i : vector length */
- const int16_t m /* i : log2 of vector length */
-);
-
-void ifft_rel(
- float io[], /* i/o: input/output vector */
- const int16_t n, /* i : vector length */
- const int16_t m /* i : log2 of vector length */
-);
-
-void preemph(
- float *signal, /* i/o: signal */
- const float mu, /* i : preemphasis factor */
- const int16_t L, /* i : vector size */
- float *mem /* i/o: memory (x[-1]) */
-);
-void preemph_ivas_fx(
- Word32 *signal, /* i/o: signal Qx*/
- const Word16 mu, /* i : preemphasis factor Q15*/
- const Word16 L, /* i : vector size Q0*/
- Word32 *mem /* i/o: memory (x[-1]) Qx*/
-);
-
-void cb_shape(
- const int16_t preemphFlag, /* i : flag for pre-emphasis */
- const int16_t pitchFlag, /* i : flag for pitch sharpening */
- const int16_t scramblingFlag, /* i : flag for phase scrambling */
- const int16_t formantFlag, /* i : flag for formant sharpening */
- const int16_t formantTiltFlag, /* i : flag for formant tilt */
- const float g1, /* i : formant sharpening numerator weighting */
- const float g2, /* i : formant sharpening denominator weighting */
- const float *p_Aq, /* i : LP filter coefficients */
- float *code, /* i/o: signal to shape */
- const float tilt_code, /* i : tilt of code */
- const float pt_pitch, /* i : pointer to current subframe fractional pitch*/
- const int16_t L_subfr /* i : subfframe length */
-);
-
-void CNG_exc(
- const int32_t core_brate, /* i : core bitrate */
- const int16_t L_frame, /* i : length of the frame */
- float *Enew, /* i/o: decoded SID energy */
- int16_t *seed, /* i/o: random generator seed */
- float exc[], /* o : current non-enhanced excitation */
- float exc2[], /* o : current enhanced excitation */
- float *lp_ener, /* i/o: LP filtered E */
- const int32_t last_core_brate, /* i : previous frame core bitrate */
- int16_t *first_CNG, /* i/o: first CNG frame flag for energy init. */
- int16_t *cng_ener_seed, /* i/o: random generator seed for CNG energy */
- float bwe_exc[], /* o : excitation for SWB TBE */
- const int16_t allow_cn_step, /* i : allow CN step */
- int16_t *last_allow_cn_step, /* i/o: last CN_step */
- const int16_t num_ho, /* i : number of selected hangover frames */
- float q_env[],
- float *lp_env,
- float *old_env,
- float *exc_mem,
- float *exc_mem1,
- int16_t *sid_bw,
- int16_t *cng_ener_seed1,
- float exc3[],
- const int16_t Opt_AMR_WB, /* i : AMR-WB interop flag */
- const int16_t element_mode /* i : IVAS Element mode */
-);
-
-
-void cng_params_postupd(
- const int16_t ho_circ_ptr, /* i : pointer for CNG averaging buffers */
- int16_t *cng_buf_cnt, /* i/o: counter for CNG store buffers */
- const float *cng_exc2_buf, /* i : Excitation buffer */
- const int32_t *cng_brate_buf, /* i : bitrate buffer */
- float ho_env_circ[], /* i/o: Envelope buffer */
- const int16_t element_mode, /* i : Element mode */
- const int16_t bwidth /* i : audio bandwidth */
-);
-
-void calculate_hangover_attenuation_gain(
- Encoder_State *st, /* i : encoder state structure */
- float *att, /* o : attenuation factor */
- const int16_t vad_hover_flag /* i : VAD hangover flag */
-);
-
-int16_t get_cng_mode_ivas(
- const int32_t last_active_brate /* i : last active bitrate */
-);
-
-void disf_ns_28b(
- int16_t *indice, /* i : quantized indices, use indice[0] = -1 in the decoder*/
- float *isf_q /* o : ISF in the frequency domain (0..6400) */
-);
-
-void limit_T0(
- const int16_t L_frame, /* i : length of the frame */
- const int16_t delta, /* i : Half the close-loop searched interval */
- const int16_t pit_flag, /* i : selecting absolute(0) or delta(1) pitch quantization */
- const int16_t limit_flag, /* i : flag for limits (0=restrained, 1=extended) */
- const int16_t T0, /* i : rough pitch estimate around which the search is done */
- const int16_t T0_frac, /* i : pitch estimate fractional part */
- int16_t *T0_min, /* o : lower pitch limit */
- int16_t *T0_max /* o : higher pitch limit */
-);
-
-/*! r: interpolated value */
-float interpolation(
- const float *x, /* i : input vector */
- const float *win, /* i : interpolation window */
- const int16_t frac, /* i : fraction */
- const int16_t up_samp, /* i : upsampling factor */
- const int16_t nb_coef /* i : nb of filter coef */
-);
-
-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]) */
-);
-
-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 */
-);
-
-void weight_a_subfr(
- const int16_t nb_subfr, /* i : number of subframes */
- 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 */
-);
-
-void syn_12k8(
- const int16_t L_frame, /* i : length of the frame */
- const float *Aq, /* i : LP filter coefficients */
- const float *exc, /* i : input signal */
- float *synth, /* o : output signal */
- float *mem, /* i/o: initial filter states */
- const int16_t update_m /* i : update memory flag: 0 --> no memory update */
-); /* 1 --> update of memory */
-
-void syn_filt(
- const float a[], /* i : LP filter coefficients */
- const int16_t m, /* i : order of LP filter */
- const float x[], /* i : input signal */
- float y[], /* o : output signal */
- const int16_t l, /* i : size of filtering */
- float mem[], /* i/o: initial filter states */
- const int16_t update_m /* i : update memory flag: 0 --> no memory update */
-); /* 1 --> update of memory */
-
-void synth_mem_updt2_flt(
- const int16_t L_frame, /* i : frame length */
- const int16_t last_L_frame, /* i : frame length */
- float old_exc[], /* i/o: excitation buffer */
- float mem_syn_r[], /* i/o: synthesis filter memory */
- float mem_syn2[], /* o : synthesis filter memory for find_target */
- float mem_syn[], /* o : synthesis filter memory for find_target */
- const int16_t dec /* i : flag for decoder indication */
-);
-
-void int_lsp(
- const int16_t L_frame, /* i : length of the frame */
- const float lsp_old[], /* i : LSPs from past frame */
- const float lsp_new[], /* i : LSPs from present frame */
- float *Aq, /* o : LP coefficients in both subframes */
- const int16_t m, /* i : order of LP filter */
- const float *int_coeffs, /* i : interpolation coefficients */
- const int16_t Opt_AMR_WB /* i : flag indicating AMR-WB IO mode */
-);
-
-void int_lsp4(
- const int16_t L_frame, /* i : length of the frame */
- const float lsp_old[], /* i : previous end-frame LSPs */
- const float lsp_mid[], /* i : current mid-frame LSPs */
- const float lsp_new[], /* i : current end-frame LSPs */
- float *Aq, /* o : LP coefficients in both subframes */
- const int16_t m, /* i : order of LP filter */
- int16_t relax_prev_lsf_interp /* i : relax prev frame lsf interp after erasure */
-);
-
-/*! r: length of output */
-int16_t modify_Fs(
- const float sigIn[], /* i : signal to decimate */
- const int16_t lg, /* i : length of input */
- const int32_t fin, /* i : frequency of input */
- float sigOut[], /* o : decimated signal */
- const int32_t fout, /* i : frequency of output */
- float mem[], /* i/o: filter memory */
- const int16_t nblp /* i : flag indicating if NB low-pass is applied */
-);
-
-void pred_lt4_flt(
- const float excI[], /* i : input excitation buffer */
- float excO[], /* o : output excitation buffer */
- const int16_t T0, /* i : integer pitch lag */
- int16_t frac, /* i : fraction of lag */
- const int16_t L_subfr, /* i : subframe size */
- const float *win, /* i : interpolation window */
- const int16_t nb_coef, /* i : nb of filter coef */
- const int16_t up_sample /* i : up_sample */
-);
-
-void pred_lt4_tc_flt(
- float exc[], /* i : excitation buffer */
- const int16_t T0, /* i : integer pitch lag */
- int16_t frac, /* i : fraction of lag */
- const float *win, /* i : interpolation window */
- const int16_t imp_pos, /* i : glottal impulse position */
- const int16_t i_subfr /* i : subframe index */
-);
-
-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 */
-);
-
-void calc_residu(
- const float *speech, /* i : weighted speech signal */
- float *res, /* o : residual signal */
- const float *p_Aq, /* i : quantized LP filter coefficients */
- const int16_t L_frame /* i : size of frame */
-);
-
-/*! r: impulse response energy */
-float enr_1_Az(
- const float Aq[], /* i : LP filter coefs */
- const int16_t len /* i : impulse response length */
-);
-
-void Es_pred_enc(
- float *Es_pred, /* o : predicited scaled innovation energy */
- int16_t *Es_pred_indice, /* o : indice corresponding to above parameter */
- const int16_t L_frame, /* i : length of the frame */
- const int16_t L_subfr, /* i : length of the subframe */
- const float *res, /* i : residual signal */
- const float *voicing, /* i : normal. correlattion in three 1/2frames */
- const int16_t nb_bits, /* i : allocated number of bits */
- const int16_t no_ltp /* i : no_ltp flag */
-);
-
-void create_offset(
- UWord32 *offset_scale1,
- UWord32 *offset_scale2,
- const int16_t mode,
- const int16_t prediction_flag );
-
-float mslvq(
- float *pTmp, /* i : M-dimensional input vector */
- float *quant, /* o : quantized vector */
- float *cv_out, /* o : corresponding 8-dim lattice codevectors (without the scaling) */
- int16_t *idx_lead, /* o : leader index for each 8-dim subvector */
- int16_t *idx_scale, /* o : scale index for each subvector */
- const float *w, /* i : weights for LSF quantization */
- const int16_t mode, /* i : number indicating the coding mode */
- const int16_t mode_glb, /* i : LVQ coding mode */
- const int16_t pred_flag /* i : prediction flag (0: safety net, 1 - predictive )*/
-);
-
-void permute(
- float *pTmp1, /* i/o: vector whose components are to be permuted */
- const int16_t *perm /* i : permutation info (indexes that should be interchanged), max two perms */
-);
-
-void sort_desc_ind(
- float *s,
- const int16_t len,
- int16_t *ind );
-
-float mslvq_cng(
- int16_t idx_cv, /* i : index of cv from previous stage */
- float *pTmp, /* i : 16 dimensional input vector */
- float *quant, /* o : quantized vector */
- float *cv_out, /* o : corresponding 8-dim lattice codevectors (without the scaling) */
- int16_t *idx_lead, /* o : leader index for each 8-dim subvector */
- int16_t *idx_scale, /* o : scale index for each subvector */
- const float *w /* i : weights for LSF quantization */
-);
-
-int16_t deindex_lvq_cng(
- int16_t *index, /* i : index to be decoded, as an array of 3 short */
- float *x_lvq, /* o : decoded codevector */
- const int16_t idx_cv, /* i : relative mode_lvq, wrt START_CNG */
- const int16_t no_bits /* i : number of bits for lattice */
-);
-
-void multiply32_32_64(
- UWord32 x, /* i : operand 1 */
- UWord32 y, /* i : operand 2 */
- UWord32 *res /* o : result as array of two uint32 */
-);
-
-int16_t deindex_lvq(
- int16_t *index, /* i : index to be decoded, as an array of 3 short */
- float *x_lvq, /* o : decoded codevector */
- const int16_t mode, /* i : LVQ coding mode (select scales & no_lead ), or idx_cv */
- const int16_t sf_flag, /* i : safety net flag */
- const int16_t no_bits /* i : number of bits for lattice */
-);
-
-void index_lvq(
- float *quant, /* i : codevector to be indexed (2 8-dim subvectors) */
- int16_t *idx_lead, /* i : leader class index for each subvector */
- int16_t *idx_scale, /* i : scale index for each subvector */
- const int16_t mode, /* i : integer signaling the quantizer structure for the current bitrate */
- int16_t *index, /* o : encoded index (represented on 3 short each with 15 bits ) */
- const int16_t prediction_flag /* i : predictive mode or not */
-);
-
-int16_t qlsf_ARSN_tcvq_Dec_16k(
- float *y, /* o : Quantized LSF vector */
- int16_t *indice, /* i : Indices */
- const int16_t nBits /* i : number of bits */
-);
-
-
-int16_t lsf_bctcvq_decprm_ivas(
- Decoder_State *st,
- int16_t *param_lpc );
-
-
-void disf_2s_36b(
- int16_t *indice, /* i : quantized indices (use indice[0] = -1 in the decoder) */
- float *isf_q, /* o : quantized ISFs in the cosine domain */
- float *mem_AR, /* i/o: quantizer memory for AR model */
- float *mem_MA /* i/o: quantizer memory for MA model */
-);
-
-void disf_2s_46b(
- int16_t *indice, /* i : quantized indices (use indice[0] = -1 in the decoder) */
- float *isf_q, /* o : quantized ISFs in the cosine domain */
- float *mem_AR, /* o : quantizer memory for AR model */
- float *mem_MA /* i/o: quantizer memory for MA model */
-);
-
-void re8_k2y(
- const int16_t *k, /* i : Voronoi index k[0..7] */
- const int16_t m, /* i : Voronoi modulo (m = 2^r = 1<=2) */
- int16_t *y /* o : 8-dimensional point y[0..7] in RE8 */
-);
-
-void re8_PPV(
- const float x[], /* i : point in R^8 */
- int16_t y[] /* o : point in RE8 (8-dimensional integer vector) */
-);
-
-void enhancer(
- const int16_t codec_mode, /* i : flag indicating Codec Mode */
- const int32_t core_brate, /* i : core bitrate */
- const int16_t cbk_index, /* i : */
- const int16_t Opt_AMR_WB, /* i : flag indicating AMR-WB IO mode */
- const int16_t coder_type, /* i : coding type */
- const int16_t L_frame, /* i : frame size */
- const float voice_fac, /* i : subframe voicing estimation */
- const float stab_fac, /* i : LP filter stablility measure */
- const float norm_gain_code, /* i : normalized innovative cb. gain */
- const float gain_inov, /* i : gain of the unscaled innovation */
- float *gc_threshold, /* i/o: code threshold */
- float *code, /* i/o: innovation */
- float *exc2, /* i/o: adapt. excitation/total exc. */
- const float gain_pit, /* i : Quantized pitch gain */
- float *dispMem /* i/o: Phase dispersion algorithm memory */
-);
-
-void phase_dispersion_flt(
- const float gain_code, /* i : gain of code */
- const float gain_pit, /* i : gain of pitch */
- float code[], /* i/o: code vector */
- const int16_t mode, /* i : level, 0=hi, 1=lo, 2=off */
- float disp_mem[] /* i/o: static memory (size = 8) */
-);
-
-void re8_vor(
- int16_t y[], /* i : point in RE8 (8-dimensional integer vector) */
- int16_t *n, /* o : codebook number n=0,2,3,4,... (scalar integer) */
- int16_t k[], /* o : Voronoi index (integer vector of dimension 8) used only if n>4 */
- int16_t c[], /* o : codevector in Q0, Q2, Q3, or Q4 if n<=4, y=c */
- int16_t *ka /* o : identifier of absolute leader (needed to index c)*/
-);
-
-void DoRTFT480(
- float *x, /* i/o: real part of input and output data */
- float *y /* i/o: imaginary part of input and output data */
-);
-
-void DoRTFT320(
- float *x, /* i/o: real part of input and output data */
- float *y /* i/o: imaginary part of input and output data */
-);
-
-void DoRTFT160(
- float *x, /* i/o: real part of input and output data */
- float *y /* i/o: imaginary part of input and output data */
-);
-
-void DoRTFT128(
- float *x, /* i/o: real part of input and output data */
- float *y /* i/o: imaginary part of input and output data */
-);
-
-void DoRTFT120(
- float *x, /* i/o: real part of input and output data */
- float *y /* i/o: imaginary part of input and output data */
-);
-
-void DoRTFT80(
- float *x, /* i/o: real part of input and output data */
- float *y /* i/o: imaginary part of input and output data */
-);
-
-void DoRTFT20(
- float *x, /* i/o: real part of input and output data */
- float *y /* i/o: imaginary part of input and output data */
-);
-
-void DoRTFT40(
- float *x, /* i/o: real part of input and output data */
- float *y /* i/o: imaginary part of input and output data */
-);
-
-void DoRTFTn(
- float *x, /* i/o: real part of input and output data */
- float *y, /* i/o: imaginary part of input and output data */
- const int16_t n /* i : size of the FFT n=(2^k) up to 1024 */
-);
-
-void BASOP_cfft_ivas(
- Word32 *re, /* i/o: real part */
- Word32 *im, /* i/o: imag part */
- Word16 s, /* i : stride real and imag part */
- Word16 *scale /* i : scalefactor */
-);
-
-void fft(
- float *re, /* i/o: real part */
- float *im, /* i/o: imag part */
- const int16_t length, /* i : length of fft */
- const int16_t s /* i : sign */
-);
-
-void rfft(
- float *x, /* i/o: values */
- const float *w, /* i : window */
- const int16_t length, /* i : length of fft */
- const int16_t isign /* i : sign */
-);
-
-void sinq(
- const float tmp, /* i : sinus factor cos(tmp*i+phi) */
- const float phi, /* i : sinus phase cos(tmp*i+phi) */
- const int16_t N, /* i : size of output */
- float x[] /* o : output vector */
-);
-
-void edct2(
- const int16_t n,
- const int16_t isgn,
- float *in,
- float *a,
- const int16_t *ip,
- const float *w );
-
-void stat_noise_uv_mod(
- const int16_t coder_type, /* i : coder type */
- float noisiness, /* i : noisiness parameter */
- const float *const lsp_old, /* i : old LSP vector at 4th sfr */
- const float *const lsp_new, /* i : LSP vector at 4th sfr */
- const float *const lsp_mid, /* i : LSP vector at 2nd sfr */
- float *Aq, /* o : A(z) quantized for the 4 subframes */
- float *exc2, /* o : excitation buffer */
- const int16_t bfi, /* i : bad frame indicator */
- float *ge_sm, /* i/o: smoothed excitation gain */
- int16_t *uv_count, /* i/o: unvoiced counter */
- int16_t *act_count, /* i/o: activation counter */
- float lspold_s[], /* i/o: old LSP */
- int16_t *noimix_seed, /* i/o: mixture seed */
- float *st_min_alpha, /* i/o: minimum alpha */
- float *exc_pe, /* i/o: memory of the preemphasis filter */
- const int32_t bitrate, /* i : core bitrate */
- const int16_t bwidth /* i : audio bandwidth */
-);
-
-void limit_band_noise_level_calc(
- const int16_t *wnorm, /* i : reordered norm of sub-vectors */
- int16_t *limit, /* o : highest band of bit allocation */
- const int32_t core_brate, /* i : core bitrate */
- float *noise_level /* o : noise level */
-);
-
-/*! r: hqswb_clas */
-int16_t peak_avrg_ratio(
- const int32_t total_brate, /* i : total bitrate */
- const float *input_hi, /* i : input signal */
- const int16_t N, /* i : number of coefficients */
- int16_t *mode_count, /* i/o: HQ_HARMONIC mode count */
- int16_t *mode_count1 /* i/o: HQ_NORMAL mode count */
-);
-
-/*! r: Number of coefficients in nf codebook */
-int16_t build_nf_codebook(
- const int16_t flag_32K_env_ho, /* i : Envelope attenuation hangover flag */
- const float *coeff, /* i : Coded spectral coefficients */
- const int16_t *sfm_start, /* i : Subband start indices */
- const int16_t *sfmsize, /* i : Subband widths */
- const int16_t *sfm_end, /* i : Subband end indices */
- const int16_t nb_sfm, /* i : Last coded band */
- const int16_t *R, /* i : Per-band bit allocation */
- float *CodeBook, /* o : Noise-fill codebook */
- float *CodeBook_mod /* o : Densified noise-fill codebook */
-);
-
-void apply_noisefill_HQ(
- const int16_t *R, /* i : bit allocation */
- const int16_t length, /* i : input frame length */
- const int16_t flag_32K_env_ho, /* i : envelope stability hangover flag */
- const int32_t core_brate, /* i : core bitrate */
- const int16_t last_sfm, /* i : last coded subband */
- const float *CodeBook, /* i : Noise-fill codebook */
- const float *CodeBook_mod, /* i : Densified noise-fill codebook */
- const int16_t cb_size, /* i : Codebook length */
- const int16_t *sfm_start, /* i : Subband start coefficient */
- const int16_t *sfm_end, /* i : Subband end coefficient */
- const int16_t *sfmsize, /* i : Subband band width */
- float *coeff /* i/o: coded/noisefilled spectrum */
-);
-
-void harm_bwe_fine(
- const int16_t *R, /* i : bit allocation */
- const int16_t last_sfm, /* i : last coded subband */
- const int16_t high_sfm, /* i : higher transition band to BWE */
- const int16_t num_sfm, /* i : total number of bands */
- const int16_t *norm, /* i : quantization indices for norms */
- const int16_t *sfm_start, /* i : Subband start coefficient */
- const int16_t *sfm_end, /* i : Subband end coefficient */
- int16_t *prev_L_swb_norm, /* i/o: last normalize length */
- float *coeff, /* i/o: coded/noisefilled normalized spectrum */
- float *coeff_out, /* o : coded/noisefilled spectrum */
- float *coeff_fine /* o : BWE fine structure */
-);
-
-void hvq_bwe_fine(
- const int16_t last_sfm, /* i : last coded subband */
- const int16_t num_sfm, /* i : total number of bands */
- const int16_t *sfm_end, /* i : Subband end coefficient */
- const int16_t *peak_idx, /* i : Peak index */
- const int16_t Npeaks, /* i : Number of peaks */
- int16_t *peak_pos, /* i/o: Peak positions */
- int16_t *prev_L_swb_norm, /* i/o: last normalize length */
- float *coeff, /* i/o: coded/noisefilled normalized spectrum */
- int16_t *bwe_peaks, /* o : Positions of peaks in BWE */
- float *coeff_fine /* o : HVQ BWE fine structure */
-);
-
-void hq_fold_bwe(
- const int16_t last_sfm, /* i : last coded subband */
- const int16_t *sfm_end, /* i : Subband end coefficient */
- const int16_t num_sfm, /* i : Number of subbands */
- float *coeff /* i/o: coded/noisefilled normalized spectrum */
-);
-
-void apply_nf_gain(
- const int16_t nf_idx, /* i : noise fill gain index */
- const int16_t last_sfm, /* i : last coded subband */
- const int16_t *R, /* i : bit allocation */
- const int16_t *sfm_start, /* i : Subband start coefficient */
- const int16_t *sfm_end, /* i : Subband end coefficient */
- float *coeff /* i/o: coded/noisefilled normalized spectrum */
-
-);
-
-void hq_generic_fine(
- float *coeff, /* i : coded/noisefilled normalized spectrum */
- const int16_t last_sfm, /* i : Last coded band */
- const int16_t *sfm_start, /* i : Subband start coefficient */
- const int16_t *sfm_end, /* i : Subband end coefficient */
- int16_t *bwe_seed, /* i/o: random seed for generating BWE input */
- float *coeff_out1 /* o : HQ GENERIC input */
-);
-
-void harm_bwe(
- const float *coeff_fine, /* i : fine structure for BWE */
- const float *coeff, /* i : coded/noisefilled normalized spectrum */
- const int16_t num_sfm, /* i : Number of subbands */
- const int16_t *sfm_start, /* i : Subband start coefficient */
- const int16_t *sfm_end, /* i : Subband end coefficient */
- const int16_t last_sfm, /* i : last coded subband */
- const int16_t high_sfm, /* i : higher transition band to BWE */
- const int16_t *R, /* i : bit allocation */
- const int16_t prev_hq_mode, /* i : previous hq mode */
- int16_t *norm, /* i/o: quantization indices for norms */
- float *noise_level, /* i/o: noise levels for harmonic modes */
- float *prev_noise_level, /* i/o: noise factor in previous frame */
- int16_t *bwe_seed, /* i/o: random seed for generating BWE input */
- float *coeff_out, /* o : coded/noisefilled spectrum */
- const int16_t element_mode /* i : element mode */
-);
-
-void hvq_bwe(
- const float *coeff, /* i : coded/noisefilled spectrum */
- const float *coeff_fine, /* i : BWE fine structure */
- const int16_t *sfm_start, /* i : Subband start coefficient */
- const int16_t *sfm_end, /* i : Subband end coefficient */
- const int16_t *sfm_len, /* i : Subband length */
- const int16_t last_sfm, /* i : last coded subband */
- const int16_t prev_hq_mode, /* i : previous hq mode */
- const int16_t *bwe_peaks, /* i : HVQ bwe peaks */
- const int16_t bin_th, /* i : HVQ transition bin */
- const int16_t num_sfm, /* i : Number of bands */
- const int32_t core_brate, /* i : Core bitrate */
- const int16_t *R, /* i : Bit allocation */
- int16_t *norm, /* i/o: quantization indices for norms */
- float *noise_level, /* i/o: noise levels for harmonic modes */
- float *prev_noise_level, /* i/o: noise factor in previous frame */
- int16_t *bwe_seed, /* i/o: random seed for generating BWE input */
- float *coeff_out /* o : coded/noisefilled spectrum */
-);
-
-void hvq_concat_bands(
- const int16_t pvq_bands, /* i : Number of bands in concatenated PVQ target */
- const int16_t *sel_bnds, /* i : Array of selected high bands */
- const int16_t n_sel_bnds, /* i : Number of selected high bands */
- int16_t *hvq_band_start, /* o : Band start indices */
- int16_t *hvq_band_width, /* o : Band widths */
- int16_t *hvq_band_end /* o : Band end indices */
-);
-
-void hq_generic_bwe(
- const int16_t HQ_mode, /* i : HQ mode */
- float *coeff_out1, /* i/o: BWE input & temporary buffer */
- const float *hq_generic_fenv, /* i : SWB frequency envelopes */
- float *coeff_out, /* o : SWB signal in MDCT domain */
- const int16_t hq_generic_offset, /* i : frequency offset for representing hq generic*/
- int16_t *prev_L_swb_norm, /* i/o: last normalize length */
- const int16_t hq_generic_exc_clas, /* i : hq generic hf excitation class */
- const int16_t *sfm_end, /* i : End of bands */
- const int16_t num_sfm, /* i : Number of bands */
- const int16_t num_env_bands, /* i : Number of coded envelope bands */
- const int16_t *R /* i : Bit allocation */
-);
-
-void map_hq_generic_fenv_norm(
- const int16_t hqswb_clas, /* i : signal classification flag */
- const float *hq_generic_fenv, /* i : HQ GENERIC envelope */
- int16_t *ynrm, /* o : high band norm indices */
- int16_t *normqlg2, /* o : high band norm values */
- const int16_t num_env_bands, /* i : Number coded envelope bands */
- const int16_t nb_sfm, /* i : Number of envelope bands */
- const int16_t hq_generic_offset /* i : Freq offset for HQ GENERIC */
-);
-
-/*! r: Number of bits consumed for the delta coding */
-int16_t calc_nor_delta_hf(
- BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */
- const float *t_audio, /* i : transform-domain coefficients */
- int16_t *ynrm, /* i/o: norm indices */
- int16_t *Rsubband, /* i/o: sub-band bit allocation */
- const int16_t num_env_bands, /* i : Number coded envelope bands */
- const int16_t nb_sfm, /* i : Number of envelope bands */
- const int16_t *sfmsize, /* i : band length */
- const int16_t *sfm_start, /* i : Start index of bands */
- const int16_t core_sfm /* i : index of the end band for core */
-);
-
-/*! r: Number of bits consumed for the delta coding */
-int16_t get_nor_delta_hf(
- Decoder_State *st, /* i/o: Decoder state */
- int16_t *ynrm, /* i/o: norm indices */
- int16_t *Rsubband, /* i/o: sub-band bit allocation */
- const int16_t num_env_bands, /* i : Number coded envelope bands */
- const int16_t nb_sfm, /* i : Number of envelope bands */
- const int16_t core_sfm ); /* i : index of the end band for core */
-
-void hq_wb_nf_bwe(
- const float *coeff, /* i : coded/noisefilled normal. spectrum */
- const int16_t is_transient, /* i : is transient flag */
- const int16_t prev_bfi, /* i : previous bad frame indicator */
- const float *normq_v, /* i : norms */
- const int16_t num_sfm, /* i : Number of subbands */
- const int16_t *sfm_start, /* i : Subband start coefficient */
- const int16_t *sfm_end, /* i : Subband end coefficient */
- const int16_t *sfmsize, /* i : Subband band width */
- const int16_t last_sfm, /* i : last coded subband */
- const int16_t *R, /* i : bit allocation */
- const int16_t prev_is_transient, /* i : previous transient flag */
- float *prev_normq, /* i/o: previous norms */
- float *prev_env, /* i/o: previous noise envelopes */
- int16_t *bwe_seed, /* i/o: random seed for generating BWE input */
- float *prev_coeff_out, /* i/o: decoded spectrum in previous frame */
- int16_t *prev_R, /* i/o: previous frame bit allocation info. */
- float *coeff_out /* o : coded/noisefilled spectrum */
-);
-
-/*! r: Number of bits */
-int16_t encode_envelope_indices(
- BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */
- const int16_t num_sfm, /* i : Number of subbands */
- const int16_t numnrmibits, /* i : Bitrate of fall-back coding mode */
- int16_t *difidx, /* i/o: Diff indices/encoded diff indices */
- int16_t *LCmode, /* o : Coding mode */
- const int16_t flag_pack, /* i : indicator of packing or estimating bits */
- const int16_t flag_HQ2, /* i : indicator of HQ2 core */
- const int16_t is_transient /* i : transient flag */
-);
-
-void diff_envelope_coding(
- const int16_t is_transient, /* i : transient indicator */
- const int16_t num_env_bands, /* i : number of envelope bands to code */
- const int16_t start_norm, /* i : start of envelope coding */
- int16_t *ynrm, /* i/o: quantization indices for norms */
- int16_t *normqlg2, /* i/o: quantized norms */
- int16_t *difidx /* o : differential code */
-);
-
-/*! r: Number of bits */
-int16_t decode_envelope_indices(
- Decoder_State *st, /* i/o: decoder state structure */
- const int16_t start_norm, /* i : First SDE encoded norm */
- const int16_t num_sfm, /* i : Number of norms */
- const int16_t numnrmibits, /* i : Bitrate of fall-back coding mode */
- int16_t *ynrm, /* o : Decoded norm indices */
- const int16_t flag_HQ2, /* i : indicator of HQ2 core */
- const int16_t is_transient /* i : transient flag */
-);
-
-/*! r: Number of bits */
-void dequantize_norms(
- Decoder_State *st, /* i/o: decoder state structure */
- const int16_t start_norm, /* i : First SDE encoded norm */
- const int16_t num_sfm, /* i : Number of norms */
- const int16_t is_transient, /* i : Transient flag */
- int16_t *ynrm, /* o : Decoded norm indices */
- int16_t *normqlg2 /* o : Log2 of decoded norms */
-);
-
-void hq_configure(
- const int16_t length, /* i : Frame length */
- const int16_t hqswb_clas, /* i : HQ SWB class */
- const int32_t core_brate, /* i : core bitrate */
- int16_t *num_sfm, /* o : Total number of subbands */
- int16_t *nb_sfm, /* o : Total number of coded bands */
- int16_t *start_norm, /* o : First norm to be SDE encoded */
- int16_t *num_sde_norm, /* o : Number of norms for SDE encoding */
- int16_t *numnrmibits, /* o : Number of bits in fall-back norm encoding */
- int16_t *hq_generic_offset, /* o : Freq offset for HQ GENERIC */
- int16_t *sfmsize, /* o : Subband bandwidths */
- int16_t *sfm_start, /* o : Subband start coefficients */
- int16_t *sfm_end /* o : Subband end coefficients */
-);
-
-/*! r: Consumed bits */
-int16_t hvq_enc(
- BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */
- const int16_t bwidth, /* i : audio bandwidth */
- const int32_t core_brate, /* i : core bitrate */
- const int16_t hvq_bits, /* i : HVQ bit budget */
- const int16_t Npeaks, /* i : Number of peaks */
- const int16_t *ynrm, /* i : Envelope coefficients */
- int16_t *R, /* i/o: Bit allocation/updated bit allocation */
- int16_t *peaks, /* i/o: Peak pos. / Encoded peak pos. */
- float *nf_gains, /* i/o: Noise fill gains / Quant. nf gains */
- float *noise_level, /* o : Quantized noise level */
- const float *pe_gains, /* i : Peak gains */
- const float *coefs, /* i : spectrum coefficients */
- float *coefs_out /* o : encoded spectrum coefficients */
-);
-/*! r: Consumed bits */
-int16_t hq_classifier_dec(
- Decoder_State *st, /* i/o: decoder state structure */
- const int32_t core_brate, /* i : Core bitrate */
- const int16_t length, /* i : Frame length */
- int16_t *is_transient, /* o : Transient flag */
- int16_t *hqswb_clas /* o : HQ class */
-);
-
-void hq_bit_allocation(
- const int32_t core_brate, /* i : Core bitrate */
- const int16_t length, /* i : Frame length */
- const int16_t hqswb_clas, /* i : HQ class */
- int16_t *num_bits, /* i/o: Remaining bit budget */
- const int16_t *normqlg2, /* i : Quantized norms */
- const int16_t nb_sfm, /* i : Number sub bands to be encoded */
- const int16_t *sfmsize, /* i : Sub band bandwidths */
- float *noise_level, /* o : HVQ noise level */
- int16_t *R, /* o : Bit allocation per sub band */
- int16_t *Rsubband, /* o : Fractional bit allocation (Q3) */
- int16_t *sum, /* o : Sum of allocated shape bits */
- int16_t *core_sfm, /* o : Last coded band in core */
- const int16_t num_env_bands /* i : Number sub bands to be encoded for HQ_SWB_BWE */
-);
-
-void enforce_zero_for_min_envelope(
- const int16_t hqswb_clas, /* i : HQ coding class */
- const int16_t *ynrm, /* i : Envelope indices */
- float *coefsq, /* i/o: Quantized spectrum/zeroed spectrum */
- int16_t nb_sfm, /* i : Number of coded sub bands */
- const int16_t *sfm_start, /* i : Sub band start indices */
- const int16_t *sfm_end /* i : Sub band end indices */
-);
-
-void apply_envelope(
- const float *coeff, /* i/o: Coded/noisefilled normalized spectrum */
- const int16_t *norm, /* i : Envelope */
- const float *norm_adj, /* i : Envelope adjustment */
- const int16_t num_sfm, /* i : Total number of bands */
- const int16_t last_sfm, /* i : Last coded band */
- const int16_t HQ_mode, /* i : HQ mode */
- const int16_t length, /* i : Frame length */
- const int16_t *sfm_start, /* i : Sub band start indices */
- const int16_t *sfm_end, /* i : Sub band end indices */
- float *normq_v, /* o : Envelope with adjustment */
- float *coeff_out, /* o : coded/noisefilled spectrum */
- float *coeff_out1 /* o : noisefilled spectrum for HQ SWB BWE */
-);
-
-void apply_envelope_enc(
- float *coeff, /* i/o: Normalized/scaled normalized spectrum */
- const int16_t *norm, /* i : Envelope */
- const int16_t num_sfm, /* i : Total number of bands */
- const int16_t *sfm_start, /* i : Sub band start indices */
- const int16_t *sfm_end /* i : Sub band end indices */
-);
-
-/*! r: Leading_sign_index, index, size, k_val */
-PvqEntry mpvq_encode_vec(
- const int16_t *vec_in, /* i : Signed pulse train */
- const int16_t dim_in, /* i : Dimension */
- int16_t k_val_local /* i/o: Num unit pulses */
-);
-
-/*! r: Size, dim, k_val */
-PvqEntry get_size_mpvq_calc_offset(
- const int16_t dim_in, /* i : Dimension */
- const int16_t k_val_in, /* i : Num unit pulses */
- uint32_t *h_mem /* o : Offsets */
-);
-
-void mpvq_decode_vec(
- const PvqEntry *entry, /* i : Sign_ind, index, dim, k_val */
- uint32_t *h_mem, /* i : A/U offsets */
- int16_t *vec_out /* o : Pulse train */
-);
-
-/*! r: Multiplication result */
-uint32_t UMult_32_32(
- const uint32_t UL_var1, /* i : factor 1 */
- const uint32_t UL_var2 /* i : factor 2 */
-);
-
-/*! r: inverse */
-uint32_t UL_inverse_float(
- const uint32_t UL_val, /* i : input value Q_exp */
- int16_t *exp /* i/o: input exp / result exp */
-);
-
-/*! r: ratio */
-Word16 ratio_float(
- const Word32 numer, /* i : numerator */
- const Word32 denom, /* i : denominator */
- Word16 *expo /* i/o: input exp / result exp */
-);
-
-/*! r: Angle between 0 and EVS_PI/2 radian (Q14) */
-Word16 atan2_fx_flt(
- const Word32 y, /* i : near side (Argument must be positive) (Q15) */
- const Word32 x /* i : opposite side (Q15) */
-);
-
-void pvq_encode_frame(
- BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */
- const float *coefs_norm, /* i : normalized coefficients to encode */
- float *coefs_quant, /* o : quantized coefficients */
- float *gopt, /* o : optimal shape gains */
- int16_t *npulses, /* o : number of pulses per band */
- int16_t *pulse_vector, /* o : non-normalized pulse shapes */
- const int16_t *sfm_start, /* i : indices of first coefficients in the bands */
- const int16_t *sfm_end, /* i : indices of last coefficients in the bands */
- const int16_t *sfmsize, /* i : band sizes */
- const int16_t nb_sfm, /* i : total number of bands */
- const int16_t *R, /* i : bitallocation per band (Q3) */
- const int16_t pvq_bits, /* i : number of bits avaiable */
- const int16_t core /* i : core */
-);
-
-void pvq_decode_frame(
- Decoder_State *st, /* i/o: Decoder state */
- float *coefs_quant, /* o : quantized coefficients */
- int16_t *npulses, /* o : number of pulses per band */
- int16_t *pulse_vector, /* o : non-normalized pulse shapes */
- const int16_t *sfm_start, /* i : indices of first coeffs in the bands */
- const int16_t *sfm_end, /* i : indices of last coeffs in the bands */
- const int16_t *sfmsize, /* i : band sizes */
- const int16_t nb_sfm, /* i : total number of bands */
- const int16_t *R, /* i : bitallocation per band (Q3) */
- const int16_t pvq_bits, /* i : number of bits avaiable */
- const int16_t core /* i : core */
-);
-
-void srt_vec_ind(
- const int16_t *linear, /* linear input */
- int16_t *srt, /* sorted output */
- int16_t *I, /* index for sorted output */
- const int16_t length );
-
-void srt_vec_ind_f(
- const float *linear, /* linear input */
- float *srt, /* sorted output */
- int16_t *I, /* index for sorted output */
- const int16_t length /* length of vector */
-);
-
-/*! r: floor(sqrt(input)) */
-uint32_t floor_sqrt_exact(
- const uint32_t input /* i : unsigned input [0.. UINT_MAX/4] */
-);
-
-void fine_gain_quant(
- BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */
- const int16_t *ord, /* i : Indices for energy order */
- const int16_t num_sfm, /* i : Number of bands */
- const int16_t *gain_bits, /* i : Gain adjustment bits per sub band */
- float *fg_pred, /* i/o: Predicted gains / Corrected gains */
- const float *gopt /* i : Optimal gains */
-);
-
-void apply_gain(
- const int16_t *ord, /* i : Indices for energy order */
- const int16_t *band_start, /* i : Sub band start indices */
- const int16_t *band_end, /* i : Sub band end indices */
- const int16_t num_sfm, /* i : Number of bands */
- const float *gains, /* i : Band gain vector */
- float *xq /* i/o: float synthesis / gain adjusted synth */
-);
-
-void fine_gain_pred(
- const int16_t *sfm_start, /* i : Sub band start indices */
- const int16_t *sfm_end, /* i : Sub band end indices */
- const int16_t *sfm_size, /* i : Sub band bandwidths */
- const int16_t *i_sort, /* i : Energy sorting indices */
- const int16_t *K, /* i : Number of pulses per band */
- const int16_t *maxpulse, /* i : Maximum pulse per band */
- const int16_t *R, /* i : Bits per sub band (Q3) */
- const int16_t num_sfm, /* i : Number of sub bands */
- float *xq, /* i/o: Quantized vector /quantized vector with finegain adj */
- int16_t *y, /* i/o: Quantized vector */
- float *fg_pred, /* o : Predicted fine gains */
- const int16_t core /* i : Core */
-);
-
-void fine_gain_dec(
- Decoder_State *st, /* i/o: Decoder state struct */
- const int16_t *ord, /* i : Indices for energy order */
- const int16_t num_sfm, /* i : Number of bands */
- const int16_t *gain_bits, /* i : Gain adjustment bits per sub band */
- float *fg_pred /* i/o: Predicted gains / Corrected gains */
-);
-
-void get_max_pulses(
- const int16_t *band_start, /* i : Sub band start indices */
- const int16_t *band_end, /* i : Sub band end indices */
- const int16_t *k_sort, /* i : Indices for sorting by energy */
- const int16_t *npulses, /* i : Pulses per sub band */
- const int16_t BANDS, /* i : Number of bands */
- int16_t *inp_vector, /* i/o: Encoded shape vectors */
- int16_t *maxpulse /* o : Maximum pulse height per band */
-);
-
-Word32 ar_div_ivas(
- Word32 num,
- Word32 denum );
-
-void ar_encoder_start(
- PARCODEC arInst,
- TCQ_PBITSTREAM bsInst,
- int16_t max_bits );
-
-void ar_decoder_start(
- PARCODEC arInst,
- TCQ_PBITSTREAM bsInst );
-
-void ar_encoder_done(
- PARCODEC arInst );
-
-void ar_decoder_done(
- PARCODEC arInst );
-
-
-Word32 Mult_32_16(
- Word32 a,
- Word16 b );
-
-Word32 Mult_32_32(
- Word32 a,
- Word32 b );
-
-
-void decode_mangitude_tcq_fx_ivas(
- ARCODEC *pardec,
- Word16 size,
- Word16 npulses,
- Word16 nzpos,
- Word32 *positions,
- Word32 *out,
- Word32 *surplus_fx );
-
-void decode_signs_fx_ivas(
- ARCODEC *pardec,
- Word16 size,
- Word32 *out );
-
-void srt_vec_ind_fx_ivas(
- const Word32 *linear,
- Word32 *srt,
- Word16 *I,
- Word16 length );
-
-
-void bit_allocation_second_fx2(
- Word32 *Rk,
- Word32 *Rk_sort,
- Word16 BANDS,
- const Word16 *band_width,
- Word16 *k_sort,
- Word16 *k_num,
- const Word16 *p2a_flags,
- const Word16 p2a_bands,
- const Word16 *last_bitalloc,
- const Word16 input_frame );
-
-
-Word32 encode_magnitude_tcq_fx_ivas(
- ARCODEC *parenc,
- float *magn_fx,
- Word16 size,
- Word16 npulses,
- Word16 nzpos,
- Word32 *savedstates,
- Word32 *est_frame_bits_fx );
-
-Word32 encode_signs_fx_ivas(
- ARCODEC *parenc,
- float *magn,
- Word16 size,
- Word16 npos,
- Word32 *est_frame_bits_fx );
-
-Word32 encode_magnitude_usq_fx_ivas(
- ARCODEC *parenc,
- float *magn_fx,
- Word16 size,
- Word16 npulses,
- Word16 nzpos,
- Word32 *est_frame_bits_fx );
-
-ivas_error tcq_core_LR_enc(
- BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */
- int32_t inp_vector[],
- const float coefs_norm[],
- float coefs_quant[],
- const int16_t bit_budget, /* number of bits */
- const int16_t nb_sfm,
- const int16_t *sfm_start,
- const int16_t *sfm_end,
- const int16_t *sfmsize,
- Word32 *Rk_fx,
- int16_t *npulses,
- int16_t *k_sort,
- const int16_t *p2a_flags,
- const int16_t p2a_bands,
- const int16_t *last_bitalloc,
- const int16_t input_frame,
- const int16_t adjustFlag,
- const int16_t is_transient );
-
-void tcq_core_LR_dec(
- Decoder_State *st,
- int32_t *inp_vector,
- const int16_t bit_budget,
- const int16_t bands,
- const int16_t *band_start,
- const int16_t *band_width,
- Word32 *Rk_fx,
- int16_t npulses[],
- int16_t *k_sort,
- const int16_t *p2a_flags,
- const int16_t p2a_bands,
- const int16_t *last_bitalloc,
- const int16_t input_frame,
- const int16_t adjustFlag,
- const int16_t *is_transient );
-
-
-void TCQLSB(
- int16_t bcount,
- float *abuffer,
- float *mbuffer,
- float *sbuffer,
- int16_t *dpath );
-
-void RestoreTCQ(
- float *magn,
- int16_t size,
- int16_t *bcount,
- float *mbuffer );
-
-void SaveTCQdata(
- PARCODEC arInst,
- int16_t *dpath,
- int16_t bcount );
-
-void LoadTCQdata(
- PARCODEC arInst,
- int16_t *dpath,
- int16_t bcount );
-
-void RestoreTCQdec(
- int32_t *magn,
- int16_t size,
- int16_t *bcount,
- float *mbuffer );
-
-void TCQLSBdec(
- int16_t *dpath,
- float *mbuffer,
- int16_t bcount );
-
-void bit_allocation_second_fx2(
- Word32 *Rk,
- Word32 *Rk_sort,
- Word16 BANDS,
- const Word16 *band_width,
- Word16 *k_sort,
- Word16 *k_num,
- const Word16 *p2a_flags,
- const Word16 p2a_bands,
- const Word16 *last_bitalloc,
- const Word16 input_frame );
-
-void io_ini_enc(
- const int32_t argc, /* i : command line arguments number */
- char *argv[], /* i : command line arguments */
- FILE **f_input, /* o : input signal file */
- FILE **f_stream, /* o : output bitstream file */
- FILE **f_rate, /* o : bitrate switching profile (0 if N/A) */
- FILE **f_bwidth, /* o : bandwidth switching profile (0 if N/A) */
- FILE **f_metadata, /* o : metadata files (NULL if N/A) */
-#ifdef DEBUGGING
- FILE **f_force, /* o : force switching profile (0 if N/A) */
-#endif
- FILE **f_rf, /* o : channel aware configuration file */
- int16_t *quietMode, /* o : limit printouts */
- int16_t *noDelayCmp, /* o : turn off delay compensation */
- Encoder_Struct *st /* o : IVAS encoder structure */
-);
-
-void read_next_rfparam(
- int16_t *rf_fec_offset, /* o : RF offset */
- int16_t *rf_fec_indicator, /* o : RF FEC indicator */
- FILE *f_rf /* i : file pointer to read parameters */
-);
-
-void read_next_brate(
- int32_t *total_brate, /* i/o: total bitrate */
- const int32_t last_total_brate, /* i : last total bitrate */
- FILE *f_rate, /* i : bitrate switching profile (0 if N/A) */
- const int16_t element_mode, /* i : IVAS element mode */
- int32_t input_Fs, /* i : input sampling frequency */
- int16_t *Opt_AMR_WB, /* i : flag indicating AMR-WB IO mode */
- int16_t *Opt_SC_VBR, /* i/o: SC-VBR flag */
- int16_t *codec_mode /* i/o: Mode 1 or 2 */
-);
-
-void read_next_bwidth(
- int16_t *max_bwidth, /* i/o: maximum encoded bandwidth */
- FILE *f_bwidth, /* i : bandwidth switching profile (0 if N/A) */
- int32_t *bwidth_profile_cnt, /* i/o: counter of frames for bandwidth switching profile file */
- int32_t input_Fs /* i : input sampling rate */
-);
-
-#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_ivas_fx(
- Encoder_State *st, /* i/o: state structure */
- Encoder_Struct *st_ivas, /* i/o: encoder state structure */
- const Word16 idchan, /* i : channel ID */
- const Word16 var_SID_rate_flag, /* i : flag for variable SID update rate */
- const Word16 interval_SID, /* i : interval for SID update */
- const Word16 vad_only_flag, /* i : flag to indicate front-VAD structure */
- const ISM_MODE ism_mode, /* i : ISM mode */
- const Word32 element_brate /* i : element bitrate */
-);
-
-void LPDmem_enc_init(
- LPD_state_HANDLE hLPDmem /* i/o: LP memories */
-);
-
-ivas_error evs_enc(
- Encoder_State *st, /* i/o: state structure */
- const int16_t *data, /* i : input signal */
- float *mem_hp20_in, /* i/o: hp20 filter memory */
- const int16_t n_samples /* i : number of input samples */
-);
-void amr_wb_enc(
- Encoder_State *st, /* i/o: encoder state structure */
- const int16_t *data, /* i : input signal */
- float *mem_hp20_in, /* i/o: hp20 filter memory */
- const int16_t n_samples /* i : number of input samples */
-);
-
-void sc_vbr_enc_init(
- SC_VBR_ENC_HANDLE hSC_VBR /* i/o: SC-VBR encoder handle */
-);
-
-void amr_wb_enc_init(
- AMRWB_IO_ENC_HANDLE hAmrwb_IO /* i/o: AMR-WB IO encoder handle */
-);
-
-void pre_proc(
- Encoder_State *st, /* i/o: encoder state structure */
- const int16_t input_frame, /* i : frame length */
- float old_inp_12k8[], /* i/o: buffer of old input signal */
- float old_inp_16k[], /* i/o: buffer of old input signal @ 16kHz */
- float **inp, /* o : ptr. to inp. signal in the current frame*/
- float fr_bands[2 * NB_BANDS], /* i : energy in frequency bands */
- float *ener, /* o : residual energy from Levinson-Durbin */
- int16_t pitch_orig[3], /* o : open-loop pitch values for quantization */
- float A[NB_SUBFR16k * ( M + 1 )], /* i/o: A(z) unquantized for the 4 subframes */
- float Aw[NB_SUBFR16k * ( M + 1 )], /* i/o: weighted A(z) unquantized for subframes */
- float epsP[M + 1], /* i/o: LP prediction errors */
- float lsp_new[M], /* i/o: LSPs at the end of the frame */
- float lsp_mid[M], /* i/o: LSPs in the middle of the frame */
- int16_t *vad_hover_flag, /* i : VAD hangover flag */
- int16_t *attack_flag, /* o : attack flag */
- float *new_inp_resamp16k, /* o : new input signal @16kHz, non pre-emphasised, used by the WB TBE/BWE */
- int16_t *Voicing_flag, /* o : voicing flag for HQ FEC */
- float realBuffer[CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i/o: real buffer */
- float imagBuffer[CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i/o: imag buffer */
- int16_t *hq_core_type /* o : HQ core type */
-);
-
-
-/*! r: HQ_CORE/TCX_20_CORE decision */
-int16_t mdct_classifier(
- Encoder_State *st, /* i/o: Encoder state variable */
- const float *fft_buff, /* i : FFT spectrum from fft_rel */
- const float enerBuffer[], /* i : energy buffer */
- const int32_t brate /* i : current brate, IVAS: nominal bitrate, EVS: st->total_brate */
-);
-
-void MDCT_selector(
- Encoder_State *st, /* i/o: Encoder State */
- const float sp_floor, /* i : Noise floor estimate */
- const float Etot, /* i : Total energy */
- const float cor_map_sum, /* i : sum of correlation map */
- const float enerBuffer[] /* i : energy buffer */
-);
-
-ivas_error acelp_core_enc_ivas_fx(
- Encoder_State *st, /* i/o: encoder state structure */
- const Word16 inp[], /* i : input signal of the current frame Q_new*/
- 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*/
- Word16 lsp_new[M], /* i : LSPs at the end of the frame Q15*/
- Word16 lsp_mid[M], /* i : LSPs in the middle of the frame Q15*/
- const Word16 vad_hover_flag, /* i : VAD hangover flag Q0*/
- const Word16 attack_flag, /* i : attack flag (GSC or TC) Q0*/
- Word32 bwe_exc_extended_fx[], /* i/o: bandwidth extended excitation st->prev_Q_bwe_exc*/
- Word16 *voice_factors_fx, /* o : voicing factors Q15*/
- Word16 old_syn_12k8_16k[], /* o : intermediate ACELP synthesis at 12.8kHz or 16kHz to be used by SWB BWE q_old_syn_12k8_16*/
- Word16 *q_old_syn_12k8_16,
- Word16 pitch_buf[NB_SUBFR16k], /* o : floating pitch for each subframe Q6*/
- Word16 *unbits, /* o : number of unused bits Q0*/
- STEREO_TD_ENC_DATA_HANDLE hStereoTD, /* i/o: TD stereo encoder handle */
- Word16 tdm_lsfQ_PCh[M], /* i : Q LSFs for primary channel X2.56*/
- Word16 Q_new );
-
-ivas_error acelp_core_switch_dec_bfi(
- Decoder_State *st /* i/o: decoder state structure */
-);
-
-void acelp_core_switch_enc(
- Encoder_State *st, /* i/o: encoder state structure */
- const float inp12k8[], /* i : input signal @12.8 kHz */
- const float inp16k[], /* i : input signal @16 kHz */
- const float A[NB_SUBFR16k * ( M + 1 )] /* i : A(z) unquantized for the 4 subframes */
-);
-
-/*! r: length of output */
-int16_t modify_Fs_intcub3m_sup(
- const float sigIn[], /* i : signal to decimate with memory of 2 samples (indexes -2 & -1) */
- const int16_t lg, /* i : length of input */
- const int32_t fin, /* i : frequency of input */
- float sigOut[], /* o : decimated signal */
- const int32_t fout, /* i : frequency of output */
- int16_t *delayout /* o : delay of output */
-);
-
-void core_switching_OLA(
- const float *mem_over_hp, /* i : upsampling filter memory */
- const int16_t last_L_frame, /* i : last L_frame lengthture */
- const int32_t output_Fs, /* i : output sampling rate */
- float *synth, /* i/o: synthesized signal from HQ core */
- const float *synth_subfr_out, /* i : synthesized signal from ACELP core */
- float *synth_subfr_bwe, /* i : synthesized BWE from ACELP core */
- const int16_t output_frame, /* i : output frame length */
- const int16_t bwidth /* i : output bandwidth */
-);
-
-void retro_interp4_5(
- const float *syn,
- float *pst_old_syn );
-
-void retro_interp5_4(
- float *pst_old_syn );
-void core_switching_hq_prepare_dec(
- Decoder_State *st, /* i/o: decoder state structure */
- int16_t *num_bits, /* i/o: bit budget update */
- const int16_t input_frame /* i : input frame length */
-);
-
-ivas_error acelp_core_switch_dec(
- Decoder_State *st, /* i/o: decoder structure */
- float *synth_subfr_out, /* o : synthesized ACELP subframe */
- float *tmp_synth_bwe, /* o : synthesized ACELP subframe BWE */
- const int16_t output_frame, /* i : input frame length */
- const int16_t core_switching_flag, /* i : core switching flag */
- float *mem_synth, /* o : synthesis to overlap */
- const int16_t nchan_out /* i : number of output channels */
-);
-
-void ResetSHBbuffer_Enc(
- TD_BWE_ENC_HANDLE hBWE_TD /* i/o: TD BWE data handle */
-);
-
-void ResetSHBbuffer_Dec(
- TD_BWE_DEC_HANDLE hBWE_TD, /* i/o: TD BWE data handle */
- const int16_t extl /* i : BWE extension layer */
-);
-
-void calc_st_filt(
- const float *apond2, /* i : coefficients of numerator */
- const float *apond1, /* i : coefficients of denominator */
- float *parcor0, /* o : 1st parcor calcul. on composed filter */
- float *sig_ltp_ptr, /* i/o: input of 1/A(gamma1) : scaled by 1/g0 */
- float *mem_zero, /* i/o: All zero memory */
- const int16_t L_subfr, /* i : the length of subframe */
- const int16_t extl /* i : extension layer info */
-);
-
-
-void scale_st_ivas(
- const float *sig_in, /* i : postfilter input signal */
- float *sig_out, /* i/o: postfilter output signal */
- float *gain_prec, /* i/o: last value of gain for subframe */
- const int16_t L_subfr, /* i : the length of subframe */
- const int16_t extl /* i : extension layer info */
-);
-
-void filt_mu(
- const float *sig_in, /* i : signal (beginning at sample -1) */
- float *sig_out, /* o : output signal */
- const float parcor0, /* i : parcor0 (mu = parcor0 * gamma3) */
- const int16_t L_subfr, /* i : the length of subframe */
- const int16_t extl /* i : extension layer info */
-);
-
-void PostShortTerm(
- float *sig_in, /* i : input signal (ptr. to current subframe */
- float *lpccoeff, /* i : LPC coefficients for current subframe */
- float *sig_out, /* o : postfiltered output */
- float *mem_stp, /* i/o: postfilter memory */
- float *ptr_mem_stp, /* i/o: pointer to postfilter memory */
- float *ptr_gain_prec, /* i/o: for gain adjustment */
- float *mem_zero, /* i/o: null memory to compute h_st */
- const float formant_fac /* i : Strength of post-filter [0,1] */
-);
-
-/*! r: Formant filter strength [0,1] */
-float swb_formant_fac(
- const float lpc_shb2, /* i : 2nd HB LPC coefficient */
- float *tilt_mem /* i/o: Tilt smoothing memory */
-);
-
-void GenShapedSHBExcitation(
- float *excSHB, /* o : synthesized shaped shb exctiation */
- const float *lpc_shb, /* i : lpc coefficients */
- float *exc16kWhtnd, /* o : whitened synthesized shb excitation */
- float *mem_csfilt, /* i/o: memory */
- float *mem_genSHBexc_filt_down_shb, /* i/o: memory */
- float *state_lpc_syn, /* i/o: memory */
- const int16_t coder_type, /* i : coding type */
- const float *bwe_exc_extended, /* i : bandwidth extended excitation */
- int16_t bwe_seed[], /* i/o: random number generator seed */
- float voice_factors[], /* i : voicing factor */
- const int16_t extl, /* i : extension layer */
- float *tbe_demph, /* i/o: de-emphasis memory */
- float *tbe_premph, /* i/o: pre-emphasis memory */
- float *lpc_shb_sf, /* i : LP coefficients */
- float *shb_ener_sf, /* i : SHB subframe energies */
- float *shb_res_gshape, /* i : SHB LP residual gain shape */
- float *shb_res, /* i : SHB residual used in encoder only */
- int16_t *vf_ind, /* i/o: Mixing factor index */
- const float formant_fac, /* i : Formant sharpening factor [0..1] */
- float fb_state_lpc_syn[], /* i/o: memory */
- float *fb_tbe_demph, /* i/o: fb de-emphasis memory */
- const int32_t total_brate, /* i : overall bitrate */
- const int16_t prev_bfi, /* i : previous frame was lost flag */
- const int16_t element_mode, /* i : element mode */
- const int16_t flag_ACELP16k, /* i : ACELP@16kHz flag */
- float *nlExc16k, /* i/o: NL exc for IC-BWE */
- float *mixExc16k, /* i/o: exc spreading for IC-BWE */
- const int32_t extl_brate, /* i : TD BWE bitrate */
- const int16_t MSFlag, /* i : Multi-source flag */
- float EnvSHBres_4k[], /* i/o: TD envelope of the SHB residual signal */
- float *prev_pow_exc16kWhtnd, /* i/o: power of the LB excitation signal in the previous frame */
- float *prev_mix_factor, /* i/o: mixing factor in the previous frame */
- float *Env_error, /* o : error in SHB residual envelope modelling*/
- float Env_error_part[] /* o : per-segment error in SHB residual envelope modelling */
-);
-
-void GenSHBSynth(
- const float *shb_target_speech, /* i : input synthesized speech */
- float *shb_syn_speech_32k, /* o : output highband component */
- float Hilbert_Mem[], /* i/o: memory */
- float state_lsyn_filt_shb_local[], /* i/o: memory */
- const int16_t L_frame, /* i : ACELP Frame length */
- int16_t *syn_dm_phase );
-
-void ScaleShapedSHB(
- const int16_t length, /* i : SHB overlap length */
- float *synSHB, /* i/o: synthesized shb signal */
- float *overlap, /* i/o: buffer for overlap-add */
- const float *subgain, /* i : subframe gain */
- const float frame_gain, /* i : frame gain */
- const float *win, /* i : window */
- const float *subwin /* i : subframes window */
-);
-
-void Interpolate_allpass_steep(
- const float *in, /* i : input array of size N */
- float *mem, /* i/o: memory */
- const int16_t N, /* i : number of input samples */
- float *out /* o : output array of size 2*N */
-);
-
-void Decimate_allpass_steep(
- const float *in, /* i : input array of size N */
- float *mem, /* i/o: memory */
- const int16_t N, /* i : number of input samples */
- float *out /* o : output array of size N/2 */
-);
-
-void interpolate_3_over_2_allpass(
- const float *input, /* i : input signal */
- const int16_t len, /* i : number of input samples */
- float *out, /* o : output signal */
- float *mem /* i/o: memory */
-);
-
-void decimate_2_over_3_allpass(
- const float *input, /* i : input signal */
- const int16_t len, /* i : number of input samples */
- float *out, /* o : output signal */
- float *mem, /* i/o: memory */
- float *lp_mem );
-
-void interpolate_3_over_1_allpass(
- const float *input, /* i : input signal */
- const int16_t len, /* i : number of input samples */
- float *out, /* o : output signal */
- float *mem /* i/o: memory */
-);
-
-void InitSWBencBuffer(
- TD_BWE_ENC_HANDLE hBWE_TD /* i/o: TD BWE data handle */
-);
-
-void InitSWBencBufferStates(
- TD_BWE_ENC_HANDLE hBWE_TD, /* i/o: TD BWE data handle */
- float *shb_speech /* o : SHB target signal (6-14kHz) at 16kHz */
-);
-
-void swb_tbe_enc(
- Encoder_State *st, /* i/o: encoder state structure */
- STEREO_ICBWE_ENC_HANDLE hStereoICBWE, /* i/o: IC-BWE state structure */
- const float *new_speech, /* i : original input signal */
- const float *bwe_exc_extended, /* i : bandwidth extended exciatation */
- const float voice_factors[], /* i : voicing factors */
- float *White_exc16k, /* o : shaped white excitation for the FB TBE */
- const float pitch_buf[] /* i : pitch for each subframe */
-);
-
-void swb_tbe_dec(
- Decoder_State *st, /* i/o: decoder state structure */
- STEREO_ICBWE_DEC_HANDLE hStereoICBWE, /* i/o: IC-BWE state structure */
- const float *bwe_exc_extended, /* i : bandwidth extended exciatation */
- const float voice_factors[], /* i : voicing factors */
- const float old_syn_12k8_16k[], /* i : low band synthesis at 12.8kHz or 16kHz */
- float *White_exc16k, /* o : shaped white excitation for the FB TBE */
- float *synth, /* i/o: ACELP core synthesis/final synthesis */
- float *pitch_buf );
-
-void flip_and_downmix_generic(
- float input[], /* i : input spectrum */
- float output[], /* o : output spectrum */
- const int16_t length, /* i : length of spectra */
- float mem1_ext[HILBERT_ORDER1], /* i/o: Hilbert filter memory */
- float mem2_ext[2 * HILBERT_ORDER2], /* i/o: memory */
- float mem3_ext[2 * HILBERT_ORDER2], /* i/o: memory */
- int16_t *phase_state /* i/o: Phase state in case frequency isn't multiple of 50 Hz */
-);
-void flip_and_downmix_generic_fx_32(
- Word32 input[], /* i : input spectrum Qx*/
- Word32 output[], /* o : output spectrum Qx*/
- const Word16 length, /* i : length of spectra */
- Word32 mem1_ext[HILBERT_ORDER1], /* i/o: memory Qx*/
- Word32 mem2_ext[2 * HILBERT_ORDER2], /* i/o: memory Qx*/
- Word32 mem3_ext[2 * HILBERT_ORDER2], /* i/o: memory Qx*/
- Word16 *phase_state /* i/o: Phase state in case frequency isn't multiple of 50 Hz */
-);
-void non_linearity(
- const float input[], /* i : input signal */
- float output[], /* i : output signal */
- float old_bwe_exc_extended[], /* i/o: memory bugffer */
- const int16_t length, /* i : input length */
- float *prev_scale, /* i/o: memory */
- const int16_t coder_type, /* i : Coder Type */
- const float *voice_factors, /* i : Voice Factors */
- const int16_t L_frame /* i : ACELP frame length */
-);
-
-void interp_code_5over2(
- const float inp_code[], /* i : input vector */
- float interp_code[], /* o : output vector */
- const int16_t inp_length /* i : length of the input vector */
-);
-
-void interp_code_4over2(
- const float inp_code[], /* i : input vector */
- float interp_code[], /* o : output vector */
- const int16_t inp_length /* i : length of the input vector */
-);
-
-void flip_spectrum_and_decimby4(
- const float input[], /* i : input spectrum */
- float output[], /* o : output spectrum */
- const int16_t length, /* i : vector length */
- float mem1[], /* i/o: memory */
- float mem2[], /* i/o: memory */
- const int16_t ramp_flag /* i : flag to trigger slow ramp-up of output */
-);
-
-void GenShapedWBExcitation(
- float *excSHB, /* o : synthesized shaped shb exctiation */
- const float *lpc_shb, /* i : lpc coefficients */
- float *exc4kWhtnd, /* o : whitened synthesized shb excitation */
- float *mem_csfilt, /* i/o: memory */
- float *mem_genSHBexc_filt_down1, /* i/o: memory */
- float *mem_genSHBexc_filt_down2, /* i/o: memory */
- float *mem_genSHBexc_filt_down3, /* i/o: memory */
- float *state_lpc_syn, /* i/o: memory */
- const int16_t coder_type, /* i : coding type */
- const float *bwe_exc_extended, /* i : bandwidth extended exciatation */
- int16_t bwe_seed[], /* i/o: random number generator seed */
- const float voice_factors[], /* i : voicing factor */
- const int16_t uv_flag, /* i : unvoiced flag */
- const int16_t igf_flag );
-
-void GenWBSynth(
- const float *input_synspeech, /* i : input synthesized speech */
- float *shb_syn_speech_16k, /* o : output highband compnent */
- float *state_lsyn_filt_shb1, /* i/o: memory */
- float *state_lsyn_filt_shb2 /* i/o: memory */
-);
-
-void wb_tbe_enc(
- Encoder_State *st, /* i/o: encoder state structure */
- const float *hb_speech, /* i : HB target signal (6-8kHz) at 16kHz */
- const float *bwe_exc_extended, /* i : bandwidth extended exciatation */
- const float pitch_buf[], /* i : pitch for each subframe */
- const float voicing[] /* o : OL maximum normalized correlation */
-);
-
-void wb_tbe_dec(
- Decoder_State *st, /* i/o: decoder state structure */
- const float *bwe_exc_extended, /* i : bandwidth extended exciatation */
- const float voice_factors[], /* i : voicing factors */
- float *synth /* i/o: ACELP core synthesis/final synthesis */
-);
-
-void tbe_write_bitstream(
- Encoder_State *st /* i/o: encoder state structure */
-);
-
-void tbe_read_bitstream(
- Decoder_State *st /* i/o: decoder state structure */
-);
-
-void GenTransition(
- TD_BWE_DEC_HANDLE hBWE_TD, /* i/o: TD BWE data handle */
- float *outputHB, /* o : synthesized HB transitions signal */
- const int32_t output_Fs, /* i : output sampling rate */
- const int16_t element_mode, /* i : element mode */
- const int16_t L_frame, /* i : ACELP frame length */
- const int16_t rf_flag, /* i : RF flag */
- const int32_t total_brate /* i : total bitrate */
-);
-
-
-void GenTransition_fixed(
- TD_BWE_DEC_HANDLE hBWE_TD, /* i/o: TD BWE data handle */
- Word32 *outputHB_fx, /* o : synthesized HB transitions signal : Q11 */
- const Word32 output_Fs, /* i : output sampling rate : Q0 */
- const Word16 element_mode, /* i : element mode : Q0 */
- const Word16 L_frame, /* i : ACELP frame length : Q0 */
- const Word16 rf_flag, /* i : RF flag : Q0 */
- const Word32 total_brate, /* i : total bitrate : Q0 */
- const Word16 prev_Qx );
-
-void GenTransition_WB(
- TD_BWE_DEC_HANDLE hBWE_TD, /* i/o: TD BWE data handle */
- float *outputHB, /* o : synthesized HB transitions signal */
- const int32_t output_Fs /* i : output sampling rate */
-);
-
-void GenTransition_WB_fixed(
- TD_BWE_DEC_HANDLE hBWE_TD, /* i/o: TD BWE data handle */
- Word32 *outputHB_fx, /* o : synthesized HB transitions signal : Q11 */
- const Word32 output_Fs /* i : output sampling rate */
-);
-
-void td_bwe_dec_init(
- TD_BWE_DEC_HANDLE hBWE_TD, /* i/o: TD BWE data handle */
- const int16_t extl, /* i : BWE extension layer */
- const int32_t output_Fs /* i : output sampling rate */
-);
-
-void TBEreset_enc(
- TD_BWE_ENC_HANDLE hBWE_TD, /* i/o: TD BWE data handle */
- const int16_t last_core, /* i : last core */
- const int16_t bwidth /* i : audio bandwidth */
-);
-
-void TBEreset_dec(
- Decoder_State *st /* i/o: decoder state structure */
-);
-
-/*! r: TBE bit consumption per frame */
-int16_t get_tbe_bits(
- const int32_t total_brate, /* i : overall bitrate */
- const int16_t bwidth, /* i : audio bandwidth */
- const int16_t rf_mode /* i : channel aware mode */
-);
-
-void fb_tbe_enc(
- Encoder_State *st, /* i/o: encoder state structure */
- const float new_input[], /* i : input speech at 48 kHz sample rate */
- const float fb_exc[] /* i : FB excitation from the SWB part */
-);
-
-void fb_tbe_dec(
- Decoder_State *st, /* i/o: decoder state structure */
- const float fb_exc[], /* i : FB excitation from the SWB part */
- float *hb_synth, /* i/o: high-band synthesis */
- float *fb_synth_ref, /* o : high-band synthesis 16-20 kHz */
- const int16_t output_frame /* i : output frame length */
-);
-
-void calc_tilt_bwe(
- const float *sp, /* i : input signal */
- float *tilt, /* o : signal tilt */
- const int16_t N /* i : signal length */
-);
-
-void fd_bwe_enc_init(
- FD_BWE_ENC_HANDLE hBWE_FD /* i/o: FD BWE data handle */
-);
-
-void swb_pre_proc(
- Encoder_State *st, /* i/o: encoder state structure */
- float *new_swb_speech, /* o : original input signal at 32kHz */
- float *shb_speech, /* o : SHB target signal (6-14kHz) at 16kHz */
- float realBuffer[CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i : real buffer */
- float imagBuffer[CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i : imag buffer */
- CPE_ENC_HANDLE hCPE /* i/o: CPE encoder structure */
-);
-
-void wb_pre_proc(
- Encoder_State *st, /* i/o: encoder state structure */
- const int16_t last_element_mode, /* i : last element mode */
- const float *new_inp_resamp16k, /* i : original input signal */
- float *hb_speech /* o : HB target signal (6-8kHz) at 16kHz */
-);
-
-void wb_bwe_enc(
- Encoder_State *st, /* i/o: encoder state structure */
- const float *new_wb_speech /* i : original input signal at 16kHz */
-);
-
-void wb_bwe_dec_flt(
- Decoder_State *st, /* i/o: decoder state structure */
- const float output[], /* i : synthesis @internal Fs */
- float *synth, /* i/o: ACELP core synthesis/final synthesis */
- float *hb_synth, /* o : SHB synthesis/final synthesis */
- const int16_t use_cldfb_for_dft, /* i : flag to use of CLDFB for DFT Stereo */
- const int16_t output_frame, /* i : frame length */
- const float voice_factors[], /* i : voicing factors */
- const float pitch_buf[] /* i : pitch buffer */
-);
-
-void swb_bwe_enc(
- Encoder_State *st, /* i/o: encoder state structure */
- const int16_t last_element_mode, /* i : last element mode */
- const float *old_input_12k8, /* i : input signal @12.8kHz for SWB BWE */
- const float *old_input_16k, /* i : input signal @16kHz for SWB BWE */
- const float *old_syn_12k8_16k, /* i : ACELP core synthesis at 12.8kHz or 16kHz*/
- const float *new_swb_speech, /* i : original input signal at 32kHz */
- const float *shb_speech /* i : SHB target signal (6-14kHz) at 16kHz */
-);
-
-void swb_bwe_enc_hr(
- Encoder_State *st, /* i/o: encoder state structure */
- const float *new_input, /* i : input signal */
- const int16_t input_frame, /* i : frame length */
- const int16_t unbits /* i : number of core unused bits */
-);
-
-void fd_bwe_dec_init_flt(
- FD_BWE_DEC_HANDLE hBWE_FD /* i/o: FD BWE data handle */
-);
-
-void swb_bwe_dec_flt(
- Decoder_State *st, /* i/o: decoder state structure */
- const float output[], /* i : synthesis @internal Fs */
- const float *synth, /* i : ACELP core synthesis/final synthesis */
- float *hb_synth, /* o : SHB synthesis/final synthesis */
- const int16_t use_cldfb_for_dft, /* i : flag to use of CLDFB for DFT Stereo */
- const int16_t output_frame /* i : frame length */
-);
-
-void hr_bwe_dec_init_flt(
- HR_BWE_DEC_HANDLE hBWE_FD_HR /* i/o: HR BWE data handle */
-);
-
-void swb_bwe_dec_hr(
- Decoder_State *st, /* i/o: decoder state structure */
- const float *syn_12k8_16k, /* i : ACELP core synthesis @16kHz */
- float *hb_synth, /* o : SHB synthesis */
- const int16_t output_frame, /* i : frame length */
- const int16_t unbits, /* i : number of core unused bits */
- const float pitch_buf[] /* i : pitch buffer */
-);
-
-
-void calc_normal_length(
- const int16_t core, /* i : core */
- const float *sp, /* i : input signal */
- const int16_t mode, /* i : input mode */
- const int16_t extl, /* i : extension layer */
- int16_t *L_swb_norm, /* o : normalize length */
- int16_t *prev_L_swb_norm /* i/o: last normalize length */
-);
-
-void calc_norm_envelop(
- const float SWB_signal[], /* i : SWB spectrum */
- float *envelope, /* o : normalized envelope */
- const int16_t L_swb_norm, /* i : length of envelope */
- const int16_t SWB_flength, /* i : Length of input/output */
- const int16_t st_offset /* i : offset */
-);
-
-void time_envelop_shaping(
- float werr[], /* i/o: SHB synthesis */
- float SWB_tenv[], /* i/o: frequency envelope */
- const int16_t L /* i : frame length */
-);
-
-void time_reduce_pre_echo(
- const float *synth, /* i : ACELP core synthesis */
- float *error, /* o : SHB BWE synthesis */
- float prev_td_energy, /* o : last td energy */
- const int16_t L /* i : subframe length */
-);
-
-int16_t WB_BWE_gain_pred(
- float *WB_fenv, /* o : WB frequency envelopes */
- const float *core_dec_freq, /* i : Frequency domain core decoded signal */
- const int16_t coder_type, /* i : coding type */
- const int16_t prev_code_type, /* i : coding type of last frame */
- const float prev_WB_fenv, /* i : envelope for last frame */
- const float voice_factors[], /* i : voicing factors */
- const float pitch_buf[], /* i : pitch buffer */
- const int32_t last_core_brate, /* i : previous frame core bitrate */
- const float last_wb_bwe_ener, /* i : previous frame wb bwe signal energy */
- const int16_t last_extl, /* i : extl. layer for last frame */
- const float tilt );
-
-void WB_BWE_decoding(
- const float *core_dec_freq, /* i : Frequency domain core decoded signal */
- float *WB_fenv, /* i : WB frequency envelopes */
- float *WB_signal, /* o : WB signal in MDCT domain */
- const int16_t WB_flength, /* i : Length of input/output */
- const int16_t mode, /* i : classification for WB signal */
- const int16_t last_extl, /* i : extl. layer for last frame */
- float *prev_Energy, /* i/o: energy for last frame */
- float *prev_WB_fenv, /* i/o: envelope for last frame */
- int16_t *prev_L_wb_norm, /* i/o: length for last frame wb norm */
- const int16_t extl, /* i : extension layer */
- const int16_t coder_type, /* i : coding type */
- const int32_t total_brate, /* i : core layer bitrate */
- int16_t *Seed, /* i/o: random generator seed */
- int16_t *prev_flag, /* i/o: attenu flag of last frame */
- int16_t prev_coder_type /* i : coding type of last frame */
-);
-
-void SWB_BWE_decoding(
- const float *core_dec_freq, /* i : Frequency domain core decoded signal */
- float *SWB_fenv, /* i/o: SWB frequency envelopes */
- float *SWB_signal, /* o : SWB signal in MDCT domain */
- const int16_t SWB_flength, /* i : Length of input/output */
- const int16_t mode, /* i : classification for SWB signal */
- int16_t *frica_flag, /* o : fricative signal flag */
- float *prev_Energy, /* i/o: energy for last frame */
- float *prev_SWB_fenv, /* i/o: envelope for last frame */
- int16_t *prev_L_swb_norm, /* i/o: length for last frame wb norm */
- const float tilt_nb, /* i : tilt of synthesis wb signal */
- int16_t *Seed, /* i/o: random generator seed */
- const int16_t st_offset, /* i : offset value due to different core */
- float *prev_weight, /* i/o: excitation weight value of last frame */
- const int16_t extl, /* i : extension layer */
- const int16_t last_extl /* i : extension layer of last frame */
-);
-
-void CNG_reset_enc(
- Encoder_State *st, /* i/o: encoder state structure */
- float *pitch_buf, /* o : floating pitch for each subframe */
- float *voice_factors, /* o : voicing factors */
- int16_t VBR_cng_reset_flag );
-
-/*! r: stability flag */
-uint16_t a2rc(
- const float *a, /* i : LPC coefficients */
- float *refl, /* o : Reflection co-efficients */
- const int16_t lpcorder /* i : LPC order */
-);
-
-
-void analy_sp(
- const int16_t element_mode, /* i : element mode */
- CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */
- const int32_t input_Fs, /* i : input sampling rate */
- float *speech, /* i : speech buffer */
- float *Bin_E, /* o : per bin log energy spectrum */
- float *Bin_E_old, /* o : per bin log energy spectrum for mid-frame */
- float *fr_bands, /* o : per band energy spectrum (2 analyses) */
- float lf_E[], /* o : per bin E for first VOIC_BINS bins (without DC) */
- float *Etot, /* o : total input energy */
- const int16_t min_band, /* i : minimum critical band */
- const int16_t max_band, /* i : maximum critical band */
- float *band_ener, /* o : energy in critical frequency bands without minimum noise floor E_MIN */
- float *PS, /* o : Per bin energy spectrum */
- float *fft_buff /* o : FFT coefficients */
-);
-
-void CNG_enc(
- Encoder_State *st, /* i/o: State structure */
- float Aq[], /* o : LP coefficients */
- const float *speech, /* i : pointer to current frame input speech buffer */
- float enr, /* i : frame energy output from Levinson recursion */
- const float *lsp_mid, /* i : mid frame LSPs */
- float *lsp_new, /* i/o: current frame LSPs */
- float *lsf_new, /* i/o: current frame LSFs */
- int16_t *allow_cn_step, /* o : allow CN step */
- float *q_env,
- int16_t *sid_bw );
-
-void swb_CNG_enc(
- Encoder_State *st, /* i/o: State structure */
- const float *shb_speech, /* i : SHB target signal (6-14kHz) at 16kHz */
- const float *syn_12k8_16k /* i : ACELP core synthesis at 12.8kHz or 16kHz */
-);
-
-void lsf_enc(
- Encoder_State *st, /* i/o: state structure */
- float *lsf_new, /* o : quantized LSF vector */
- float *lsp_new, /* i/o: LSP vector to quantize/quantized */
- float *lsp_mid, /* i : mid-frame LSP vector */
- float *Aq, /* o : quantized A(z) for 4 subframes */
- const int16_t tdm_low_rate_mode, /* i : secondary channel low rate mode flag */
- const int16_t GSC_IVAS_mode, /* i : GSC IVAS mode */
- const float tdm_lsfQ_PCh[M] /* i : Q LSFs for primary channel */
-);
-
-void isf_enc_amr_wb(
- Encoder_State *st, /* i/o: state structure */
- float *isf_new, /* o : quantized ISF vector */
- float *isp_new, /* i/o: ISP vector to quantize/quantized */
- float *Aq /* o : quantized A(z) for 4 subframes */
-);
-
-void find_targets(
- const float *speech, /* i : pointer to the speech frame */
- const float *mem_syn, /* i : memory of the synthesis filter */
- const int16_t i_subfr, /* i : subframe index */
- float *mem_w0, /* i/o: weighting filter denominator memory */
- const float *p_Aq, /* i : interpolated quantized A(z) filter */
- const float *res, /* i : residual signal */
- const int16_t L_subfr, /* i : length of vectors for gain quantization */
- const float *Ap, /* i : unquantized A(z) filter with bandwidth expansion */
- const float tilt_fac, /* i : tilt factor */
- float *xn, /* o : Close-loop Pitch search target vector */
- float *cn, /* o : target vector in residual domain */
- float *h1 /* o : impulse response of weighted synthesis filter */
-);
-
-Word16 quant_2p_2N1_fx( /* o: return (2*N)+1 bits */
- const Word16 pos1, /* i: position of the pulse 1 */
- const Word16 pos2, /* i: position of the pulse 2 */
- const Word16 N /* i: number of bits FOR position */
-);
-void find_tilt(
- const float fr_bands[], /* i : energy in frequency bands */
- const float bckr[], /* i : per band background noise energy estimate */
- float ee[2], /* o : lf/hf E ration for present frame */
- const int16_t pitch[3], /* i : open loop pitch values for 3 half-frames */
- const float voicing[3], /* i : normalized correlation for 3 half-frames */
- const float *lf_E, /* i : per bin energy for low frequencies */
- const float corr_shift, /* i : normalized correlation correction */
- const int16_t bwidth, /* i : input signal bandwidth */
- const int16_t max_band, /* i : maximum critical band */
- float hp_E[], /* o : energy in HF */
- const int16_t codec_mode, /* i : Mode 1 or 2 */
- float *bckr_tilt_lt, /* i/o: lf/hf E ratio of background noise */
- int16_t Opt_vbr_mode );
-
-void init_gp_clip(
- float mem[] /* o : memory of gain of pitch clipping algorithm */
-);
-
-int16_t gp_clip(
- const int16_t element_mode, /* i : element mode */
- const int32_t core_brate, /* i : core bitrate */
- const float *voicing, /* i : normalized correlations (from OL pitch) */
- const int16_t i_subfr, /* i : subframe index */
- const int16_t coder_type, /* i : coding type */
- const float xn[], /* i : target vector */
- float mem[] /* i/o: memory of gain of pitch clipping algorithm */
-);
-
-void gp_clip_test_lsf(
- const int16_t element_mode, /* i : element mode */
- const int32_t core_brate, /* i : core bitrate */
- const float lsf[], /* i : LSF vector */
- float mem[], /* i/o: memory of gain of pitch clipping algorithm */
- const int16_t Opt_AMR_WB /* i : flag indicating AMR-WB IO mode */
-);
-
-void gp_clip_test_gain_pit(
- const int16_t element_mode, /* i : element mode */
- const int32_t core_brate, /* i : core bitrate */
- const float gain_pit, /* i : gain of quantized pitch */
- float mem[] /* i/o: memory of gain of pitch clipping algorithm */
-);
-
-void analy_lp(
- const float speech[], /* i : pointer to the denoised speech frame */
- const int16_t L_frame, /* i : length of the frame */
- const int16_t L_look, /* i : look-ahead length */
- float *ener, /* o : residual signal energy */
- float A[], /* o : A(z) filter coefficients */
- float epsP[], /* o : LP analysis residual energies for each iteration */
- float lsp_new[], /* o : current frame ISPs */
- float lsp_mid[], /* o : current mid-frame ISPs */
- float lsp_old[], /* i/o: previous frame unquantized ISPs */
- const int16_t Top[2], /* i : open loop pitch lag */
- const float Tnc[2], /* i : open loop pitch gain */
- const int32_t sr_core, /* i : internal sampling rate */
- const int16_t sec_chan_low_rate /* i : TD secondary channel flag */
-);
-
-void analy_lp_AMR_WB(
- const float speech[], /* i : pointer to the speech frame */
- float *ener, /* o : residual energy from Levinson-Durbin */
- float A[], /* o : A(z) filter coefficients */
- float epsP[], /* o : LP analysis residual energies for each iteration */
- float isp_new[], /* o : current frame ISPs */
- float isp_old[], /* i/o: previous frame unquantized ISPs */
- float isf_new[], /* o : current frame ISFs */
- const int16_t Top, /* i : open loop pitch lag */
- const float Tnc /* i : open loop pitch gain */
-);
-
-void noise_est_init(
- NOISE_EST_HANDLE hNoiseEst /* i/o: Noise estimation handle */
-);
-
-void speech_music_clas_init(
- SP_MUS_CLAS_HANDLE hSpMusClas /* i/o: speech/music classifier handle */
-);
-
-void long_enr(
- Encoder_State *st, /* i/o: encoder state structure */
- const float Etot, /* i : total channel energy */
- const int16_t localVAD_HE_SAD, /* i : HE-SAD flag without hangover */
- const int16_t high_lpn_flag, /* i : sp/mus LPN flag */
- FRONT_VAD_ENC_HANDLE hFrontVad[], /* i/o: front-VAD handles */
- const int16_t n_chan, /* i : number of channels */
- const int16_t localVAD_HE_SAD_LR[], /* i : HE-SAD flag without hangover LR channels */
- const float Etot_LR[] /* i : total channel energy LR channels */
-);
-
-void noise_est_pre(
- const float Etot, /* i : Energy of current frame */
- const int16_t ini_frame, /* i : Frame number (init) */
- NOISE_EST_HANDLE hNoiseEst, /* i/o: Noise estimation data handle */
- const int16_t idchan, /* i : channel ID */
- const int16_t element_mode, /* i : element mode */
- const int16_t last_element_mode /* i : last element mode */
-);
-
-void noise_est_down(
- const float fr_bands[], /* i : per band input energy (contains 2 vectors) */
- float bckr[], /* i/o: per band background noise energy estimate */
- float tmpN[], /* o : temporary noise update */
- float enr[], /* o : averaged energy over both subframes */
- const int16_t min_band, /* i : minimum critical band */
- const int16_t max_band, /* i : maximum critical band */
- float *totalNoise, /* o : noise estimate over all critical bands */
- const float Etot, /* i : Energy of current frame */
- float *Etot_last, /* i/o: Energy of last frame */
- float *Etot_v_h2 /* i/o: Energy variaions of noise frames */
-);
-
-void noise_est(
- Encoder_State *st, /* i/o: encoder state structure */
- const int16_t old_pitch1, /* i : previous frame OL pitch[1] */
- const float tmpN[], /* i : temporary noise update */
- const float *epsP, /* i : LP prediction error energies */
- const float Etot, /* i : total channel E */
- const float relE, /* i : relative frame energy */
- const float corr_shift, /* i : normalized correlation correction */
- const float enr[], /* i : averaged energy over both subframes */
- float fr_bands[], /* i : spectrum per critical bands of the current frame */
- float *cor_map_sum, /* o : sum of correlation map from mult-harm analysis */
- float *ncharX, /* o : noise character for sp/mus classifier */
- float *sp_div, /* o : soectral diversity feature */
- float *non_staX, /* o : non-stationarity for sp/mus classifier */
- int16_t *loc_harm, /* o : multi-harmonicity flag for UV classifier */
- const float *lf_E, /* i : per bin energy for low frequencies */
- int16_t *st_harm_cor_cnt, /* i : 1st harm correlation timer */
- const float Etot_l_lp, /* i : Smoothed low energy */
- float *sp_floor, /* o : noise floor estimate */
- float S_map[], /* o : short-term correlation map */
- STEREO_CLASSIF_HANDLE hStereoClassif, /* i/o: stereo classifier structure */
- FRONT_VAD_ENC_HANDLE hFrontVad, /* i/o: front-VAD handle */
- const int16_t ini_frame /* i : Frame number (init) */
-);
-
-void vad_param_updt(
- Encoder_State *st, /* i/o: encoder state structure */
- const float corr_shift, /* i : correlation shift */
- const float corr_shiftR, /* i : correlation shift right channel */
- const float A[], /* i : A(z) unquantized for the 4 subframes */
- const int16_t old_pitch1, /* i : previous frame OL pitch[1] */
- FRONT_VAD_ENC_HANDLE hFrontVad[], /* i/o: front-VAD handles */
- const int16_t n_channels /* i : number of channels */
-);
-
-
-void lp_gain_updt(
- const int16_t i_subfr, /* i : subframe number */
- const float gain_pit, /* i : Decoded gain pitch */
- const float norm_gain_code, /* i : Normalised gain code */
- float *lp_gainp, /* i/o: LP-filtered pitch gain(FEC) */
- float *lp_gainc, /* i/o: LP-filtered code gain (FEC) */
- const int16_t L_frame /* i : length of the frame */
-);
-
-void GSC_enc_init(
- GSC_ENC_HANDLE hGSCEnc /* i/o: GSC data handle */
-);
-
-
-/*! r: index of the last band where pitch contribution is significant */
-int16_t Pit_exc_contribution_len(
- Encoder_State *st, /* i/o: state structure */
- const float *dct_res, /* i : DCT of residual */
- float *dct_pitex, /* i/o: DCT of pitch contribution */
- float *pitch_buf, /* i/o: Pitch per subframe */
- int16_t *hangover /* i : Hangover for the time contribution switching */
-);
-
-int16_t stab_est(
- float etot, /* i : Total energy of the current frame */
- float *lt_diff_etot, /* i/o: Long term total energy variation */
- float *mem_etot, /* i/o: Total energy memory */
- int16_t *nb_thr_3, /* i/o: Number of consecutives frames of level 3 */
- int16_t *nb_thr_1, /* i/o: Number of consecutives frames of level 1 */
- float *thresh, /* i/o: Detection thresold */
- int16_t *last_music_flag, /* i/o: Previous music detection ouptut */
- const int16_t vad_flag /* i : VAD flag */
-);
-
-float gsc_gainQ(
- BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */
- const int16_t element_mode, /* i : element mode */
- const int16_t idchan, /* i : channel ID */
- const float y_gain4[], /* i : gain per band */
- float y_gainQ[], /* o : quantized gain per band */
- const int32_t core_brate, /* i : Core rate */
- const int16_t coder_type, /* i : coding type */
- const int16_t bwidth, /* i : input signal bandwidth */
- const int16_t L_frame, /* i : frame length */
- const int16_t tdm_LRTD_flag, /* i : LRTD stereo mode flag */
- const int32_t core_brate_inp /* i : true core brate */
-);
-
-void Comp_and_apply_gain(
- float exc_diffQ[], /* i/o: gain per band */
- float Ener_per_bd_iQ[], /* o : Quant Ener per band */
- float Ener_per_bd_yQ[], /* o : Ener per band for quantize y */
- int16_t Mbands_gn, /* i : number of bands */
- const int16_t ReUseGain /* i : Reuse the gain in Ener_per_bd_yQ */
-);
-
-void bands_and_bit_alloc_ivas_fx(
- const Word16 cor_strong_limit, /* i : HF correlation */
- const Word16 noise_lev, /* i : dwn scaling factor */
- const Word32 core_brate, /* i : core bit rate */
- const Word16 Diff_len, /* i : Lenght of the difference signal (before pure spectral)*/
- const Word16 bits_used, /* i : Number of bit used before frequency Q */
- Word16 *bit, /* i/o: Number of bit allowed for frequency quantization */
- const Word16 *Ener_per_bd_iQ, /* i/o: Quantized energy vector */
- Word16 *max_ener_band, /* o : Sorted order */
- Word16 *out_bits_per_bands, /* i/o: Number of bit allowed per allowed subband Q3 */
- Word16 *nb_subbands, /* o : Number of subband allowed */
- const Word16 *exc_diff, /* i : Difference signal to quantize (encoder side only) */
- Word16 *concat_in, /* o : Concatened PVQ's input vector (encoder side only) */
- Word16 *pvq_len, /* o : Number of bin covered with the PVQ */
- const Word16 coder_type, /* i : coding type */
- const Word16 bwidth, /* i : input signal bandwidth */
- const Word16 GSC_noisy_speech, /* i : GSC noisy speech flag */
- const Word16 L_frame, /* i : frame length */
- const Word16 element_mode, /* i : element mode */
- const Word16 GSC_IVAS_mode /* i : GSC IVAS mode */
-);
-
-void GSC_dec_init_ivas(
- GSC_DEC_HANDLE hGSCDec /* i/o: GSC data handle */
-);
-
-void decod_audio(
- Decoder_State *st, /* i/o: decoder static memory */
- float dct_epit[], /* o : GSC excitation in DCT domain */
- const float *Aq, /* i : LP filter coefficient */
- float *tmp_noise, /* o : long term temporary noise energy */
- float *pitch_buf, /* o : floating pitch values for each subframe */
- float *voice_factors, /* o : voicing factors */
- float *exc_dct_in, /* i/o: adapt. excitation exc */
- float *exc2, /* i/o: adapt. excitation/total exc */
- float *bwe_exc, /* o : excitation for SWB TBE */
- float *lsf_new, /* i : current frame ISF vector */
- float *gain_buf, /* o : floating pitch gain for each subframe */
- const int16_t tdm_lp_reuse_flag, /* i : LPC reuse flag */
- const int16_t tdm_low_rate_mode, /* i : secondary channel low rate mode flag */
- const int16_t tdm_Pitch_reuse_flag, /* i : primary channel pitch reuse flag */
- const float tdm_Pri_pitch_buf[] /* i : primary channel pitch buffer */
-);
-
-void gsc_dec(
- Decoder_State *st, /* i/o: State structure */
- float exc_dct_in[], /* i/o: dct of pitch-only/total excitation */
- const int16_t pit_band_idx, /* i : pitch band index */
- const int16_t Diff_len, /* i : */
- const int16_t bits_used, /* i : total number of bits used */
- const int16_t nb_subfr, /* i : Number of subframe considered */
- const int16_t coder_type, /* i : coding type */
- int16_t *last_bin, /* i : last bin of bit allocation */
- const float *lsf_new, /* i : ISFs at the end of the frame */
- float *exc_wo_nf, /* o : excitation (in f domain) without noisefill*/
- float *tmp_noise /* o : long-term noise energy */
-);
-
-void dec_pit_exc(
- Decoder_State *st, /* i/o: decoder static memory */
- const int16_t L_frame, /* i : length of the frame */
- const float *Aq, /* i : LP filter coefficient */
- const float Es_pred, /* i : predicted scaled innov. energy */
- float *pitch_buf, /* o : floating pitch values for each subframe */
- float *code, /* o : innovation */
- float *exc, /* i/o: adapt. excitation exc */
- const int16_t nb_subfr, /* i : Number of subframe considered */
- float *gain_buf, /* o : floating pitch gain for each subframe */
- const int16_t tdm_Pitch_reuse_flag, /* i : primary channel pitch reuse flag */
- const float tdm_Pri_pitch_buf[] /* i : primary channel pitch buffer */
-);
-
-void music_postfilt_init_flt(
- MUSIC_POSTFILT_HANDLE hMusicPF /* i/o: LD music postfilter handle */
-);
-
-void LD_music_post_filter(
- MUSIC_POSTFILT_HANDLE hMusicPF, /* i/o: LD music postfilter handle */
- const float dtc_in[], /* i : input synthesis */
- float dtc_out[], /* o : output synthesis */
- const int32_t core_brate, /* i : core bitrate */
- const int16_t coder_type, /* i : Coder type : -1 in case of IO */
- const int16_t Last_coder_type /* i : last Coder type */
-);
-
-void Post_music_postP(
- float dct_buffer_in[], /* i/o: excitation buffer */
- float exc_buffer_out[], /* o : DCT output buffer */
- float *exc2, /* i/o: Current excitation to be overwriten */
- const float *mem_tmp, /* i : previous frame synthesis memory */
- float *st_mem_syn2, /* i/o: current frame synthesis memory */
- const float *Aq, /* i : LPC filter coefficients */
- float *syn /* i/o: 12k8 synthesis */
-);
-
-void Prep_music_postP(
- float exc_buffer_in[], /* i/o: excitation buffer */
- float dct_buffer_out[], /* o : DCT output buffer */
- float filt_lfE[], /* i/o: long term spectrum energy */
- const int16_t last_core, /* i : last core */
- const float *pitch_buf, /* i : current frame pitch information */
- float *LDm_enh_lp_gbin /* o : smoothed suppression gain, per bin FFT */
-);
-
-void speech_music_classif(
- Encoder_State *st, /* i/o: encoder state structure */
- const float *new_inp, /* i : new input signal */
- const float *inp, /* i : input signal to locate attach position */
- const int16_t localVAD_HE_SAD, /* i : HE-SAD flag without hangover */
- const float lsp_new[M], /* i : LSPs in current frame */
- const float cor_map_sum, /* i : correlation map sum (from multi-harmonic anal.) */
- const float epsP[M + 1], /* i : LP prediciton error */
- const float PS[], /* i : energy spectrum */
- const float Etot, /* i : total frame energy */
- const float old_cor, /* i : max correlation from previous frame */
- int16_t *attack_flag, /* o : attack flag (GSC or TC) */
- const float non_staX, /* i : unbound non-stationarity for sp/mus classifier */
- const float relE, /* i : relative frame energy */
- int16_t *high_lpn_flag, /* o : sp/mus LPN flag */
- const int16_t flag_spitch /* i : flag to indicate very short stable pitch */
-);
-void ivas_find_wsp_fx(
- const Word16 L_frame, /* i : length of the frame Q0*/
- const Word16 L_subfr, /* i : length of subframe Q0*/
- const Word16 nb_subfr, /* i : number of subframes Q0*/
- const Word16 *A_fx,
- /* i : A(z) filter coefficients */ // Q12
- Word16 *Aw_fx,
- /* o : weighted A(z) filter coefficients */ // Q12
- const Word16 *speech_fx,
- /* i : pointer to the denoised speech frame */ // Q_new
- const Word16 tilt_fact,
- /* i : tilt factor */ // Q15
- Word16 *wsp_fx,
- /* o : poitnter to the weighted speech frame */ // Q_new
- Word16 *mem_wsp_fx,
- /* i/o: W(Z) denominator memory */ // Q_new
- const Word16 gamma,
- /* i : weighting factor */ // Q15
- const Word16 L_look /* i : look-ahead Q0*/
-);
-
-void gain_enc_amr_wb(
- BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */
- const float *xn, /* i : target vector */
- const float *y1, /* i : zero-memory filtered adaptive excitation */
- const float *y2, /* i : zero-memory filtered algebraic codebook excitation */
- const float *code, /* i : algebraic excitation */
- const int32_t core_brate, /* i : core bitrate */
- float *gain_pit, /* i/o: Pitch gain / Quantized pitch gain */
- float *gain_code, /* o : Quantized codebook gain */
- float *gain_inov, /* o : innovation gain */
- float *norm_gain_code, /* o : norm. gain of the codebook excitation */
- float *coeff, /* i/o: correlations , -2,, -2 and 2 */
- const int16_t clip_gain, /* i : gain pitch clipping flag (1 = clipping) */
- float *past_qua_en /* i/o: gain quantization memory (4 words) */
-);
-
-void gain_enc_lbr(
- BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */
- const int16_t gains_mode[], /* i : gain bits */
- const int16_t coder_type, /* i : coding type */
- const int16_t i_subfr, /* i : subframe index */
- const float *xn, /* i : target vector */
- const float *y1, /* i : zero-memory filtered adaptive excitation */
- const float *y2, /* i : zero-memory filtered algebraic codebook excitation */
- const float *code, /* i : algebraic excitation */
- float *gain_pit, /* o : quantized pitch gain */
- float *gain_code, /* o : quantized codebook gain */
- float *gain_inov, /* o : gain of the innovation (used for normalization) */
- float *norm_gain_code, /* o : norm. gain of the codebook excitation */
- float *g_corr, /* i/o: correlations , -2,, -2 and 2 */
- float gains_mem[], /* i/o: pitch gain and code gain from previous subframes */
- const int16_t clip_gain, /* i : gain pitch clipping flag (1 = clipping) */
- const int16_t L_subfr /* i : subfr Lenght */
-);
-
-void gain_enc_mless(
- BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */
- const int16_t gains_mode[], /* i : gain bits */
- const int16_t element_mode, /* i : element mode */
- const int16_t L_frame, /* i : length of the frame */
- const int16_t i_subfr, /* i : subframe index */
- const int16_t tc_subfr, /* i : TC subframe index */
- const float *xn, /* i : target vector */
- const float *y1, /* i : zero-memory filtered adaptive excitation */
- const float *y2, /* i : zero-memory filtered algebraic codebook excitation */
- const float *code, /* i : algebraic excitation */
- const float Es_pred, /* i : predicted scaled innovation energy */
- float *gain_pit, /* o : quantized pitch gain */
- float *gain_code, /* o : quantized codebook gain */
- float *gain_inov, /* o : innovation gain */
- float *norm_gain_code, /* o : norm. gain of the codebook excitation */
- float *coeff, /* i/o: correlations , -2,, -2 and 2 */
- const int16_t clip_gain /* i : gain pitch clipping flag (1 = clipping) */
-);
-
-void gain_enc_SQ(
- BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */
- const int16_t gains_mode[], /* i : gain bits */
- const int16_t i_subfr, /* i : subframe index */
- const float *xn, /* i : target vector */
- const float *yy1, /* i : zero-memory filtered adaptive excitation */
- const float *y2, /* i : zero-memory filtered algebraic codebook excitation */
- const float *code, /* i : algebraic excitation */
- const float Es_pred, /* i : predicted scaled innovation energy */
- float *gain_pit, /* o : quantized pitch gain */
- float *gain_code, /* o : quantized codebook gain */
- float *gain_inov, /* o : gain of the innovation (used for normalization) */
- float *norm_gain_code, /* o : norm. gain of the codebook excitation */
- float *g_corr, /* i/o: correlations , -2,, -2 and 2 */
- const int16_t clip_gain /* i : gain pitch clipping flag (1 = clipping) */
-);
-
-/*! r: Return index of quantization */
-int16_t gain_enc_gaus(
- float *gain, /* i/o: Code gain to quantize */
- const int16_t bits, /* i : number of bits to quantize */
- const float lowBound, /* i : lower bound of quantizer (dB) */
- const float topBound /* i : upper bound of quantizer (dB) */
-);
-
-void E_corr_xy2(
- const float xn[], /* i : target vector */
- const float y1[], /* i : filtered excitation components 1 */
- const float y2[], /* i : filtered excitation components 2 */
- float g_corr[], /* o : correlations between x, y1, y2, y3, y4 */
- const int16_t L_subfr /* i : subframe size */
-);
-
-
-/*! r: coding type */
-int16_t find_uv(
- Encoder_State *st, /* i/o: encoder state structure */
- const float *pitch_fr, /* i : pointer to adjusted fractional pitch (4 val.) */
- const float *voicing_fr, /* i : refined correlation for each subframes */
- const float *speech, /* i : pointer to speech signal for E computation */
- const float *ee, /* i : lf/hf Energy ratio for present frame */
- float *dE1X, /* o : sudden energy increase for S/M classifier */
- const float corr_shift, /* i : normalized correlation correction in noise */
- const float relE, /* i : relative frame energy */
- const float Etot, /* i : total energy */
- const float hp_E[], /* i : energy in HF */
- int16_t *flag_spitch, /* i/o: flag to indicate very short stable pitch and high correlation */
- const int16_t last_core_orig, /* i : original last core */
- STEREO_CLASSIF_HANDLE hStereoClf /* i/o: stereo classifier structure */
-);
-
-/*! r: classification for current frames */
-int16_t signal_clas(
- Encoder_State *st, /* i/o: encoder state structure */
- const float *speech, /* i : pointer to speech signal for E computation */
- const float *ee, /* i : lf/hf E ration for 2 half-frames */
- const float relE, /* i : frame relative E to the long term average */
- const int16_t L_look, /* i : look-ahead */
- int16_t *clas_mod /* o : class flag for NOOP detection */
-);
-
-void select_TC(
- const int16_t codec_mode, /* i : codec mode */
- const int16_t tc_cnt, /* i : TC frame counter */
- int16_t *coder_type, /* i/o: coder type */
- const int16_t localVAD /* i : VAD without hangover */
-);
-
-
-void wb_vad_init(
- VAD_HANDLE hVAD /* i/o: VAD data handle */
-);
-
-int16_t dtx_hangover_addition(
- Encoder_State *st, /* i/o: encoder state structure */
- const int16_t vad_flag, /* i : VAD flag */
- const float snr, /* i : input single SNR estimate */
- const int16_t cldfb_subtraction, /* i : */
- int16_t *vad_hover_flag, /* o : VAD hangover flag */
- VAD_HANDLE hVAD, /* i/o: VAD handle for L or R channel */
- NOISE_EST_HANDLE hNoiseEst, /* i : Noise estimation handle */
- int16_t *rem_dtx_ho /* o : Expected remaining hangover frames */
-);
-
-int16_t wb_vad(
- Encoder_State *st, /* i/o: encoder state structure */
- const float fr_bands[], /* i : per band input energy (contains 2 vectors) */
- int16_t *noisy_speech_HO, /* o : SC-VBR noisy speech HO flag */
- int16_t *clean_speech_HO, /* o : SC-VBR clean speech HO flag */
- int16_t *NB_speech_HO, /* o : SC-VBR NB speech HO flag */
- float *snr_sum_he, /* i : voicing metric from SAD */
- int16_t *localVAD_HE_SAD, /* o : HE_SAD decision without hangovers */
- int16_t *flag_noisy_speech_snr, /* o : */
- VAD_HANDLE hVAD, /* i/o: VAD handle */
- NOISE_EST_HANDLE hNoiseEst, /* i/o: Noise estimation handle */
- float lp_speech, /* i : long term active speech energy average */
- float lp_noise /* i : long term noise energy */
-);
-
-void bw_detect(
- Encoder_State *st, /* i/o: Encoder State */
- const float signal_in[], /* i : input signal */
- float *spectrum, /* i : MDCT spectrum */
- const float *enerBuffer, /* i : energy buffer */
- const IVAS_FORMAT ivas_format, /* i : IVAS format */
- const int16_t mct_on /* i : flag MCT mode */
-);
-
-void set_bw(
- const int16_t element_mode, /* i : element mode */
- const int32_t element_brate, /* i : element bitrate */
- Encoder_State *st, /* i/o: Encoder State */
- const int16_t codec_mode /* i : codec mode */
-);
-
-float gaus_encode(
- Encoder_State *st, /* i/o: encoder state structure */
- const int16_t i_subfr, /* i : subframe index */
- const float *h1, /* i : weighted filter input response */
- const float *xn, /* i : target vector */
- float *exc, /* o : pointer to excitation signal frame */
- float *mem_w0, /* o : weighting filter denominator memory */
- float *gp_clip_mem, /* o : memory of gain of pitch clipping algorithm */
- float *tilt_code, /* o : synthesis excitation spectrum tilt */
- float *code, /* o : algebraic excitation */
- float *gain_code, /* o : Code gain. */
- float *y2, /* o : zero-memory filtered adaptive excitation */
- float *gain_inov, /* o : innovation gain */
- float *voice_fac, /* o : voicing factor */
- float *gain_pit, /* o : adaptive excitation gain */
- float *norm_gain_code /* o : normalized innovative cb. gain */
-);
-
-void td_cng_enc_init(
- TD_CNG_ENC_HANDLE hTdCngEnc, /* i/o: DTX/TD CNG data handle */
- const int16_t Opt_DTX_ON, /* i : flag indicating DTX operation */
- const int16_t max_bwidth /* i : maximum encoded bandwidth */
-);
-
-void dtx(
- Encoder_State *st, /* i/o: encoder state structure */
- const int32_t ivas_total_brate, /* i : IVAS total bitrate */
- const int16_t vad, /* i : VAD flag for DTX */
- const float speech[] /* i : Pointer to the speech frame */
-);
-
-void dtx_hangover_control(
- Encoder_State *st, /* i/o: encoder state structure */
- const float lsp_new[M] /* i : current frame LSPs */
-);
-
-
-void updt_enc_common(
- Encoder_State *st /* i/o: encoder state structure */
-);
-
-void updt_IO_switch_enc(
- Encoder_State *st, /* i/o: state structure */
- const int16_t input_frame /* i : input frame length */
-);
-
-void transition_enc(
- Encoder_State *st, /* i/o: encoder state structure */
- const int16_t i_subfr, /* i : subframe index */
- int16_t *tc_subfr, /* i/o: TC subframe index */
- int16_t *Jopt_flag, /* i : joint optimization flag */
- int16_t *position, /* i/o: maximum of residual signal index */
- int16_t *T0, /* i/o: close loop integer pitch */
- int16_t *T0_frac, /* i/o: close loop fractional part of the pitch */
- int16_t *T0_min, /* i/o: lower limit for close-loop search */
- int16_t *T0_max, /* i/o: higher limit for close-loop search */
- float *exc, /* i/o: pointer to excitation signal frame */
- float *y1, /* o : zero-memory filtered adaptive excitation */
- const float *h1, /* i : weighted filter input response */
- const float *xn, /* i : target vector */
- float *xn2, /* o : target vector for innovation search */
- float *gp_cl, /* i/o: memory of gain of pitch clipping algorithm */
- float *gain_pit, /* o : adaptive excitation gain */
- float *g_corr, /* o : ACELP correlation values */
- int16_t *clip_gain, /* i/o: adaptive gain clipping flag */
- float **pt_pitch, /* o : floating pitch values */
- float *bwe_exc, /* i/o: excitation for SWB TBE */
- int16_t *unbits /* i/o: unused bits */
-);
-
-void tc_classif_enc(
- const int16_t L_frame, /* i : length of the frame */
- int16_t *tc_subfr, /* i/o: TC subframe index */
- int16_t *position, /* i/o: maximum of residual signal index */
- const int16_t attack_flag, /* i : attack flag */
- const int16_t pitch, /* i : open loop pitch estimates for first halfframe */
- const float *res /* i : pointer to the LP residual signal frame */
-);
-
-
-void gain_enc_tc(
- BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */
- const int16_t gains_mode[], /* i : gain bits */
- const int16_t i_subfr, /* i : subframe index */
- const float xn[], /* i : target vector */
- const float y2[], /* i : zero-memory filtered algebraic codebook excitation */
- const float code[], /* i : algebraic excitation */
- const float Es_pred, /* i : predicted scaled innovation energy */
- float *gain_pit, /* o : pitch gain / Quantized pitch gain */
- float *gain_code, /* o : quantized codebook gain */
- float *gain_inov, /* o : innovation gain */
- float *norm_gain_code /* o : norm. gain of the codebook excitation */
-);
-
-
-/*! r: comfort noise gain factor */
-float AVQ_cod(
- const float xri[], /* i : vector to quantize */
- int16_t xriq[], /* o : quantized normalized vector (assuming the bit budget is enough) */
- const int16_t nb_bits, /* i : number of allocated bits */
- const int16_t Nsv /* i : number of subvectors (lg=Nsv*8) */
-);
-
-void AVQ_encmux(
- BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */
- const int16_t extl, /* i : extension layer */
- int16_t xriq[], /* i/o: rounded subvectors [0..8*Nsv-1] followed by rounded bit allocations [8*Nsv..8*Nsv+Nsv-1] */
- int16_t *nb_bits, /* i/o: number of allocated bits */
- const int16_t Nsv, /* i : number of subvectors */
- int16_t nq[], /* o : AVQ nq index */
- int16_t avq_bit_sFlag, /* i : flag indicating AVQ bit savings */
- int16_t trgtSvPos /* i : target SV for AVQ bit savings */
-);
-
-void ordr_esti(
- const int16_t k, /* i : sub-vector index */
- int16_t *Mpos, /* i/o: dominant sub-vector position from ACV */
- int16_t svOrder[], /* i/o: AVQ sub-vector order */
- const int16_t Nsv /* i : total sub-vectors in a sub-frames */
-);
-
-void re8_cod(
- int16_t x[], /* i : point in RE8 (8-dimensional integer vector) */
- int16_t *n, /* i : codebook number (*n is an integer defined in {0,2,3,4,..,n_max}) */
- uint16_t *I, /* o : index of c (pointer to unsigned 16-bit word) */
- int16_t k[] /* o : index of v (8-dimensional vector of binary indices) = Voronoi index */
-);
-
-void pre_exc(
- const int16_t Opt_AMR_WB, /* i : flag indicating AMR-WB IO mode */
- const int16_t L_frame, /* i : frame length */
- const float *speech, /* i : input speech */
- const float *p_Aq, /* i : 12k8 Lp coefficient */
- const float *p_A, /* i : unquantized A(q) filter with bandwidth expansion */
- const int16_t coder_type, /* i : coding type */
- const int16_t i_subfr, /* i : current sub frame indicator */
- float *Ap, /* o : weighted LP filter coefficients */
- const float *res, /* i : residual signal */
- float *h1, /* o : impulse response of weighted synthesis filter */
- float *xn, /* o : close-loop Pitch search target vector */
- float *cn, /* o : target vector in residual domain */
- float *mem_syn, /* i/o: memory of the synthesis filter */
- float *mem_w0, /* i/o: weighting filter denominator memory */
- const int16_t L_subfr /* i : subframe length */
-);
-
-
-void encod_amr_wb(
- Encoder_State *st, /* i/o: state structure */
- const float speech[], /* i : input speech */
- const float Aw[], /* i : weighted A(z) unquantized for subframes */
- const float Aq[], /* i : 12k8 Lp coefficient */
- const float *res, /* i : residual signal */
- float *syn, /* i/o: core synthesis */
- float *exc, /* i/o: current non-enhanced excitation */
- float *exc2, /* i/o: current enhanced excitation */
- float *pitch_buf, /* i/o: floating pitch values for each subframe */
- int16_t hf_gain[NB_SUBFR], /* o : decoded HF gain */
- const float *speech16k /* i : input speech @16kHz */
-);
-
-void stat_noise_uv_enc(
- Encoder_State *st, /* i/o: state structure */
- const float *epsP, /* i : LP prediction errors */
- const float *isp_new, /* i : immittance spectral pairs at 4th sfr */
- const float *isp_mid, /* i : immittance spectral pairs at 2nd sfr */
- float *Aq, /* i/o: A(z) quantized for the 4 subframes */
- float *exc2, /* i/o: excitation buffer */
- const int16_t uc_two_stage_flag /* o : flag undicating two-stage UC */
-);
-
-void re8_compute_base_index(
- const int16_t *x, /* i : Elemen of Q2, Q3 or Q4 */
- const int16_t ka, /* i : Identifier of the absolute leader related to x */
- uint16_t *I /* o : index */
-);
-
-void transf_cdbk_enc(
- Encoder_State *st, /* i/o: encoder state structure */
- const int16_t harm_flag_acelp, /* i : harmonic flag for higher rates ACELP */
- const int16_t i_subfr, /* i : subframe index */
- float cn[], /* i/o: target vector in residual domain */
- float exc[], /* i/o: pointer to excitation signal frame */
- const float *p_Aq, /* i : 12k8 Lp coefficient */
- const float Ap[], /* i : weighted LP filter coefficients */
- const float h1[], /* i : weighted filter input response */
- float xn[], /* i/o: target vector */
- float xn2[], /* i/o: target vector for innovation search */
- float y1[], /* i/o: zero-memory filtered adaptive excitation */
- const float y2[], /* i : zero-memory filtered innovative excitation */
- const float Es_pred, /* i : predicited scaled innovation energy */
- float *gain_pit, /* i/o: adaptive excitation gain */
- const float gain_code, /* i : innovative excitation gain */
- float g_corr[], /* o : ACELP correlation values */
- const int16_t clip_gain, /* i : adaptive gain clipping flag */
- float *gain_preQ, /* o : prequantizer excitation gain */
- float code_preQ[], /* o : prequantizer excitation */
- int16_t *unbits /* i/o: number of AVQ unused bits */
-);
-void deemph_lpc(
- float *p_Aq_cuerr, /* i : LP coefficients current frame */
- float *p_Aq_old, /* i : LP coefficients previous frame */
- float *LPC_de_curr, /* o : De-emphasized LP coefficients current frame */
- float *LPC_de_old, /* o : De-emphasized LP coefficients previous frame*/
- const int16_t deemph_old );
-
-void Interpol_delay(
- float *out, /* o : pitch interpolation output */
- float *last, /* i : last frame pitch lag */
- float *current, /* i : current frame pitch lag */
- int16_t SubNum, /* i : subframe number */
- const float *frac /* i : interpolation constant */
-);
-
-void dequantize_uvg(
- int16_t iG1, /* i : gain 1 index */
- int16_t *iG2, /* i : gain 2 index */
- float *G, /* o : quantized gain */
- const int16_t bwidth /* i : audio bandwidth */
-);
-
-void generate_nelp_excitation(
- int16_t *seed, /* i/o: random number seed */
- float *Gains, /* i : excitation gains */
- float *output, /* o : excitation output */
- float gain_fac /* i : gain factor */
-);
-
-void nelp_encoder(
- Encoder_State *st, /* i/o: encoder state */
- float *in, /* i : residual signal */
- float *exc, /* o : NELP quantized excitation signal */
- const int16_t reduce_gains );
-
-void encod_nelp(
- Encoder_State *st, /* i/o: state structure */
- const float *speech, /* i : input speech */
- const float Aw[], /* i : weighted A(z) unquantized for subframes */
- const float *Aq, /* i : 12k8 Lp coefficient */
- float *res, /* o : residual signal */
- float *synth, /* o : core synthesis */
- float *tmp_noise, /* o : long-term noise energy */
- float *exc, /* i/o: current non-enhanced excitation */
- float *exc2, /* i/o: current enhanced excitation */
- float *pitch_buf, /* o : floating pitch values for each subframe */
- float *voice_factors, /* o : voicing factors */
- float *bwe_exc /* o : excitation for SWB TBE */
-);
-
-void realft(
- float *data, /* i/o: data array */
- int16_t n, /* i : length of data array */
- int16_t isign /* i : sign +1 or -1 */
-);
-
-ivas_error DTFS_new(
- DTFS_STRUCTURE **dtfs_out );
-
-void DTFS_copy(
- DTFS_STRUCTURE *Xout, /* o : DTFS */
- DTFS_STRUCTURE Xinp /* i : DTFS */
-);
-
-void DTFS_sub(
- DTFS_STRUCTURE *tmp, /* o : output DFTS */
- DTFS_STRUCTURE X1, /* i : DTFS input 1 */
- DTFS_STRUCTURE X2 /* i : DTFS input 2 */
-);
-
-void DTFS_to_fs(
- const float *x, /* i : Time domain signal */
- const int16_t N, /* i : Length of input vector */
- DTFS_STRUCTURE *X, /* o : DTFS structure with a, b, lag */
- const int32_t sampling_rate,
- const int16_t FR_flag /* i : FR flag */
-);
-
-void DTFS_fs_inv(
- DTFS_STRUCTURE *X, /* i : DTFS */
- float *x, /* o : time domain sig */
- const int16_t N, /* i : Output length */
- float ph0 /* i : Input phase */
-);
-
-void DTFS_car2pol(
- DTFS_STRUCTURE *X /* i/o: DTFS structure a, b, lag */
- /* input in Cartesion, output in Polar */
-);
-
-void DTFS_pol2car(
- DTFS_STRUCTURE *X /* i/o: DTFS structure a, b, lag */
- /* input in Polar, output in Cartesian */
-);
-
-/*! r: Return Input RMS between f1/f2 b4 scaling */
-float DTFS_setEngyHarm(
- float f1, /* i : lower band freq of input to control energy */
- float f2, /* i : upper band freq of input to control energy */
- float g1, /* i : lower band freq of output to control energy */
- float g2, /* i : upper band freq of output to control energy */
- float en2, /* i : Target Energy to set the DTFS to */
- DTFS_STRUCTURE *X /* i/o: DTFS to adjust the energy of */
-);
-
-void DTFS_to_erb(
- DTFS_STRUCTURE X, /* i : DTFS input */
- float *out /* o : ERB output */
-);
-
-void DTFS_zeroPadd(
- const int16_t N, /* i : Target lag */
- DTFS_STRUCTURE *X /* i/o: DTFS */
-);
-
-/*! r: Energy */
-float DTFS_getEngy(
- DTFS_STRUCTURE X /* i : DTFS to compute energy of */
-);
-
-void DTFS_adjustLag(
- DTFS_STRUCTURE *X_DTFS, /* i/o: DTFS to adjust lag for */
- const int16_t N /* i : Target lag */
-);
-
-void DTFS_poleFilter(
- DTFS_STRUCTURE *X, /* i/o: DTFS to poleFilter inplace */
- const float *LPC, /* i : LPCs */
- const int16_t N /* i : LPCORDER */
-);
-
-void DTFS_zeroFilter(
- DTFS_STRUCTURE *X, /* i/o: DTFS to zeroFilter inplace */
- const float *LPC, /* i : LPCs */
- const int16_t N /* i : LPCORDER */
-);
-
-float DTFS_alignment_full(
- DTFS_STRUCTURE X1_DTFS, /* i : reference DTFS */
- DTFS_STRUCTURE X2_DTFS, /* i : DTFS to shift */
- const int16_t num_steps /* i : resolution */
-);
-
-void DTFS_phaseShift(
- DTFS_STRUCTURE *X, /* i : DTFS to shift */
- float ph /* i : phase to shift */
-);
-
-void erb_add(
- float *curr_erb, /* i/o: current ERB */
- const int16_t l, /* i : current lag */
- const float *prev_erb, /* i : previous ERB */
- const int16_t pl, /* i : previous lag */
- const int16_t *index, /* i : ERB index */
- const int16_t num_erb /* i : number of ERBs */
-);
-
-void erb_slot(
- int16_t lag, /* i : input lag */
- int16_t *out, /* o : ERB slots */
- float *mfreq, /* i : ERB frequencies */
- int16_t num_erb /* i : number of ERBs */
-);
-
-void erb_diff(
- const float *prev_erb, /* i : previous ERB */
- const int16_t pl, /* i : previous lag */
- const float *curr_erb, /* i : current ERB */
- const int16_t l, /* i : current lag */
- const float *curr_lsp, /* i : current LSP coefficients */
- float *out, /* o : ERB difference */
- int16_t *index, /* i : ERB index */
- const int16_t num_erb /* i : Number of ERBs */
-);
-
-void DTFS_erb_inv(
- float *in, /* i : ERB inpt */
- int16_t *slot, /* i : ERB slots filled based on lag */
- float *mfreq, /* i : erb frequence edges */
- DTFS_STRUCTURE *X, /* o : DTFS after erb-inv */
- const int16_t num_erb /* i : Number of ERB bands */
-);
-
-ivas_error ppp_quarter_encoder(
- int16_t *returnFlag, /* o : return value */
- BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */
- DTFS_STRUCTURE *CURRCW_Q, /* o : Quantized (amp/phase) DTFS */
- DTFS_STRUCTURE *TARGETCW, /* o : DTFS with quant phase but unquant Amp */
- const int16_t prevCW_lag, /* i : previous lag */
- DTFS_STRUCTURE vCURRCW_NQ, /* i : Unquantized DTFS */
- const float *curr_lpc, /* i : LPCS */
- float *lastLgainE, /* i/o: last low band gain */
- float *lastHgainE, /* i/o: last high band gain */
- float *lasterbE, /* i/o: last ERB vector */
- DTFS_STRUCTURE PREV_CW_E /* i : past DTFS */
-);
-
-ivas_error WIsyn(
- DTFS_STRUCTURE PREVCW, /* i : Prev frame DTFS */
- DTFS_STRUCTURE *CURR_CW_DTFS, /* i/o: Curr frame DTFS */
- const float *curr_lpc, /* i : LPC */
- float *ph_offset, /* i/o: Phase offset to line up at end of frame */
- float *out, /* o : Waveform Interpolated time domain signal */
- const int16_t N, /* i : Number of samples of output to generate */
- const int16_t FR_flag /* i : called for post-smoothing in FR */
-);
-
-void set_ppp_mode(
- Encoder_State *st, /* i/o: encoder state structure */
- const int16_t noisy_speech_HO, /* i : SC-VBR noisy speech HO flag */
- const int16_t clean_speech_HO, /* i : SC-VBR clean speech HO flag */
- const int16_t NB_speech_HO, /* i : SC-VBR NB speech HO flag */
- const int16_t localVAD_he /* i : HE-SAD flag without hangover */
-);
-
-ivas_error ppp_voiced_encoder(
- BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */
- SC_VBR_ENC_HANDLE hSC_VBR, /* i/o: SC-VBR state structure */
- const int16_t bwidth, /* i : audio bandwidth */
- const int16_t last_coder_type_raw, /* i : raw last_coder_type */
- const float old_pitch_buf[], /* i : buffer of old subframe pitch values */
- float *in, /* i : residual signal */
- float *out, /* o : Quantized residual signal */
- const int16_t delay, /* i : open loop pitch */
- float *lpc1, /* i : prev frame de-emphasized LPC */
- float *lpc2, /* i : current frame de-emphasized LPC */
- float *exc, /* i : previous frame quantized excitation */
- float *pitch /* o : floating pitch values for each subframe */
-);
-
-ivas_error encod_ppp(
- Encoder_State *st, /* i/o: state structure */
- const float speech[], /* i : input speech */
- const float Aw[], /* i : weighted A(z) unquantized for subframes */
- const float Aq[], /* i : 12k8 Lp coefficient */
- float *res, /* i/o: residual signal */
- float *synth, /* i/o: core synthesis */
- float *exc, /* i/o: current non-enhanced excitation */
- float *exc2, /* i/o: current enhanced excitation */
- float *pitch_buf, /* i/o: floating pitch values for each subframe */
- float *voice_factors, /* o : voicing factors */
- float *bwe_exc /* o : excitation for SWB TBE */
-);
-
-void reset_rf_indices(
- RF_ENC_HANDLE hRF, /* i/o: RF state structure */
- const int16_t L_frame, /* i : frame length */
- int16_t *rf_target_bits_write );
-
-void signaling_enc_rf(
- Encoder_State *st /* i/o: encoder state structure */
-);
-
-ivas_error acelp_core_dec(
- Decoder_State *st, /* i/o: Decoder state structure */
- float output[], /* o : synthesis @internal Fs */
- float synth[], /* o : synthesis */
- float save_hb_synth[], /* o : HB synthesis */
- float bwe_exc_extended[], /* i/o: bandwidth extended excitation */
- float *voice_factors, /* o : voicing factors */
- float old_syn_12k8_16k[], /* o : intermediate ACELP synthesis at 12.8kHz or 16kHz to be used by SWB BWE */
- const int16_t sharpFlag, /* i : formant sharpening flag */
- float pitch_buf[NB_SUBFR16k], /* o : floating pitch for each subframe */
- int16_t *unbits, /* o : number of unused bits */
- int16_t *sid_bw, /* o : 0-NB/WB, 1-SWB SID */
- STEREO_TD_DEC_DATA_HANDLE hStereoTD, /* i/o: TD stereo decoder handle */
- const float tdm_lspQ_PCh[M], /* i : Q LSPs for primary channel */
- const float tdm_lsfQ_PCh[M], /* i : Q LSFs for primary channel */
- const int16_t use_cldfb_for_dft, /* i : flag to use of CLDFB for DFT Stereo */
- const int16_t last_element_mode, /* i : last element mode */
- const int32_t last_element_brate, /* i : last element bitrate */
- const int16_t flag_sec_CNA, /* i : CNA flag for secondary channel */
- const int16_t nchan_out, /* i : number of output channels */
- STEREO_CNG_DEC_HANDLE hStereoCng, /* i : stereo CNG handle */
- const int16_t read_sid_info /* i : read SID info flag */
-);
-
-void bass_psfilter_init(
- BPF_DEC_HANDLE hBPF /* o : BPF data handle */
-);
-
-void bass_psfilter(
- BPF_DEC_HANDLE hBPF, /* o : BPF data handle */
- const int16_t Opt_AMR_WB, /* i : AMR-WB IO flag */
- const float synth_in[], /* i : synthesis (at 16kHz) */
- const int16_t L_frame, /* i : length of the last frame */
- const float pitch_buf[], /* i : pitch for every subfr [0,1,2,3] */
- const int16_t bpf_off, /* i : do not use BPF when set to 1 */
- float v_stab, /* i : stability factor */
- float *v_stab_smooth, /* i : smoothed stability factor */
- const int16_t coder_type, /* i : coder_type */
- float bpf_noise_buf[] /* o : BPF error signal (at int_fs) */
-);
-
-void CNG_reset_dec(
- Decoder_State *st, /* i/o: decoder state structure */
- float *pitch_buf, /* o : floating pitch for each subframe */
- float *voice_factors /* o : voicing factors */
-);
-
-void updt_dec(
- Decoder_State *st, /* i/o: state structure */
- const float *old_exc, /* i : buffer of excitation */
- const float *pitch_buf, /* i : floating pitch values for each subframe */
- const float Es_pred, /* i : predicited scaled innovation energy */
- const float *Aq, /* i : A(z) quantized for all subframes */
- const float *lsf_new, /* i : current frame LSF vector */
- const float *lsp_new, /* i : current frame LSP vector */
- const float voice_factors[], /* i : voicing factors */
- const float *old_bwe_exc, /* i : buffer of excitation */
- const float *gain_buf /* o : floating pitch gain for each subframe */
-);
-
-void updt_IO_switch_dec(
- const int16_t output_frame, /* i : output frame length */
- Decoder_State *st /* i/o: state structure */
-);
-
-void updt_dec_common(
- Decoder_State *st, /* i/o: decoder state structure */
- const int16_t hq_core_type, /* i : HQ core type */
- const int16_t concealWholeFrameTmp, /* i : concealWholeFrameTmp flag */
- const float *synth /* i : decoded synthesis */
-);
-
-void td_cng_dec_init(
- DEC_CORE_HANDLE st /* i/o: decoder state structure */
-);
-
-void CNG_dec(
- Decoder_State *st, /* i/o: State structure */
- const int16_t last_element_mode, /* i : last element mode */
- float Aq[], /* o : LP coefficients */
- float *lsp_new, /* i/o: current frame LSPs */
- float *lsf_new, /* i/o: current frame LSFs */
- int16_t *allow_cn_step, /* o : allow cn step */
- int16_t *sid_bw, /* o : 0-NB/WB, 1-SWB SID */
- float *q_env );
-
-void swb_CNG_dec(
- Decoder_State *st, /* i/o: State structure */
- const float *synth, /* i : ACELP core synthesis at 32kHz */
- float *shb_synth, /* o : high-band CNG synthesis */
- const int16_t sid_bw /* i : 0-NB/WB, 1-SWB SID */
-);
-
-void lsf_dec(
- Decoder_State *st, /* i/o: State structure */
- const int16_t tc_subfr, /* i : TC subframe index */
- float *Aq, /* o : quantized A(z) for 4 subframes */
- int16_t *LSF_Q_prediction, /* o : LSF prediction mode */
- float *lsf_new, /* o : de-quantized LSF vector */
- float *lsp_new, /* o : de-quantized LSP vector */
- float *lsp_mid, /* o : de-quantized mid-frame LSP vector */
- const int16_t tdm_low_rate_mode, /* i : secondary channel low rate mode flag */
- const float tdm_lsfQ_PCh[M] /* i : Q LSFs for primary channel */
-);
-
-void isf_dec_amr_wb(
- Decoder_State *st, /* i/o: State structure */
- float *Aq, /* o : quantized A(z) for 4 subframes */
- float *isf_new, /* o : de-quantized ISF vector */
- float *isp_new /* o : de-quantized ISP vector */
-);
-
-void Es_pred_dec(
- float *Es_pred, /* o : predicted scaled innovation energy */
- const int16_t enr_idx, /* i : indice */
- const int16_t nb_bits, /* i : number of bits */
- const int16_t no_ltp /* i : no LTP flag */
-);
-
-void gaus_dec(
- Decoder_State *st, /* i/o: decoder state structure */
- const int16_t i_subfr, /* i : subframe index */
- float *code, /* o : gaussian excitation */
- float *norm_gain_code, /* o : gain of the normalized gaussian excitation */
- float *lp_gainp, /* i/o: lp filtered pitch gain(FER) */
- float *lp_gainc, /* i/o: lp filtered code gain (FER) */
- float *gain_inov, /* o : unscaled innovation gain */
- float *tilt_code, /* o : synthesis excitation spectrum tilt */
- float *voice_fac, /* o : estimated voicing factor */
- float *gain_pit, /* o : reset pitch gain */
- float *pt_pitch, /* o : reset floating pitch buffer */
- float *exc, /* o : excitation signal frame */
- float *gain_code, /* o : gain of the gaussian excitation */
- float *exc2 /* o : scaled excitation signal frame */
-);
-
-void gain_dec_amr_wb(
- Decoder_State *st, /* i/o: decoder state structure */
- const int32_t core_brate, /* i : core bitrate */
- float *gain_pit, /* o : Quantized pitch gain */
- float *gain_code, /* o : Quantized codeebook gain */
- float *past_qua_en, /* i/o: gain quantization memory (4 words) */
- float *gain_inov, /* o : unscaled innovation gain */
- const float *code, /* i : algebraic code excitation */
- float *norm_gain_code /* o : norm. gain of the codebook excitation */
-);
-
-void gain_dec_lbr(
- Decoder_State *st, /* i/o: decoder state structure */
- const int16_t coder_type, /* i : coding type */
- const int16_t i_subfr, /* i : subframe index */
- const float *code, /* i : algebraic excitation */
- float *gain_pit, /* o : quantized pitch gain */
- float *gain_code, /* o : quantized codebook gain */
- float *gain_inov, /* o : gain of the innovation (used for normalization) */
- float *norm_gain_code, /* o : norm. gain of the codebook excitation */
- float gains_mem[], /* i/o: pitch gain and code gain from previous subframes */
- const int16_t L_subfr /* i : subframe length */
-);
-
-void gain_dec_mless(
- Decoder_State *st, /* i/o: decoder state structure */
- const int16_t L_frame, /* i : length of the frame */
- const int16_t coder_type, /* i : coding type */
- const int16_t i_subfr, /* i : subframe number */
- const int16_t tc_subfr, /* i : TC subframe index */
- const float *code, /* i : algebraic code excitation */
- const float Es_pred, /* i : predicted scaled innov. energy */
- float *gain_pit, /* o : Quantized pitch gain */
- float *gain_code, /* o : Quantized codeebook gain */
- float *gain_inov, /* o : unscaled innovation gain */
- float *norm_gain_code /* o : norm. gain of the codebook excitation */
-);
-
-void gain_dec_SQ(
- Decoder_State *st, /* i/o: decoder state structure */
- const int16_t i_subfr, /* i : subframe number */
- const float *code, /* i : algebraic code excitation */
- const float Es_pred, /* i : predicted scaled innov. energy */
- float *gain_pit, /* o : Quantized pitch gain */
- float *gain_code, /* o : Quantized codeebook gain */
- float *gain_inov, /* o : unscaled innovation gain */
- float *norm_gain_code /* o : norm. gain of the codebook excitation */
-);
-
-/*! r: quantized codebook gain */
-float gain_dec_gaus(
- const int16_t index, /* i : quantization index */
- const int16_t bits, /* i : number of bits to quantize */
- const float lowBound, /* i : lower bound of quantizer (dB) */
- const float topBound, /* i : upper bound of quantizer (dB) */
- const float gain_inov, /* i : unscaled innovation gain */
- float *norm_gain_code /* o : gain of normalized gaus. excit. */
-);
-
-/*! r: floating pitch value */
-float pit_decode_flt(
- Decoder_State *st, /* i/o: decoder state structure */
- const int32_t core_brate, /* i : core bitrate */
- const int16_t Opt_AMR_WB, /* i : flag indicating AMR-WB IO mode */
- const int16_t L_frame, /* i : length of the frame */
- int16_t i_subfr, /* i : subframe index */
- const int16_t coder_type, /* i : coding type */
- int16_t *limit_flag, /* i/o: restrained(0) or extended(1) Q limits */
- int16_t *T0, /* o : close loop integer pitch */
- int16_t *T0_frac, /* o : close loop fractional part of the pitch */
- int16_t *T0_min, /* i/o: delta search min for sf 2 & 4 */
- int16_t *T0_max, /* i/o: delta search max for sf 2 & 4 */
- const int16_t L_subfr, /* i : subframe length */
- const int16_t tdm_Pitch_reuse_flag, /* i : primary channel pitch reuse flag */
- const float tdm_Pri_pitch_buf[] /* i : primary channel pitch buffer */
-);
-
-void abs_pit_dec_flt(
- const int16_t fr_steps, /* i : fractional resolution steps (0, 2, 4) */
- int16_t pitch_index, /* i : pitch index */
- const int16_t limit_flag, /* i : restrained(0) or extended(1) Q limits */
- int16_t *T0, /* o : integer pitch lag */
- int16_t *T0_frac /* o : pitch fraction */
-);
-
-void delta_pit_dec_flt(
- const int16_t fr_steps, /* i : fractional resolution steps (0, 2, 4) */
- const int16_t pitch_index, /* i : pitch index */
- int16_t *T0, /* o : integer pitch lag */
- int16_t *T0_frac, /* o : pitch fraction */
- const int16_t T0_min /* i : delta search min */
-);
-
-void pit_Q_dec_flt(
- const int16_t Opt_AMR_WB, /* i : flag indicating AMR-WB IO mode */
- const int16_t pitch_index, /* i : pitch index */
- const int16_t nBits, /* i : # of Q bits */
- const int16_t delta, /* i : Half the CL searched interval */
- const int16_t pit_flag, /* i : absolute(0) or delta(1) pitch Q */
- const int16_t limit_flag, /* i : restrained(0) or extended(1) Q limits */
- int16_t *T0, /* o : integer pitch lag */
- int16_t *T0_frac, /* o : pitch fraction */
- int16_t *T0_min, /* i/o: delta search min */
- int16_t *T0_max, /* i/o: delta search max */
- int16_t *BER_detect /* o : BER detect flag */
-);
-
-void pit16k_Q_dec_flt(
- const int16_t pitch_index, /* i : pitch index */
- const int16_t nBits, /* i : # of Q bits */
- const int16_t limit_flag, /* i : restrained(0) or extended(1) Q limits */
- int16_t *T0, /* o : integer pitch lag */
- int16_t *T0_frac, /* o : pitch fraction */
- int16_t *T0_min, /* i/o: delta search min */
- int16_t *T0_max, /* i/o: delta search max */
- int16_t *BER_detect /* o : BER detect flag */
-);
-
-
-void inov_decode(
- Decoder_State *st, /* i/o: decoder state structure */
- const int32_t core_brate, /* i : core bitrate */
- const int16_t Opt_AMR_WB, /* i : flag indicating AMR-WB IO mode */
- const int16_t L_frame, /* i : length of the frame */
- const int16_t sharpFlag, /* i : formant sharpening flag */
- const int16_t i_subfr, /* i : subframe index */
- const float *p_Aq, /* i : LP filter coefficients */
- const float tilt_code, /* i : tilt of of the excitation of previous subframe */
- const float pt_pitch, /* i : pointer to current subframe fractional pitch */
- float *code, /* o : algebraic excitation */
- const int16_t L_subfr /* i : subframe length */
-);
-
-void dec_acelp_1t64(
- Decoder_State *st, /* i/o: decoder state structure */
- float code[], /* o : algebraic (fixed) codebook excitation */
- const int16_t L_subfr /* i : subframe length */
-);
-
-void dec_acelp_2t32(
- Decoder_State *st, /* i/o: decoder state structure */
- float code[] /* o : algebraic (fixed) codebook excitation */
-);
-
-void dec_acelp_4t64(
- Decoder_State *st, /* i/o: decoder state structure */
- int16_t nbbits, /* i : number of bits per codebook */
- float code[], /* o : algebraic (fixed) codebook excitation */
- const int16_t Opt_AMR_WB /* i : flag indicating AMR-WB IO mode */
-);
-
-
-void FEC_exc_estim(
- Decoder_State *st, /* i/o: Decoder static memory */
- const int16_t L_frame, /* i : length of the frame */
- float *old_exc, /* i/o: excitation buffer */
- float *exc2, /* o : excitation buffer (for synthesis) */
- float *exc_dct_in, /* o : GSC excitation in DCT domain */
- float *pitch_buf, /* o : Floating pitch for each subframe */
- float *tmp_tc, /* o : FEC pitch */
- float *voice_factors, /* o : voicing factors */
- float *bwe_exc, /* i/o: excitation for SWB TBE */
- float *lsf_new, /* i : ISFs at the end of the frame */
- float *tmp_noise /* o : long-term noise energy */
-);
-
-void FEC_lsf2lsp_interp_flt(
- Decoder_State *st, /* i/o: Decoder static memory */
- const int16_t L_frame, /* i : length of the frame */
- float *Aq, /* o : calculated A(z) for 4 subframes */
- float *lsf, /* o : estimated LSF vector */
- float *lsp /* o : estimated LSP vector */
-);
-
-void FEC_lsf_estim_enc(
- Encoder_State *st, /* i : Encoder static memory */
- float *lsf /* o : estimated LSF vector */
-);
-
-float frame_energy(
- const int16_t L_frame, /* i : length of the frame */
- const float *pitch, /* i : pitch values for each subframe */
- const float *speech, /* i : pointer to speech signal for E computation */
- const float lp_speech, /* i : long term active speech energy average */
- float *frame_ener /* o : pitch-synchronous energy at frame end */
-);
-
-void FEC_SinOnset(
- float *exc, /* i/o: exc vector to modify */
- int16_t puls_pos, /* i : Last pulse position desired */
- int16_t T0, /* i : decoded first frame pitch */
- float enr_q, /* i : energy provided by the encoder */
- float *Aq, /* i : Lsp coefficient */
- const int16_t L_frame /* i : Frame length */
-);
-
-int16_t FEC_enhACB(
- const int16_t L_frame, /* i : Frame length */
- const int16_t last_L_frame, /* i : frame length of last frame */
- float *exc_io, /* i/o: Adaptive codebook memory */
- const int16_t new_pit, /* i : decoded first frame pitch */
- const int16_t puls_pos, /* i : decoder position of the last glottal pulses decoded in the previous frame */
- const float bfi_pitch /* i : Pitch used for concealment */
-);
-
-void FEC_scale_syn(
- const int16_t L_frame, /* i : length of the frame */
- int16_t clas, /* i/o: frame classification */
- const int16_t last_good, /* i : last good frame classification */
- float *synth, /* i/o: synthesized speech at Fs = 12k8 Hz */
- const float *pitch, /* i : pitch values for each subframe */
- float enr_old, /* i : energy at the end of prvious frame */
- float enr_q, /* i : transmitted energy for current frame */
- const int16_t coder_type, /* i : coding type */
- const int16_t LSF_Q_prediction, /* i : LSF prediction mode */
- int16_t *scaling_flag, /* i/o: flag to indicate energy control of syn */
- float *lp_ener_FEC_av, /* i/o: averaged voiced signal energy */
- float *lp_ener_FEC_max, /* i/o: averaged voiced signal energy */
- const int16_t bfi, /* i : current frame BFI */
- const int32_t total_brate, /* i : total bitrate */
- const int16_t prev_bfi, /* i : previous frame BFI */
- const int32_t last_core_brate, /* i : previous frame core bitrate */
- float *exc, /* i/o: excitation signal without enhancement */
- float *exc2, /* i/o: excitation signal with enhancement */
- const float Aq[], /* i : LP filter coefs */
- float *old_enr_LP, /* i/o: LP filter E of last good voiced frame */
- const float *mem_tmp, /* i : temp. initial synthesis filter states */
- float *mem_syn, /* o : initial synthesis filter states */
- const int16_t avoid_lpc_burst_on_recovery, /* i : if true the excitation energy is limited if LP has big gain */
- const int16_t force_scaling /* i : force scaling */
-);
-
-void FEC_pitch_estim(
- const int16_t Opt_AMR_WB, /* i : flag indicating AMR-WB IO mode */
- const int16_t last_core, /* i : last core */
- const int16_t L_frame, /* i : length of the frame */
- const int16_t clas, /* i : current frame classification */
- const int16_t last_good, /* i : last good clas information */
- const float pitch_buf[], /* i : Floating pitch for each subframe */
- const float old_pitch_buf[], /* i : buffer of old subframe pitch values */
- float *bfi_pitch, /* i/o: update of the estimated pitch for FEC */
- int16_t *bfi_pitch_frame, /* o : frame length when pitch was updated */
- int16_t *upd_cnt, /* i/o: update counter */
- const int16_t coder_type );
-
-void FEC_encode(
- BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */
- const ACELP_config acelp_cfg, /* i : configuration of the ACELP */
- const float *synth, /* i : pointer to synthesized speech for E computation */
- const int16_t coder_type, /* i : type of coder */
- int16_t clas, /* i : signal clas for current frame */
- const float *fpit, /* i : close loop fractional pitch buffer */
- const float *res, /* i : LP residual signal frame */
- int16_t *last_pulse_pos, /* i/o: Position of the last pulse */
- const int16_t L_frame, /* i : Frame length */
- const int32_t total_brate /* i : total codec bitrate */
-);
-
-int16_t FEC_pos_dec(
- Decoder_State *st, /* i/o: decoder state structure */
- int16_t *last_pulse_pos, /* o : Last glottal pulse position in the lost ACB */
- float *enr_q, /* o : Decoded energy */
- const int16_t nBits_es_Pred /* i : number of bits for Es_pred Q */
-);
-
-void improv_amr_wb_gs(
- const int16_t clas, /* i : bitrate allocated to the core */
- const int16_t coder_type, /* i : coder_type */
- const int32_t core_brate, /* i : bitrate allocated to the core */
- int16_t *seed_tcx, /* i/o: Seed used for noise generation */
- float *old_Aq, /* i/o: old LPC filter coefficient */
- float *mem_syn2, /* i/o: synthesis memory */
- const float lt_voice_fac, /* i/o: long term voice factor */
- const int16_t locattack, /* i : Flag for a detected attack */
- float *Aq, /* i/o: Decoded LP filter coefficient */
- float *exc2, /* i/o: Decoded complete excitation */
- float *mem_tmp, /* i/o: synthesis temporary memory */
- float *syn, /* i/o: Decoded synthesis to be updated */
- const float *pitch_buf, /* i : Decoded pitch buffer */
- const float Last_ener, /* i : Last energy */
- const int16_t rate_switching_reset, /* i : rate switching reset flag */
- const int16_t last_coder_type, /* i : Last coder_type */
- const int16_t VeryLowRateSTflag /* i : Enable the noise enhancement for very low rate stereo generic mode */
-);
-
-int16_t tc_classif(
- Decoder_State *st /* i/o: decoder state structure */
-);
-
-void transition_dec(
- Decoder_State *st, /* i/o: decoder state structure */
- const int16_t L_frame, /* i : length of the frame */
- const int16_t i_subfr, /* i : subframe index */
- const int16_t tc_subfr, /* i : TC subframe index */
- int16_t *Jopt_flag, /* i : joint optimization flag */
- float *exc, /* i/o: current frame excitation signal */
- int16_t *T0, /* o : close loop integer pitch */
- int16_t *T0_frac, /* o : close loop fractional part of the pitch */
- int16_t *T0_min, /* i/o: delta search min for sf 2 & 4 */
- int16_t *T0_max, /* i/o: delta search max for sf 2 & 4 */
- float **pt_pitch, /* o : floating pitch values */
- int16_t *position, /* i/o: first glottal impulse position in frame */
- float *bwe_exc /* i/o: excitation for SWB TBE */
-);
-
-void gain_dec_tc(
- Decoder_State *st, /* i/o: decoder state structure */
- const int16_t i_subfr, /* i : subframe number */
- const float Es_pred, /* i : predicted scaled innov. energy */
- const float *code, /* i : algebraic code excitation */
- float *gain_pit, /* o : pitch gain */
- float *gain_code, /* o : Quantized codeebook gain */
- float *gain_inov, /* o : unscaled innovation gain */
- float *norm_gain_code /* o : norm. gain of the codebook excit. */
-);
-
-void stat_noise_uv_dec(
- Decoder_State *st, /* i/o: decoder static memory */
- const float *lsp_new, /* i : end-frame LSP vector */
- const float *lsp_mid, /* i : mid-frame LSP vector */
- float *Aq, /* o : A(z) quantized for the 4 subframes */
- float *exc2, /* i/o: excitation buffer */
- const int16_t uc_two_stage_flag /* 1 : flag undicating two-stage UC */
-);
-
-void sc_vbr_dec_init_flt(
- SC_VBR_DEC_HANDLE hSC_VBR /* i/o: SC-VBR decoder handle */
-);
-
-void decod_nelp(
- Decoder_State *st, /* i/o: decoder static memory */
- float *tmp_noise, /* o : long term temporary noise energy */
- float *pitch_buf, /* o : floating pitch values for each subframe */
- float *exc, /* o : adapt. excitation exc */
- float *exc2, /* o : adapt. excitation/total exc */
- float *voice_factors, /* o : voicing factors */
- float *bwe_exc, /* o : excitation for SWB TBE */
- const int16_t bfi, /* i : bad frame indicator */
- float *gain_buf /* o : floating pitch gain for each subframe */
-);
-
-void nelp_decoder(
- Decoder_State *st, /* i/o: decoder static memory */
- float *exc_nelp, /* o : adapt. excitation/total exc */
- float *exc, /* o : adapt. excitation exc */
- int16_t bfi, /* i : frame error rate */
- const int16_t coder_type, /* i : coding type */
- float *gain_buf /* o : floating pitch gain for each subframe */
-);
-
-ivas_error decod_ppp(
- Decoder_State *st, /* i/o: state structure */
- const float Aq[], /* i : 12k8 Lp coefficient */
- float *pitch_buf, /* i/o: floating pitch values for each subframe */
- float *exc, /* i/o: current non-enhanced excitation */
- float *exc2, /* i/o: current enhanced excitation */
- float *voice_factors, /* o : voicing factors */
- float *bwe_exc, /* o : excitation for SWB TBE */
- float *gain_buf, /* o : floating pitch gain for each subframe */
- const int16_t bfi /* i : BFI flag */
-);
-
-ivas_error ppp_quarter_decoder(
- Decoder_State *st, /* i/o: decoder state structure */
- DTFS_STRUCTURE *CURRCW_Q_DTFS, /* i/o: Current CW DTFS */
- int16_t prevCW_lag, /* i : Previous lag */
- float *lastLgainD, /* i/o: Last gain lowband */
- float *lastHgainD, /* i/o: Last gain highwband */
- float *lasterbD, /* i/o: Last ERB vector */
- int16_t bfi, /* i : FER flag */
- DTFS_STRUCTURE PREV_CW_D /* i : Previous DTFS */
-);
-
-ivas_error ppp_voiced_decoder(
- Decoder_State *st, /* i/o: state structure */
- float *out, /* o : residual signal */
- const float *lpc2, /* i : current frame LPC */
- float *exc, /* i : previous frame excitation */
- float *pitch, /* o : floating pitch values for each subframe */
- const int16_t bfi /* i : BFI flag */
-);
-
-void AVQ_demuxdec(
- Decoder_State *st, /* i/o: decoder state structure */
- int16_t xriq[], /* o : decoded subvectors [0..8*Nsv-1] */
- int16_t *nb_bits, /* i/o: number of allocated bits */
- const int16_t Nsv, /* i : number of subvectors */
- int16_t nq[], /* i/o: AVQ nq index */
- int16_t avq_bit_sFlag, /* i : flag for AVQ bit saving solution*/
- int16_t trgtSvPos /* i : target SV for AVQ bit savings */
-);
-
-
-void Init_post_filter_ivas(
- PFSTAT_HANDLE hPFstat /* i : post-filter state memories */
-);
-
-void nb_post_filt_ivas(
- const int16_t L_frame, /* i : frame length */
- const int16_t L_subfr, /* i : sub-frame length */
- PFSTAT_HANDLE hPFstat, /* i/o: Post filter related memories */
- float *lp_noise, /* i/o: long term noise energy */
- const float tmp_noise, /* i : noise energy */
- float *synth, /* i/o: synthesis */
- const float *Aq, /* i : LP filter coefficient */
- const float *pitch_buf, /* i : Floating pitch for each subframe */
- const int16_t coder_type, /* i : coder_type -> deactivated in AUDIO */
- const int16_t BER_detect, /* i : BER detect flag */
- const int16_t disable_hpf /* i : flag to diabled HPF */
-);
-
-void decod_unvoiced(
- Decoder_State *st, /* i/o: decoder static memory */
- const float *Aq, /* i : LP filter coefficient */
- const float Es_pred, /* i : predicted scaled innov. energy */
- const int16_t uc_two_stage_flag, /* i : flag indicating two-stage UC */
- float *tmp_noise, /* o : long term temporary noise energy */
- float *pitch_buf, /* o : floating pitch values for each subframe */
- float *voice_factors, /* o : voicing factors */
- float *exc, /* o : adapt. excitation exc */
- float *exc2, /* o : adapt. excitation/total exc */
- float *bwe_exc, /* i/o: excitation for SWB TBE */
- float *gain_buf /* o : floating pitch gain for each subfram */
-);
-
-void decod_tran(
- Decoder_State *st, /* i/o: decoder static memory */
- const int16_t L_frame, /* i : length of the frame */
- const int16_t tc_subfr, /* i : TC subframe index */
- const float *Aq, /* i : LP filter coefficient */
- const float Es_pred, /* i : predicted scaled innov. energy */
- float *pitch_buf, /* o : floating pitch values for each subframe */
- float *voice_factors, /* o : voicing factors */
- float *exc, /* i/o: adapt. excitation exc */
- float *exc2, /* i/o: adapt. excitation/total exc */
- float *bwe_exc, /* i/o: excitation for SWB TBE */
- int16_t *unbits, /* i/o: number of unused bits */
- const int16_t sharpFlag, /* i : formant sharpening flag */
- float *gain_buf /* o : floating pitch gain for each subframe */
-);
-
-ivas_error decod_gen_voic(
- Decoder_State *st, /* i/o: decoder static memory */
- const int16_t L_frame, /* i : length of the frame */
- const int16_t sharpFlag, /* i : formant sharpening flag */
- const float *Aq, /* i : LP filter coefficient */
- const float Es_pred, /* i : predicted scaled innov. energy */
- const int16_t do_WI, /* i : FEC fast recovery flag */
- float *pitch_buf, /* o : floating pitch for each subframe */
- float *voice_factors, /* o : voicing factors */
- float *exc, /* i/o: adapt. excitation exc */
- float *exc2, /* i/o: adapt. excitation/total exc */
- float *bwe_exc, /* i/o: excitation for SWB TBE */
- int16_t *unbits, /* i/o: number of unused bits */
- float *gain_buf, /* o : floating pitch gain for each subframe */
- const int16_t tdm_Pitch_reuse_flag, /* i : primary channel pitch reuse flag */
- const float tdm_Pri_pitch_buf[] /* i : primary channel pitch buffer */
-);
-
-void decod_amr_wb(
- Decoder_State *st, /* i/o: decoder static memory */
- const float *Aq, /* i : LP filter coefficients */
- float *pitch_buf, /* o : floating pitch values for each subframe */
- float *exc, /* i/o: adapt. excitation exc */
- float *exc2, /* i/o: adapt. excitation/total exc */
- int16_t hf_gain[NB_SUBFR], /* o : decoded HF gain */
- float *voice_factors, /* o : voicing factors */
- float *gain_buf /* o : floating pitch gain for each subframe */
-);
-
-ivas_error init_decoder(
- Decoder_State *st, /* o : Decoder static variables structure */
- const int16_t idchan, /* i : channel ID */
- const MC_MODE mc_mode /* i : MC mode */
-);
-
-void destroy_cldfb_decoder_flt(
- Decoder_State *st /* o : Decoder static variables structure */
-);
-
-void HQ_core_dec_init_flt(
- HQ_DEC_HANDLE hHQ_core /* i/o: HQ core data handle */
-);
-
-void HQ_nbfec_init_flt(
- HQ_NBFEC_HANDLE hHQ_nbfec /* i/o: HQ NB FEC data handle */
-);
-
-ivas_error evs_dec(
- Decoder_State *st, /* i/o: Decoder state structure */
- float mem_hp20_out[L_HP20_MEM], /* i/o: HP filter memory for synthesis */
- float *output, /* o : output synthesis signal */
- FRAME_MODE frameMode /* i : Decoder frame mode */
-);
-
-void get_next_frame_parameters(
- Decoder_State *st /* i/o: Decoder state structure */
-);
-
-ivas_error amr_wb_dec(
- Decoder_State *st, /* i/o: decoder state structure */
- float mem_hp20_out[L_HP20_MEM], /* i/o: HP filter memory for synthesis */
- float *output /* o : synthesis output */
-);
-
-void transf_cdbk_dec(
- Decoder_State *st, /* i/o: decoder state structure */
- const int16_t harm_flag_acelp, /* i : harmonic flag for higher rates ACELP */
- const int16_t i_subfr, /* i : subframe index */
- const float Es_pred, /* i : predicited scaled innovation energy */
- const float gain_code, /* i : innovative excitation gain */
- float *gain_preQ, /* o : prequantizer excitation gain */
- float *norm_gain_preQ, /* o : normalized prequantizer excitation gain */
- float code_preQ[], /* o : prequantizer excitation */
- int16_t *unbits /* o : number of AVQ unused bits */
-);
-
-/*! r: decoded gain */
-float gain_dequant(
- int16_t index, /* i : quantization index */
- const float min_val, /* i : value of lower limit */
- const float max_val, /* i : value of upper limit */
- const int16_t bits /* i : number of bits to dequantize */
-);
-
-void hq_core_enc(
- Encoder_State *st, /* i/o: encoder state structure */
- const float *audio, /* i : input audio signal */
- const int16_t input_frame, /* i : frame length */
- const int16_t hq_core_type, /* i : HQ core type */
- const int16_t Voicing_flag, /* i : Voicing flag for FER method selection */
- const int16_t vad_hover_flag /* i : VAD hangover flag */
-);
-
-int16_t detect_transient(
- Encoder_State *st, /* i/o: encoder state structure */
- const float *in, /* i : input signal */
- const int16_t L /* i : length */
-);
-
-void wtda(
- const float *new_audio, /* i : input audio */
- float *wtda_audio, /* o : windowed audio */
- float *old_wtda, /* i/o: windowed audio from previous frame */
- const int16_t left_mode, /* i : window overlap of previous frame (0: full, 2: none, or 3: half) */
- const int16_t right_mode, /* i : window overlap of current frame (0: full, 2: none, or 3: half) */
- const int16_t L /* i : length */
-);
-
-void wtda_ext(
- const float *new_audio, /* i : input audio */
- float *wtda_audio, /* o : windowed audio */
- const int16_t left_mode, /* i : window overlap of previous frame (0: full, 2: none, or 3: half) */
- const int16_t right_mode, /* i : window overlap of current frame (0: full, 2: none, or 3: half) */
- const int16_t L, /* i : length */
- const uint16_t kernel_type /* i : transform kernel type (0 - 3) */
-);
-
-void tcx_get_windows_mode1_flt(
- const int16_t left_mode, /* i : overlap mode of left window half */
- const int16_t right_mode, /* i : overlap mode of right window half */
- float *left_win, /* o : left overlap window */
- float *right_win, /* o : right overlap window */
- float *left_win_int, /* o : left overlap window */
- float *right_win_int, /* o : right overlap window */
- const int16_t L /* i : length */
-);
-
-void direct_transform(
- const float *in32, /* i : input signal */
- float *out32, /* o : output transformation */
- const int16_t is_transient, /* i : transient flag */
- const int16_t L, /* i : length */
- const int16_t element_mode /* i : IVAS element mode */
-);
-
-
-void interleave_spectrum(
- float *coefs, /* i/o: input and output coefficients */
- const int16_t length /* i : length of spectrum */
-);
-
-void hq_hr_enc(
- Encoder_State *st, /* i/o: encoder state structure */
- float *coefs, /* i/o: transform-domain coefficients */
- const int16_t length, /* i : length of spectrum */
- int16_t *num_bits, /* i/o: number of available bits */
- const int16_t is_transient, /* i : transient flag */
- const int16_t vad_hover_flag /* i : VAD hangover flag */
-);
-
-void huff_dec(
- Decoder_State *st, /* i/o: decoder state structure */
- const int16_t N, /* i : Number of codewords to decode */
- const int16_t buffer_len, /* i : Number of bits to read */
- const int16_t num_lengths, /* i : Number of different huffman codeword lengths */
- const int16_t *thres, /* i : Threshold of first codeword of each length */
- const int16_t *offset, /* i : Offset for first codeword */
- const int16_t *huff_tab, /* i : Huffman table order by codeword lengths */
- int16_t *index /* o : Decoded index */
-);
-
-void reordernorm(
- const int16_t *ynrm, /* i : quantization indices for norms */
- const int16_t *normqlg2, /* i : quantized norms */
- int16_t *idxbuf, /* o : reordered quantization indices */
- int16_t *normbuf, /* o : reordered quantized norms */
- const int16_t nb_sfm /* i : number of bands */
-);
-
-void diffcod(
- const int16_t N, /* i : number of sub-vectors */
- int16_t *y, /* i/o: indices of quantized norms */
- int16_t *difidx /* o : differential code */
-);
-
-void diffcod_lrmdct(
- const int16_t N, /* i : number of sub-vectors */
- const int16_t be_ref, /* i : band energy reference */
- int16_t *y, /* i/o: indices of quantized norms */
- int16_t *difidx, /* o : differential code */
- const int16_t is_transient /* i : transient flag */
-);
-
-void bitallocsum(
- int16_t *R, /* i : bit-allocation vector */
- const int16_t nb_sfm, /* i : number of sub-vectors */
- int16_t *sum, /* o : total number of bits allocated */
- int16_t *Rsubband, /* o : rate per subband (Q3) */
- const int16_t num_bits, /* i : number of bits */
- const int16_t length, /* i : length of spectrum */
- const int16_t *sfmsize /* i : Length of bands */
-);
-/*! r: BWE class */
-int16_t swb_bwe_gain_deq_flt(
- Decoder_State *st, /* i/o: decoder state structure */
- const int16_t core, /* i : core */
- float *SWB_tenv, /* o : time-domain BWE envelope */
- float *SWB_fenv, /* o : frequency-domain BWE envelope */
- const int16_t hr_flag, /* i : high rate flag */
- const int16_t hqswb_clas /* i : HQ BWE class */
-);
-
-void save_old_syn(
- const int16_t L_frame, /* i : frame length */
- const float syn[], /* i : ACELP synthesis */
- float old_syn[], /* o : old synthesis buffer */
- float old_syn_12k8_16k[], /* i/o: old synthesis buffer */
- const float preemph_fac, /* i : preemphasis factor */
- float *mem_deemph /* i/o: deemphasis filter memory */
-);
-
-void hq_generic_hf_decoding(
- const int16_t HQ_mode, /* i : HQ mode */
- float *coeff_out1, /* i/o: BWE input & temporary buffer */
- const float *hq_generic_fenv, /* i : SWB frequency envelopes */
- float *coeff_out, /* o : SWB signal in MDCT domain */
- const int16_t hq_generic_offset, /* i : frequency offset for representing hq swb bwe*/
- int16_t *prev_L_swb_norm, /* i/o: last normalize length */
- const int16_t hq_swb_bwe_exc_clas, /* i : bwe excitation class */
- const int16_t *R );
-
-void hq_core_dec(
- Decoder_State *st, /* i/o: decoder state structure */
- float out[], /* o : output synthesis */
- const int16_t output_frame, /* i : output frame length */
- const int16_t hq_core_type, /* i : HQ core type */
- const int16_t core_switching_flag, /* i : ACELP->HQ switching frame flag */
- float *output /* o : LB synthesis in case of ACELP-HQ switch */
-);
-
-void IMDCT(
- float *x,
- float *old_syn_overl,
- float *syn_Overl_TDAC,
- float *xn_buf,
- const float *tcx_aldo_window_1_trunc,
- const float *tcx_aldo_window_2,
- const float *tcx_mdct_window_half,
- const float *tcx_mdct_window_minimum,
- const float *tcx_mdct_window_trans,
- const int16_t tcx_mdct_window_half_length,
- const int16_t tcx_mdct_window_min_length,
- int16_t index,
- const uint16_t kernel_type, /* i : TCX transform kernel type */
- const int16_t left_rect,
- const int16_t tcx_offset,
- const int16_t overlap,
- const int16_t L_frame,
- const int16_t L_frameTCX,
- const int16_t L_spec_TCX5,
- const int16_t L_frame_glob,
- const int16_t frame_cnt,
- const int16_t bfi,
- float *old_out,
- const int16_t FB_flag,
- Decoder_State *st,
- const int16_t fullband,
- float *acelp_zir );
-
-void hq_hr_dec(
- Decoder_State *st, /* i/o: decoder state structure */
- float *t_audio_q, /* o : transform-domain coefficients */
- const int16_t length, /* i : frame length */
- const int16_t num_bits, /* i : number of available bits */
- int16_t *ynrm, /* o : norm quantization index vector */
- int16_t *is_transient, /* o : transient flag */
- int16_t *hqswb_clas, /* o : HQ SWB class */
- float *SWB_fenv, /* o : SWB frequency envelopes */
- const int16_t core_switching_flag /* i : Core switching flag */
-
-);
-
-void hdecnrm_context(
- Decoder_State *st, /* i/o: decoder state structure */
- const int16_t N, /* i : number of norms */
- int16_t *index, /* o : indices of quantized norms */
- int16_t *n_length /* o : decoded stream length */
-);
-
-void hdecnrm_tran(
- Decoder_State *st, /* i/o: decoder state structure */
- const int16_t N, /* i : number of norms */
- int16_t *index /* o : indices of quantized norms */
-);
-
-void hdecnrm_resize(
- Decoder_State *st, /* i/o: decoder state structure */
- const int16_t N, /* i : number of SFMs */
- int16_t *index /* o : norm quantization index vector */
-);
-
-void hdecnrm(
- Decoder_State *st, /* i/o: decoder state structure */
- const int16_t N, /* i : number of norms */
- int16_t *index /* o : indices of quantized norms */
-);
-
-/*! r: index of last band */
-int16_t find_last_band(
- const int16_t *bitalloc, /* i : bit allocation */
- const int16_t nb_sfm /* i : number of possibly coded bands */
-);
-
-void fill_spectrum(
- float *coeff, /* i/o: normalized MLT spectrum / nf spectrum */
- int16_t *R, /* i : number of pulses per band */
- const int16_t is_transient, /* i : transient flag */
- int16_t norm[], /* i : quantization indices for norms */
- const float *hq_generic_fenv, /* i : HQ GENERIC envelope */
- const int16_t hq_generic_offset, /* i : HQ GENERIC offset */
- const int16_t nf_idx, /* i : noise fill index */
- const int16_t length, /* i : Length of spectrum (32 or 48 kHz) */
- const float env_stab, /* i : Envelope stability measure [0..1] */
- int16_t *no_att_hangover, /* i/o: Frame counter for attenuation hangover */
- float *energy_lt, /* i/o: Long-term energy measure for transient detection */
- int16_t *bwe_seed, /* i/o: random seed for generating BWE input */
- const int16_t hq_generic_exc_clas, /* i : HF excitation class */
- const int16_t core_sfm, /* i : index of the end band for core */
- int16_t HQ_mode, /* i : HQ mode */
- float noise_level[], /* i : noise level for harmonic modes */
- int32_t core_brate, /* i : target bitrate */
- float prev_noise_level[], /* i/o: noise factor in previous frame */
- int16_t *prev_R, /* i/o: bit allocation info. in previous frame */
- float *prev_coeff_out, /* i/o: decoded spectrum in previous frame */
- const int16_t *peak_idx, /* i : peak positions */
- const int16_t Npeaks, /* i : number of peaks */
- const int16_t *npulses, /* i : Number of assigned pulses per band */
- int16_t prev_is_transient, /* i : previous transient flag */
- float *prev_normq, /* i : previous norms */
- float *prev_env, /* i : previous noise envelopes */
- int16_t prev_bfi, /* i : previous bad frame indicator */
- const int16_t *sfmsize, /* i : Length of bands */
- const int16_t *sfm_start, /* i : Start of bands */
- const int16_t *sfm_end, /* i : End of bands */
- int16_t *prev_L_swb_norm, /* i/o: last normalize length for harmonic mode */
- int16_t prev_hq_mode, /* i : previous HQ mode */
- const int16_t num_sfm, /* i : Number of bands */
- const int16_t num_env_bands, /* i : Number of envelope bands */
- const int16_t element_mode /* i : element mode */
-);
-
-void de_interleave_spectrum(
- float *coefs, /* i/o: input and output coefficients */
- int16_t length /* i : length of spectrum */
-);
-
-void inverse_transform(
- const float *InMDCT, /* i : input MDCT vector */
- float *Out, /* o : output vector */
- const int16_t IsTransient, /* i : transient flag */
- const int16_t L, /* i : output frame length */
- const int16_t L_inner, /* i : length of the transform */
- const int16_t element_mode /* i : IVAS element mode */
-);
-
-void window_ola(
- const float *ImdctOut, /* i : input */
- float *auOut, /* o : output audio */
- float *OldauOut, /* i/o: audio from previous frame */
- const int16_t L, /* i : length */
- const int16_t right_mode,
- const int16_t left_mode, /* i : window overlap of current frame (0: full, 2: none, or 3: half) */
- const int16_t use_bfi_win, /* i : use BFI windowing */
- const int16_t oldHqVoicing, /* i : previous HqVoicing */
- float *oldgapsynth /* i : previous gapsynth */
-);
-
-void window_ola_ext(
- const float *ImdstOut, /* i : input */
- float *auOut, /* o : output audio */
- float *OldauOut, /* i/o: audio from previous frame */
- const int16_t L, /* i : length */
- const int16_t right_mode,
- const int16_t left_mode, /* i : window overlap of current frame (0: full, 2: none, or 3: half) */
- const uint16_t kernel_type /* i : transform kernel type */
-);
-
-void map_quant_weight(
- const int16_t normqlg2[], /* i : quantized norms */
- int16_t wnorm[], /* o : weighted norm */
- const int16_t is_transient /* i : transient flag */
-);
-
-void recovernorm(
- const int16_t *const idxbuf, /* i : reordered quantization indices */
- int16_t *ynrm, /* o : recovered quantization indices */
- int16_t *normqlg2, /* o : recovered quantized norms */
- const int16_t nb_sfm /* i : number of subbands */
-);
-
-void reordvct(
- int16_t *y, /* i/o: vector to rearrange */
- const int16_t N, /* i : dimensions */
- int16_t *idx /* o : reordered vector index */
-);
-
-void bitalloc(
- int16_t *y, /* i : reordered norm of sub-vectors */
- int16_t *idx, /* i : reordered sub-vector indices */
- int16_t sum, /* i : number of available bits */
- int16_t N, /* i : number of norms */
- int16_t K, /* i : maximum number of bits per dimension */
- int16_t *r, /* o : bit-allacation vector */
- const int16_t *sfmsize, /* i : Length of bands */
- const int16_t hqswb_clas /* i : signal classification flag */
-);
-
-/*! r: Integer (truncated) number of allocated bits */
-int16_t BitAllocF(
- int16_t *y, /* i : norm of sub-vectors */
- int32_t bit_rate, /* i : bitrate */
- int16_t B, /* i : number of available bits */
- int16_t N, /* i : number of sub-vectors */
- int16_t *R, /* o : bit-allocation indicator */
- int16_t *Rsubband, /* o : sub-band bit-allocation vector (Q3) */
- const int16_t hqswb_clas, /* i : hq swb class */
- const int16_t num_env_bands /* i : Number sub bands to be encoded for HQ_SWB_BWE */
-);
-
-/*! r: Integer (truncated) number of allocated bits */
-int16_t BitAllocWB(
- int16_t *y, /* i : norm of sub-vectors */
- int16_t B, /* i : number of available bits */
- int16_t N, /* i : number of sub-vectors */
- int16_t *R, /* o : bit-allocation indicator */
- int16_t *Rsubband ); /* o : sub-band bit-allocation vector (Q3) */
-
-/*! r: Number of low frequency bands */
-int16_t hvq_pvq_bitalloc(
- int16_t num_bits, /* i/o: Number of available bits (including gain bits) */
- const int32_t core_brate, /* i : bitrate */
- const int16_t bwidth, /* i : Encoded bandwidth */
- const int16_t *ynrm, /* i : Envelope coefficients */
- const int32_t manE_peak, /* i : Peak energy mantissa */
- const int16_t expE_peak, /* i : Peak energy exponent */
- int16_t *Rk, /* o : bit allocation for concatenated vector */
- int16_t *R, /* i/o: Global bit allocation */
- int16_t *sel_bands, /* o : Selected bands for encoding */
- int16_t *n_sel_bands /* o : No. of selected bands for encoding */
-);
-
-void floating_point_add_float(
- int32_t *mx, /* i/o: mantissa of the addend Q31 */
- int16_t *ex, /* i/o: exponent of the addend Q0 */
- const int32_t my, /* i : mantissa of the adder Q31 */
- const int16_t ey /* i : exponent of the adder Q0 */
-);
-
-/*! r: Number of bits needed */
-int16_t rc_get_bits2(
- const int16_t N, /* i : Number of bits currently used */
- const uint32_t range /* i : Range of range coder */
-);
-
-void rc_enc_init(
- PVQ_ENC_HANDLE hPVQ, /* i/o: PVQ encoder handle */
- int16_t tot_bits /* i : Total bit budget */
-);
-
-void rc_encode(
- BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */
- PVQ_ENC_HANDLE hPVQ, /* i/o: PVQ encoder handle */
- const uint32_t cum_freq, /* i : Cumulative frequency up to symbol */
- const uint32_t sym_freq, /* i : Symbol probability */
- const uint32_t tot /* i : Total cumulative frequency */
-);
-
-void rc_enc_finish(
- BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */
- PVQ_ENC_HANDLE hPVQ /* i/o: PVQ encoder handle */
-);
-
-void rc_enc_bits(
- BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */
- PVQ_ENC_HANDLE hPVQ, /* i/o: PVQ encoder handle */
- const uint32_t value, /* i : Value to encode */
- const int16_t bits /* i : Number of bits used */
-);
-
-void rc_enc_uniform(
- BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */
- PVQ_ENC_HANDLE hPVQ, /* i/o: PVQ encoder handle */
- uint32_t value, /* i : Value to encode */
- uint32_t tot /* i : Maximum value */
-);
-
-void rc_dec_init(
- Decoder_State *st, /* i/o: Decoder State */
- PVQ_DEC_HANDLE hPVQ, /* i/o: PVQ decoder handle */
- int16_t tot_bits /* i : Total bit budget */
-);
-
-/*! r: Decoded value */
-uint32_t rc_decode(
- int16_t *BER_detect, /* o : Bit error detection flag */
- PVQ_DEC_HANDLE hPVQ, /* i/o: PVQ decoder handle */
- uint32_t tot /* i : Total cumulative frequency */
-);
-
-void rc_dec_update(
- Decoder_State *st, /* i/o: Decoder State */
- PVQ_DEC_HANDLE hPVQ, /* i/o: PVQ decoder handle */
- const uint32_t cum_freq, /* i : Cumulative frequency */
- const uint32_t sym_freq /* i : Symbol frequency */
-);
-
-/*! r: Decoded value */
-uint32_t rc_dec_bits(
- Decoder_State *st, /* i/o: Decoder State */
- PVQ_DEC_HANDLE hPVQ, /* i/o: PVQ decoder handle */
- const int16_t bits /* i : Number of bits */
-);
-
-/*! r: Decoded value */
-uint32_t rc_dec_uniform(
- Decoder_State *st, /* i/o: Decoder State */
- PVQ_DEC_HANDLE hPVQ, /* i/o: PVQ decoder handle */
- const uint32_t tot /* i : Maximum value */
-);
-
-void rc_dec_finish(
- Decoder_State *st, /* i/o: decoder state structure */
- PVQ_DEC_HANDLE hPVQ /* i/o: PVQ decoder handle */
-);
-
-/*! r: number of bits encoded */
-int16_t pvq_core_enc(
- BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */
- float coefs_norm[], /* i/o: normalized coefficients to encode */
- float coefs_quant[], /* o : quantized coefficients */
- const int16_t bits_tot, /* i : total number of bits */
- const int16_t nb_sfm, /* i : number of bands */
- const int16_t *sfm_start, /* i : Subband start coefficient */
- const int16_t *sfm_end, /* i : Subband end coefficient */
- const int16_t *sfmsize, /* i : subband width */
- int16_t *R, /* i/o: Bit allocation/Adjusted bit alloc. (Q3) */
- int16_t *Rs, /* i/o: Integer bit allocation */
- int16_t *npulses, /* o : number of pulses */
- int16_t *maxpulse, /* i : maximum pulse per band */
- const int16_t core /* i : number of bands */
-);
-
-/*! r: number of bits decoded */
-int16_t pvq_core_dec(
- Decoder_State *st, /* i/o: Decoder state */
- const int16_t *sfm_start, /* i : indices of first coeffs in the bands */
- const int16_t *sfm_end, /* i : indices of last coeffs in the bands */
- const int16_t *sfmsize, /* i : band sizes */
- float coefs_quant[], /* o : output MDCT */
- const int16_t bits_tot, /* i : bit budget */
- const int16_t nb_sfm, /* i : number of bands */
- int16_t *R, /* i/o: Bit allocation/Adjusted bit alloc.(Q3) */
- int16_t *Rs, /* i/o: Integer bit allocation */
- int16_t *npulses, /* o : number of pulses per band */
- int16_t *maxpulse, /* o : maximum pulse per band */
- const int16_t core /* i : core */
-);
-
-void pvq_encode(
- BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */
- PVQ_ENC_HANDLE hPVQ, /* i/o: PVQ encoder handle */
- const float *x, /* i : vector to quantize */
- int16_t *y, /* o : quantized vector (non-scaled integer)*/
- float *xq, /* o : quantized vector (scaled float) */
- const int16_t pulses, /* i : number of allocated pulses */
- const int16_t N, /* i : Length of vector */
- const float gain /* i : Gain */
-);
-
-void pvq_decode(
- Decoder_State *st, /* i/o: Decoder State */
- PVQ_DEC_HANDLE hPVQ, /* i/o: PVQ decoder handle */
- float *xq, /* o : decoded vector (scaled float) */
- int16_t *y, /* o : decoded vector (non-scaled short)*/
- const int16_t K, /* i : number of allocated pulses */
- const int16_t N, /* i : Length of vector */
- const float gain /* i : Gain */
-);
-
-void rangeCoderFinalizationFBits(
- const int16_t Brc, /* i : Current number of decoded bits */
- const uint32_t INTrc, /* i : Range coder state */
- int16_t *FBits /* i : Fractional finalization bits */
-);
-
-void bandBitsAdjustment(
- const int16_t Brc, /* i : Current number of read quanta in range coder */
- const uint32_t INTrc, /* i : Range coder state */
- const int16_t Bavail, /* i : Available number of quanta */
- const int16_t Nbands, /* i : Number of bands */
- const int16_t D, /* i : Remaining number of bands to encode */
- const int16_t L, /* i : Size of current band */
- const int16_t Bband, /* i : Quanta allocation for current band */
- const int16_t Breserv, /* i : Quanta reservoir */
- int16_t *Bband_adj, /* o : Actual used number of quanta */
- int16_t *Brem, /* o : Quanta remaining */
- int16_t *Breservplus /* o : Quanta pool size */
-);
-
-void conservativeL1Norm(
- const int16_t L, /* i : Length of vector segment */
- const int16_t Qvec, /* i : Assigned number of quanta */
- const int16_t Fcons, /* i : Conservative rounding flag */
- const int16_t Qavail, /* i : Input quanta remaining */
- const int16_t Qreserv, /* i : Input quanta in reservoir */
- const int16_t Dspec, /* i : assigned diracs from bitalloc */
- int16_t *Dvec, /* o : actual number of diracs */
- int16_t *Qspare, /* o : Output quanta remaining */
- int16_t *Qreservplus, /* o : Output quanta in reservoir */
- int16_t *Dspecplus /* o : Output number of diracs */
-);
-
-void NearOppSplitAdjustment(
- const int16_t qband, /* i : quanta for current band */
- const int16_t qzero, /* i : range coder finalization quanta */
- const int16_t Qac, /* i : range coder current quanta */
- const uint32_t INTac, /* i : range coder state */
- const int16_t qglobal, /* i : quanta input */
- const int16_t FlagCons, /* i : conservative rounding flag */
- const int16_t Np, /* i : number of parts */
- const int16_t Nhead, /* i : first part */
- const int16_t Ntail, /* i : remaining parts */
- const int16_t Nnear, /* i : length of near component */
- const int16_t Nopp, /* i : length of opposite component */
- int16_t oppRQ3, /* i : ratio */
- int16_t *qnear, /* o : quantized near */
- int16_t *qopp, /* o : quantized opposite */
- int16_t *qglobalupd /* o : quanta remaining */
-);
-
-/*! r: Approximate integer division for positive input */
-int32_t intLimCDivPos(
- const int32_t NUM, /* i : numerator */
- const int16_t DEN /* i : denominator */
-);
-
-/*! r: Approximate integer division */
-int16_t shrtCDivSignedApprox_flt(
- const int16_t num, /* i : numerator */
- const int16_t den /* i : denominator */
-);
-
-void QuantaPerDsDirac(
- const int16_t td, /* i : Length of vector segment */
- const int16_t dsDiracIndex, /* i : Quanta table index */
- const uint8_t *const *dimFrQuanta, /* i : Quanta lookup table */
- int16_t *Quanta /* i : Quanta */
-);
-
-void obtainEnergyQuantizerDensity(
- const int16_t L_in, /* i : left vector energy */
- const int16_t R_in, /* i : right vector energy */
- int16_t *Density /* o : quantizer density */
-);
-
-void densityAngle2RmsProjDec(
- const int16_t D, /* i : density */
- const int16_t indexphi, /* i : decoded index from AR dec */
- int16_t *oppQ15, /* o : opposite */
- int16_t *nearQ15, /* o : near */
- int16_t *oppRatioQ3 /* o : ratio */
-);
-
-void densityAngle2RmsProjEnc(
- const int16_t D, /* i : density */
- const int16_t phiQ14uq, /* i : angle */
- int16_t *indexphi, /* o : index */
- int16_t *oppQ15, /* o : opposite */
- int16_t *nearQ15, /* o : near */
- int16_t *oppRatioQ3 /* o : ratio */
-);
-
-void env_adj(
- const int16_t *pulses, /* i : number of pulses per band */
- const int16_t length, /* i : length of spectrum */
- const int16_t last_sfm, /* i : Index of last band */
- float *adj, /* o : Adjustment factors for the envelope */
- const float env_stab, /* i : Envelope stability parameter */
- const int16_t *sfmsize /* i : Length of bands */
-);
-
-float env_stability(
- const int16_t *ynrm, /* i : Norm vector for current frame */
- const int16_t nb_sfm, /* i : Number of sub-bands */
- int16_t *mem_norm, /* i/o: Norm vector memory from past frame */
- int16_t *mem_env_delta, /* i/o: Envelope stability memory for smoothing*/
- const int16_t core_switching_flag /* i : Core switching flag */
-);
-
-/*! r: New speech/music state */
-float env_stab_smo(
- float env_stab, /* i : env_stab value */
- float *env_stab_state_p, /* i/o: env_stab state probabilities */
- int16_t *ho_cnt /* i/o: hangover counter for speech state */
-);
-void core_switching_post_enc(
- Encoder_State *st, /* i/o: encoder state structure */
- // const float *old_inp_12k8, /* i : old input signal @12.8kHz */
- float *old_inp_12k8, /* i : old input signal @12.8kHz */
- // const float *old_inp_16k, /* i : old input signal @16kHz */
- float *old_inp_16k, /* i : old input signal @16kHz */
- // const float A[] /* i : unquant. LP filter coefs. */
- Word16 A_fx[], /* i : unquant. LP filter coefs. */
- Word16 Q_new );
-ivas_error core_switching_post_dec(
- Decoder_State *st, /* i/o: decoder state structure */
- float *synth, /* i/o: output synthesis */
- float *output, /* i/o: LB synth/upsampled LB synth */
- float output_mem[], /* i : OLA memory from last TCX/HQ frame */
- const IVAS_FORMAT ivas_format, /* i : IVAS format */
- const int16_t use_cldfb_for_dft, /* i : flag to use of CLDFB for DFT Stereo */
- const int16_t output_frame, /* i : frame length */
- const int16_t core_switching_flag, /* i : ACELP->HQ switching frame flag */
- const int16_t sba_dirac_stereo_flag, /* i : signal stereo output for SBA DirAC */
- const int16_t nchan_out, /* i : number of output channels */
- const int16_t last_element_mode /* i : element mode of previous frame */
-);
-
-ivas_error core_switching_pre_dec(
- Decoder_State *st, /* i/o: decoder state structure */
- const int16_t output_frame, /* i : frame length */
- const int32_t last_core_brate_st0, /* i : channel 0 last core bitrate */
- const int16_t nchan_out, /* i : number of output channels */
- const int16_t last_element_mode, /* i : last_element_mode */
- const int32_t last_element_brate /* i : last element bitrate */
-);
-
-void bandwidth_switching_detect(
- Decoder_State *st /* i/o: decoder state structure */
-);
-
-void bw_switching_pre_proc(
- Decoder_State *st, /* i/o: decoder state structure */
- const float *old_syn_12k8_16k, /* i : ACELP core synthesis @ 12.8kHz or 16kHz */
- const int32_t last_element_brate, /* i : last element bitrate */
- const int16_t nchan_out /* i : number of output channels */
-);
-
-void updt_bw_switching(
- Decoder_State *st, /* i/o: decoder state structure */
- const float *synth /* i : float synthesis signal */
-);
-
-void swb_tbe_reset(
- float mem_csfilt[],
- float mem_genSHBexc_filt_down_shb[],
- float state_lpc_syn[],
- float syn_overlap[],
- float state_syn_shbexc[],
- float *tbe_demph,
- float *tbe_premph,
- float mem_stp_swb[],
- float *gain_prec_swb );
-
-void swb_tbe_reset_synth(
- float genSHBsynth_Hilbert_Mem[],
- float genSHBsynth_state_lsyn_filt_shb_local[] );
-
-void find_td_envelope(
- const float inp[],
- const int16_t len,
- const int16_t len_h,
- float mem_h[],
- float out[] );
-
-void fb_tbe_reset_enc(
- float elliptic_bpf_2_48k_mem[][4],
- float *prev_fb_energy );
-
-void fb_tbe_reset_synth(
- float fbbwe_hpf_mem[][4],
- float *prev_fbbwe_ratio );
-
-void wb_tbe_extras_reset(
- float mem_genSHBexc_filt_down_wb2[],
- float mem_genSHBexc_filt_down_wb3[] );
-
-void wb_tbe_extras_reset_synth(
- float state_lsyn_filt_shb[],
- float state_lsyn_filt_dwn_shb[],
- float mem_resamp_HB[] );
-
-void tbe_celp_exc_flt(
- const int16_t element_mode, /* i : element mode */
- const int16_t idchan, /* i : channel ID */
- float *bwe_exc, /* i/o: BWE excitation */
- const int16_t L_frame, /* i : frame length */
- const int16_t L_subfr, /* i : subframe length */
- const int16_t i_subfr, /* i : subframe index */
- const int16_t T0, /* i : integer pitch lag */
- const int16_t T0_frac, /* i : fraction of lag */
- float *error, /* i/o: error */
- const int16_t tdm_LRTD_flag /* i : LRTD stereo mode flag */
-);
-
-void prep_tbe_exc(
- const int16_t L_frame, /* i : length of the frame */
- const int16_t L_subfr, /* i : subframe length */
- const int16_t i_subfr, /* i : subframe index */
- const float gain_pit, /* i : Pitch gain */
- const float gain_code, /* i : algebraic codebook gain */
- const float code[], /* i : algebraic excitation */
- const float voice_fac, /* i : voicing factor */
- float *voice_factors, /* o : TBE voicing factor */
- float bwe_exc[], /* i/o: excitation for TBE */
- const float gain_preQ, /* i : prequantizer excitation gain */
- const float code_preQ[], /* i : prequantizer excitation */
- const int16_t T0, /* i : integer pitch variables */
- const int16_t coder_type, /* i : coding type */
- const int32_t core_brate, /* i : core bitrate */
- const int16_t element_mode, /* i : element mode */
- const int16_t idchan, /* i : channel ID */
- const int16_t flag_TD_BWE, /* i : flag indicating whether hTD_BWE exists */
- const int16_t tdm_LRTD_flag /* i : LRTD stereo mode flag */
-);
-
-void synthesise_fb_high_band(
- const float excitation_in[], /* i : full band excitation */
- float output[], /* o : high band speech - 14.0 to 20 kHz */
- const float fb_exc_energy, /* i : full band excitation energy */
- const float ratio_float, /* i : energy ratio */
- const int16_t L_frame, /* i : ACELP frame length */
- const int16_t bfi, /* i : BFI flag */
- float *prev_fbbwe_ratio, /* o : previous frame energy for FEC */
- float bpf_memory[][4] /* i/o: memory for elliptic bpf 48k */
-);
-
-void elliptic_bpf_48k_generic(
- const float input[], /* i : input signal */
- float output[], /* o : output signal */
- float memory[][4], /* i/o: 4 arrays for memory */
- const float full_band_bpf[][5] /* i : filter coefficients b0,b1,b2,a0,a1,a2 */
-);
-
-void HQ_FEC_processing(
- Decoder_State *st, /* i/o: decoder state structure */
- float *t_audio_q, /* o : MDCT coeffs. (for synthesis) */
- int16_t is_transient, /* i : Old flag for transient */
- float ynrm_values[][MAX_PGF], /* i : Old average Norm values for each group of bands */
- float r_p_values[][MAX_ROW], /* i : Computed y-intercept and slope by Regression */
- int16_t num_Sb, /* i : Number of sub-band group */
- int16_t nb_sfm, /* i : Number of sub-band */
- int16_t *Num_bands_p, /* i : Number of coeffs. for each sub-band */
- int16_t output_frame, /* i : Frame size */
- const int16_t *sfm_start, /* i : Start of bands */
- const int16_t *sfm_end /* i : End of bands */
-);
-
-void HQ_FEC_Mem_update(
- Decoder_State *st, /* i/o: decoder state structure */
- const float *t_audio_q,
- float *normq,
- int16_t *ynrm,
- const int16_t *Num_bands_p,
- const int16_t is_transient,
- const int16_t hqswb_clas,
- const int16_t c_switching_flag,
- const int16_t nb_sfm,
- const int16_t num_Sb,
- float *mean_en_high,
- const int16_t hq_core_type, /* i : normal or low-rate MDCT(HQ) core */
- const int16_t output_frame /* i : Frame size */
-);
-
-void time_domain_FEC_HQ(
- Decoder_State *st, /* i : Decoder State */
- float *wtda_audio, /* i : input */
- float *out, /* o : output audio */
- const float mean_en_high, /* i : transient flag */
- const int16_t output_frame /* i : Frame size */
-);
-
-void save_synthesis_hq_fec(
- Decoder_State *st, /* i/o: decoder state structure */
- const float *output, /* i : decoded synthesis */
- const int16_t output_frame, /* i : decoded synthesis */
- CPE_DEC_HANDLE hCPE /* i : CPE decoder structure */
-);
-
-void Next_good_after_burst_erasures(
- const float *ImdctOut, /* i : input */
- float *auOut, /* o : output audio */
- float *OldauOut, /* i/o: audio from previous frame */
- const int16_t ol_size /* i : overlap size */
-);
-
-
-void reset_preecho_dec(
- HQ_DEC_HANDLE hHQ_core /* i/o: HQ decoder handle */
-);
-
-void preecho_sb(
- const int32_t core_brate, /* i : core bitrate */
- const float wtda_audio[], /* i : imdct signal */
- float *rec_sig, /* i : reconstructed signal, output of the imdct transform */
- const int16_t framelength, /* i : frame length */
- float *memfilt_lb, /* i/o: memory */
- float *mean_prev_hb, /* i/o: memory */
- float *smoothmem, /* i/o: memory */
- float *mean_prev, /* i/o: memory */
- float *mean_prev_nc, /* i/o: memory */
- float *wmold_hb, /* i/o: memory */
- int16_t *prevflag, /* i/o: flag */
- int16_t *pastpre, /* i/o: flag */
- const int16_t bwidth /* i : audio bandwidth */
-);
-
-void hq2_core_configure(
- const int16_t frame_length, /* i : frame length */
- const int16_t num_bits, /* i : number of bits */
- const int16_t is_transient, /* i : transient flag */
- int16_t *bands,
- int16_t *length,
- int16_t band_width[],
- int16_t band_start[],
- int16_t band_end[],
- Word32 *L_qint, /* o : Q29 */
- Word16 *eref_fx, /* o : Q10 */
- Word16 *bit_alloc_weight_fx, /* o : Q13 */
- int16_t *gqlevs,
- int16_t *Ngq,
- int16_t *p2a_bands,
- float *p2a_th,
- float *pd_thresh,
- float *ld_slope,
- float *ni_coef,
- float *ni_pd_th,
- int32_t bwe_br );
-
-void hq_lr_enc(
- Encoder_State *st, /* i/o: encoder state structure */
- float t_audio[], /* i/o: transform-domain coefs. */
- const int16_t inner_frame, /* i : inner frame length */
- int16_t *num_bits, /* i/o: number of available bits */
- const int16_t is_transient /* i : transient flag */
-);
-
-void hq_lr_dec(
- Decoder_State *st, /* i/o: decoder state structure */
- float yout[], /* o : transform-domain output coefs. */
- const int16_t inner_frame, /* i : inner frame length */
- int16_t num_bits, /* i : number of available bits */
- int16_t *is_transient /* o : transient flag */
-);
-
-void hq2_bit_alloc(
- const float band_energy[], /* i : band energy of each subband */
- const int16_t bands, /* i : total number of subbands in a frame */
- Word32 L_Rk[], /* i/o: Bit allocation/Adjusted bit alloc. */
- int16_t *bit_budget, /* i/o: bit bugdet */
- int16_t *p2a_flags, /* i : HF tonal indicator */
- const Word16 weight_fx, /* i : weight (Q13) */
- const int16_t band_width[], /* i : Sub band bandwidth */
- const int16_t num_bits, /* i : available bits */
- const int16_t hqswb_clas, /* i : HQ2 class information */
- const int16_t bwidth, /* i : input bandwidth */
- const int16_t is_transient /* i : indicator HQ_TRANSIENT or not */
-);
-
-void hq2_noise_inject(
- float y2hat[],
- const int16_t band_start[],
- const int16_t band_end[],
- const int16_t band_width[],
- float Ep[],
- float Rk[],
- const int16_t npulses[],
- int16_t ni_seed,
- const int16_t bands,
- const int16_t ni_start_band,
- const int16_t bw_low,
- const int16_t bw_high,
- const float enerL,
- const float enerH,
- float last_ni_gain[],
- float last_env[],
- int16_t *last_max_pos_pulse,
- int16_t *p2a_flags,
- int16_t p2a_bands,
- const int16_t hqswb_clas,
- const int16_t bwidth,
- const int32_t bwe_br );
-
-void mdct_spectrum_denorm(
- const int32_t inp_vector[],
- float y2[],
- const int16_t band_start[],
- const int16_t band_end[],
- const int16_t band_width[],
- const float band_energy[],
- const int16_t npulses[],
- const int16_t bands,
- const float ld_slope,
- const float pd_thresh );
-
-void reverse_transient_frame_energies(
- float band_energy[], /* o : band energies */
- const int16_t bands /* i : number of bands */
-);
-
-
-void hvq_dec(
- Decoder_State *st, /* i/o: decoder state structure */
- const int16_t num_bits, /* i : Number of available bits */
- const int32_t core_brate, /* i : Core bitrate */
- const int16_t *ynrm, /* i : Envelope coefficients */
- int16_t *R, /* i/o: Bit allocation/updated bit allocation */
- float *noise_level, /* o : Noise level */
- int16_t *peak_idx, /* o : Peak position vector */
- int16_t *Npeaks, /* o : Total number of peaks */
- float *coefsq_norm, /* o : Output vector */
- const int16_t core /* i : Core */
-);
-
-void hq_configure_bfi(
- int16_t *nb_sfm, /* o : Number of sub bands */
- int16_t *num_Sb, /* o : Number of FEC sub bands ? */
- int16_t *num_bands_p, /* o : FEC sub bands */
- const int16_t **sfmsize, /* o : Subband bandwidths */
- const int16_t **sfm_start, /* o : Subband start coefficients */
- const int16_t **sfm_end /* o : Subband end coefficients */
-);
-
-void swb_bwe_enc_lr(
- Encoder_State *st, /* i/o: encoder state structure */
- const float m_core[], /* i : core synthesis (MDCT) */
- const float m_orig[], /* i/o: scaled orig signal (MDCT) */
- float m[], /* o : output, SWB part (MDCT) */
- const int32_t total_brate, /* i : total bitrate for selecting subband pattern */
- int16_t BANDS,
- int16_t *band_start,
- int16_t *band_end,
- float *band_energy,
- int16_t *p2a_flags,
- const int16_t hqswb_clas,
- int16_t lowlength,
- int16_t highlength,
- int16_t *prev_frm_index,
- const int16_t har_bands,
- int16_t *prev_frm_hfe2,
- int16_t *prev_stab_hfe2,
- int16_t band_width[],
- const float y2_ni[],
- int16_t *ni_seed );
-
-void swb_bwe_dec_lr(
- Decoder_State *st, /* i/o: decoder state structure */
- const float m_core[], /* i : lowband synthesis */
- float m[], /* o : highband synthesis with lowband zeroed */
- const int32_t total_brate, /* i : total bitrate for selecting subband pattern */
- int16_t BANDS,
- int16_t *band_start,
- int16_t *band_end,
- float *band_energy,
- int16_t *p2a_flags,
- const int16_t hqswb_clas,
- int16_t lowlength,
- int16_t highlength,
- const int16_t har_bands,
- int16_t *prev_frm_hfe2,
- int16_t *prev_stab_hfe2,
- int16_t band_width[],
- const float y2_ni[],
- int16_t *ni_seed );
-
-int16_t get_usebit_npswb(
- const int16_t hqswb_clas );
-
-void GetPredictedSignal(
- const float *predBuf, /* i : prediction buffer */
- float *outBuf, /* o : output buffer */
- const int16_t lag, /* i : prediction buffer offset */
- const int16_t fLen, /* i : length of loop (output) */
- const float gain /* i : gain to be applied */
-);
-
-void convert_lagIndices_pls2smp(
- int16_t lagIndices_in[],
- int16_t nBands_search,
- int16_t lagIndices_out[],
- const float sspectra[],
- const int16_t sbWidth[],
- const int16_t fLenLow );
-
-void FindNBiggest2_simple(
- const float *inBuf, /* i : input buffer (searched) */
- GainItem *g, /* o : N biggest components found */
- const int16_t nIdx, /* i : search length */
- int16_t *n, /* i : number of components searched (N biggest) */
- const int16_t N_NBIGGESTSEARCH );
-
-void updat_prev_frm(
- float y2[],
- float t_audio[],
- const int32_t bwe_br,
- const int16_t length,
- const int16_t inner_frame,
- const int16_t bands,
- const int16_t bwidth,
- const int16_t is_transient,
- const int16_t hqswb_clas,
- int16_t *prev_hqswb_clas,
- int16_t *prev_SWB_peak_pos,
- int16_t prev_SWB_peak_pos_tmp[],
- int16_t *prev_frm_hfe2,
- int16_t *prev_stab_hfe2,
- const int16_t bws_cnt );
-
-void hf_parinitiz(
- const int32_t total_brate,
- const int16_t hqswb_clas,
- int16_t lowlength,
- int16_t highlength,
- int16_t wBands[],
- const int16_t **subband_search_offset,
- const int16_t **subband_offsets,
- int16_t *nBands,
- int16_t *nBands_search,
- int16_t *swb_lowband,
- int16_t *swb_highband );
-
-float spectrumsmooth_noiseton(
- float spectra[],
- const float spectra_ni[],
- float sspectra[],
- float sspectra_diff[],
- float sspectra_ni[],
- const int16_t fLenLow,
- int16_t *ni_seed );
-
-void noiseinj_hf(
- float xSynth_har[],
- const float th_g[],
- const float band_energy[],
- float *prev_En_sb,
- const int16_t p2a_flags[],
- const int16_t BANDS,
- const int16_t band_start[],
- const int16_t band_end[],
- const int16_t fLenLow );
-
-void noise_extr_corcod(
- float spectra[],
- const float spectra_ni[],
- float sspectra[],
- float sspectra_diff[],
- float sspectra_ni[],
- const int16_t fLenLow,
- int16_t prev_hqswb_clas,
- float *prev_ni_ratio );
-
-void genhf_noise(
- float noise_flr[],
- float xSynth_har[],
- float *predBuf,
- int16_t bands, /* i : total number of subbands in a frame */
- int16_t harmonic_band, /* i : Number of LF harmonic frames */
- int16_t har_freq_est2,
- int16_t pos_max_hfe2,
- int16_t *pul_res,
- GainItem pk_sf[],
- const int16_t fLenLow,
- const int16_t fLenHigh,
- const int16_t sbWidth[],
- const int16_t lagIndices[],
- const int16_t subband_offsets[],
- const int16_t subband_search_offset[] );
-
-void ton_ene_est(
- float xSynth_har[],
- float be_tonal[],
- float band_energy[],
- int16_t band_start[],
- int16_t band_end[],
- int16_t band_width[],
- const int16_t fLenLow,
- const int16_t fLenHigh,
- int16_t bands,
- int16_t har_bands,
- float ni_lvl,
- GainItem pk_sf[],
- int16_t *pul_res );
-
-void Gettonl_scalfact(
- float *outBuf, /* o : synthesized spectrum */
- const float *codbuf, /* i : core coder */
- const int16_t fLenLow, /* i : lowband length */
- const int16_t fLenHigh, /* i : highband length */
- int16_t harmonic_band, /* i : Number of LF harmonic frames */
- int16_t bands, /* i : total number of subbands in a frame */
- float *band_energy, /* i : band energy of each subband */
- int16_t *band_start, /* i : subband start indices */
- int16_t *band_end, /* i : subband end indices */
- const int16_t p2aflags[],
- float be_tonal[],
- GainItem *pk_sf,
- int16_t *pul_res );
-
-void SpectrumSmoothing(
- float *inBuf,
- float *outBuf,
- const int16_t fLen,
- const float th_cut );
-
-void hq2_bit_alloc_har(
- float *y, /* i : band energy of sub-vectors */
- int16_t B, /* i : number of available bits */
- int16_t N, /* i : number of sub-vectors */
- Word32 *L_Rsubband,
- int16_t p2a_bands,
- int32_t core_brate, /* i : core bitrate */
- int16_t p2a_flags[],
- int16_t band_width[] );
-
-void GetSynthesizedSpecThinOut(
- const float *predBuf,
- float *outBuf,
- const int16_t nBands,
- const int16_t *sbWidth,
- const int16_t *lagIndices,
- const float *lagGains,
- const int16_t predBufLen );
-
-void return_bits_normal2(
- int16_t *bit_budget,
- const int16_t p2a_flags[],
- const int16_t bands,
- const int16_t bits_lagIndices[] );
-
-void GetlagGains(
- const float *predBuf,
- const float *band_energy,
- const int16_t nBands,
- const int16_t *sbWidth,
- const int16_t *lagIndices,
- const int16_t predBufLen,
- float *lagGains );
-
-void preset_hq2_swb(
- const int16_t hqswb_clas,
- const int16_t band_end[],
- int16_t *har_bands,
- int16_t p2a_bands,
- const int16_t length,
- const int16_t bands,
- int16_t *lowlength,
- int16_t *highlength,
- float m[] );
-
-void post_hq2_swb(
- const float m[],
- const int16_t lowlength,
- const int16_t highlength,
- const int16_t hqswb_clas,
- const int16_t har_bands,
- const int16_t bands,
- const int16_t p2a_flags[],
- const int16_t band_start[],
- const int16_t band_end[],
- float y2[],
- int16_t npulses[] );
-
-void har_denorm_pulcnt(
- float spectra[], /* i/o: MDCT domain spectrum */
- const int16_t band_start[], /* i : Number subbands/Frame */
- const int16_t band_end[], /* i : Band Start of each SB */
- const float band_energy[], /* i : Band end of each SB */
- const int16_t band_width[],
- const int16_t npulses[],
- const int16_t har_bands /* i : No. of harmonic bands */
-);
-
-int16_t har_est(
- float spectra[],
- const int16_t N,
- int16_t *har_freq_est1,
- int16_t *har_freq_est2,
- int16_t *flag_dis,
- int16_t *prev_frm_hfe2,
- const int16_t subband_search_offset[],
- const int16_t sbWidth[],
- int16_t *prev_stab_hfe2 );
-
-void spt_shorten_domain_pre(
- const int16_t band_start[],
- const int16_t band_end[],
- const int16_t prev_SWB_peak_pos[],
- const int16_t BANDS,
- const int32_t bwe_br,
- int16_t new_band_start[],
- int16_t new_band_end[],
- int16_t new_band_width[] );
-
-void spt_shorten_domain_band_save(
- const int16_t bands,
- const int16_t band_start[],
- const int16_t band_end[],
- const int16_t band_width[],
- int16_t org_band_start[],
- int16_t org_band_end[],
- int16_t org_band_width[] );
-
-void spt_shorten_domain_band_restore(
- const int16_t bands,
- int16_t band_start[],
- int16_t band_end[],
- int16_t band_width[],
- const int16_t org_band_start[],
- const int16_t org_band_end[],
- const int16_t org_band_width[] );
-
-void spt_swb_peakpos_tmp_save(
- const float y2[],
- const int16_t bands,
- const int16_t band_start[],
- const int16_t band_end[],
- int16_t prev_SWB_peak_pos_tmp[] );
-
-void hq_ecu(
- const float *prevsynth, /* i : buffer of previously synthesized signal */
- float *ecu_rec, /* o : reconstructed frame in tda domain */
- int16_t *time_offs, /* i/o: Sample offset for consecutive frame losses*/
- float *X_sav, /* i/o: Stored spectrum of prototype frame */
- int16_t *num_p, /* i/o: Number of identified peaks */
- int16_t *plocs, /* i/o: Peak locations */
- float *plocsi, /* i/o: Interpolated peak locations */
- const float env_stab, /* i : Envelope stability parameter */
- int16_t *last_fec, /* i/o: Flag for usage of pitch dependent ECU */
- const int16_t ph_ecu_HqVoicing, /* i : HQ Voicing flag */
- int16_t *ph_ecu_active, /* i : Phase ECU active flag */
- float *gapsynth, /* o : Gap synthesis */
- const int16_t prev_bfi, /* i : indicating burst frame error */
- const int16_t old_is_transient[2], /* i : flags indicating previous transient frames*/
- float *mag_chg_1st, /* i/o: per band magnitude modifier for transients*/
- float Xavg[LGW_MAX], /* i/o: Frequency group average gain to fade to */
- float *beta_mute, /* o : Factor for long-term mute */
- const int16_t output_frame, /* i : frame length */
- Decoder_State *st /* i/o: decoder state structure */
-);
-
-void peakfinder(
- const float *x0, /* i : vector from which the maxima will be found */
- const int16_t len0, /* i : length of input vector */
- int16_t *plocs, /* o : the indicies of the identified peaks in x0 */
- int16_t *cInd, /* o : number of identified peaks */
- const float sel, /* i : The amount above surrounding data for a peak to be identified */
- const int16_t endpoints /* i : Flag to include endpoints in peak search */
-);
-
-/*! r: interpolated maximum position */
-float imax_pos(
- const float *y /* i : Input vector for peak interpolation */
-);
-
-
-void fft3(
- const float X[], /* i : input frame */
- float Y[], /* o : DFT of input frame */
- const int16_t n /* i : block length (must be radix 3) */
-);
-
-void ifft3(
- const float X[], /* i : input frame */
- float Y[], /* o : iDFT of input frame */
- const int16_t n /* i : block length (must be radix 3) */
-);
-
-/*! r: updated estimate of background noise */
-void minimumStatistics(
- float *noiseLevelMemory, /* i/o: internal state */
- int16_t *noiseLevelIndex, /* i/o: internal state */
- int16_t *currLevelIndex, /* i/o: internal state (circular buffer) */
- float *noiseEstimate, /* i/o: previous estimate of background noise */
- float *lastFrameLevel, /* i/o: level of the last frame */
- float currentFrameLevel, /* i : level of the current frame */
- const float minLev, /* i : minimum level */
- const int16_t buffSize /* i : buffer size */
-);
-
-void E_ACELP_toeplitz_mul(
- const float R[],
- const float c[],
- float d[] );
-
-void E_ACELP_innovative_codebook(
- const float *exc, /* i : pointer to the excitation frame */
- const int16_t T0, /* i : integer pitch lag */
- const int16_t T0_frac, /* i : fraction of lag */
- const int16_t T0_res, /* i : pitch resolution */
- const float pitch_gain, /* i : adaptive codebook gain */
- const float tilt_code, /* i : tilt factor */
- ACELP_config *acelp_cfg, /* i/o: configuration of the ACELP */
- const int16_t i_subfr, /* i : subframe index */
- const float *Aq, /* i : quantized LPC coefficients */
- const float *h1, /* i : impulse response of weighted synthesis filter */
- const float *xn, /* i : Close-loop Pitch search target vector */
- const float *cn, /* i : Innovative codebook search target vector */
- const float *y1, /* i : zero-memory filtered adaptive excitation */
- float *y2, /* o : zero-memory filtered algebraic excitation */
- const int16_t acelpautoc, /* i : autocorrelation mode enabled */
- int16_t **pt_indice, /* i/o: quantization indices pointer */
- float *code, /* o : innovative codebook */
- const int16_t L_frame, /* i : length of the frame */
- const int16_t last_L_frame, /* i : length of the last frame */
- const int32_t total_brate /* i : total bitrate */
-);
-
-int16_t E_ACELP_code43bit(
- const float code[],
- uint32_t *ps,
- int16_t *p,
- uint16_t idxs[] );
-void D_ACELP_indexing_ivas(
- float code[],
- PulseConfig config,
- const int16_t num_tracks,
- int16_t prm[],
- int16_t *BER_detect );
-
-void D_ACELP_decode_43bit(
- uint16_t idxs[],
- float code[],
- int16_t *pulsestrack );
-
-void fcb_pulse_track_joint_decode_ivas(
- uint16_t *idxs,
- const int16_t wordcnt,
- uint32_t *index_n,
- const int16_t *pulse_num,
- const int16_t track_num );
-
-void lag_wind_flt(
- float r[], /* i/o: autocorrelations */
- const int16_t m, /* i : order of LP filter */
- const int32_t sr_core, /* i : sampling rate */
- const int16_t strength /* i : LAGW_WEAK, LAGW_MEDIUM, or LAGW_STRONG */
-);
-
-void adapt_lag_wind_fx(
- float r[], /* i/o: autocorrelations */
- const int16_t m, /* i : order of LP filter */
- const int16_t Top, /* i : open loop pitch lags from curr. frame (or NULL if n/a) */
- const float Tnc, /* i : open loop pitch gains from curr. frame (NULL if n/a) */
- const int32_t sr_core /* i : core sampling rate */
-);
-
-void core_coder_reconfig(
- Encoder_State *st, /* i/o: encoder state structure */
- const int32_t last_total_brate /* i : last total bitrate */
-);
-
-void core_coder_mode_switch(
- Encoder_State *st, /* i/o: encoder state structure */
- const int32_t last_total_brate, /* i : last bitrate */
- const int16_t MCT_flag /* i : hMCT handle allocated (1) or not (0)*/
-);
-
-void enc_acelp_tcx_main(
- Encoder_State *st, /* i/o: encoder state structure */
- const float new_samples[], /* i : new samples */
- float Aw[NB_SUBFR16k * ( M + 1 )], /* i : weighted A(z) unquant. for subframes*/
- const float lsp_new[M], /* i : LSPs at the end of the frame */
- const float lsp_mid[M], /* i : LSPs at the middle of the frame */
- float bwe_exc_extended[], /* i/o: bandwidth extended excitation */
- float *voice_factors, /* o : voicing factors */
- float pitch_buf[], /* o : floating pitch for each subframe */
- const int16_t vad_hover_flag /* i : VAD hangover flag */
-);
-
-void getTCXMode_ivas(
- Decoder_State *st, /* i/o: decoder memory state */
- Decoder_State *st0, /* i : bitstream */
- const Word16 MCT_flag /* i : hMCT handle allocated (1) or not (0)*/
-);
-
-void getTCXWindowing_ivas(
- const Word16 core, /* i : current frame mode */
- const Word16 last_core, /* i : last frame mode */
- const Word16 element_mode, /* i : element mode */
- TCX_CONFIG_HANDLE hTcxCfg, /* i/o: TCX configuration handle */
- Decoder_State *st0 /* i : bitstream */
-);
-
-void getLPCparam_ivas(
- Decoder_State *st, /* i/o: decoder memory state */
- int16_t param_lpc[], /* o : LTP parameters */
- Decoder_State *st0, /* i : bitstream */
- const int16_t ch, /* i : channel */
- const int16_t sns_low_br_mode /* i : SNS low-bitrate mode */
-);
-
-void getTCXparam_ivas(
- Decoder_State *st, /* i/o: Decoder State handle */
- Decoder_State *st0, /* i : bitstream */
- CONTEXT_HM_CONFIG hm_cfg, /* i/o: HM config */
- int16_t param[], /* o : decoded parameters */
- const int16_t bits_common, /* i : number of common bits */
- const int16_t start_bit_pos, /* i : position of the start bit */
- const int16_t *no_param_tns, /* i : number of TNS parameters per subframe */
- int16_t p_param[2], /* o : pointer to parameters for next round of bs reading*/
- int16_t nTnsBitsTCX10[2],
- const int16_t pre_past_flag );
-
-void pitch_pred_linear_fit_flt(
- const int16_t nbLostCmpt, /* i : bfi counter */
- const int16_t last_good, /* i : last classification type */
- float *old_pitch_buf, /* i : pitch lag buffer */
- float *old_fpitch, /* i/o: pitch used for initial ACB generation */
- float *T0_out, /* o : estimated close loop pitch */
- const int16_t pit_min, /* i : Minimum pitch lag */
- const int16_t pit_max, /* i : Maximum pitch lag */
- float *mem_pitch_gain, /* i : lag pitch gain [0] is the most recent subfr lag */
- const int16_t limitation,
- const int16_t plc_use_future_lag, /* i : number of subframes to predict */
- int16_t *extrapolationFailed, /* o : flag if extrap decides not to change the pitch */
- const int16_t nb_subfr /* i : number of ACELP subframes */
-);
-
-void get_subframe_pitch_flt(
- const int16_t nSubframes, /* i : number of subframes */
- float pitchStart, /* i : starting pitch lag (in subframe -1) */
- float pitchEnd, /* i : ending pitch lag (in subframe nSubframes-1) */
- float *pitchBuf /* o : interpolated pitch lag per subframe */
-);
-
-void core_encode_openloop(
- Encoder_State *st, /* i/o: encoder state structure */
- const float Aw[NB_SUBFR16k * ( M + 1 )], /* i : weighted A(z) unquant. for subframes*/
- const float lsp_new[M], /* i : LSPs at the end of the frame */
- const float lsp_mid[M], /* i : LSPs at the middle of the frame */
- float *pitch_buf, /* i/o: floating pitch values for each subfr*/
- float *voice_factors, /* o : voicing factors */
- float *ptr_bwe_exc, /* o : excitation for SWB TBE */
- const int16_t vad_hover_flag /* i : VAD hangover flag */
-);
-
-void core_acelp_tcx20_switching(
- Encoder_State *st, /* i/o: encoder state structure */
- float non_staX, /* i : unbound non-stationarity for sp/mu clas */
- float *pitch_fr, /* i/o: fraction pitch values */
- float *voicing_fr, /* i/o: fractional voicing values */
- const float currTempFlatness, /* i : flatness */
- const float lsp_mid[M], /* i : LSPs at the middle of the frame */
- const float stab_fac /* i : LP filter stability */
-);
-
-void core_encode_twodiv(
- Encoder_State *st, /* i/o: coder memory state */
- const float new_samples[], /* i : new samples */
- float Aw[NB_SUBFR16k * ( M + 1 )], /* i : weighted A(z) unquant. for subframes*/
- const int16_t vad_hover_flag /* i : VAD hangover flag */
-);
-
-void core_encode_update(
- Encoder_State *st /* i/o: encoder state structure */
-);
-
-void core_encode_update_cng(
- Encoder_State *st, /* i/o: encoder state structure */
- float *timeDomainBuffer,
- float *A,
- const float Aw[] /* i : weighted A(z) unquant. for subframes*/
-);
-
-void core_signal_analysis_high_bitrate(
- const float *new_samples,
- const int16_t T_op[3], /* i : open-loop pitch values for quantiz. */
- float lsp_new[],
- float lsp_mid[],
- Encoder_State *st,
- float *mdst_spectrum[2],
- int16_t pTnsSize[],
- int16_t pTnsBits[],
- int16_t param_core[],
- int16_t *ltpBits,
- float *windowed_samples, /* i/o: backup of windowed time signal */
- const int16_t L_frame,
- const int16_t L_frameTCX,
- const int16_t last_element_mode,
- const int16_t vad_hover_flag /* i : VAD hangover flag */
-);
-
-void encode_acelp_gains(
- const float *code,
- const int16_t gains_mode,
- const float mean_ener_code,
- const int16_t clip_gain,
- ACELP_CbkCorr *g_corr,
- float *gain_pit,
- float *gain_code,
- int16_t **pt_indice,
- float *past_gcode,
- float *gain_inov,
- const int16_t L_subfr,
- float *code2,
- float *gain_code2,
- const int16_t noisy_speech_flag );
-
-int16_t gain_enc_gacelp_uv(
- const float *code, /* i : algebraic excitation */
- const float *code2, /* i : gaussian excitation */
- const int16_t lcode, /* i : Subframe size */
- const float mean_ener, /* i : quantized mean energy of the frame */
- float *gain_pit, /* o : quantized pitch gain */
- float *gain_code, /* o : quantized codebook gain */
- float *gain_code2, /* o : quantized codebook gain */
- ACELP_CbkCorr *coeff, /* i/o: correlations , -2,, -2 and 2 */
- float *past_gcode, /* i/o: past gain of code */
- float *gain_inov, /* o : unscaled innovation gain */
- const int16_t noisy_speech_flag /* i : noisy speech flag */
-);
-
-int16_t Mode2_gain_enc_mless(
- const float *code, /* i : algebraic excitation */
- const int16_t lcode, /* i : Subframe size */
- float *gain_pit, /* o : quantized pitch gain */
- float *gain_code, /* o : quantized codebook gain */
- ACELP_CbkCorr *coeff, /* i/o: correlations , -2,, -2 and 2 */
- const float mean_ener, /* i : mean_ener defined in open-loop (3 bits) */
- const int16_t clip_gain, /* i : gain pitch clipping flag (1 = clipping) */
- float *past_gcode, /* i/o: past gain of code */
- float *gain_inov, /* o : unscaled innovation gain */
- const int16_t coder_type /* i : type of coder */
-);
-
-void decode_acelp_gains(
- const float *code,
- const int16_t gains_mode,
- const float mean_ener_code,
- float *gain_pit,
- float *gain_code,
- int16_t **pt_indice,
- float *past_gpit,
- float *past_gcode,
- float *gain_inov,
- const int16_t L_subfr,
- float *code2,
- float *gain_code2 );
-
-void gain_dec_gacelp_uv(
- int16_t index, /* i/o: Quantization index vector */
- const float *code, /* i : algebraic code excitation */
- const float *code2, /* i : algebraic code excitation */
- const float mean_ener, /* i : mean energy */
- const int16_t lcode, /* i : Subframe size */
- float *gain_pit, /* o : Quantized pitch gain */
- float *gain_code, /* o : Quantized codebook gain */
- float *gain_code2, /* o : Quantized codebook gain */
- float *past_gpit, /* i/o: past gain of pitch */
- float *past_gcode, /* i/o: past energy of code */
- float *gain_inov /* o : unscaled innovation gain */
-);
-
-void limit_T0_voiced_ivas(
- const int16_t nbits,
- const int16_t res,
- const int16_t T0, /* i : rough pitch estimate around which the search is done */
- const int16_t T0_frac, /* i : pitch estimate fractional part */
- const int16_t T0_res, /* i : pitch resolution */
- int16_t *T0_min, /* o : lower pitch limit */
- int16_t *T0_min_frac, /* o : lower pitch limit */
- int16_t *T0_max, /* o : higher pitch limit */
- int16_t *T0_max_frac, /* o : higher pitch limit */
- const int16_t pit_min, /* i : Minimum pitch lag */
- const int16_t pit_max /* i : Maximum pitch lag */
-);
-
-
-/*! r: floating pitch value */
-float Mode2_pit_decode_flt(
- const int16_t coder_type, /* i : coding model */
- const int16_t i_subfr, /* i : subframe index */
- const int16_t L_subfr, /* i : sub-frame length */
- int16_t **pt_indice, /* i/o: quantization indices pointer */
- int16_t *T0, /* o : close loop integer pitch */
- int16_t *T0_frac, /* o : close loop fractional part of the pitch */
- int16_t *T0_res, /* i/o: pitch resolution */
- int16_t *T0_min, /* i/o: lower limit for close-loop search */
- int16_t *T0_min_frac, /* i/o: lower limit for close-loop search */
- int16_t *T0_max, /* i/o: higher limit for close-loop search */
- int16_t *T0_max_frac, /* i/o: higher limit for close-loop search */
- const int16_t pit_min,
- const int16_t pit_fr1,
- const int16_t pit_fr1b,
- const int16_t pit_fr2,
- const int16_t pit_max,
- const int16_t pit_res_max );
-
-void Mode2_abs_pit_dec_flt(
- int16_t *T0, /* o : integer pitch lag */
- int16_t *T0_frac, /* o : pitch fraction */
- int16_t *T0_res, /* o : pitch resolution */
- int16_t **pt_indice, /* i/o: pointer to Vector of Q indexes */
- const int16_t pit_min,
- const int16_t pit_fr1,
- const int16_t pit_fr2,
- const int16_t pit_res_max );
-
-void Mode2_delta_pit_dec_flt(
- int16_t *T0, /* o : integer pitch lag */
- int16_t *T0_frac, /* o : pitch fraction */
- int16_t T0_res, /* i : pitch resolution */
- int16_t *T0_min, /* i : delta search min */
- int16_t *T0_min_frac, /* i : delta search min */
- int16_t **pt_indice /* i/o: pointer to Vector of Q indexes */
-);
-
-void formant_post_filt_ivas(
- PFSTAT_HANDLE hPFstat, /* i/o: Post filter related memories */
- float *synth_in, /* i : 12k8 synthesis */
- const float *Aq, /* i : LP filter coefficient */
- float *synth_out, /* i/o: input signal */
- const int16_t L_frame, /* i : frame length */
- const int16_t L_subfr, /* i : sub-frame length */
- const float lp_noise, /* i : background noise energy */
- const int32_t brate, /* i : bitrate */
- const int16_t off_flag /* i : Off flag */
-);
-
-
-int16_t dlpc_avq(
- int16_t *index, /* i : Quantization indices */
- float *LSF_Q, /* o : Quantized LSF vectors */
- const int16_t numlpc, /* i : Number of sets of lpc */
- const int32_t sr_core /* i : internal sampling rate */
-);
-
-int16_t decode_lpc_avq(
- Decoder_State *st, /* i/o: decoder state structure */
- const int16_t numlpc, /* i : Number of sets of lpc */
- int16_t *param_lpc, /* o : lpc parameters */
- const int16_t ch, /* i : channel */
- const int16_t element_mode, /* i : element mode */
- const int16_t sns_low_br_mode /* i : SNS low-bitrate mode */
-);
-
-
-void vlpc_2st_dec_flt(
- float *lsfq, /* i/o: i:1st stage o:1st+2nd stage */
- int16_t *indx, /* i : index[] (4 bits per words) */
- const int16_t mode, /* i : 0=abs, >0=rel */
- const int32_t sr_core /* i : internal sampling rate */
-);
-
-void lsf_weight_2st_flt(
- const float *lsfq,
- float *w,
- const int16_t mode,
- const int32_t sr_core );
-
-void mdct_window_sine_flt(
- float *window,
- const int32_t Fs,
- const int16_t n,
- const int16_t window_type,
- const int16_t element_mode );
-
-void mdct_window_aldo_flt(
- float *window1,
- float *window2,
- const int16_t n );
-
-void AVQ_cod_lpc(
- const float nvec[], /* i : vector to quantize */
- int16_t nvecq[], /* o : quantized normalized vector (assuming the bit budget is enough) */
- int16_t *indx, /* o : index[] (4 bits per words) */
- const int16_t Nsv /* i : number of subvectors (lg=Nsv*8) */
-);
-
-void AVQ_dec_lpc_ivas(
- const int16_t indx[], /* i : index[] (4 bits per words) */
- int16_t nvecq[], /* o : vector quantized */
- const int16_t Nsv /* i : number of subvectors (lg=Nsv*8) */
-);
-
-void vlpc_1st_dec_flt(
- const int16_t index, /* i : codebook index */
- float *lsfq, /* i/o: i:prediction o:quantized lsf */
- const int32_t sr_core );
-
-void WindowSignal_flt(
- TCX_CONFIG_HANDLE hTcxCfg, /* i : configuration of TCX */
- int16_t offset, /* i : left folding point offset relative to the input signal pointer */
- const int16_t left_overlap_mode, /* i : overlap mode of left window half */
- const int16_t right_overlap_mode, /* i : overlap mode of right window half */
- int16_t *left_overlap_length, /* o : TCX window left overlap length */
- int16_t *right_overlap_length, /* o : TCX window right overlap length */
- const float in[], /* i : input signal */
- int16_t *L_frame, /* i/o: frame length */
- float out[], /* o : output windowed signal */
- const int16_t truncate_aldo, /* i : nonzero to truncate long ALDO slope */
- const int16_t fullband /* i : fullband flag */
-);
-
-void HBAutocorrelation(
- TCX_CONFIG_HANDLE hTcxCfg, /* i : configuration of TCX */
- const int16_t left_mode, /* i : overlap mode of left window half */
- const int16_t right_mode, /* i : overlap mode of right window half */
- float speech[], /* i : speech */
- int16_t L_frame_glob, /* i/o: frame length */
- float *r /* o : autocorrelations vector */
-);
-
-void TNSAnalysis(
- TCX_CONFIG_HANDLE hTcxCfg, /* i : configuration of TCX */
- const int16_t L_frame, /* i : frame length */
- int16_t L_spec, /* i : length of the spectrum */
- const int16_t transform_type, /* i : transform type for the frame/subframe - TCX20 | TCX10 | TCX 5 (meaning 2 x TCX 5) */
- const int16_t isAfterACELP, /* i : Flag indicating if the last frame was ACELP. For the second TCX subframe it should be 0 */
- float spectrum[], /* i : MDCT spectrum of the subframe */
- TRAN_DET_HANDLE hTranDet, /* i : handle transient detection */
- const float ltp_gain, /* i : ltp gain */
- STnsData *pTnsData, /* o : TNS data */
- int8_t *pfUseTns, /* o : Flag indicating if TNS is used */
- float *predictionGain /* o : TNS prediction gain */
-);
-
-void CalculateTnsFilt(
- STnsConfig const *pTnsConfig, /* i : TNS Configuration struct */
- const float pSpectrum[], /* i : MDCT spectrum */
- STnsData *pTnsData, /* o : TNS data struct */
- float *predictionGain /* o : TNS prediction gain */
-);
-
-void ShapeSpectrum(
- TCX_CONFIG_HANDLE hTcxCfg, /* i : configuration of TCX */
- const float A[], /* i : quantized coefficients NxAz_q[M+1] */
- float gainlpc[], /* o : MDCT gains for the previous frame */
- const int16_t L_frame_glob, /* i : frame length */
- int16_t L_spec, /* i : length of the spectrum */
- float spectrum[], /* i/o: MDCT spectrum */
- const int8_t fUseTns, /* i : Flag indicating if TNS is used */
- Encoder_State *st, /* i/o: encoder state structure */
- float *scf /* i : scale factors */
-);
-
-void QuantizeSpectrum(
- Encoder_State *st, /* i/o: encoder state structure */
- const float A[], /* i : quantized coefficients NxAz_q[M+1] */
- const Word16 Aqind[], /* i : frame-independent quantized coeffs (M+1) */
- float gainlpc[], /* i : MDCT gains of the previous frame */
- float synth[], /* o : synthesis buffer */
- const int16_t nb_bits, /* i : bit budget */
- const int16_t tnsSize, /* i : number of tns parameters put into prm */
- int16_t prm[], /* o : tcx parameters */
- const int16_t frame_cnt, /* i : frame counter in the super_frame */
- CONTEXT_HM_CONFIG *hm_cfg, /* i : HM configuration */
- const int16_t vad_hover_flag /* i : VAD hangover flag */
-);
-
-/*! r: index of next coefficient */
-int16_t get_next_coeff_mapped_ivas(
- int16_t ii[2], /* i/o: coefficient indexes */
- int32_t *pp, /* o : peak(1)/hole(0) indicator */
- int16_t *idx, /* o : index in unmapped domain */
- CONTEXT_HM_CONFIG *hm_cfg /* i : HM configuration */
-);
-
-
-void ACcontextMapping_encode2_no_mem_s17_LC(
- BSTR_ENC_HANDLE hBstr, /* i/o: bitstream handle */
- int16_t *x,
- int16_t nt,
- int16_t lastnz,
- int16_t nbbits,
- int16_t resQMaxBits,
- CONTEXT_HM_CONFIG *hm_cfg );
-
-int16_t ACcontextMapping_decode2_no_mem_s17_LC_ivas(
- Decoder_State *st, /* i/o: decoder state */
- int16_t *x, /* o : decoded spectrum */
- int16_t nt, /* i : size of spectrum */
- int16_t nbbits, /* i : bit budget */
- int16_t resQMaxBits, /* i : residual coding maximum bits */
- CONTEXT_HM_CONFIG *hm_cfg /* i : context-based harmonic model configuration */
-);
-
-int16_t ACcontextMapping_encode2_estimate_no_mem_s17_LC(
- const int16_t *x,
- const int16_t nt,
- int16_t *lastnz,
- int16_t *nEncoded,
- const int16_t target,
- int16_t *stop,
- CONTEXT_HM_CONFIG *hm_cfg );
-
-void RCcontextMapping_encode2_no_mem_s17_LCS(
- BSTR_ENC_HANDLE hBstr, /* i/o: bitstream handle */
- int16_t *x,
- const int16_t nt,
- int16_t lastnz,
- const int16_t nbbits,
- const int16_t resQMaxBits,
- CONTEXT_HM_CONFIG *hm_cfg );
-
-int16_t RCcontextMapping_decode2_no_mem_s17_LCS(
- Decoder_State *st, /* i/o: decoder state */
- int16_t *x, /* o : decoded spectrum */
- const int16_t nt, /* i : size of spectrum */
- const int16_t nbbits, /* i : bit budget */
- const int16_t resQMaxBits, /* i : residual coding maximum bits */
- CONTEXT_HM_CONFIG *hm_cfg /* i : context-based harmonic model configuration */
-);
-
-int16_t RCcontextMapping_encode2_estimate_no_mem_s17_LCS(
- int16_t *x, /* Spectral coefficients */
- const int16_t nt, /* L - size of spectrum (no. of spectral coefficients) */
- int16_t *lastnz_out,
- int16_t *nEncoded, /* No. of spectral coefficients that can be coded without an overflow occuring */
- const int16_t target, /* Target bits */
- int16_t *stop,
- int16_t mode,
- CONTEXT_HM_CONFIG *hm_cfg /* context-based harmonic model configuration */
-);
-
-Word16 RCcontextMapping_encode2_estimate_bandWise_start_fx(
- Word16 *x, /* Q0 */
- const Word16 nt, /* Q0 */
- const Word16 target, /* Q0 */
- HANDLE_RC_CONTEXT_MEM hContextMem );
-
-Word16 RCcontextMapping_encode2_estimate_bandWise_fx(
- Word16 *x, /* Q0 */
- const Word16 start_line, /* Q0 */
- const Word16 end_line, /* Q0 */
- HANDLE_RC_CONTEXT_MEM hContextMem /* Q0 */
-);
-
-void tcx_get_windows_flt(
- TCX_CONFIG_HANDLE hTcxCfg, /* i : TCX configuration */
- const int16_t left_mode, /* i : overlap mode of left window half */
- const int16_t right_mode, /* i : overlap mode of right window half */
- int16_t *left_overlap, /* o : left overlap length */
- const float **left_win, /* o : left overlap window */
- int16_t *right_overlap, /* o : right overlap length */
- const float **right_win, /* o : right overlap window */
- const int16_t fullband /* i : fullband flag */
-);
-
-void tcx_windowing_analysis_flt(
- const float *signal, /* i : signal vector */
- const int16_t L_frame, /* i : frame length */
- const int16_t left_overlap, /* i : left overlap length */
- const float *left_win, /* i : left overlap window */
- const int16_t right_overlap, /* i : right overlap length */
- const float *right_win, /* i : right overlap window */
- float *output /* o : windowed signal vector */
-);
-
-void tcx_windowing_synthesis_current_frame_flt(
- float *signal, /* i/o: signal vector */
- const float *window, /* i : TCX window vector */
- const float *window_half, /* i : TCX window vector for half-overlap window */
- const float *window_min, /* i : TCX minimum overlap window */
- const int16_t window_length, /* i : TCX window length */
- const int16_t window_half_length, /* i : TCX half window length */
- const int16_t window_min_length, /* i : TCX minimum overlap length */
- const int16_t left_rect, /* i : left part is rectangular */
- const int16_t left_mode, /* i : overlap mode of left window half */
- float *acelp_zir, /* i/o: acelp ZIR */
- const float *old_syn, /* i : old synthesis */
- const float *syn_overl, /* i : overlap synthesis */
- const float *A_zir,
- const float *window_trans, /* i : window for transition from ACELP */
- int16_t acelp_zir_len,
- const int16_t acelp_mem_len,
- const int16_t last_core_bfi, /* i : last mode */
- const int16_t last_is_cng,
- const int16_t fullbandScale );
-
-void tcx_windowing_synthesis_past_frame_flt(
- float *signal, /* i/o: signal vector */
- const float *window, /* i : TCX window vector */
- const float *window_half, /* i : TCX window vector for half-overlap window */
- const float *window_min, /* i : TCX minimum overlap window */
- const int16_t window_length, /* i : TCX window length */
- const int16_t window_half_length, /* i : TCX half window length */
- const int16_t window_min_length, /* i : TCX minimum overlap length */
- const int16_t right_mode /* i : overlap mode (left_mode of current frame) */
-);
-
-void ProcessIGF(
- Encoder_State *st, /* i : Encoder state */
- float *pMDCTSpectrum, /* i : MDCT spectrum */
- const float *pITFMDCTSpectrum, /* i : MDCT spectrum fir ITF */
- float *pPowerSpectrum, /* i : MDCT^2 + MDST^2 spectrum, or estimate */
- const int16_t isTCX20, /* i : flag indicating if the input is TCX20 or TCX10/2xTCX5 */
- const int16_t frameno, /* i : flag indicating index of current subframe */
- const int16_t sp_aud_decision0, /* i : first stage switching decision */
- const int16_t vad_hover_flag /* i : VAD hangover flag */
-);
-
-void ProcessStereoIGF(
- STEREO_MDCT_ENC_DATA_HANDLE hStereoMdct,
- Encoder_State *sts[CPE_CHANNELS], /* i : Encoder state */
- int16_t ms_mask[2][MAX_SFB], /* i : bandwise MS mask */
- float *pITFMDCTSpectrum[CPE_CHANNELS][NB_DIV], /* i : MDCT spectrum fir ITF */
- float *pPowerSpectrum[CPE_CHANNELS], /* i/o: MDCT^2 + MDST^2 spectrum, or estimate */
- float *pPowerSpectrumMsInv[CPE_CHANNELS][NB_DIV], /* i : inverse power spectrum */
- float *inv_spectrum[CPE_CHANNELS][NB_DIV], /* i : inverse spectrum */
- const int16_t frameno, /* i : flag indicating index of current subframe*/
- const int16_t sp_aud_decision0, /* i : sp_aud_decision0 */
- const int32_t element_brate, /* i : element bitrate */
- const int16_t mct_on /* i : flag mct block (1) or stereo (0) */
-);
-
-void AnalyzePowerSpectrum(
- Encoder_State *st, /* i/o: encoder states */
- const int16_t L_frame, /* i : frame length */
- const int16_t L_frameTCX, /* i : full band frame length */
- const int16_t left_overlap, /* i : left overlap length */
- const int16_t right_overlap, /* i : right overlap length */
- const float mdctSpectrum[], /* i : MDCT spectrum */
- const float signal[], /* i : windowed signal corresponding to mdctSpectrum */
- float powerSpec[] /* o : Power spectrum */
-);
-
-void lpc2mdct_flt(
- float *lpcCoeffs,
- const int16_t lpcOrder,
- float mdct_gains[],
- const int16_t length,
- const int16_t noInverse );
-
-void mdct_preShaping(
- float x[],
- const int16_t lg,
- const float gains[] );
-
-void mdct_noiseShaping_flt(
- float x[],
- const int16_t lg,
- const float gains[],
- const int16_t nBands );
-
-
-void PsychAdaptLowFreqDeemph_flt(
- float x[],
- const float lpcGains[],
- float lf_deemph_factors[] );
-
-void AdaptLowFreqDeemph_flt(
- float x[],
- int16_t tcx_lpc_shaped_ari,
- const float lpcGains[],
- const int16_t lg,
- float lf_deemph_factors[] );
-
-
-void tcx_noise_filling_flt(
- float *Q,
- const int16_t noiseFillSeed,
- const int16_t iFirstLine,
- const int16_t lowpassLine,
- const int16_t nTransWidth,
- const int16_t L_frame,
- const float tiltCompFactor,
- float fac_ns,
- Word16 *infoTCXNoise,
- const int16_t element_mode /* i : IVAS element mode */
-);
-
-
-void tcx_decoder_memory_update_flt(
- Decoder_State *st, /* i/o: decoder memory state */
- const float *xn_buf, /* i : mdct output buffer */
- float *synth, /* i/o: synth */
- const float *A /* i : Quantized LPC coefficients */
-);
-
-
-/*! r: number of bits used (including "bits") */
-int16_t tcx_ari_res_invQ_spec_flt(
- float x_Q[], /* i/o: quantized spectrum */
- const int16_t L_frame, /* i : number of lines */
- const int16_t prm[], /* i : bitstream */
- int16_t target_bits, /* i : number of bits available */
- int16_t bits, /* i : number of bits used so far */
- const float deadzone, /* i : quantizer deadzone */
- const float x_fac[] /* i : spectrum post-quantization factors */
-);
-
-
-void ari_copy_states(
- Tastat *source,
- Tastat *dest );
-
-
-void ari_start_encoding_14bits(
- Tastat *s );
-
-
-void ari_start_decoding_14bits_ivas(
- Decoder_State *st,
- Tastat *s );
-
-int16_t ari_start_decoding_14bits_prm_ivas(
- const int16_t *ptr,
- int16_t bp,
- Tastat *s );
-
-void ari_decode_14bits_s17_ext_ivas(
- Decoder_State *st,
- uint16_t *res,
- Tastat *s,
- const uint16_t *cum_freq );
-
-void ari_decode_14bits_s27_ext_ivas(
- Decoder_State *st,
- uint16_t *res,
- Tastat *s,
- const uint16_t *cum_freq );
-
-void ari_decode_14bits_bit_ext_ivas(
- Decoder_State *st,
- uint16_t *res,
- Tastat *s );
-
-/*! r: Q15 */
-Word16 expfp_evs_fx(
- const Word16 x, /* i : mantissa Q15-e */
- const Word16 x_e /* i : exponent Q0 */
-);
-
-
-void tcx_arith_render_envelope_ivas_fx(
- const Word16 A_ind[], /* i : LPC coefficients of signal envelope Q12*/
- const Word16 L_frame, /* i : number of spectral lines Q0*/
- const Word16 L_spec, /* i : length of the coded spectrum Q0*/
- const Word16 preemph_fac, /* i : pre-emphasis factor Q15*/
- const Word16 gamma_w, /* i : A_ind -> weighted envelope factor Q15*/
- const Word16 gamma_uw, /* i : A_ind -> non-weighted envelope factor Q14*/
- Word32 env[] /* o : shaped signal envelope Q16*/
-);
-
-int16_t ari_encode_14bits_range(
- int16_t *ptr,
- int16_t bp,
- int32_t bits,
- Tastat *s,
- uint16_t cum_freq_low,
- uint16_t cum_freq_high );
-
-
-int16_t ari_done_cbr_encoding_14bits(
- int16_t *ptr,
- int16_t bp,
- int32_t bits,
- Tastat *s );
-
-
-void tcx_arith_encode_envelope(
- float spectrum[], /* i/o: MDCT coefficients */
- int16_t signs[], /* o : signs (spectrum[.]<0) */
- const int16_t L_frame, /* i : frame or MDCT length */
- const int16_t L_spec, /* i : length w/o BW limitation */
- Encoder_State *st, /* i/o: coder state */
- const Word16 A_ind[], /* i : quantised LPC coefficients */
- int16_t target_bits, /* i : number of available bits */
- int16_t prm[], /* o : bitstream parameters */
- const int16_t use_hm, /* i : use HM in current frame? */
- int16_t prm_hm[], /* o : HM parameter area */
- const int16_t tcxltp_pitch, /* i : TCX LTP pitch in FD, -1 if n/a*/
- int16_t *arith_bits, /* o : bits used for ari. coding */
- int16_t *signaling_bits, /* o : bits used for signaling */
- const int16_t low_complexity /* i : low-complexity flag */
-);
-
-void tcx_arith_decode_envelope(
- Decoder_State *st, /* i/o: coder state */
- float q_spectrum[], /* o : quantised MDCT coefficients */
- const int16_t L_frame, /* i : frame or MDCT length */
- int16_t L_spec, /* i : length w/o BW limitation */
- const Word16 A_ind[], /* i : quantised LPC coefficients */
- const int16_t target_bits, /* i : number of available bits */
- const int16_t prm[], /* i : bitstream parameters */
- const int16_t use_hm, /* i : use HM in current frame? */
- const int16_t prm_hm[], /* i : HM parameter area */
- int16_t tcxltp_pitch, /* i : TCX LTP pitch in FD, -1 if n/a*/
- int16_t *arith_bits, /* o : bits used for ari. coding */
- int16_t *signaling_bits, /* o : bits used for signaling */
- const int16_t low_complexity /* i : low-complexity flag */
-);
-
-void tcx_arith_decode_envelope_ivas_fx(
- Decoder_State *st, /* i/o: coder state */
- Word32 q_spectrum[], /* o : quantised MDCT coefficients */
- Word16 *q_spectrum_e, /* o : MDCT exponent */
- const Word16 L_frame, /* i : frame or MDCT length */
- Word16 L_spec, /* i : length w/o BW limitation */
- const Word16 A_ind[], /* i : quantised LPC coefficients */
- const Word16 target_bits, /* i : number of available bits */
- Word16 prm[], /* i : bitstream parameters */
- const Word16 use_hm, /* i : use HM in current frame? */
- const Word16 prm_hm[], /* i : HM parameter area */
- Word16 tcxltp_pitch, /* i : TCX LTP pitch in FD, -1 if n/a*/
- Word16 *arith_bits, /* o : bits used for ari. coding */
- Word16 *signaling_bits, /* o : bits used for signaling */
- const Word16 low_complexity /* i : low-complexity flag */
-);
-
-
-void UnmapIndex_fx(
- const Word16 PeriodicityIndex, /* Q0 */
- const Word16 Bandwidth, /* Q0 */
- const Word16 LtpPitchLag, /* Q0 */
- const Word8 SmallerLags, /* Q0 */
- Word16 *FractionalResolution, /* Q0 */
- Word32 *Lag /* Q0 */
-);
-
-/*! r: PeriodicityIndex */
-int16_t SearchPeriodicityIndex(
- const float Mdct[], /* i : Coefficients, Mdct[0..NumCoeffs-1] */
- const float UnfilteredMdct[], /* i : Unfiltered coefficients, UnfilteredMdct[0..NumCoeffs-1] */
- const int16_t NumCoeffs, /* i : Number of coefficients */
- const int16_t shortTargetBits, /* i : Target bit budget (excl. Done flag) */
- const int16_t LtpPitchLag, /* i : TCX-LTP pitch */
- const float LtpGain, /* i : LTP gain */
- float *RelativeScore /* o : Energy concentration factor */
-);
-
-
-int16_t EncodeIndex(
- const int16_t Bandwidth, /* o : NB, 1: (S)WB */
- int16_t PeriodicityIndex,
- BSTR_ENC_HANDLE hBstr );
-
-
-Word16 CountIndexBits_fx(
- Word16 Bandwidth, /* 0: NB, 1: (S)WB Q0*/
- Word16 PeriodicityIndex /* Q0 */
-);
-
-int16_t DecodeIndex(
- Decoder_State *st,
- const int16_t Bandwidth, /* o : NB, 1: (S)WB */
- int16_t *PeriodicityIndex );
-
-#define GET_ADJ( T, L ) GET_ADJ2( T, L, *FractionalResolution )
-#define GET_ADJ2( T, L, F ) ( ( ( L ) << ( F ) ) - ( T ) )
-
-
-Word32 tcx_hm_render_fx(
- const Word32 lag, /* i: pitch lag Q0 */
- const Word16 fract_res, /* i: fractional resolution of the lag Q0 */
- Word16 p[] /* o: harmonic model Q13 */
-);
-
-
-void tcx_hm_modify_envelope_fx(
- const Word16 gain, /* i: HM gain Q11 */
- const Word32 lag, /* i: pitch lag Q0 */
- const Word16 fract_res, /* i: fractional resolution of the lag Q0 */
- const Word16 p[], /* i: harmonic model Q13 */
- Word32 env[], /* i/o: envelope Q16 */
- const Word16 L_frame /* i: number of spectral lines Q0 */
-);
-
-void tcx_hm_analyse(
- const float abs_spectrum[], /* i : absolute spectrum */
- const int16_t L_frame, /* i : number of spectral lines */
- Word32 env[], /* i/o: envelope shape (Q16) */
- const int16_t targetBits, /* i : target bit budget */
- const int16_t coder_type, /* i : GC/VC coder type */
- int16_t prm_hm[], /* o : HM parameters */
- int16_t LtpPitchLag, /* i : LTP pitch lag or -1 if none */
- const float LtpGain, /* i : LTP gain */
- int16_t *hm_bits /* o : bit consumption */
-);
-
-void tcx_hm_decode_ivas(
- const int16_t L_frame, /* i : number of spectral lines */
- Word32 env[], /* i/o: envelope shape (Q16) */
- const int16_t targetBits, /* i : target bit budget */
- const int16_t coder_type, /* i : GC/VC coder type */
- const int16_t prm_hm[], /* i : HM parameters */
- const int16_t LtpPitchLag, /* i : LTP pitch lag or -1 if none */
- int16_t *hm_bits /* o : bit consumption */
-);
-
-void tcx_hm_decode(
- const Word16 L_frame, /* i : number of spectral lines */
- Word32 env[], /* i/o: envelope shape (Q16) */
- const Word16 targetBits, /* i : target bit budget */
- const Word16 coder_type, /* i : GC/VC coder type */
- const Word16 prm_hm[], /* i : HM parameters */
- const Word16 LtpPitchLag, /* i : LTP pitch lag or -1 if none */
- Word16 *hm_bits /* o : bit consumption */
-);
-
-void coder_tcx(
- Encoder_State *st, /* i/o: encoder state structure */
- TCX_CONFIG_HANDLE hTcxCfg, /* i : configuration of TCX */
- const float A[], /* i : quantized coefficients NxAz_q[M+1] */
- const Word16 Aqind[], /* i : frame-independent quantized coefficients (M+1) */
- float synth[], /* o : decoded synthesis */
- const int16_t L_frame_glob, /* i : frame length */
- const int16_t L_frameTCX_glob,
- const int16_t L_spec,
- int16_t nb_bits, /* i : bit budget */
- float spectrum[], /* i/o: MDCT spectrum */
- int16_t prm[], /* o : tcx parameters */
- CONTEXT_HM_CONFIG *hm_cfg,
- const int16_t vad_hover_flag /* i : VAD hangover flag */
-);
-
-void coder_tcx_post(
- Encoder_State *st, /* i/o: encoder memory state */
- float *A, /* o : Quantized LPC coefficients */
- const float *Ai /* i : Unquantized (interpolated) LPC coefficients */
-);
-
-void decoder_tcx(
- Decoder_State *st, /* i/o: coder memory state */
- int16_t prm[], /* i : parameters */
- float A[], /* i : coefficients NxAz[M+1] */
- Word16 Aind[], /* i : frame-independent coefficients Az[M+1]*/
- float synth[], /* i/o: synth[-M..lg] */
- float synthFB[], /* i/o: encoder memory state */
- const int16_t bfi, /* i : Bad frame indicator */
- const int16_t frame_cnt, /* i : frame counter in the super_frame */
- const int16_t sba_dirac_stereo_flag /* i : signal stereo output for SBA DirAC */
-);
-
-void decoder_tcx_post(
- Decoder_State *st, /* i/o: decoder memory state */
- float *synth,
- float *synthFB,
- float *A, /* i : A(z) filter coefficients */
- const int16_t bfi,
- const int16_t isMCT );
-
-void coder_acelp(
- Encoder_State *st, /* i/o: coder memory state */
- const float A[], /* i : coefficients 4xAz[M+1] */
- const float Aq[], /* i : coefficients 4xAz_q[M+1] */
- const float speech[], /* i : speech[-M..lg] */
- LPD_state *LPDmem, /* i/o: ACELP memories */
- int16_t *prm, /* o : acelp parameters */
- const float stab_fac,
- const int16_t target_bits,
- float *gain_pitch_buf, /* o : gain pitch values */
- float *gain_code_buf, /* o : gain code values */
- float *pitch_buf, /* o : pitch values for each subfr.*/
- float *voice_factors, /* o : voicing factors */
- float *bwe_exc /* o : excitation for SWB TBE */
-);
-
-void coder_acelp_rf(
- const int16_t target_bits, /* i : target bits */
- const float speech[], /* i : speech[-M..lg] */
- const int16_t coder_type, /* i : coding type */
- const int16_t rf_frame_type, /* i : rf_frame_type */
- const float A[], /* i : coefficients 4xAz[M+1] */
- const float Aq[], /* i : coefficients 4xAz_q[M+1] */
- const float voicing[], /* i : open-loop LTP gain */
- const int16_t T_op[], /* i : open-loop LTP lag */
- const float stab_fac, /* i : LP stability factor */
- Encoder_State *st, /* i/o: coder memory state */
- ACELP_config *acelp_cfg, /* i/o: configuration of the ACELP */
- float *exc_rf, /* i/o: pointer to RF excitation */
- float *syn_rf /* i/o: pointer to RF synthesis */
-);
-
-void decoder_acelp(
- Decoder_State *st, /* i/o: coder memory state */
- int16_t prm[], /* i : parameters */
- const float A[], /* i : coefficients NxAz[M+1] */
- ACELP_config acelp_cfg, /* i : ACELP config */
- float synth[], /* i/o: synthesis */
- int16_t *pT, /* o : pitch for all subframe */
- float *pgainT, /* o : pitch gain for all subfr */
- const float stab_fac, /* i : stability of isf */
- float *pitch_buffer, /* o : pitch values for each subfr.*/
- float *voice_factors, /* o : voicing factors */
- const int16_t LSF_Q_prediction, /* i : LSF prediction mode */
- float *bwe_exc /* o : excitation for SWB TBE */
-);
-
-void writeTCXMode_fx(
- Encoder_State *st, /* i/o: encoder state structure */
- BSTR_ENC_HANDLE hBstr, /* i/o: bitstream handle */
- const Word16 MCT_flag, /* i : hMCT handle allocated (1) or not (0) Q0*/
- Word16 *nbits_start /* o : nbits start Q0*/
-);
-
-void writeTCXWindowing_fx(
- BSTR_ENC_HANDLE hBstr, /* i/o: bitstream handle */
- const Word16 overlap_mode /* i : overlap mode Q0*/
-);
-
-void writeLPCparam(
- Encoder_State *st, /* i/o: encoder state structure */
- BSTR_ENC_HANDLE hBstr, /* i/o: bitstream handle */
- const int16_t param_lpc[], /* i : LPC parameters to write */
- const int16_t bits_param_lpc[], /* i : bits per LPC parameter */
- const int16_t no_param_lpc, /* i : number of LPC parameters */
- int16_t *nbits_lpc /* o : LPC bits written */
-);
-
-void enc_prm(
- Encoder_State *st, /* i/o: encoder state structure */
- int16_t param[], /* i : parameters */
- int16_t param_lpc[], /* i : LPC parameters */
- CONTEXT_HM_CONFIG hm_cfg[],
- const int16_t bits_param_lpc[],
- const int16_t no_param_lpc );
-
-void writeTCXparam(
- Encoder_State *st, /* i/o: Encoder State handle */
- BSTR_ENC_HANDLE hBstr, /* i/o: bitstream handle */
- CONTEXT_HM_CONFIG hm_cfg[], /* i/o: HM config */
- int16_t param[], /* i : parameters */
- const int16_t nbits_header,
- const int16_t nbits_start,
- const int16_t nbits_lpc,
- const int16_t *no_param_tns, /* i : number of TNS parameters per subframe */
- int16_t p_param[2], /* i/o: pointer to parameters from previous bs writing */
- const int16_t target_bitsTCX10[2],
- const int16_t pre_past_flag );
-
-void enc_prm_rf(
- Encoder_State *st, /* i/o: encoder memory state */
- const int16_t rf_frame_type,
- const int16_t fec_offset );
-
-void dec_prm_hm_ivas(
- Decoder_State *st, /* i/o: decoder memory state */
- int16_t *prm_hm,
- const int16_t hm_size );
-
-void dec_prm_ivas(
- Decoder_State *st, /* i/o: decoder memory state */
- int16_t param[], /* o : decoded parameters */
- int16_t param_lpc[], /* i : LPC parameters */
- int16_t *total_nbbits, /* i/o: number of bits / decoded bits */
- int16_t *bitsRead );
-void gaus_L2_dec_flt(
- float *code, /* o : decoded gaussian codevector */
- float tilt_code,
- const float *A,
- float formant_enh_num,
- int16_t *seed_acelp /* i/o: random seed */
-);
-
-/*! r: interpolated value */
-float interpolation(
- const float *x, /* i : input vector */
- const float *win, /* i : interpolation window */
- const int16_t frac, /* i : fraction */
- const int16_t up_samp, /* i : upsampling factor */
- const int16_t nb_coef /* i : nb of filter coef */
-);
-
-void predict_signal_flt(
- const float excI[], /* i : input excitation buffer */
- float excO[], /* o : output excitation buffer */
- const int16_t T0, /* i : integer pitch lag */
- int16_t frac, /* i : fraction of lag */
- const int16_t frac_max, /* i : max fraction */
- const int16_t L_subfr /* i : subframe size */
-);
-
-void tcx_ltp_encode(
- Encoder_State *st,
- const int16_t tcxMode,
- const int16_t L_frame,
- const float *speech,
- float *speech_ltp,
- const float *wsp,
- const int16_t Top[],
- int16_t *ltp_param,
- int16_t *ltp_bits,
- float *A,
- const int16_t disable_ltp,
- const int16_t element_mode );
-
-void tcx_ltp_post_flt(
- Decoder_State *st,
- TCX_LTP_DEC_HANDLE hTcxLtpDec,
- const int16_t core,
- const int16_t output_frame,
- const int16_t L_frame,
- float sig[],
- const float tcx_buf[] );
-
-int16_t tcx_ltp_decode_params_flt(
- int16_t *ltp_param,
- int16_t *pitch_int,
- int16_t *pitch_fr,
- float *gain,
- const int16_t pitmin,
- const int16_t pitfr1,
- const int16_t pitfr2,
- const int16_t pitmax,
- const int16_t pitres );
-
-void create_IDCT_N_Matrix(
- float *inv_matrixFloatQ, /* i/o: RAM buffer */
- const int16_t N, /* i : DCT length, number of time samples */
- const int16_t n_cols, /* i : number of dct coeffs (as DCT may be truncated) */
- const int16_t alloc_size /* i : RAM buffer size in elements */
-);
-
-void dctT2_N_apply_matrix(
- const float *input, /* i : input in fdcng or DCT(fdcng) domain */
- float *output, /* o : output in DCT(fdcng) or fdcng ordomain */
- const int16_t dct_dim, /* i : dct processing dim possibly truncated */
- const int16_t fdcngvq_dim, /* i : fdcng domain length */
- const float *matrix, /* i : IDCT matrix */
- const int16_t matrix_row_dim, /* i : */
- const DCTTYPE dcttype /* i : matrix operation type */
-);
-
-void extend_dctN_input(
- const float *input, /* i : input in fdcng domain */
- const float *dct_input, /* i : input in dctN(fdcng) domain */
- const int16_t in_dim, /* i : in_dim == N */
- float *ext_sig, /* o : extended output in fdcng domain */
- const int16_t out_dim, /* i : output total dim */
- float *matrix, /* i : idct synthesis matrix N rows, n_cols columns */
- const int16_t n_cols, /* i : number of columns == DCT truncation length */
- const DCTTYPE dcttype /* i : matrix operation type */
-);
-
-
-void PulseResynchronization(
- const float *src_exc, /* i : Input excitation buffer */
- float *dst_exc, /* o : output excitation buffer */
- const int16_t nFrameLength, /* i : frame length */
- const int16_t nSubframes, /* i : Number of subframes */
- const float pitchStart, /* i : Pitch at the end of the last frame */
- const float pitchEnd /* i : Pitch at the end of the current frame */
-);
-
-void con_acelp(
- float A[], /* i : coefficients NxAz[M+1] */
- const int16_t coder_type, /* i : ACELP coder type */
- float synth[], /* i/o: synthesis */
- int16_t *pT, /* o : pitch for all subframe */
- float *pgainT, /* o : pitch gain for all subfr */
- float stab_fac, /* i : stability of isf */
- Decoder_State *st, /* i/o: coder memory state */
- float pitch_buffer[], /* i/o: floating pitch values for each subframe */
- float *voice_factors, /* o : voicing factors */
- float *bwe_exc /* o : excitation for SWB TBE */
-);
-
-void con_tcx(
- Decoder_State *st, /* i/o: coder memory state */
- float synth[], /* i/o: synth[] */
- const float coh, /* i : coherence of stereo signal */
- int16_t *noise_seed, /* i/o: noise seed for stereo */
- const int16_t only_left, /* i : TD-PLC only in left channel */
- const float A_cng[] /* i : CNG LP filter coefficients */
-);
-
-int16_t lsf_msvq_ma_decprm_ivas(
- Decoder_State *st,
- int16_t *param_lpc );
-
-int16_t dec_lsf_tcxlpc_ivas(
- Decoder_State *st, /* i : Decoder state */
- int16_t **indices, /* o : Ptr to VQ indices */
- const int16_t narrowband, /* i : narrowband flag */
- const int16_t cdk /* i : codebook selector */
-);
-
-int16_t D_lsf_tcxlpc_ivas(
- const int16_t indices[], /* i : VQ indices */
- float lsf_q[], /* o : quantized lsf */
- Word16 lsp_q_ind[], /* o : quantized lsp (w/o MA prediction) */
- const int16_t narrowband, /* i : narrowband flag */
- const int16_t cdk, /* i : codebook selector */
- const float mem_MA[] /* i : MA memory */
-);
-
-int16_t Q_lsf_tcxlpc(
- /* const */ float lsf[], /* i : original lsf */
- float lsf_q[], /* o : quantized lsf */
- Word16 lsp_q_ind[], /* o : quantized lsp (w/o MA prediction) */
- int16_t indices[], /* o : VQ indices */
- const int16_t narrowband, /* i : narrowband flag */
- const int16_t cdk, /* i : codebook selector */
- const float mem_MA[], /* i : MA memory */
- const int16_t coder_type, /* i : acelp extended mode */
- const float *Bin_Ener /* i : Spectrum energy */
-);
-
-void midlsf_enc(
- const float qlsf0[],
- const float qlsf1[],
- const float lsf[],
- int16_t *idx,
- const int16_t N,
- const float *Bin_Ener,
- const int16_t narrowBand,
- const int32_t sr_core,
- const int16_t coder_type );
-
-void lsf_end_enc(
- Encoder_State *st,
- const float *lsf,
- float *qlsf,
- const int16_t nBits,
- const int16_t coder_type_org,
- const int16_t force_sf,
- int16_t *lpc_param,
- int16_t *no_stages,
- int16_t *bits_param_lpc,
- const int16_t coder_type_raw,
- const float tdm_lsfQ_PCh[M] /* i : Q LSFs for primary channel */
-);
-
-void lsf_end_dec(
- Decoder_State *st, /* i/o: decoder state structure */
- const int16_t coder_type_org, /* i : coding type */
- const int16_t bwidth, /* i : input signal bandwidth */
- const int16_t nBits, /* i : number of bits used for ISF quantization*/
- float *qlsf, /* o : quantized LSFs in the cosine domain */
- int16_t *lpc_param, /* i : LPC parameters */
- int16_t *LSF_Q_prediction, /* o : LSF prediction mode */
- int16_t *nb_indices, /* o : number of indices */
- const float tdm_lsfQ_PCh[M] /* i : Q LSFs for primary channel */
-);
-
-void lpc_quantization(
- Encoder_State *st,
- const float lsp[],
- const float lspmid[],
- float lsp_q[],
- float lsf_q[],
- float lspmid_q[],
- const int16_t coder_type,
- const int16_t acelp_midLpc,
- int16_t param_lpc[],
- int16_t nbits_lpc[],
- int16_t *bits_param_lpc,
- int16_t *no_param_lpc );
-
-void lpc_unquantize(
- Decoder_State *st,
- float *lsf,
- float *lsp,
- int16_t *param_lpc,
- float *lspmid,
- float *lsfmid,
- const int16_t coder_type,
- int16_t *LSF_Q_prediction /* o : LSF prediction mode */
-);
-
-void dlpc_bfi_flt(
- const int16_t L_frame,
- float *lsf_q, /* o : quantized lsfs */
- const float *lsfold, /* i : past quantized lsf */
- const int16_t last_good, /* i : last good received frame */
- const int16_t nbLostCmpt, /* i : counter of consecutive bad frames */
- float mem_MA[], /* i/o: quantizer memory for MA model */
- float mem_AR[], /* i/o: quantizer memory for MA model */
- float *stab_fac, /* i : lsf stability factor */
- float *lsf_adaptive_mean, /* i : lsf adaptive mean, updated when BFI==0 */
- const int16_t numlpc, /* i : Number of division per superframe */
- float lsf_cng[],
- const int16_t plcBackgroundNoiseUpdated,
- float *lsf_q_cng, /* o : quantized lsfs of background noise */
- float *old_lsf_q_cng, /* o : old quantized lsfs for background noise */
- const float lsfBase[] /* i : base for differential lsf coding */
-);
-
-void Unified_weighting(
- const float Bin_Ener_128[], /* i : FFT Bin energy 128 bins in two sets */
- const float lsf[], /* i : LSF vector */
- float w[], /* o : LP weighting filter (numerator) */
- const int16_t narrowBand, /* i : flag for Narrowband */
- const int16_t unvoiced, /* i : flag for Unvoiced frame */
- const int32_t sr_core, /* i : sampling rate of core-coder */
- const int16_t order /* i : LP order */
-);
-
-int16_t vad_init(
- VAD_CLDFB_HANDLE hVAD_CLDFB /* i/o: CLDFB VAD state */
-);
-
-int16_t vad_proc(
- float realValues[16][60], /* i : CLDFB real values */
- float imagValues[16][60], /* i : CLDFB imag values */
- float *sb_power, /* i/o: Energy of CLDFB data */
- const int16_t numBands, /* i : number of input bands */
- VAD_CLDFB_HANDLE hVAD_CLDFB, /* i/o: CLDFB VAD state */
- int16_t *cldfb_addition,
- const int16_t vada_flag /* i : VAD flag */
-);
-
-
-int16_t update_decision(
- VAD_CLDFB_HANDLE hVAD_CLDFB, /* i/o: CLDFB VAD state */
- const float snr, /* i : frequency domain SNR */
- const float tsnr, /* i : time domain SNR */
- const float frame_energy, /* i : current frame energy */
- const float high_eng, /* i : current frame high frequency energy */
- const int16_t vad_flag, /* i : VAD flag */
- const int16_t music_backgound_f /* i : background music flag */
-);
-
-void frame_spec_dif_cor_rate(
- float spec_amp[], /* i : spectral amplitude */
- float pre_spec_low_dif[], /* i/o: low spectrum different */
- float f_tonality_rate[] /* o : tonality rate */
-);
-
-
-void SNR_calc(
- const float frame_sb_energy[], /* i : energy of sub-band divided non-uniformly*/
- const float sb_bg_energy[], /* i : sub-band background energy */
- const float t_bg_energy, /* i : time background energy of several frames*/
- float *snr, /* o : frequency domain SNR */
- float *tsnr, /* o : time domain SNR */
- const float frame_energy, /* i : current frame energy */
- const int16_t bwidth /* i : audio bandwidth */
-);
-
-void background_update(
- VAD_CLDFB_HANDLE hVAD_CLDFB, /* i/o: CLDFB VAD state */
- float frame_energy, /* i : current frame energy 2 */
- const int16_t update_flag, /* i : current frame update flag */
- const int16_t music_backgound_f, /* i : background music flag */
- const float snr );
-
-void bg_music_decision(
- VAD_CLDFB_HANDLE hVAD_CLDFB, /* i/o: CLDFB VAD state */
- int16_t *music_backgound_f, /* i : background music flag */
- const float frame_energy /* i : current frame energy 1 */
-);
-
-void est_energy(
- float sb_power[], /* o : energy of sub-band divided uniformly */
- float frame_sb_energy[], /* o : energy of sub-band divided non-uniformly*/
- float *p_frame_energy, /* o : frame energy 1 */
- float *p_frame_energy2, /* o : frame energy 2 */
- float *p_high_energy, /* o : high frequency energy */
- const int16_t bw /* i : bandwidth */
-);
-
-
-int16_t comvad_decision(
- VAD_CLDFB_HANDLE hVAD_CLDFB, /* i/o: CLDFB VAD state */
- const float snr, /* i : frequency domain SNR */
- const float tsnr, /* i : time domain SNR */
- const float snr_flux, /* i : average tsnr of several frames */
- const float lt_snr, /* i : long time SNR calculated by fg_energy and bg_energy*/
- const float lt_snr_org, /* i : original long time SNR */
- const float lf_snr, /* i : long time frequency domain SNR calculated by l_speech_snr and l_silence_snr*/
- const float frame_energy, /* i : current frame energy */
- const int16_t music_backgound_f, /* i : background music flag */
- int16_t *cldfb_addition,
- const int16_t vada_flag /* i : VAD flag */
-);
-
-void calc_snr_flux(
- float tsnr, /* i : time-domain SNR */
- float pre_snr[], /* i/o: time-domain SNR storage */
- float *snr_flux /* o : average tsnr */
-);
-
-void calc_lt_snr(
- float *lt_snr_org, /* o : original long time SNR */
- float *lt_snr, /* o : long time SNR calculated by fg_energy and bg_energy*/
- const float fg_energy, /* i : foreground energy sum */
- const int16_t fg_energy_count, /* i : number of the foreground energy frame */
- const float bg_energy, /* i : background energy sum */
- const int16_t bg_energy_count, /* i : number of the background energy frame */
- const int16_t bw_index, /* i : band width index */
- const float lt_noise_sp_center0 /* i : long time noise spectral center by 0 */
-);
-
-void calc_lf_snr(
- float *lf_snr_smooth, /* o : smoothed lf_snr */
- float *lf_snr, /* o : long time frequency domain SNR calculated by l_speech_snr and l_silence_snr*/
- const float l_speech_snr, /* i : sum of active frames snr */
- const int16_t l_speech_snr_count, /* i : number of the active frame */
- const float l_silence_snr, /* i : sum of the nonactive frames snr */
- const int16_t l_silence_snr_count, /* i : number of the nonactive frame */
- const int16_t fg_energy_count, /* i : number of the foreground energy frame */
- const int16_t bg_energy_count, /* i : number of the background energy frame */
- const int16_t bw_index /* i : band width index */
-);
-
-float construct_snr_thresh(
- const float sp_center[], /* i : spectral center */
- const float snr_flux, /* i : snr flux */
- const float lt_snr, /* i : long time time domain snr */
- const float lf_snr, /* i : long time frequency domain snr */
- const int16_t continuous_speech_num, /* i : continuous speech number */
- const int16_t continuous_noise_num, /* i : continuous noise number */
- const int16_t fg_energy_est_start, /* i : whether if estimated energy */
- const int16_t bw_index /* i : band width index */
-);
-
-void minimum_statistics_flt(
- const int16_t len, /* i : Vector length */
- const int16_t lenFFT, /* i : Length of the FFT part of the vectors */
- float *psize_flt,
- float *msPeriodog, /* i : Periodograms */
- float *msNoiseFloor,
- float *msNoiseEst, /* o : Noise estimates */
- float *msAlpha,
- float *msPsd,
- float *msPsdFirstMoment,
- float *msPsdSecondMoment,
- float *msMinBuf,
- float *msBminWin,
- float *msBminSubWin,
- float *msCurrentMin,
- float *msCurrentMinOut,
- float *msCurrentMinSubWindow,
- int16_t *msLocalMinFlag,
- int16_t *msNewMinFlag,
- float *msPeriodogBuf,
- int16_t *msPeriodogBufPtr,
- HANDLE_FD_CNG_COM hFdCngCom, /* i/o: FD_CNG structure containing all buffers and variables */
- const int16_t enc_dec, /* i : encoder/decoder indicator */
- const int16_t element_mode /* i : IVAS element mode */
-);
-
-void generate_comfort_noise_enc(
- Encoder_State *st /* i/o: encoder state structure */
-);
-
-void generate_comfort_noise_dec(
- float **bufferReal, /* o : Real part of input bands */
- float **bufferImag, /* o : Imaginary part of input bands */
- Decoder_State *st, /* i/o: decoder state structure */
- const int16_t nchan_out /* i : number of output channels */
-);
-
-void generate_comfort_noise_dec_hf(
- float **bufferReal, /* o : Real part of input bands */
- float **bufferImag, /* o : Imaginary part of input bands */
- HANDLE_FD_CNG_COM hFdCngCom, /* i/o: FD_CNG structure containing all buffers and variables */
- const int16_t cng_flag /* i : CNG Flag */
-);
-
-void generate_masking_noise(
- float *timeDomainBuffer, /* i/o: time-domain signal */
- HANDLE_FD_CNG_COM hFdCngCom, /* i/o: FD_CNG structure containing all buffers and variables */
- const int16_t length, /* i : frame size */
- const int16_t core, /* i : core */
- const int16_t return_noise, /* i : noise is returned instead of added */
- const int16_t secondary, /* i : indicator for secondary channel */
- const int16_t element_mode, /* i : element mode */
- STEREO_CNG_DEC_HANDLE hStereoCng, /* i : stereo CNG handle */
- const int16_t nchan_out /* i : number of output channels */
-);
-
-void generate_masking_noise_update_seed(
- HANDLE_FD_CNG_COM hFdCngCom /* i/o: FD_CNG structure containing all buffers and variables */
-);
-
-void generate_masking_noise_mdct(
- float *mdctBuffer, /* i/o: time-domain signal */
- HANDLE_FD_CNG_COM hFdCngCom /* i/o: FD_CNG structure containing all buffers and variables */
-);
-
-void SynthesisSTFT_dirac_flt(
- float *fftBuffer, /* i : FFT bins */
- float *timeDomainOutput,
- float *olapBuffer,
- const float *olapWin,
- const int16_t samples_out,
- HANDLE_FD_CNG_COM hFdCngCom /* i/o: FD_CNG structure containing all buffers and variables */
-);
-
-void generate_masking_noise_dirac(
- HANDLE_FD_CNG_COM hFdCngCom, /* i/o: FD_CNG structure containing all buffers and variables */
- HANDLE_CLDFB_FILTER_BANK h_cldfb, /* i : filterbank state */
- float *tdBuffer, /* i/o: time-domain signal, if NULL no LB-CNA */
- float *Cldfb_RealBuffer, /* o : CLDFD real buffer */
- float *Cldfb_ImagBuffer, /* o : CLDFD imaginary buffer */
- const int16_t slot_index, /* i : CLDFB slot index */
- const int16_t cna_flag, /* i : CNA flag for LB and HB */
- const int16_t fd_cng_flag /* i : FD-CNG flag for HB */
-);
-
-void generate_stereo_masking_noise(
- float *syn, /* i/o: time-domain signal */
- Decoder_State *st, /* i/o: decoder state structure */
- STEREO_TD_DEC_DATA_HANDLE hStereoTD, /* i : TD stereo structure */
- const int16_t flag_sec_CNA, /* i : CNA flag for secondary channel */
- const int16_t fadeOut, /* i : only fade out of previous state */
- STEREO_CNG_DEC_HANDLE hStereoCng, /* i : stereo CNG handle */
- const int16_t nchan_out /* i : number of output channels */
-);
-
-void apply_scale_flt(
- float *scale, /* i : scale factor */
- const int16_t bwidth, /* i : audio bandwidth */
- const int32_t brate, /* i : Bit rate */
- const SCALE_SETUP *scaleTable, /* i : Scale table */
- const int16_t scaleTableSize /* i : Size of scale table */
-);
-
-void compress_range_flt(
- float *in,
- float *out,
- const int16_t len );
-
-void expand_range_flt(
- float *in,
- float *out,
- const int16_t len );
-
-void bandcombinepow_flt(
- const float *bandpow, /* i : Power for each band */
- const int16_t nband, /* i : Number of bands */
- int16_t *part, /* i : Partition upper boundaries (band indices starting from 0) */
- const int16_t npart, /* i : Number of partitions */
- const float *psize_inv_flt, /* i : Inverse partition sizes */
- float *partpow /* o : Power for each partition */
-);
-
-void scalebands_flt(
- const float *partpow, /* i : Power for each partition */
- int16_t *part, /* i : Partition upper boundaries (band indices starting from 0) */
- const int16_t npart, /* i : Number of partitions */
- int16_t *midband, /* i : Central band of each partition */
- const int16_t nFFTpart, /* i : Number of FFT partitions */
- const int16_t nband, /* i : Number of bands */
- float *bandpow, /* o : Power for each band */
- const int16_t flag_fft_en );
-
-void AnalysisSTFT_flt(
- const float *timeDomainInput,
- float *fftBuffer, /* o : FFT bins */
- HANDLE_FD_CNG_COM st /* i/o: FD_CNG structure containing all buffers and variables */
-);
-
-void SynthesisSTFT_flt(
- float *fftBuffer,
- float *timeDomainOutput,
- float *olapBuffer,
- const float *olapWin,
- const int16_t tcx_transition,
- HANDLE_FD_CNG_COM hFdCngCom,
- const int16_t element_mode, /* i : element mode */
- const int16_t nchan_out /* i : number of output channels */
-);
-
-void lpc_from_spectrum_flt(
- HANDLE_FD_CNG_COM hFdCngCom,
- const int16_t start,
- const int16_t stop,
- const float preemph_fac );
-
-ivas_error createFdCngDec(
- HANDLE_FD_CNG_DEC *hFdCngDec );
-
-void deleteFdCngDec(
- HANDLE_FD_CNG_DEC *hFdCngDec );
-
-void initFdCngDec(
- DEC_CORE_HANDLE st /* i/o: decoder state structure */
-);
-
-void configureFdCngDec(
- HANDLE_FD_CNG_DEC hFdCngDec, /* i/o: Contains the variables related to the FD-based CNG process */
- const int16_t bwidth,
- const int32_t total_brate,
- const int16_t L_frame,
- const int16_t last_L_frame,
- const int16_t element_mode );
-
-void ApplyFdCng(
- float *timeDomainInput,
- float *powerSpectrum,
- float **realBuffer, /* i/o: Real part of the buffer */
- float **imagBuffer, /* i/o: Imaginary part of the buffer */
- Decoder_State *st,
- const int16_t concealWholeFrame, /* i : binary flag indicating frame loss */
- const int16_t is_music );
-
-void generate_comfort_noise_dec(
- float **bufferReal, /* o : Real part of input bands */
- float **bufferImag, /* o : Imaginary part of input bands */
- Decoder_State *st, /* i/o: decoder state structure */
- const int16_t nchan_out /* i : number of output channels */
-);
-
-/*! r: CNG energy */
-float cng_energy(
- const int16_t element_mode, /* i : element mode */
- const int16_t bwidth, /* i : audio bandwidh */
- const int16_t CNG_mode, /* i : mode for DTX configuration */
- const float CNG_att, /* i : attenuation factor for CNG */
- const float *inputBuffer, /* i : input signal */
- const int16_t len /* i : vector length */
-);
-
-void FdCng_decodeSID(
- Decoder_State *st /* i/o: decoder state structure */
-);
-
-void FdCng_exc_flt(
- HANDLE_FD_CNG_COM hFdCngCom,
- int16_t *CNG_mode,
- const int16_t L_frame,
- const float *lsp_old,
- const int16_t first_CNG,
- float *lsp_CNG,
- float *Aq, /* o : LPC coeffs */
- float *lsp_new, /* o : lsp */
- float *lsf_new, /* o : lsf */
- float *exc, /* o : LP excitation */
- float *exc2, /* o : LP excitation */
- float *bwe_exc /* o : LP excitation for BWE */
-);
-
-void noisy_speech_detection(
- HANDLE_FD_CNG_DEC hFdCngDec, /* i/o: FD_CNG structure */
- const int16_t vad, /* i : VAD flag */
- const float syn[] /* i : input time-domain frame */
-);
-
-void deleteFdCngEnc(
- HANDLE_FD_CNG_ENC *hFdCngEnc /* i/o: FD_CNG structure */
-);
-
-
-void resetFdCngEnc(
- Encoder_State *st /* i/o: encoder state structure */
-);
-
-void perform_noise_estimation_enc(
- float *band_energies, /* i : energy in critical bands without minimum noise floor E_MIN */
- float *enerBuffer, /* i : energy buffer */
- HANDLE_FD_CNG_ENC hFdCngEnc, /* i/o: CNG structure containing all buffers and variables */
- const int32_t input_Fs, /* i : input sampling rate */
- CPE_ENC_HANDLE hCPE );
-
-void AdjustFirstSID(
- Encoder_State *st /* i/o: encoder state structure */
-);
-
-void FdCng_encodeSID(
- Encoder_State *st /* i/o: encoder state structure */
-);
-
-void GetParameters(
- ParamsBitMap const *paramsBitMap,
- const int16_t nParams,
- void const *pParameter,
- int16_t **pStream,
- int16_t *pnSize,
- int16_t *pnBits );
-
-void SetParameters(
- ParamsBitMap const *paramsBitMap,
- const int16_t nParams,
- void *pParameter,
- const int16_t **pStream,
- int16_t *pnSize );
-
-void WriteToBitstream(
- ParamsBitMap const *paramsBitMap,
- const int16_t nParams,
- const int16_t **pStream,
- int16_t *pnSize,
- BSTR_ENC_HANDLE hBstr,
- int16_t *pnBits );
-
-void ReadFromBitstream(
- ParamsBitMap const *paramsBitMap,
- const int16_t nArrayLength,
- Decoder_State *st,
- int16_t **pStream,
- int16_t *pnSize );
-
-void const *GetTnsOnWhite( void const *p, const int16_t index, int16_t *pValue );
-void *SetTnsOnWhite( void *p, const int16_t index, const int16_t value );
-void const *GetNumOfTnsFilters_flt( void const *p, const int16_t index, int16_t *pValue );
-void *SetNumOfTnsFilters_flt( void *p, const int16_t index, const int16_t value );
-
-int16_t DecodeSWBTCX10TnsFilterCoeff_flt( Decoder_State *st, const int16_t index, int16_t *pValue );
-int16_t DecodeSWBTCX20TnsFilterCoeff_flt( Decoder_State *st, const int16_t index, int16_t *pValue );
-
-int16_t DecodeWBTCX20TnsFilterCoeff_flt( Decoder_State *st, const int16_t index, int16_t *pValue );
-
-int16_t DecodeTnsFilterOrderSWBTCX10_flt( Decoder_State *st, const int16_t index, int16_t *pValue );
-int16_t DecodeTnsFilterOrderSWBTCX20_flt( Decoder_State *st, const int16_t index, int16_t *pValue );
-
-int16_t EncodeTnsFilterOrderSWBTCX10_flt( const int16_t value, const int16_t index );
-
-int16_t GetTnsFilterOrderBitsSWBTCX10_flt( const int16_t value, const int16_t index );
-int16_t DecodeTnsFilterOrder_flt( Decoder_State *st, const int16_t index, int16_t *pValue );
-
-void ResetTnsData_flt(
- STnsData *pTnsData );
-
-void ClearTnsFilterCoefficients_flt(
- STnsFilter *pTnsFilter );
-
-
-int16_t DetectTnsFilt(
- const STnsConfig *pTnsConfig, /* i : TNS Configuration struct */
- const float pSpectrum[], /* i : MDCT spectrum */
- TRAN_DET_HANDLE hTranDet, /* i : transient detection handle */
- const int16_t isTCX10, /* i : TCX10 or TCX20? */
- const float ltp_gain, /* i : LTP gain */
- STnsData *pTnsData, /* o : TNS data struct */
- float *predictionGain /* o : TNS prediction gain */
-);
-
-void EncodeTnsData(
- STnsConfig const *pTnsConfig, /* i : TNS Configuration struct */
- STnsData const *pTnsData, /* i : TNS data struct (quantized param) */
- int16_t *stream, /* o : internal data stream */
- int16_t *pnSize, /* o : number of written parameters */
- int16_t *pnBits /* o : number of written bits */
-);
-
-int16_t DecodeTnsData_ivas(
- STnsConfig const *pTnsConfig,
- const int16_t *stream,
- int16_t *pnSize,
- STnsData *pTnsData );
-
-void WriteTnsData(
- const STnsConfig *pTnsConfig, /* i : TNS Configuration struct */
- const int16_t *stream, /* i : internal data stream */
- int16_t *pnSize, /* o : number of written parameters */
- BSTR_ENC_HANDLE hBstr, /* o : bitstream */
- int16_t *pnBits /* o : number of written bits */
-);
-
-void ReadTnsData_ivas(
- STnsConfig const *pTnsConfig,
- Decoder_State *st,
- int16_t *pnBits,
- int16_t *stream,
- int16_t *pnSize );
-
-void cldfbAnalysis_ivas(
- const float *timeIn, /* i : time buffer */
- float **realBuffer, /* o : real value buffer */
- float **imagBuffer, /* o : imag value buffer */
- const int16_t samplesToProcess, /* i : number of input samples */
- HANDLE_CLDFB_FILTER_BANK h_cldfb /* i : filterbank state */
-);
-
-void cldfbAnalysis_ts_ivas(
- const float *timeIn, /* i : time buffer */
- float realBuffer[CLDFB_NO_CHANNELS_MAX], /* o : real value buffer */
- float imagBuffer[CLDFB_NO_CHANNELS_MAX], /* o : imag value buffer */
- const int16_t samplesToProcess, /* i : samples to process */
- HANDLE_CLDFB_FILTER_BANK h_cldfb /* i : filterbank state */
-);
-
-void cldfbSynthesis_ivas(
- float **realBuffer, /* i : real values */
- float **imagBuffer, /* i : imag values */
- float *timeOut, /* o : synthesized output */
- const int16_t samplesToProcess, /* i : number of samples */
- HANDLE_CLDFB_FILTER_BANK h_cldfb /* i : filter bank state */
-);
-
-void configureCldfb_ivas(
- HANDLE_CLDFB_FILTER_BANK h_cldfb, /* i/o: filter bank handle */
- const int32_t sampling_rate /* i : sampling rate */
-);
-
-
-void analysisCldfbEncoder_ivas(
- Encoder_State *st, /* i/o: encoder state structure */
- const float *timeIn,
- const int16_t samplesToProcess,
- float realBuffer[CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX],
- float imagBuffer[CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX],
- float *ppBuf_Ener );
-
-void analysisCldfbEncoder_ivas_fx(
- Encoder_State *st, /* i/o: encoder state structure */
- Word32 *timeIn, /*q11*/
- Word16 timeInq, /*q0*/
- Word16 samplesToProcess, /*q0*/
- Word32 realBuffer[CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX],
- Word32 imagBuffer[CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX],
- Word16 realBuffer16[CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX],
- Word16 imagBuffer16[CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX],
- Word32 *ppBuf_Ener,
- Word16 *enerBuffSum_exp,
- CLDFB_SCALE_FACTOR *scale );
-
-ivas_error openCldfb_ivas(
- HANDLE_CLDFB_FILTER_BANK *h_cldfb, /* i/o: filter bank handle */
- CLDFB_TYPE type, /* i : analysis or synthesis */
- const int32_t sampling_rate, /* i : sampling rate */
- CLDFB_PROTOTYPE prototype /* i : CLDFB version (1.25ms/5ms delay) */
-);
-
-ivas_error openCldfb_ivas_enc(
- HANDLE_CLDFB_FILTER_BANK *h_cldfb, /* i/o: filter bank handle */
- CLDFB_TYPE type, /* i : analysis or synthesis */
- const Word32 sampling_rate, /* i : sampling rate */
- CLDFB_PROTOTYPE prototype /* i : CLDFB version (1.25ms/5ms delay) */
-);
-
-void resampleCldfb_ivas(
- HANDLE_CLDFB_FILTER_BANK hs, /* i/o: filter bank handle */
- const int32_t newSamplerate /* i : new samplerate to operate */
-);
-
-ivas_error cldfb_save_memory_ivas(
- HANDLE_CLDFB_FILTER_BANK hs /* i/o: filter bank handle */
-);
-
-void cldfb_restore_memory_ivas(
- HANDLE_CLDFB_FILTER_BANK hs /* i/o: filter bank handle */
-);
-
-void cldfb_reset_memory_ivas(
- HANDLE_CLDFB_FILTER_BANK hs /* i/o: filter bank handle */
-);
-
-void deleteCldfb_ivas(
- HANDLE_CLDFB_FILTER_BANK *h_cldfb /* i/o: filter bank handle */
-);
-
-void fft_cldfb(
- float *data, /* i/o: input/output vector */
- const int16_t size /* i : size of fft operation */
-);
-
-void BITS_ALLOC_init_config_acelp_IVAS(
- const int32_t bit_rate,
- const int16_t narrowBand,
- const int16_t nb_subfr,
- ACELP_config *acelp_cfg /* o : configuration structure of ACELP */
-);
-
-int16_t BITS_ALLOC_config_acelp_IVAS(
- const int16_t bits_frame, /* i : remaining bit budget for the frame */
- const int16_t coder_type, /* i : acelp coder type */
- ACELP_config *acelp_cfg, /* i/o: configuration structure of ACELP */
- const int16_t narrowband, /* i : narrowband flag */
- const int16_t nb_subfr /* i : number of subframes */
-);
-
-
-void FEC_clas_estim(
- const float *syn,
- const float *pitch, /* i : pitch values for each subframe */
- const int16_t L_frame, /* i : length of the frame */
- const int16_t coder_type, /* i : coder type */
- const int16_t codec_mode, /* i : codec mode */
- float *mem_syn_clas_estim, /* i/o: memory of the synthesis signal for frame class estimation */
- int16_t *clas, /* i/o: frame classification */
- float *lp_speech, /* i/o: long term active speech energy average */
- const int16_t Opt_AMR_WB, /* i : flag indicating AMR-WB IO mode */
- int16_t *decision_hyst, /* i/o: hysteresis of the music/speech decision */
- int16_t *locattack, /* i/o: detection of attack (mainly to localized speech burst) */
- int16_t *UV_cnt, /* i/o: number of consecutives frames classified as UV */
- float *LT_UV_cnt, /* i/o: long term consecutives frames classified as UV */
- float *Last_ener, /* i/o: last_energy frame */
- int16_t *amr_io_class, /* i/o: classification for AMR-WB IO mode */
- float *lt_diff_etot, /* i/o: long-term total energy variation */
- float *class_para, /* o : classification para. fmerit1 */
- const float LTP_Gain, /* i : */
- const int16_t narrowBand, /* i : */
- const SIGNAL_CLASSIFIER_MODE mode, /* i : */
- const int16_t bfi, /* i : */
- const float preemph_fac, /* i : */
- const int16_t tcxonly, /* i : */
- const int32_t last_core_brate, /* i : last core bitrate */
- const int16_t FEC_mode /* i : ACELP FEC mode */
-);
-
-
-void SetTCXModeInfo(
- Encoder_State *st, /* i/o: encoder state structure */
- TRAN_DET_HANDLE hTranDet, /* i/o: transient detection handle */
- int16_t *tcxModeOverlap /* o : window overlap of current frame */
-);
-
-void TCX_MDCT_flt(
- const float *x,
- float *y,
- const int16_t l,
- const int16_t m,
- const int16_t r,
- const int16_t element_mode );
-
-void TCX_MDST_flt(
- const float *x,
- float *y,
- const int16_t l,
- const int16_t m,
- const int16_t r,
- const int16_t element_mode );
-
-void TCX_MDCT_Inverse_flt(
- const float *x,
- float *y,
- const int16_t l,
- const int16_t m,
- const int16_t r,
- const int16_t element_mode );
-
-void TCX_MDST_Inverse_flt(
- const float *x,
- float *y,
- const int16_t l,
- const int16_t m,
- const int16_t r,
- const int16_t element_mode );
-
-void TCX_MDXT_Inverse_flt(
- const float *x,
- float *y,
- const int16_t l,
- const int16_t m,
- const int16_t r,
- const uint16_t kernel_type );
-
-void post_decoder_flt(
- Decoder_State *st,
- float synth_buf[],
- const float pit_gain[],
- const int16_t pitch[],
- float signal_out[],
- float bpf_noise_buf[] );
-void cldfb_synth_set_bandsToZero_flt(
- Decoder_State *st, /* i/o: decoder state structure */
- float **rAnalysis,
- float **iAnalysis,
- const int16_t nTimeSlots );
-
-void longadd(
- uint16_t a[], /* i/o: vector of the length lena */
- const uint16_t b[], /* i/o: vector of the length lenb */
- const int16_t lena, /* i/o: length of vector a[] */
- const int16_t lenb /* i/o: length of vector b[] */
-);
-
-void longshiftright(
- uint16_t a[], /* i : vector of the length lena */
- const int16_t b, /* i : number of bit positions to shift right */
- uint16_t d[], /* o : vector of the length lend */
- int16_t lena, /* i : length of vector a[] */
- const int16_t lend /* i : length of vector d[] */
-);
-
-void longshiftleft(
- const uint16_t a[], /* i : vector of the length len */
- const int16_t b, /* i : number of bit positions to shift left */
- uint16_t d[], /* o : vector of the length len */
- const int16_t len /* i : length of vector a[] and d[] */
-);
-
-void open_decoder_LPD(
- Decoder_State *st, /* i/o: decoder state structure */
- const int32_t total_brate, /* i : total bitrate */
- const int32_t last_total_brate, /* i : last total bitrate */
- const int16_t bwidth, /* i : audio bandwidth */
- const int16_t MCT_flag, /* i : hMCT handle allocated (1) or not (0) */
- const int16_t last_element_mode, /* i : last element mode */
- const int16_t is_init /* i : indicate call during initialization */
-);
-
-void acelp_plc_mdct_transition(
- Decoder_State *st /* i/o: Decoder state */
-);
-
-void tcxltp_dec_init(
- TCX_LTP_DEC_HANDLE hTcxLtpDec,
- const int16_t ini_frame,
- const int16_t last_codec_mode,
- const int16_t element_mode,
- const int16_t pit_max,
- const int32_t sr_core );
-
-void reset_tcx_overl_buf(
- TCX_DEC_HANDLE hTcxDec /* i/o: TCX decoder handle */
-);
-
-void update_decoder_LPD_cng_flt(
- Decoder_State *st, /* i/o: decoder state structure */
- float *timeDomainBuffer,
- float *A,
- float *bpf_noise_buf );
-
-void reconfig_decoder_LPD_ivas(
- Decoder_State *st, /* i/o: decoder state structure */
- const int16_t bits_frame, /* i : bit budget */
- const int16_t bwidth, /* i : audio bandwidth */
- const int32_t total_brate, /* i : total bitrate */
- const int16_t L_frame_old /* i : frame length */
-);
-
-void mode_switch_decoder_LPD(
- Decoder_State *st, /* i/o: decoder state structure */
- const int16_t bwidth, /* i : audio bandwidth */
- const int32_t total_brate, /* i : total bitrate */
- const int32_t last_total_brate, /* i : last frame total bitrate */
- const int16_t frame_size_index, /* i : index determining the frame size */
- const int16_t MCT_flag, /* i : hMCT handle allocated (1) or not (0)*/
- const int16_t last_element_mode /* i : last element mode */
-);
-
-void dec_acelp_tcx_frame(
- Decoder_State *st, /* i/o: decoder state structure */
- int16_t *concealWholeFrame, /* i/o: concealment flag */
- float *output, /* o : synthesis */
- float *bpf_noise_buf, /* i/o: BPF noise buffer */
- float *pcmbufFB, /* o : synthesis @output_FS */
- float bwe_exc_extended[], /* i/o: bandwidth extended excitation */
- float *voice_factors, /* o : voicing factors */
- float pitch_buf[], /* o : floating pitch for each subframe */
- STEREO_CNG_DEC_HANDLE hStereoCng /* i : stereo CNG handle */
-);
-
-void decoder_LPD(
- Decoder_State *st, /* i/o: decoder memory state pointer */
- float signal_out[], /* o : signal with LPD delay (7 subfrs) */
- float signal_outFB[], /* o : synthesis @output_FS */
- int16_t *total_nbbits, /* i/o: number of bits / decoded bits */
- float *bpf_noise_buf, /* i/o: BPF noise buffer */
- int16_t bfi, /* i : BFI flag */
- int16_t *bitsRead, /* o : number of read bits */
- int16_t param[], /* o : buffer of parameters */
- float *pitch_buf, /* i/o: floating pitch values for each subfr*/
- float *voice_factors, /* o : voicing factors */
- float *ptr_bwe_exc /* o : excitation for SWB TBE */
-);
-
-int16_t tcxGetNoiseFillingTilt_flt(
- const float A[],
- const int16_t L_frame,
- const int16_t mode,
- float *noiseTiltFactor );
-
-void tcxFormantEnhancement_flt(
- float xn_buf[],
- const float *gainlpc,
- float spectrum[],
- const int16_t L_frame );
-
-void tcxInvertWindowGrouping_flt(
- TCX_CONFIG_HANDLE hTcxCfg,
- float xn_buf[],
- float spectrum[],
- const int16_t L_frame,
- const int8_t fUseTns,
- const int16_t last_core,
- const int16_t index,
- const int16_t frame_cnt,
- const int16_t bfi );
-
-void tcx5SpectrumInterleaving(
- const int16_t tcx5Size,
- float *spectrum );
-
-void tcx5SpectrumDeinterleaving(
- const int16_t tcx5Size,
- float *spectrum );
-
-void tcx5TnsGrouping(
- const int16_t L_frame,
- const int16_t L_spec,
- float *spectrum );
-
-void tcx5TnsUngrouping(
- const int16_t L_frame,
- const int16_t L_spec,
- float *spectrum,
- const int16_t enc_dec );
-
-void lerp_flt(
- const float *f,
- float *f_out,
- const int16_t bufferNewSize,
- const int16_t bufferOldSize );
-
-void encoderSideLossSimulation(
- Encoder_State *st,
- PLC_ENC_EVS_HANDLE hPlc_Ext,
- float *isf_q,
- const float stab_fac,
- const int16_t calcOnlyISF,
- const int16_t L_frame );
-
-void enc_prm_side_Info(
- PLC_ENC_EVS_HANDLE hPlc_Ext,
- Encoder_State *st );
-
-void GplcTcxEncSetup(
- const int16_t tcxltp_pitch_int,
- PLC_ENC_EVS_HANDLE hPlc_Ext );
-
-int16_t encSideSpecPowDiffuseDetector(
- float *isf_ref,
- float *isf_con,
- const int32_t sr_core,
- float *prev_isf4_mean,
- const int16_t sw,
- const int16_t coder_type );
-
-void updateSpecPowDiffuseIdx(
- const float gain_pitch_buf[], /* i : gain pitch values */
- const float gain_code_buf[], /* i : gain pitch values */
- int16_t glr_idx[2], /* o : */
- float mean_gc[2] /* o : */
-);
-
-void getLookAheadResSig_flt(
- float *speechLookAhead,
- const float *A,
- float *res,
- const int16_t L_frame,
- const int16_t L_subfr,
- const int16_t m,
- const int16_t numSubFrame );
-
-void updatelsfForConcealment_flt(
- PLC_ENC_EVS_HANDLE decState,
- float *lsf );
-
-void getConcealedLP_flt(
- PLC_ENC_EVS_HANDLE memDecState,
- float *AqCon,
- const float xsfBase[],
- const int32_t sr_core,
- const int16_t last_good,
- const int16_t L_frame );
-
-void RecLpcSpecPowDiffuseLc_flt(
- float *ispq,
- float *isp_old,
- float *isfq,
- Decoder_State *st,
- const int16_t reset_q );
-
-void modify_lsf_flt(
- float *lsf,
- const int16_t n,
- const int32_t sr_core,
- const int16_t reset_q );
-
-void init_PLC_enc(
- PLC_ENC_EVS_HANDLE hPlcExt,
- const int32_t sr_core );
-
-void gPLC_encInfo(
- PLC_ENC_EVS_HANDLE hPlcExt,
- const int32_t total_brate,
- const int16_t bwidth,
- const int16_t last_clas,
- const int16_t coder_type );
-
-void resetTecDec(
- TEC_DEC_HANDLE hTecDec );
-
-void calcGainTemp_TBE(
- float **pCldfbRealSrc,
- float **pCldfbImagSrc,
- float *loBuffer,
- const int16_t startPos, /*!< Start position of the current envelope. */
- const int16_t stopPos, /*!< Stop position of the current envelope. */
- const int16_t lowSubband, /* lowSubband */
- float *pGainTemp,
- const int16_t code );
-
-void procTecTfa_TBE(
- float *hb_synth,
- float *gain,
- const int16_t flat_flag,
- const int16_t last_core,
- const int16_t L_subfr,
- const int16_t code );
-
-void resetTecEnc(
- TEC_ENC_HANDLE hTecEnc,
- const int16_t flag );
-
-void calcHiEnvLoBuff(
- const int16_t noCols,
- const int16_t *pFreqBandTable, /* i : freqbandTable */
- const int16_t nSfb, /* i : Number of scalefactors */
- float **pYBuf,
- float *loBuf,
- float *hiTempEnv );
-
-void calcLoEnvCheckCorrHiLo(
- const int16_t noCols,
- const int16_t *pFreqBandTable, /* i : freqbandTable */
- float *loBuf,
- float *loTempEnv,
- float *loTempEnv_ns,
- float *hiTempEnv,
- int16_t *corr_flag /* o : 0 for original, 1 for TEC */
-);
-
-
-void tecEnc_TBE(
- int16_t *corrFlag,
- const float *voicing,
- const int16_t coder_type );
-
-void set_TEC_TFA_code(
- const int16_t corrFlag,
- int16_t *tec_flag,
- int16_t *tfa_flag );
-
-float Damping_fact_flt(
- const int16_t coder_type, /* i : ACELP core coder type */
- const int16_t nbLostCmpt, /* i : compt for number of consecutive lost frame */
- int16_t last_good, /* i : class of last good received frame */
- float stab_fac, /* i : LSF stability factor */
- float *lp_gainp, /* i/o: low passed pitch gain used for concealment */
- const int16_t core /* i : current core: ACELP = 0, TCX20 = 1, TCX10 = 2 */
-);
-
-float getLevelSynDeemph(
- const float h1Init[], /* i : input value or vector to be processed */
- const float A[], /* i : LPC coefficients */
- const int16_t lenLpcExc, /* i : length of the LPC excitation buffer */
- const float preemph_fac, /* i : preemphasis factor */
- const int16_t numLoops /* i : number of loops */
-);
-
-void genPlcFiltBWAdap(
- const int32_t sr_core, /* i : core sampling rate */
- float *lpFiltAdapt, /* o : filter coefficients for filtering codebooks in case of flc */
- const int16_t type, /* i : type of filter, either 0 : lowpass or 1 : highpass */
- const float alpha /* i : fade out factor [0 1) used decrease filter tilt */
-);
-
-void highPassFiltering(
- const int16_t last_good, /* i : last classification type */
- const int16_t L_buffer, /* i : buffer length */
- float exc2[], /* i/o: unvoiced excitation before the high pass filtering */
- const float hp_filt[], /* i : high pass filter coefficients */
- const int16_t l_fir_fer /* i : high pass filter length */
-);
-
-int16_t GetPLCModeDecision(
- Decoder_State *st /* i/o: decoder memory state pointer */
-);
-
-void addBassPostFilter(
- const float *harm_timeIn,
- const int16_t samplesToProcess,
- float **rAnalysis,
- float **iAnalysis,
- HANDLE_CLDFB_FILTER_BANK cldfb );
-
-ivas_error TonalMDCTConceal_Init_ivas(
- TonalMDCTConcealPtr hTonalMDCTConc,
- const uint16_t samplesPerBlock,
- const uint16_t nSamplesCore,
- const uint16_t nScaleFactors,
- TCX_CONFIG_HANDLE hTcxCfg );
-
-void TonalMDCTConceal_SaveFreqSignal_ivas(
- TonalMDCTConcealPtr hTonalMDCTConc,
- const float *mdctSpectrum,
- const uint16_t numSamples,
- const uint16_t nNewSamplesCore,
- const float *scaleFactors,
- const int16_t infoIGFStartLine );
-
-void TonalMDCTConceal_UpdateState_ivas(
- TonalMDCTConcealPtr hTonalMDCTConc,
- const int16_t numSamples,
- const float pitchLag,
- const int16_t badBlock,
- const int16_t tonalConcealmentActive );
-
-void TonalMDCTConceal_SaveTimeSignal_ivas(
- TonalMDCTConcealPtr hTonalMDCTConc,
- float *timeSignal,
- const int16_t numSamples );
-
-void TonalMDCTConceal_Detect_ivas(
- const TonalMDCTConcealPtr hTonalMDCTConc, /*IN */
- const float pitchLag, /*IN */
- int16_t *umIndices, /*OUT*/
- const PsychoacousticParameters *psychParamsCurrent /*IN*/
-);
-
-void TonalMDCTConceal_Apply_ivas(
- TonalMDCTConcealPtr hTonalMDCTConc, /*IN */
- float *mdctSpectrum, /*OUT*/
- const PsychoacousticParameters *psychParamsCurrent /*IN*/
-);
-
-void TonalMDCTConceal_InsertNoise_ivas(
- const TonalMDCTConcealPtr hTonalMDCTConc, /*IN */
- float *mdctSpectrum, /*OUT*/
- const int16_t tonalConcealmentActive,
- int16_t *pSeed, /*IN/OUT*/
- const float tiltCompFactor,
- const float crossfadeGain,
- const float concealment_noise[L_FRAME48k],
- const float cngLevelBackgroundTrace_bfi,
- const int16_t crossOverFreq );
-
-void DetectTonalComponents_flt(
- uint16_t indexOfTonalPeak[],
- uint16_t lowerIndex[],
- uint16_t upperIndex[],
- uint16_t *pNumIndexes,
- const float lastPitchLag,
- const float currentPitchLag,
- const float lastMDCTSpectrum[],
- const float scaleFactors[],
- const float secondLastPowerSpectrum[],
- const uint16_t nSamples,
- const uint16_t nSamplesCore,
- float floorPowerSpectrum,
- const PsychoacousticParameters *psychParamsCurrent );
-
-void RefineTonalComponents_flt(
- uint16_t indexOfTonalPeak[],
- uint16_t lowerIndex[],
- uint16_t upperIndex[],
- float phaseDiff[],
- float phases[],
- uint16_t *pNumIndexes,
- const float lastPitchLag,
- const float currentPitchLag,
- const float lastMDCTSpectrum[],
- const float scaleFactors[],
- const float secondLastPowerSpectrum[],
- const uint16_t nSamples,
- const uint16_t nSamplesCore,
- float floorPowerSpectrum,
- const PsychoacousticParameters *psychParamsCurrent );
-
-ivas_error PsychoacousticParameters_Init(
- const int32_t sr_core, /* i : sampling rate of core-coder */
- const int16_t nBins, /* i : Number of bins (spectral lines) */
- const int8_t nBands, /* i : Number of spectrum subbands */
- const int16_t isTCX20, /* i : Flag indicating if the subband division is for TCX20 or TCX10 */
- const int16_t isWarped, /* i : Flag indicating if the scale is linear or warped */
- PsychoacousticParameters *pPsychParams );
-
-void concealment_init(
- const int16_t L_frameTCX,
- T_PLCInfo_HANDLE hPlcInfo );
-
-void concealment_decode(
- const int16_t core,
- float *invkoef,
- T_PLCInfo_HANDLE hPlcInfo );
-
-void concealment_update(
- const int16_t bfi,
- const int16_t core,
- const int16_t harmonic,
- float *invkoef,
- T_PLCInfo_HANDLE hPlcInfo );
-
-void concealment_update2(
- const float *outx_new,
- T_PLCInfo_HANDLE hPlcInfo,
- const int16_t L_frameTCX );
-
-void concealment_signal_tuning(
- Decoder_State *st,
- const int16_t bfi,
- float *outx_new,
- const int16_t past_core_mode );
-
-void waveform_adj2(
- T_PLCInfo_HANDLE hPlcInfo,
- float *overlapbuf,
- float *outx_new,
- const int16_t delay,
- const int16_t bfi_cnt,
- const int16_t bfi );
-
-float SFM_Cal(
- const float fcoef[],
- const int16_t n );
-
-void set_state_ivas(
- int16_t *state,
- const int16_t num,
- const int16_t N );
-
-int16_t RFFTN(
- float *afftData,
- const float *trigPtr,
- const int16_t len,
- const int16_t isign );
-
-void DoFFT(
- float *re2,
- float *im2,
- const int16_t length );
-
-/*! r: flag indicating a valid bitrate */
-int16_t is_EVS_bitrate(
- const int32_t ivas_total_brate, /* i : EVS total bitrate */
- int16_t *Opt_AMR_WB /* i : AMR-WB IO flag */
-);
-
-int16_t getTcxonly_ivas(
- const int16_t element_mode, /* i : IVAS element mode */
- const int32_t total_brate, /* i : total bitrate */
- const int16_t MCT_flag, /* i : hMCT handle allocated (1) or not (0)*/
- const int16_t is_ism_format /* i : flag indicating ISM format */
-);
-
-int16_t getTnsAllowed(
- const int32_t total_brate, /* i : total bitrate */
- const int16_t igf, /* i : flag indicating IGF activity*/
- const int16_t element_mode /* i : IVAS element mode */
-);
-
-int16_t getCtxHm(
- const int16_t element_mode, /* i : IVAS element mode */
- const int32_t total_brate, /* i : total bitrate */
- const int16_t rf_flag /* i : flag to signal the RF mode */
-);
-
-int16_t getResq(
- const int32_t total_brate /* i : total bitrate */
-);
-
-int16_t getMdctWindowLength(
- const int16_t fscale );
-
-int16_t sr2fscale(
- const int32_t sr_core /* i : internal sampling rate */
-);
-
-int32_t getCoreSamplerateMode2_flt(
- const int16_t element_mode, /* i : IVAS element mode */
- const int32_t total_brate, /* i : total bitrate */
- const int16_t bwidth, /* i : audio bandwidth */
- const int16_t flag_ACELP16k, /* i : ACELP@16kHz flag */
- const int16_t rf_mode, /* i : flag to signal the RF mode */
- const IVAS_FORMAT is_ism_format /* i : flag indicating ISM format */
-);
-
-float getTcxBandwidth_flt(
- const int16_t bwidth /* i : audio bandwidth */
-);
-
-
-int16_t getCnaPresent(
- const int16_t element_mode, /* i : element mode */
- const int32_t element_brate, /* i : element bitrate */
- const int32_t total_brate, /* i : total bitrate */
- const int16_t bwidth /* i : audio bandwidth */
-);
-
-int16_t getTcxLtp(
- const int32_t sr_core /* i : internal sampling rate */
-);
-
-int16_t initPitchLagParameters(
- const int32_t sr_core, /* i : internal sampling rate */
- int16_t *pit_min,
- int16_t *pit_fr1,
- int16_t *pit_fr1b,
- int16_t *pit_fr2,
- int16_t *pit_max );
-
-void attenuateNbSpectrum(
- const int16_t L_frame,
- float *spectrum );
-
-void SetModeIndex(
- Encoder_State *st, /* i : Encoder state */
- const int32_t last_total_brate, /* i : last total bitrate */
- const int16_t last_element_mode, /* i : last IVAS element mode */
- const int16_t MCT_flag /* i : hMCT handle allocated (1) or not (0) */
-);
-
-int16_t getNumTcxCodedLines(
- const int16_t bwidth /* i : audio bandwidth */
-);
-
-int16_t getTcxLpcShapedAri(
- const int32_t total_brate, /* i : total bitrate */
- const int16_t rf_mode, /* i : flag to signal the RF mode */
- const int16_t element_mode /* i : IVAS element mode */
-);
-
-void IGFEncApplyMono(
- Encoder_State *st, /* i : Encoder state */
- const int16_t igfGridIdx, /* i : IGF grid index */
- float *pMDCTSpectrum, /* i/o: MDCT spectrum */
- float *pPowerSpectrum, /* i/o: MDCT^2 + MDST^2 spectrum, or estimate */
- const int16_t isTCX20, /* i : flag indicating if the input is TCX20 or TCX10/2xTCX5 */
- const int16_t isTNSActive, /* i : flag indicating if the TNS is active */
- const int16_t sp_aud_decision0, /* i : first stage switching decision */
- const int16_t vad_hover_flag /* i : VAD hangover flag */
-);
-
-void IGFEncApplyStereo(
- STEREO_MDCT_ENC_DATA_HANDLE hStereoMdct, /* i/o: MDCT stereo encoder structure */
- int16_t ms_mask[2][MAX_SFB], /* i : bandwise MS mask */
- const IGF_ENC_INSTANCE_HANDLE hIGFEnc[CPE_CHANNELS], /* i : instance handle of IGF Encoder */
- const int16_t igfGridIdx, /* i : IGF grid index */
- Encoder_State *sts[CPE_CHANNELS], /* i : Encoder state */
- float *pPowerSpectrum[CPE_CHANNELS], /* i/o: MDCT^2 + MDST^2 spectrum, or estimate */
- float *pPowerSpectrumMsInv[CPE_CHANNELS][NB_DIV], /* i/o: inverse power spectrum */
- float *inv_spectrum[CPE_CHANNELS][NB_DIV], /* i : inverse spectrum */
- const int16_t frameno, /* i : flag indicating index of current subframe */
- const int16_t sp_aud_decision0, /* i : sp_aud_decision0 */
- const int32_t element_brate, /* i : element bitrate */
- const int16_t mct_on /* i : flag mct block (1) or stereo (0) */
-);
-
-
-void IGFEncResetTCX10BitCounter_ivas_fx(
- const IGF_ENC_INSTANCE_HANDLE hIGFEnc /* i : instance handle of IGF Encoder */
-);
-
-ivas_error IGF_Reconfig(
- IGF_ENC_INSTANCE_HANDLE *hIGFEnc, /* i/o: instance handle of IGF Encoder */
- const int16_t igf, /* i : IGF on/off */
- const int16_t reset, /* i : reset flag */
- const int32_t brate, /* i : bitrate for configuration */
- const int16_t bwidth, /* i : signal bandwidth */
- const int16_t element_mode, /* i : IVAS element mode */
- const int16_t rf_mode /* i : flag to signal the RF mode */
-);
-
-void IGFEncSetMode(
- const IGF_ENC_INSTANCE_HANDLE hIGFEnc, /* i : instance handle of IGF Encoder */
- const int32_t total_brate, /* i : encoder total bitrate */
- const int16_t bwidth, /* i : encoder audio bandwidth */
- const int16_t element_mode, /* i : IVAS element mode */
- const int16_t rf_mode /* i : flag to signal the RF mode */
-);
-
-/*! r: number of bits written per frame */
-int16_t IGFEncWriteBitstream(
- const IGF_ENC_INSTANCE_HANDLE hIGFEnc, /* i : instance handle of IGF Encoder */
- BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */
- int16_t *pBitOffset, /* i : ptr to bitOffset counter */
- const int16_t igfGridIdx, /* i : igf grid index see declaration of IGF_GRID_IDX for details */
- const int16_t isIndepFlag /* i : if 1 frame is independent, 0 = frame is coded with data from previous frame */
-);
-
-/*! r: total number of bits written */
-int16_t IGFEncWriteConcatenatedBitstream(
- const IGF_ENC_INSTANCE_HANDLE hIGFEnc, /* i : instance handle of IGF Encoder */
- BSTR_ENC_HANDLE hBstr /* i/o: encoder bitstream handle */
-);
-
-void IGFDecApplyMono_flt(
- const IGF_DEC_INSTANCE_HANDLE hIGFDec, /* i : instance handle of IGF Decoder */
- float *spectrum, /* i/o: MDCT spectrum */
- const int16_t igfGridIdx, /* i : in case of CELP->TCX switching, use 1.25 framelength */
- const int16_t bfi, /* i : frame loss == 1, frame good == 0 */
- const int16_t element_mode /* i : IVAS element mode */
-);
-
-void IGFDecCopyLPCFlatSpectrum_flt(
- const IGF_DEC_INSTANCE_HANDLE hIGFDec, /* i/o: instance handle of IGF Decoder */
- const float *pSpectrumFlat, /* i : LPC flattend spectrum from TCX dec */
- const int16_t igfGridIdx /* i : IGF grid index */
-);
-
-void IGFDecReadData_flt(
- const IGF_DEC_INSTANCE_HANDLE hIGFDec, /* i/o: instance handle of IGF Deccoder */
- Decoder_State *st, /* i : decoder state */
- const int16_t igfGridIdx, /* i : in case of CELP->TCX switching, use 1.25 framelength */
- const int16_t isIndepFrame /* i : if 1: arith dec force reset, if 0: no reset */
-);
-
-/*! r: return igfAllZero flag indicating if no envelope is transmitted */
-int16_t IGFDecReadLevel_flt(
- const IGF_DEC_INSTANCE_HANDLE hIGFDec, /* i/o: instance handle of IGF Deccoder */
- Decoder_State *st, /* i : decoder state */
- const int16_t igfGridIdx, /* i : in case of CELP->TCX switching, use 1.25 framelength */
- const int16_t isIndepFrame /* i : if 1: arith dec force reset, if 0: no reset */
-);
-
-void IGFDecRestoreTCX10SubFrameData_flt(
- const IGF_DEC_INSTANCE_HANDLE hIGFDec, /* o : instance handle of IGF Decoder */
- const int16_t subFrameIdx /* i : index of subframe */
-);
-
-void init_igf_dec_flt(
- IGF_DEC_INSTANCE_HANDLE hIGFDec /* i/o: IGF decoder handle */
-);
-
-void IGFDecSetMode_flt(
- const IGF_DEC_INSTANCE_HANDLE hIGFDec, /* o : instance handle of IGF Decoder */
- const int32_t total_brate, /* i : bitrate */
- const int16_t bwidth, /* i : audio bandwidth */
- const int16_t element_mode, /* i : IVAS element mode */
- const int16_t defaultStartLine, /* i : default start subband index */
- const int16_t defaultStopLine, /* i : default stop subband index */
- const int16_t rf_mode /* i : flag to signal the RF mode */
-);
-
-void IGFDecStoreTCX10SubFrameData_flt(
- const IGF_DEC_INSTANCE_HANDLE hIGFDec, /* i/o: instance handle of IGF Decoder */
- const int16_t subFrameIdx /* i : index of subframe */
-);
-
-void IGFDecUpdateInfo_flt(
- const IGF_DEC_INSTANCE_HANDLE hIGFDec, /* i/o: instance handle of IGF Decoder */
- const int16_t subFrameIdx, /* i : subframe index */
- const int16_t igfGridIdx /* i : IGF grid index */
-);
-
-/*! r: error value: 0 -> error, 1 -> ok */
-int16_t IGFCommonFuncsIGFConfiguration_flt(
- const int32_t total_brate, /* i : bitrate in bs e.g. 9600 for 9.6kbs */
- const int16_t bwidth, /* i : audio bandwidth */
- const int16_t element_mode, /* i : IVAS element mode */
- H_IGF_INFO hIGFInfo, /* o : IGF info handle */
- const int16_t rf_mode /* i : flag to signal the RF mode */
-);
-
-/*! r: error value: 0 -> error, 1 -> ok */
-int16_t IGFCommonFuncsIGFGetCFTables_flt(
- const int32_t total_brate, /* i : bitrate in bs e.g. 9600 for 9.6kbs */
- const int16_t bwidth, /* i : audio bandwidth */
- const int16_t element_mode, /* i : element mode */
- const int16_t rf_mode, /* i : flag to signal the RF mode */
- const uint16_t **cf_se00, /* i : CF table for t == 0 and f == 0 */
- const uint16_t **cf_se01, /* i : CF table for t == 0 and f == 1 */
- int16_t *cf_off_se01, /* o : offset for CF table above */
- const uint16_t **cf_se02, /* i : CF tables for t == 0 and f >= 2 */
- const int16_t **cf_off_se02, /* o : offsets for CF tables above */
- const uint16_t **cf_se10, /* i : CF table for t == 1 and f == 0 */
- int16_t *cf_off_se10, /* o : offset for CF table above */
- const uint16_t **cf_se11, /* i : CF tables for t == 1 and f >= 1 */
- const int16_t **cf_off_se11 /* o : offsets for CF tables above */
-);
-
-/*! r: multiplication factor */
-int16_t IGF_ApplyTransFac_flt(
- const int16_t val, /* i : input value for multiplication, Q15 */
- const float transFac /* i : multiplicator for variable val, Q14: 1.25f=0x5000, 1.0f=0x4000, 0.5f=0x2000 */
-);
-
-/*! r: return bitrate index */
-int16_t IGF_MapBitRateToIndex_flt(
- const int32_t brate, /* i : bitrate */
- const int16_t bwidth, /* i : audio bandwidth */
- const int16_t element_mode, /* i : element mode */
- const int16_t rf_mode /* i : flag to signal the RF mode */
-);
-
-
-void IGFSCFDecoderOpen_ivas(
- IGFSCFDEC_INSTANCE_HANDLE hPublicData, /* i : handle to public data */
- H_IGF_INFO hIgfInfo, /* i : IGF info handle */
- const int32_t total_brate,
- const int16_t bwidth,
- const int16_t element_mode,
- const int16_t rf_mode );
-
-void IGFSCFDecoderReset_ivas(
- IGFSCFDEC_INSTANCE_HANDLE hPublicData /* i : handle to public data or NULL in case there was no instance created */
-);
-
-void IGFSCFDecoderDecode_ivas(
- IGFSCFDEC_INSTANCE_HANDLE hPublicData, /* i : handle to public data or NULL in case there was no instance created */
- Decoder_State *st, /* i/o: pointer to decoder state */
- int16_t *sfe, /* o : ptr to an array which will contain the decoded quantized coefficients */
- const int16_t igfGridIdx, /* i : igf grid index see declaration of IGF_GRID_IDX for details */
- const int16_t indepFlag /* i : if 1 on input the decoder will be forced to reset,
- if 0 on input the decoder will be forced to encode without a reset */
-);
-
-/*! r: offset value */
-int16_t tbe_celp_exc_offset_flt(
- const int16_t T0, /* i : Integer pitch */
- const int16_t T0_frac /* i : Fractional part of the pitch */
-);
-
-void blend_subfr2_flt(
- float *sigIn1, /* i : input signal for fade-out */
- float *sigIn2, /* i : input signal for fade-in */
- float *sigOut /* o : output signal */
-);
-
-void init_tcx_window_cfg(
- TCX_CONFIG_HANDLE hTcxCfg, /* i : TCX Config handle */
- const int32_t sr_core, /* i : SR core */
- const int32_t input_Fs, /* i : input/output SR */
- const int16_t L_frame, /* i : L_frame at sr_core */
- const int16_t L_frameTCX, /* i : L_frame at i/o SR */
- const int16_t encoderLookahead_enc, /* i : encoder LA at sr_core */
- const int16_t encoderLookahead_FB, /* i : encoder LA at i/o SR */
- const int16_t mdctWindowLength, /* i : window length at sr_core */
- const int16_t mdctWindowLengthFB, /* i : window length at i/o SR */
- const int16_t element_mode /* i : mode of CPE/SCE */
-);
-
-void init_tcx_cfg(
- TCX_CONFIG_HANDLE hTcxCfg,
- const int32_t total_brate,
- const int32_t sr_core,
- const int32_t input_Fs,
- const int16_t L_frame,
- const int16_t bwidth,
- const int16_t L_frameTCX,
- const int16_t fscale,
- const int16_t encoderLookahead_enc,
- const int16_t encoderLookahead_FB,
- const float preemph_fac,
- const int16_t tcxonly,
- const int16_t rf_mode,
- const int16_t igf,
- const int16_t infoIGFStopFreq,
- const int16_t element_mode,
- const int16_t ini_frame,
- const int16_t MCT_flag /* i : hMCT handle allocated (1) or not (0) */
-);
-
-#endif
diff --git a/lib_com/prot_fx.h b/lib_com/prot_fx.h
index 51fbb12d526d7c45979f3545feb8c853c4b9298c..9b596ca42a856527ec8659cdd3750738af310465 100644
--- a/lib_com/prot_fx.h
+++ b/lib_com/prot_fx.h
@@ -49,14 +49,63 @@
#include "ivas_cnst.h"
#include "stat_enc.h"
#include "stat_dec.h"
+#include "stat_com.h"
#include "ivas_stat_enc.h"
#include "ivas_stat_dec.h"
+#include "ivas_stat_com.h"
#include "ivas_error.h"
#include "ivas_error_utils.h"
#include "complex_basop.h"
#define TCX_IMDCT_SCALE 15
#define TCX_IMDCT_HEADROOM 1
+
+/*----------------------------------------------------------------------------------*
+ * Prototypes of global macros
+ *----------------------------------------------------------------------------------*/
+
+#ifndef min
+#define min( x, y ) ( ( x ) < ( y ) ? ( x ) : ( y ) )
+#endif
+
+#ifndef max
+#define max( x, y ) ( ( x ) > ( y ) ? ( x ) : ( y ) )
+#endif
+
+#ifndef TRUNC
+#define TRUNC( x ) ( (int16_t) ( ( ( x ) >= 32767. ? 32767 : ( ( x ) <= -32768. ? -32768 : ( x ) ) ) + 0.5 ) )
+#endif
+
+#define log_base_2( x ) ( (double) log( (double) ( x ) ) * 1.4426950408889634074f )
+#define round_f( x ) ( ( ( x ) > 0 ) ? (int32_t) ( ( x ) + 0.5f ) : ( -(int32_t) ( ( -x ) + 0.5f ) ) )
+
+#ifndef ABSVAL
+#define ABSVAL( a ) ( ( a ) >= 0 ? ( a ) : ( -( a ) ) )
+#endif
+
+#ifndef SQR
+#define SQR( a ) ( ( a ) * ( a ) )
+#endif
+
+#ifndef SWAP
+#define SWAP( a, b ) \
+ { \
+ tempr = ( a ); \
+ ( a ) = ( b ); \
+ ( b ) = tempr; \
+ }
+#endif
+
+#ifndef swap
+#define swap( x, y, type ) \
+ { \
+ type u__p; \
+ u__p = x; \
+ x = y; \
+ y = u__p; \
+ }
+#endif
+
/*================================================================================*/
/* conversion functions: */
/*================================================================================*/
@@ -10920,7 +10969,6 @@ void IGFEncConcatenateBitstream(
BSTR_ENC_HANDLE hBstr /* i/o: bitstream handle */
);
-#endif
void hq_generic_hf_encoding_fx(
const Word32 *coefs_fx, /* i : MDCT coefficients of weighted original */
@@ -11205,3 +11253,746 @@ void WriteToBitstream_ivas_fx(
Word16 *pnSize,
BSTR_ENC_HANDLE hBstr,
Word16 *pnBits );
+
+
+/*===========================================================================================*/
+/*----------------------------------------------------------------------------------*
+ * MODE1 prototypes
+ *----------------------------------------------------------------------------------*/
+
+/*! r: inverse square root of input value */
+float inv_sqrt(
+ const float x /* i : input value */
+);
+
+/*! r: output random value */
+int16_t own_random(
+ int16_t *seed /* i/o: random seed */
+);
+
+/*! r: sign of x (+1/-1) */
+float sign(
+ const float x /* i : input value of x */
+);
+
+/*! r: logarithm2 of x */
+float log2_f(
+ const float x /* i : input value of x */
+);
+
+int16_t norm_ul_float(
+ uint32_t UL_var1 );
+
+/*! r: sum of all vector elements */
+int16_t sum_s(
+ const int16_t *vec, /* i : input vector */
+ const int16_t lvec /* i : length of input vector */
+);
+
+/*! r: sum of all vector elements */
+int32_t sum_l(
+ const int32_t *vec, /* i : input vector */
+ const int16_t lvec /* i : length of input vector */
+);
+
+/*! r: sum of all squared vector elements */
+float sum2_f(
+ const float *vec, /* i : input vector */
+ const int16_t lvec /* i : length of input vector */
+);
+
+void set_c(
+ int8_t y[], /* i/o: Vector to set */
+ const int8_t a, /* i : Value to set the vector to */
+ const int32_t N /* i : Length of the vector */
+);
+
+void set_s(
+ int16_t y[], /* i/o: Vector to set */
+ const int16_t a, /* i : Value to set the vector to */
+ const int16_t N /* i : Lenght of the vector */
+);
+
+void set_l(
+ int32_t y[], /* i/o: Vector to set */
+ const int32_t a, /* i : Value to set the vector to */
+ const int16_t N /* i : Length of the vector */
+);
+
+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 */
+);
+
+void set_zero_fx(
+ Word32 *vec, /* o : input vector */
+ const Word16 lvec /* i : length of the vector */
+);
+void set_zero2_fx(
+ Word32 *vec, /* o : input vector */
+ const Word32 lvec /* i : length of the vector */
+);
+void set16_zero_fx(
+ Word16 *vec, /* o : input vector */
+ const Word16 lvec /* i : length of the vector */
+);
+
+void set_zero(
+ float *vec, /* o : input vector */
+ const int16_t lvec /* i : length of the vector */
+);
+
+void mvr2r(
+ const float x[], /* i : input vector */
+ float y[], /* o : output vector */
+ const int16_t n /* i : vector size */
+);
+
+void mvs2s(
+ const int16_t x[], /* i : input vector */
+ int16_t y[], /* o : output vector */
+ const int16_t n /* i : vector size */
+);
+
+uint32_t mvr2s(
+ const float x[], /* i : input vector */
+ int16_t y[], /* o : output vector */
+ const int16_t n /* i : vector size */
+);
+
+void mvs2r(
+ const int16_t x[], /* i : input vector */
+ float y[], /* o : output vector */
+ const int16_t n /* i : vector size */
+);
+
+void mvl2l(
+ const int32_t x[], /* i : input vector */
+ int32_t y[], /* o : output vector */
+ const int16_t n /* i : vector size */
+);
+
+
+/*! r: index of the maximum value in the input vector */
+int16_t maximum(
+ const float *vec, /* i : input vector */
+ const int16_t lvec, /* i : length of input vector */
+ float *max_val /* o : maximum value in the input vector */
+);
+/*! r: index of the maximum value in the input vector */
+int16_t maximumAbs(
+ const float *vec, /* i : input vector */
+ const int16_t lvec, /* i : length of input vector */
+ float *max_val /* o : maximum value in the input vector */
+);
+
+Word16 maximumAbs_l(
+ const Word32 *vec, /* i : input vector */
+ const Word16 lvec, /* i : length of input vector */
+ Word32 *max_val /* o : maximum value in the input vector */
+);
+
+/*! r: index of the minimum value in the input vector */
+int16_t minimum(
+ const float *vec, /* i : input vector */
+ const int16_t lvec, /* i : length of input vector */
+ float *min_val /* o : minimum value in the input vector */
+);
+
+/*! r: index of the minimum value in the input vector */
+int16_t minimum_s(
+ const int16_t *vec, /* i : Input vector */
+ const int16_t lvec, /* i : Vector length */
+ int16_t *min_val /* o : minimum value in the input vector */
+);
+
+/*! r: return index with max energy value in vector */
+int16_t emaximum(
+ const float *vec, /* i : input vector */
+ const int16_t lvec, /* i : length of input vector */
+ float *ener_max /* o : maximum energy value */
+);
+
+/*! r: vector mean */
+float mean(
+ const float *vec, /* i : input vector */
+ const int16_t lvec /* i : length of input vector */
+);
+
+/*! r: dot product of x[] and y[] */
+float dotp(
+ const float x[], /* i : vector x[] */
+ const float y[], /* i : vector y[] */
+ const int16_t n /* i : vector length */
+);
+
+void v_add(
+ const float x1[], /* i : Input vector 1 */
+ const float x2[], /* i : Input vector 2 */
+ float y[], /* o : Output vector that contains vector 1 + vector 2 */
+ const int16_t N /* i : Vector length */
+);
+
+void v_sub(
+ const float x1[], /* i : Input vector 1 */
+ const float x2[], /* i : Input vector 2 */
+ float y[], /* o : Output vector that contains vector 1 - vector 2 */
+ const int16_t N /* i : Vector length */
+);
+
+/*! r: dequanzited gain */
+float usdequant(
+ const int16_t idx, /* i : quantizer index */
+ const float qlow, /* i : lowest codebook entry (index 0) */
+ const float delta /* i : quantization step */
+);
+
+void sort(
+ uint16_t *x, /* i/o: Vector to be sorted */
+ uint16_t len /* i/o: vector length */
+);
+
+void sort_l(
+ Word32 *x, /* i/o: Vector to be sorted */
+ Word16 len /* i/o: vector length */
+);
+
+
+ivas_error push_indice(
+ BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */
+ int16_t id, /* i : ID of the indice */
+ uint16_t value, /* i : value of the quantized indice */
+ int16_t nb_bits /* i : number of bits used to quantize the indice */
+);
+
+ivas_error push_next_indice(
+ BSTR_ENC_HANDLE hBstr,
+ UWord16 value, /* i : value of the quantized indice */
+ Word16 nb_bits /* i : number of bits used to quantize the indice */
+);
+
+ivas_error push_next_bits(
+ 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 */
+);
+
+/*! r: maximum number of indices */
+Word16 get_ivas_max_num_indices_fx(
+ const IVAS_FORMAT ivas_format, /* i : IVAS format */
+ const Word32 ivas_total_brate /* i : IVAS total bitrate */
+);
+
+/*! r: maximum number of indices */
+int16_t get_BWE_max_num_indices(
+ const int32_t extl_brate /* i : extensiona layer bitrate */
+);
+
+/*! r: maximum number of indices */
+Word16 get_ivas_max_num_indices_metadata_fx(
+ const IVAS_FORMAT ivas_format, /* i : IVAS format */
+ const Word32 ivas_total_brate /* i : IVAS total bitrate */
+);
+ivas_error ind_list_realloc(
+ INDICE_HANDLE old_ind_list, /* i : pointer to the beginning of the old buffer of indices */
+ const int16_t max_num_indices, /* i : new maximum number of allowed indices in the list */
+ Encoder_Struct *st_ivas /* i : IVAS encoder structure */
+);
+
+ivas_error check_ind_list_limits(
+ BSTR_ENC_HANDLE hBstr /* i/o: encoder bitstream handle */
+);
+
+void move_indices(
+ INDICE_HANDLE old_ind_list, /* i/o: old location of indices */
+ INDICE_HANDLE new_ind_list, /* i/o: new location of indices */
+ const int16_t nb_indices /* i : number of moved indices */
+);
+
+/*! r: index of the indice in the list, -1 if not found */
+int16_t find_indice(
+ BSTR_ENC_HANDLE hBstr, /* i : encoder bitstream handle */
+ const int16_t id, /* i : ID of the indice */
+ uint16_t *value, /* o : value of the quantized indice */
+ int16_t *nb_bits /* o : number of bits used to quantize the indice */
+);
+
+/*! r: number of deleted indices */
+uint16_t delete_indice(
+ BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */
+ const int16_t id /* i : ID of the indice */
+);
+
+/*! r: value of the indice */
+uint16_t get_next_indice(
+ Decoder_State *st, /* i/o: decoder state structure */
+ int16_t nb_bits /* i : number of bits that were used to quantize the indice */
+);
+
+/*! r: value of the indice */
+uint16_t get_next_indice_1(
+ Decoder_State *st /* i/o: decoder state structure */
+);
+
+void get_next_indice_tmp(
+ Decoder_State *st, /* o : decoder state structure */
+ int16_t nb_bits /* i : number of bits that were used to quantize the indice */
+);
+
+/*! r: value of the indice */
+uint16_t get_indice(
+ Decoder_State *st, /* i/o: decoder state structure */
+ int16_t pos, /* i : absolute position in the bitstream */
+ int16_t nb_bits /* i : number of bits that were used to quantize the indice */
+);
+
+void reset_indices_enc(
+ BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */
+ const int16_t max_num_indices /* i : max number of indices */
+);
+
+void reset_indices_dec(
+ Decoder_State *st /* i/o: decoder state structure */
+);
+
+Word16 rate2EVSmode_float(
+ const Word32 brate, /* i : bitrate */
+ int16_t *is_amr_wb /* o : (flag) does the bitrate belong to AMR-WB? Can be NULL */
+);
+
+
+/*! r: 1 = OK, 0 = something wrong */
+ivas_error read_indices(
+ Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */
+ uint16_t bit_stream[], /* i : bitstream buffer */
+ UWord16 num_bits, /* i : number of bits in bitstream */
+ int16_t *prev_ft_speech,
+ int16_t *CNG,
+ int16_t bfi /* i : bad frame indicator */
+);
+
+
+void ivas_set_bitstream_pointers(
+ Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */
+);
+
+Decoder_State **reset_elements(
+ Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */
+);
+
+void mdct_switching_dec_ivas_fx(
+ Decoder_State *st /* i/o: decoder state structure */
+);
+
+int16_t print_disclaimer(
+ FILE *fPtr );
+
+void fft_rel(
+ float x[], /* i/o: input/output vector */
+ const int16_t n, /* i : vector length */
+ const int16_t m /* i : log2 of vector length */
+);
+
+void preemph_ivas_fx(
+ Word32 *signal, /* i/o: signal Qx*/
+ const Word16 mu, /* i : preemphasis factor Q15*/
+ const Word16 L, /* i : vector size Q0*/
+ Word32 *mem /* i/o: memory (x[-1]) Qx*/
+);
+
+void create_offset(
+ UWord32 *offset_scale1,
+ UWord32 *offset_scale2,
+ const int16_t mode,
+ const int16_t prediction_flag );
+
+void BASOP_cfft_ivas(
+ Word32 *re, /* i/o: real part */
+ Word32 *im, /* i/o: imag part */
+ Word16 s, /* i : stride real and imag part */
+ Word16 *scale /* i : scalefactor */
+);
+
+Word32 ar_div_ivas(
+ Word32 num,
+ Word32 denum );
+
+Word32 Mult_32_16(
+ Word32 a,
+ Word16 b );
+
+Word32 Mult_32_32(
+ Word32 a,
+ Word32 b );
+
+
+void bit_allocation_second_fx2(
+ Word32 *Rk,
+ Word32 *Rk_sort,
+ Word16 BANDS,
+ const Word16 *band_width,
+ Word16 *k_sort,
+ Word16 *k_num,
+ const Word16 *p2a_flags,
+ const Word16 p2a_bands,
+ const Word16 *last_bitalloc,
+ const Word16 input_frame );
+
+void bit_allocation_second_fx2(
+ Word32 *Rk,
+ Word32 *Rk_sort,
+ Word16 BANDS,
+ const Word16 *band_width,
+ Word16 *k_sort,
+ Word16 *k_num,
+ const Word16 *p2a_flags,
+ const Word16 p2a_bands,
+ const Word16 *last_bitalloc,
+ const Word16 input_frame );
+
+#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_ivas_fx(
+ Encoder_State *st, /* i/o: state structure */
+ Encoder_Struct *st_ivas, /* i/o: encoder state structure */
+ const Word16 idchan, /* i : channel ID */
+ const Word16 var_SID_rate_flag, /* i : flag for variable SID update rate */
+ const Word16 interval_SID, /* i : interval for SID update */
+ const Word16 vad_only_flag, /* i : flag to indicate front-VAD structure */
+ const ISM_MODE ism_mode, /* i : ISM mode */
+ const Word32 element_brate /* i : element bitrate */
+);
+
+ivas_error acelp_core_enc_ivas_fx(
+ Encoder_State *st, /* i/o: encoder state structure */
+ const Word16 inp[], /* i : input signal of the current frame Q_new*/
+ 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*/
+ Word16 lsp_new[M], /* i : LSPs at the end of the frame Q15*/
+ Word16 lsp_mid[M], /* i : LSPs in the middle of the frame Q15*/
+ const Word16 vad_hover_flag, /* i : VAD hangover flag Q0*/
+ const Word16 attack_flag, /* i : attack flag (GSC or TC) Q0*/
+ Word32 bwe_exc_extended_fx[], /* i/o: bandwidth extended excitation st->prev_Q_bwe_exc*/
+ Word16 *voice_factors_fx, /* o : voicing factors Q15*/
+ Word16 old_syn_12k8_16k[], /* o : intermediate ACELP synthesis at 12.8kHz or 16kHz to be used by SWB BWE q_old_syn_12k8_16*/
+ Word16 *q_old_syn_12k8_16,
+ Word16 pitch_buf[NB_SUBFR16k], /* o : floating pitch for each subframe Q6*/
+ Word16 *unbits, /* o : number of unused bits Q0*/
+ STEREO_TD_ENC_DATA_HANDLE hStereoTD, /* i/o: TD stereo encoder handle */
+ Word16 tdm_lsfQ_PCh[M], /* i : Q LSFs for primary channel X2.56*/
+ Word16 Q_new );
+
+void flip_and_downmix_generic_fx_32(
+ Word32 input[], /* i : input spectrum Qx*/
+ Word32 output[], /* o : output spectrum Qx*/
+ const Word16 length, /* i : length of spectra */
+ Word32 mem1_ext[HILBERT_ORDER1], /* i/o: memory Qx*/
+ Word32 mem2_ext[2 * HILBERT_ORDER2], /* i/o: memory Qx*/
+ Word32 mem3_ext[2 * HILBERT_ORDER2], /* i/o: memory Qx*/
+ Word16 *phase_state /* i/o: Phase state in case frequency isn't multiple of 50 Hz */
+);
+
+void GenTransition_fixed(
+ TD_BWE_DEC_HANDLE hBWE_TD, /* i/o: TD BWE data handle */
+ Word32 *outputHB_fx, /* o : synthesized HB transitions signal : Q11 */
+ const Word32 output_Fs, /* i : output sampling rate : Q0 */
+ const Word16 element_mode, /* i : element mode : Q0 */
+ const Word16 L_frame, /* i : ACELP frame length : Q0 */
+ const Word16 rf_flag, /* i : RF flag : Q0 */
+ const Word32 total_brate, /* i : total bitrate : Q0 */
+ const Word16 prev_Qx );
+
+void GenTransition_WB_fixed(
+ TD_BWE_DEC_HANDLE hBWE_TD, /* i/o: TD BWE data handle */
+ Word32 *outputHB_fx, /* o : synthesized HB transitions signal : Q11 */
+ const Word32 output_Fs /* i : output sampling rate */
+);
+
+Word16 quant_2p_2N1_fx( /* o: return (2*N)+1 bits */
+ const Word16 pos1, /* i: position of the pulse 1 */
+ const Word16 pos2, /* i: position of the pulse 2 */
+ const Word16 N /* i: number of bits FOR position */
+);
+
+void bands_and_bit_alloc_ivas_fx(
+ const Word16 cor_strong_limit, /* i : HF correlation */
+ const Word16 noise_lev, /* i : dwn scaling factor */
+ const Word32 core_brate, /* i : core bit rate */
+ const Word16 Diff_len, /* i : Lenght of the difference signal (before pure spectral)*/
+ const Word16 bits_used, /* i : Number of bit used before frequency Q */
+ Word16 *bit, /* i/o: Number of bit allowed for frequency quantization */
+ const Word16 *Ener_per_bd_iQ, /* i/o: Quantized energy vector */
+ Word16 *max_ener_band, /* o : Sorted order */
+ Word16 *out_bits_per_bands, /* i/o: Number of bit allowed per allowed subband Q3 */
+ Word16 *nb_subbands, /* o : Number of subband allowed */
+ const Word16 *exc_diff, /* i : Difference signal to quantize (encoder side only) */
+ Word16 *concat_in, /* o : Concatened PVQ's input vector (encoder side only) */
+ Word16 *pvq_len, /* o : Number of bin covered with the PVQ */
+ const Word16 coder_type, /* i : coding type */
+ const Word16 bwidth, /* i : input signal bandwidth */
+ const Word16 GSC_noisy_speech, /* i : GSC noisy speech flag */
+ const Word16 L_frame, /* i : frame length */
+ const Word16 element_mode, /* i : element mode */
+ const Word16 GSC_IVAS_mode /* i : GSC IVAS mode */
+);
+
+void ivas_find_wsp_fx(
+ const Word16 L_frame, /* i : length of the frame Q0*/
+ const Word16 L_subfr, /* i : length of subframe Q0*/
+ const Word16 nb_subfr, /* i : number of subframes Q0*/
+ const Word16 *A_fx,
+ /* i : A(z) filter coefficients */ // Q12
+ Word16 *Aw_fx,
+ /* o : weighted A(z) filter coefficients */ // Q12
+ const Word16 *speech_fx,
+ /* i : pointer to the denoised speech frame */ // Q_new
+ const Word16 tilt_fact,
+ /* i : tilt factor */ // Q15
+ Word16 *wsp_fx,
+ /* o : poitnter to the weighted speech frame */ // Q_new
+ Word16 *mem_wsp_fx,
+ /* i/o: W(Z) denominator memory */ // Q_new
+ const Word16 gamma,
+ /* i : weighting factor */ // Q15
+ const Word16 L_look /* i : look-ahead Q0*/
+);
+
+Word16 RCcontextMapping_encode2_estimate_bandWise_start_fx(
+ Word16 *x, /* Q0 */
+ const Word16 nt, /* Q0 */
+ const Word16 target, /* Q0 */
+ HANDLE_RC_CONTEXT_MEM hContextMem );
+
+Word16 RCcontextMapping_encode2_estimate_bandWise_fx(
+ Word16 *x, /* Q0 */
+ const Word16 start_line, /* Q0 */
+ const Word16 end_line, /* Q0 */
+ HANDLE_RC_CONTEXT_MEM hContextMem /* Q0 */
+);
+
+
+/*! r: Q15 */
+Word16 expfp_evs_fx(
+ const Word16 x, /* i : mantissa Q15-e */
+ const Word16 x_e /* i : exponent Q0 */
+);
+
+
+void tcx_arith_render_envelope_ivas_fx(
+ const Word16 A_ind[], /* i : LPC coefficients of signal envelope Q12*/
+ const Word16 L_frame, /* i : number of spectral lines Q0*/
+ const Word16 L_spec, /* i : length of the coded spectrum Q0*/
+ const Word16 preemph_fac, /* i : pre-emphasis factor Q15*/
+ const Word16 gamma_w, /* i : A_ind -> weighted envelope factor Q15*/
+ const Word16 gamma_uw, /* i : A_ind -> non-weighted envelope factor Q14*/
+ Word32 env[] /* o : shaped signal envelope Q16*/
+);
+
+void tcx_arith_decode_envelope_ivas_fx(
+ Decoder_State *st, /* i/o: coder state */
+ Word32 q_spectrum[], /* o : quantised MDCT coefficients */
+ Word16 *q_spectrum_e, /* o : MDCT exponent */
+ const Word16 L_frame, /* i : frame or MDCT length */
+ Word16 L_spec, /* i : length w/o BW limitation */
+ const Word16 A_ind[], /* i : quantised LPC coefficients */
+ const Word16 target_bits, /* i : number of available bits */
+ Word16 prm[], /* i : bitstream parameters */
+ const Word16 use_hm, /* i : use HM in current frame? */
+ const Word16 prm_hm[], /* i : HM parameter area */
+ Word16 tcxltp_pitch, /* i : TCX LTP pitch in FD, -1 if n/a*/
+ Word16 *arith_bits, /* o : bits used for ari. coding */
+ Word16 *signaling_bits, /* o : bits used for signaling */
+ const Word16 low_complexity /* i : low-complexity flag */
+);
+
+
+void UnmapIndex_fx(
+ const Word16 PeriodicityIndex, /* Q0 */
+ const Word16 Bandwidth, /* Q0 */
+ const Word16 LtpPitchLag, /* Q0 */
+ const Word8 SmallerLags, /* Q0 */
+ Word16 *FractionalResolution, /* Q0 */
+ Word32 *Lag /* Q0 */
+);
+
+#define GET_ADJ( T, L ) GET_ADJ2( T, L, *FractionalResolution )
+#define GET_ADJ2( T, L, F ) ( ( ( L ) << ( F ) ) - ( T ) )
+
+
+Word32 tcx_hm_render_fx(
+ const Word32 lag, /* i: pitch lag Q0 */
+ const Word16 fract_res, /* i: fractional resolution of the lag Q0 */
+ Word16 p[] /* o: harmonic model Q13 */
+);
+
+
+void tcx_hm_modify_envelope_fx(
+ const Word16 gain, /* i: HM gain Q11 */
+ const Word32 lag, /* i: pitch lag Q0 */
+ const Word16 fract_res, /* i: fractional resolution of the lag Q0 */
+ const Word16 p[], /* i: harmonic model Q13 */
+ Word32 env[], /* i/o: envelope Q16 */
+ const Word16 L_frame /* i: number of spectral lines Q0 */
+);
+
+void tcx_hm_decode(
+ const Word16 L_frame, /* i : number of spectral lines */
+ Word32 env[], /* i/o: envelope shape (Q16) */
+ const Word16 targetBits, /* i : target bit budget */
+ const Word16 coder_type, /* i : GC/VC coder type */
+ const Word16 prm_hm[], /* i : HM parameters */
+ const Word16 LtpPitchLag, /* i : LTP pitch lag or -1 if none */
+ Word16 *hm_bits /* o : bit consumption */
+);
+
+void writeTCXMode_fx(
+ Encoder_State *st, /* i/o: encoder state structure */
+ BSTR_ENC_HANDLE hBstr, /* i/o: bitstream handle */
+ const Word16 MCT_flag, /* i : hMCT handle allocated (1) or not (0) Q0*/
+ Word16 *nbits_start /* o : nbits start Q0*/
+);
+
+void writeTCXWindowing_fx(
+ BSTR_ENC_HANDLE hBstr, /* i/o: bitstream handle */
+ const Word16 overlap_mode /* i : overlap mode Q0*/
+);
+
+void writeLPCparam(
+ Encoder_State *st, /* i/o: encoder state structure */
+ BSTR_ENC_HANDLE hBstr, /* i/o: bitstream handle */
+ const int16_t param_lpc[], /* i : LPC parameters to write */
+ const int16_t bits_param_lpc[], /* i : bits per LPC parameter */
+ const int16_t no_param_lpc, /* i : number of LPC parameters */
+ int16_t *nbits_lpc /* o : LPC bits written */
+);
+
+void const *GetTnsOnWhite( void const *p, const int16_t index, int16_t *pValue );
+void *SetTnsOnWhite( void *p, const int16_t index, const int16_t value );
+void const *GetNumOfTnsFilters_flt( void const *p, const int16_t index, int16_t *pValue );
+void *SetNumOfTnsFilters_flt( void *p, const int16_t index, const int16_t value );
+
+int16_t DecodeSWBTCX10TnsFilterCoeff_flt( Decoder_State *st, const int16_t index, int16_t *pValue );
+int16_t DecodeSWBTCX20TnsFilterCoeff_flt( Decoder_State *st, const int16_t index, int16_t *pValue );
+
+int16_t DecodeWBTCX20TnsFilterCoeff_flt( Decoder_State *st, const int16_t index, int16_t *pValue );
+
+int16_t DecodeTnsFilterOrderSWBTCX10_flt( Decoder_State *st, const int16_t index, int16_t *pValue );
+int16_t DecodeTnsFilterOrderSWBTCX20_flt( Decoder_State *st, const int16_t index, int16_t *pValue );
+
+int16_t EncodeTnsFilterOrderSWBTCX10_flt( const int16_t value, const int16_t index );
+
+int16_t GetTnsFilterOrderBitsSWBTCX10_flt( const int16_t value, const int16_t index );
+int16_t DecodeTnsFilterOrder_flt( Decoder_State *st, const int16_t index, int16_t *pValue );
+
+void ResetTnsData_flt(
+ STnsData *pTnsData );
+
+void ClearTnsFilterCoefficients_flt(
+ STnsFilter *pTnsFilter );
+
+void EncodeTnsData(
+ STnsConfig const *pTnsConfig, /* i : TNS Configuration struct */
+ STnsData const *pTnsData, /* i : TNS data struct (quantized param) */
+ Word16 *stream, /* o : internal data stream */
+ Word16 *pnSize, /* o : number of written parameters */
+ Word16 *pnBits /* o : number of written bits */
+);
+
+Word16 DecodeTnsData_ivas(
+ STnsConfig const *pTnsConfig,
+ const Word16 *stream,
+ Word16 *pnSize,
+ STnsData *pTnsData );
+
+void WriteTnsData(
+ const STnsConfig *pTnsConfig, /* i : TNS Configuration struct */
+ const Word16 *stream, /* i : internal data stream */
+ Word16 *pnSize, /* o : number of written parameters */
+ BSTR_ENC_HANDLE hBstr, /* o : bitstream */
+ Word16 *pnBits /* o : number of written bits */
+);
+
+void ReadTnsData_ivas(
+ STnsConfig const *pTnsConfig,
+ Decoder_State *st,
+ Word16 *pnBits,
+ Word16 *stream,
+ Word16 *pnSize );
+
+void analysisCldfbEncoder_ivas_fx(
+ Encoder_State *st, /* i/o: encoder state structure */
+ Word32 *timeIn, /*q11*/
+ Word16 timeInq, /*q0*/
+ Word16 samplesToProcess, /*q0*/
+ Word32 realBuffer[CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX],
+ Word32 imagBuffer[CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX],
+ Word16 realBuffer16[CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX],
+ Word16 imagBuffer16[CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX],
+ Word32 *ppBuf_Ener,
+ Word16 *enerBuffSum_exp,
+ CLDFB_SCALE_FACTOR *scale );
+
+ivas_error openCldfb_ivas(
+ HANDLE_CLDFB_FILTER_BANK *h_cldfb, /* i/o: filter bank handle */
+ CLDFB_TYPE type, /* i : analysis or synthesis */
+ const int32_t sampling_rate, /* i : sampling rate */
+ CLDFB_PROTOTYPE prototype /* i : CLDFB version (1.25ms/5ms delay) */
+);
+
+ivas_error openCldfb_ivas_enc(
+ HANDLE_CLDFB_FILTER_BANK *h_cldfb, /* i/o: filter bank handle */
+ CLDFB_TYPE type, /* i : analysis or synthesis */
+ const Word32 sampling_rate, /* i : sampling rate */
+ CLDFB_PROTOTYPE prototype /* i : CLDFB version (1.25ms/5ms delay) */
+);
+
+void resampleCldfb_ivas(
+ HANDLE_CLDFB_FILTER_BANK hs, /* i/o: filter bank handle */
+ const Word32 newSamplerate /* i : new samplerate to operate */
+);
+
+ivas_error cldfb_save_memory_ivas(
+ HANDLE_CLDFB_FILTER_BANK hs /* i/o: filter bank handle */
+);
+
+void deleteCldfb_ivas(
+ HANDLE_CLDFB_FILTER_BANK *h_cldfb /* i/o: filter bank handle */
+);
+
+/*! r: flag indicating a valid bitrate */
+Word16 is_EVS_bitrate(
+ const Word32 ivas_total_brate, /* i : EVS total bitrate */
+ Word16 *Opt_AMR_WB /* i : AMR-WB IO flag */
+);
+
+void IGFEncResetTCX10BitCounter_ivas_fx(
+ const IGF_ENC_INSTANCE_HANDLE hIGFEnc /* i : instance handle of IGF Encoder */
+);
+
+ivas_error IGF_Reconfig(
+ IGF_ENC_INSTANCE_HANDLE *hIGFEnc, /* i/o: instance handle of IGF Encoder */
+ const Word16 igf, /* i : IGF on/off */
+ const Word16 reset, /* i : reset flag */
+ const Word32 brate, /* i : bitrate for configuration */
+ const Word16 bwidth, /* i : signal bandwidth */
+ const Word16 element_mode, /* i : IVAS element mode */
+ const Word16 rf_mode /* i : flag to signal the RF mode */
+);
+
+void ordr_esti(
+ const Word16 k, /* i : sub-vector index */
+ Word16 *Mpos, /* i/o: dominant sub-vector position from ACV */
+ Word16 svOrder[], /* i/o: AVQ sub-vector order */
+ const Word16 Nsv /* i : total sub-vectors in a sub-frames */
+);
+
+/*===========================================================================================*/
+#endif
diff --git a/lib_com/pvq_com_fx.c b/lib_com/pvq_com_fx.c
index ed914f2a159085a0359e1951557f5ff2ffb59e4b..479bc04d9c357ca0101de7e154b903b3e4d75924 100644
--- a/lib_com/pvq_com_fx.c
+++ b/lib_com/pvq_com_fx.c
@@ -4,7 +4,6 @@
#include
#include "options.h" /* Compilation switches */
#include "prot_fx.h" /* Function prototypes */
-#include "prot.h" /* Function prototypes */
#include "cnst.h" /* Common constants */
#include "rom_com.h" /* Static table prototypes */
diff --git a/lib_com/residu_fx.c b/lib_com/residu_fx.c
index 665dbfae622164864d8dd41dce80d9254ed1c263..32d18d1feb543401666d751fb554240dce4e8e6f 100644
--- a/lib_com/residu_fx.c
+++ b/lib_com/residu_fx.c
@@ -7,7 +7,6 @@
#include "cnst.h" /* Common constants */
#include "rom_com.h" /* Static table prototypes */
#include "prot_fx.h"
-#include "prot.h"
/*--------------------------------------------------------------------*
* residu_ivas_fx()
diff --git a/lib_com/rom_com.c b/lib_com/rom_com.c
index bad47f0659a392b758428ff3284aad3228dee9d8..172dadf82da9d517192d902c04d101cc1f3c6453 100644
--- a/lib_com/rom_com.c
+++ b/lib_com/rom_com.c
@@ -38,10 +38,9 @@
#include "options.h"
#include "cnst.h"
#include "rom_com.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "basop_util.h"
#include "wmc_auto.h"
-#include "prot_fx.h"
/* clang-format off */
diff --git a/lib_com/rom_com_fx.c b/lib_com/rom_com_fx.c
index 6116588846bb66eca53cc1f41ed7ef8870094cd3..49f50e1622ba4a26b851bc236695c6e4b472078d 100644
--- a/lib_com/rom_com_fx.c
+++ b/lib_com/rom_com_fx.c
@@ -38,7 +38,7 @@
EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0
====================================================================================*/
-#include "prot.h"
+#include "prot_fx.h"
#include "basop_util.h"
#include "wmc_auto.h"
#include "rom_com_fx.h"
diff --git a/lib_com/swb_tbe_com.c b/lib_com/swb_tbe_com.c
index 2aa781a43d661d9fe53b5f244aaf56229a056078..1f112c9110f1ac20abd5a854fd8ab0f1777042b1 100644
--- a/lib_com/swb_tbe_com.c
+++ b/lib_com/swb_tbe_com.c
@@ -38,7 +38,6 @@
#include "options.h"
#include
#include "cnst.h"
-#include "prot.h"
#include "prot_fx.h"
#include "rom_com.h"
#include "wmc_auto.h"
diff --git a/lib_com/swb_tbe_com_fx.c b/lib_com/swb_tbe_com_fx.c
index 6cdf1185ade75e8eeecc06865dbb904e990bcdbe..7e9471c45b04a77a33f67679e751f60168fc5a05 100644
--- a/lib_com/swb_tbe_com_fx.c
+++ b/lib_com/swb_tbe_com_fx.c
@@ -7,7 +7,6 @@
#include "options.h"
#include "cnst.h" /* Common constants */
#include "rom_com.h" /* Static table prototypes */
-#include "prot.h"
#include "prot_fx.h"
#include "basop_util.h"
#include "ivas_prot_fx.h"
diff --git a/lib_com/tcx_mdct_window.c b/lib_com/tcx_mdct_window.c
index cececd8f5228da3cc6c000f11b8866edda7ae1dd..44ce806f73305390709b042c43728ab19ae3aab0 100644
--- a/lib_com/tcx_mdct_window.c
+++ b/lib_com/tcx_mdct_window.c
@@ -39,7 +39,6 @@
#include "options.h"
#include
#include "cnst.h"
-#include "prot.h"
#include "prot_fx.h"
#include "rom_com.h"
#include "wmc_auto.h"
diff --git a/lib_com/tcx_utils_fx.c b/lib_com/tcx_utils_fx.c
index 4e40e4ab2d30843044c2c715bb0624e7984d2e37..c5ff95e04e68c7904a93ddc7444440333131cded 100644
--- a/lib_com/tcx_utils_fx.c
+++ b/lib_com/tcx_utils_fx.c
@@ -9,7 +9,6 @@
#include "rom_com.h"
#include "rom_basop_util.h"
#include "basop_util.h"
-#include "prot.h"
#define inv_int InvIntTable
diff --git a/lib_com/tns_base.c b/lib_com/tns_base.c
index 515746bd5fbd8cde2712c4300e049a7415ae96c9..101bc1df8b6552407c352786dc2e08dd79ec5ec0 100644
--- a/lib_com/tns_base.c
+++ b/lib_com/tns_base.c
@@ -12,7 +12,6 @@
#include "rom_com.h"
#include "prot_fx.h"
#include "basop_util.h"
-#include "prot.h"
/*----------------------------------------------------------------------------
* Local constants
diff --git a/lib_com/tools.c b/lib_com/tools.c
index 4d9f5e956e17d513f53624c4a71769e7de8dd443..e4ccd9955ff0ec12a935b289f98e151da54c2be2 100644
--- a/lib_com/tools.c
+++ b/lib_com/tools.c
@@ -37,7 +37,6 @@
#include
#include "options.h"
#include
-#include "prot.h"
#include "prot_fx.h"
#include "wmc_auto.h"
@@ -136,23 +135,6 @@ int16_t sum_s(
return tmp;
}
-/*! r: sum of all vector elements */
-int32_t sum_l(
- const int32_t *vec, /* i : input vector */
- const int16_t lvec /* i : length of input vector */
-)
-{
- int16_t i;
- int32_t tmpL;
-
- tmpL = 0;
- for ( i = 0; i < lvec; i++ )
- {
- tmpL += vec[i];
- }
-
- return tmpL;
-}
/*! r: sum of all vector elements */
Word32 sum_l_fx(
const Word32 *vec, /* i : input vector */
@@ -171,23 +153,6 @@ Word32 sum_l_fx(
return tmpL;
}
-/*! r: sum of all vector elements */
-float sum_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];
- }
-
- return tmp;
-}
/*----------------------------------------------------------------------
* sum2_f()
@@ -228,22 +193,6 @@ Word32 sum2_f_16_gb_fx(
return tmp;
}
-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;
-}
Word32 sum2_16_exp_fx(
const Word16 *vec, /* i : input vector Q(15 - exp) */
@@ -532,101 +481,6 @@ void mvs2s(
return;
}
-uint32_t mvr2s(
- const float x[], /* i : input vector */
- int16_t y[], /* o : output vector */
- const int16_t n /* i : vector size */
-)
-{
- int16_t i;
- float temp;
- uint32_t noClipping = 0;
-
- if ( n <= 0 )
- {
- /* cannot transfer vectors with size 0 */
- return 0;
- }
-
- if ( (void *) y <= (const void *) x )
- {
- for ( i = 0; i < n; i++ )
- {
- temp = x[i];
- temp = (float) floor( temp + 0.5f );
-
- if ( temp > MAX16B_FLT )
- {
- temp = MAX16B_FLT;
- noClipping++;
- }
- else if ( temp < MIN16B_FLT )
- {
- temp = MIN16B_FLT;
- noClipping++;
- }
-
- y[i] = (int16_t) temp;
- }
- }
- else
- {
- for ( i = n - 1; i >= 0; i-- )
- {
- temp = x[i];
- temp = (float) floor( temp + 0.5f );
-
- if ( temp > MAX16B_FLT )
- {
- temp = MAX16B_FLT;
- noClipping++;
- }
- else if ( temp < MIN16B_FLT )
- {
- temp = MIN16B_FLT;
- noClipping++;
- }
-
- y[i] = (int16_t) temp;
- }
- }
-
- return noClipping;
-}
-
-void mvs2r(
- const int16_t 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 ( (void *) y < (const void *) x )
- {
- for ( i = 0; i < n; i++ )
- {
- y[i] = (float) x[i];
- }
- }
- else
- {
- for ( i = n - 1; i >= 0; i-- )
- {
- y[i] = (float) x[i];
- }
- }
-
- return;
-}
-
-
void mvl2l(
const int32_t x[], /* i : input vector */
int32_t y[], /* o : output vector */
@@ -659,44 +513,6 @@ void mvl2l(
return;
}
-
-/*---------------------------------------------------------------------*
- * maximum()
- *
- * Find index and value of the maximum in a vector
- *---------------------------------------------------------------------*/
-
-/*! r: index of the maximum value in the input vector */
-int16_t maximum(
- const float *vec, /* i : input vector */
- const int16_t lvec, /* i : length of input vector */
- float *max_val /* o : maximum value in the input vector */
-)
-{
- int16_t j, ind;
- float tmp;
-
- ind = 0;
- tmp = vec[0];
-
- for ( j = 1; j < lvec; j++ )
- {
- if ( vec[j] > tmp )
- {
- ind = j;
- tmp = vec[j];
- }
- }
-
- if ( max_val != NULL )
- {
- *max_val = tmp;
- }
-
- return ind;
-}
-
-
/*! r: index of the maximum value in the input vector */
Word16 maximum_s(
const Word16 *vec, /* i : input vector */
@@ -766,42 +582,6 @@ Word16 maximum_l(
return ind;
}
-/*---------------------------------------------------------------------*
- * maximumAbs()
- *
- * Find index and value of the maximum in a vector
- *---------------------------------------------------------------------*/
-
-/*! r: index of the maximum value in the input vector */
-int16_t maximumAbs(
- const float *vec, /* i : input vector */
- const int16_t lvec, /* i : length of input vector */
- float *max_val /* o : maximum value in the input vector */
-)
-{
- int16_t j, ind;
- float tmp;
-
- ind = 0;
- tmp = (float) fabs( vec[0] );
-
- for ( j = 1; j < lvec; j++ )
- {
- if ( (float) fabs( vec[j] ) > tmp )
- {
- ind = j;
- tmp = (float) fabs( vec[j] );
- }
- }
-
- if ( max_val != NULL )
- {
- *max_val = tmp;
- }
-
- return ind;
-}
-
/*! r: index of the maximum value in the input vector */
Word16 maximumAbs_l(
const Word32 *vec, /* i : input vector */
@@ -835,42 +615,6 @@ Word16 maximumAbs_l(
return ind;
}
-/*---------------------------------------------------------------------*
- * minimum()
- *
- * Find index of a minimum in a vector
- *---------------------------------------------------------------------*/
-
-/*! r: index of the minimum value in the input vector */
-int16_t minimum(
- const float *vec, /* i : input vector */
- const int16_t lvec, /* i : length of input vector */
- float *min_val /* o : minimum value in the input vector */
-)
-{
- int16_t j, ind;
- float tmp;
-
- ind = 0;
- tmp = vec[0];
-
- for ( j = 1; j < lvec; j++ )
- {
- if ( vec[j] < tmp )
- {
- ind = j;
- tmp = vec[j];
- }
- }
-
- if ( min_val != NULL )
- {
- *min_val = tmp;
- }
-
- return ind;
-}
-
/*-------------------------------------------------------------------*
* minimum_s()
*
@@ -988,59 +732,6 @@ Word16 minimum_l(
return ind;
}
-/*---------------------------------------------------------------------*
- * emaximum()
- *
- * Find index of a maximum energy in a vector
- *---------------------------------------------------------------------*/
-
-/*! r: return index with max energy value in vector */
-int16_t emaximum(
- const float *vec, /* i : input vector */
- const int16_t lvec, /* i : length of input vector */
- float *ener_max /* o : maximum energy value */
-)
-{
- int16_t j, ind;
- float temp;
-
- *ener_max = 0.0f;
- ind = 0;
-
- for ( j = 0; j < lvec; j++ )
- {
- temp = vec[j] * vec[j];
-
- if ( temp > *ener_max )
- {
- ind = j;
- *ener_max = temp;
- }
- }
-
- return ind;
-}
-
-
-/*---------------------------------------------------------------------*
- * mean()
- *
- * Find the mean of the vector
- *---------------------------------------------------------------------*/
-
-/*! r: mean of vector */
-float mean(
- const float *vec, /* i : input vector */
- const int16_t lvec /* i : length of input vector */
-)
-{
- float tmp;
-
- tmp = sum_f( vec, lvec ) / (float) lvec;
-
- return tmp;
-}
-
/*---------------------------------------------------------------------*
* dotp()
*
@@ -1168,114 +859,6 @@ float inv_sqrt(
return (float) ( 1.0 / sqrt( x ) );
}
-
-/*-------------------------------------------------------------------*
- * conv()
- *
- * Convolution between vectors x[] and h[] written to y[]
- * All vectors are of length L. Only the first L samples of the
- * convolution are considered.
- *-------------------------------------------------------------------*/
-
-void conv(
- const float x[], /* i : input vector */
- const float h[], /* i : impulse response (or second input vector) */
- float y[], /* o : output vetor (result of convolution) */
- const int16_t L /* i : vector size */
-)
-{
- float temp;
- int16_t i, n;
- for ( n = 0; n < L; n++ )
- {
- temp = x[0] * h[n];
- for ( i = 1; i <= n; i++ )
- {
- temp += x[i] * h[n - i];
- }
- y[n] = temp;
- }
-
- return;
-}
-
-/*-------------------------------------------------------------------*
- * fir()
- *
- * FIR filtering of vector x[] with filter having impulse response h[]
- * written to y[]
- * The input vector has length L and the FIR filter has an order of K, i.e.
- * K+1 coefficients. The memory of the input signal is provided in the vector mem[]
- * which has K values
- * The maximum length of the input signal is L_FRAME32k and the maximum order
- * of the FIR filter is L_FILT_MAX
- *-------------------------------------------------------------------*/
-
-void fir(
- const float x[], /* i : input vector */
- const float h[], /* i : impulse response of the FIR filter */
- float y[], /* o : output vector (result of filtering) */
- float mem[], /* i/o: memory of the input signal (L samples) */
- const int16_t L, /* i : input vector size */
- const int16_t K, /* i : order of the FIR filter (K+1 coefs.) */
- const int16_t upd /* i : 1 = update the memory, 0 = not */
-)
-{
- float buf_in[L_FRAME48k + 60], buf_out[L_FRAME48k], s;
- int16_t i, j;
-
- /* prepare the input buffer (copy and update memory) */
- mvr2r( mem, buf_in, K );
- mvr2r( x, buf_in + K, L );
-
- if ( upd )
- {
- mvr2r( buf_in + L, mem, K );
- }
-
- /* do the filtering */
- for ( i = 0; i < L; i++ )
- {
- s = buf_in[K + i] * h[0];
-
- for ( j = 1; j <= K; j++ )
- {
- s += h[j] * buf_in[K + i - j];
- }
-
- buf_out[i] = s;
- }
-
- /* copy to the output buffer */
- mvr2r( buf_out, y, L );
-
- return;
-}
-
-/*-------------------------------------------------------------------*
- * v_add()
- *
- * Addition of two vectors sample by sample
- *-------------------------------------------------------------------*/
-
-void v_add(
- const float x1[], /* i : Input vector 1 */
- const float x2[], /* i : Input vector 2 */
- float y[], /* o : Output vector that contains vector 1 + vector 2 */
- const int16_t N /* i : Vector length */
-)
-{
- int16_t i;
-
- for ( i = 0; i < N; i++ )
- {
- y[i] = x1[i] + x2[i];
- }
-
- return;
-}
-
-
/*-------------------------------------------------------------------*
* v_add_w64()
*
@@ -1351,55 +934,9 @@ void v_sub_fixed(
}
/*-------------------------------------------------------------------*
- * v_mult()
+ * v_multc_fixed()
*
- * Multiplication of two vectors
- *-------------------------------------------------------------------*/
-
-void v_mult(
- const float x1[], /* i : Input vector 1 */
- const float x2[], /* i : Input vector 2 */
- float y[], /* o : Output vector that contains vector 1 .* vector 2 */
- const int16_t N /* i : Vector length */
-)
-{
- int16_t i;
-
- for ( i = 0; i < N; i++ )
- {
- y[i] = x1[i] * x2[i];
- }
-
- return;
-}
-
-/*-------------------------------------------------------------------*
- * v_multc()
- *
- * Multiplication of vector by constant
- *-------------------------------------------------------------------*/
-
-void v_multc(
- const float x[], /* i : Input vector */
- const float c, /* i : Constant */
- float y[], /* o : Output vector that contains c*x */
- const int16_t N /* i : Vector length */
-)
-{
- int16_t i;
-
- for ( i = 0; i < N; i++ )
- {
- y[i] = c * x[i];
- }
-
- return;
-}
-
-/*-------------------------------------------------------------------*
- * v_multc_fixed()
- *
- * Multiplication of vector by constant
+ * Multiplication of vector by constant
*-------------------------------------------------------------------*/
void v_multc_fixed(
@@ -1456,102 +993,6 @@ void v_multc_fixed_16_16(
return;
}
-/*-------------------------------------------------------------------*
- * squant()
- *
- * Scalar quantizer according to MMSE criterion (nearest neighbour in Euclidean space)
- *
- * Searches a given codebook to find the nearest neighbour in Euclidean space.
- * Index of the winning codeword and the winning codeword itself are returned.
- *-------------------------------------------------------------------*/
-
-/*! r: index of the winning codeword */
-int16_t squant(
- const float x, /* i : scalar value to quantize */
- float *xq, /* o : quantized value */
- const float cb[], /* i : codebook */
- const int16_t cbsize /* i : codebook size */
-)
-{
- float dist, mindist, tmp;
- int16_t c, idx;
-
- idx = 0;
- mindist = 1e16f;
-
- for ( c = 0; c < cbsize; c++ )
- {
- dist = 0.0f;
- tmp = x - cb[c];
- dist += tmp * tmp;
- if ( dist < mindist )
- {
- mindist = dist;
- idx = c;
- }
- }
-
- *xq = cb[idx];
-
- return idx;
-}
-
-/*! r: index of the winning codeword */
-int16_t squant_int(
- uint8_t x, /* i : scalar value to quantize */
- uint8_t *xq, /* o : quantized value */
- const uint8_t *cb, /* i : codebook */
- const int16_t cbsize /* i : codebook size */
-)
-{
- int16_t i, idx;
- float mindist, d;
-
- idx = 0;
- mindist = 10000000.0f;
- for ( i = 0; i < cbsize; i++ )
- {
- d = (float) ( x - cb[i] ) * ( x - cb[i] );
- if ( d < mindist )
- {
- mindist = d;
- idx = i;
- }
- }
- *xq = cb[idx];
-
- return idx;
-}
-
-
-/*-------------------------------------------------------------------*
- * usquant()
- *
- * Uniform scalar quantizer according to MMSE criterion
- * (nearest neighbour in Euclidean space)
- *
- * Applies quantization based on scale and round operations.
- * Index of the winning codeword and the winning codeword itself are returned.
- *-------------------------------------------------------------------*/
-
-/*! r: index of the winning codeword */
-int16_t usquant(
- const float x, /* i : scalar value to quantize */
- float *xq, /* o : quantized value */
- const float qlow, /* i : lowest codebook entry (index 0) */
- const float delta, /* i : quantization step */
- const int16_t cbsize /* i : codebook size */
-)
-{
- int16_t idx;
-
- idx = (int16_t) max( 0.f, min( cbsize - 1, ( ( x - qlow ) / delta + 0.5f ) ) );
- *xq = idx * delta + qlow;
-
- return idx;
-}
-
-
/*-------------------------------------------------------------------*
* usdequant()
*
@@ -1573,219 +1014,6 @@ float usdequant(
return ( g );
}
-
-/*-------------------------------------------------------------------*
- * vquant()
- *
- * Vector quantizer according to MMSE criterion (nearest neighbour in Euclidean space)
- *
- * Searches a given codebook to find the nearest neighbour in Euclidean space.
- * Index of the winning codevector and the winning vector itself are returned.
- *-------------------------------------------------------------------*/
-
-/*! r: index of the winning codevector */
-int16_t vquant(
- float x[], /* i : vector to quantize */
- const float x_mean[], /* i : vector mean to subtract (0 if none) */
- float xq[], /* o : quantized vector */
- const float cb[], /* i : codebook */
- const int16_t dim, /* i : dimension of codebook vectors */
- const int16_t cbsize /* i : codebook size */
-)
-{
- float dist, mindist, tmp;
- int16_t c, d, idx, j;
-
- idx = 0;
- mindist = 1e16f;
-
- if ( x_mean != 0 )
- {
- for ( d = 0; d < dim; d++ )
- {
- x[d] -= x_mean[d];
- }
- }
-
- j = 0;
- for ( c = 0; c < cbsize; c++ )
- {
- dist = 0.0f;
- for ( d = 0; d < dim; d++ )
- {
- tmp = x[d] - cb[j++];
- dist += tmp * tmp;
- }
-
- if ( dist < mindist )
- {
- mindist = dist;
- idx = c;
- }
- }
-
- if ( xq == 0 )
- {
- return idx;
- }
-
- j = idx * dim;
- for ( d = 0; d < dim; d++ )
- {
- xq[d] = cb[j++];
- }
-
- if ( x_mean != 0 )
- {
- for ( d = 0; d < dim; d++ )
- {
- xq[d] += x_mean[d];
- }
- }
-
- return idx;
-}
-
-/*-------------------------------------------------------------------*
- * w_vquant()
- *
- * Vector quantizer according to MMSE criterion (nearest neighbour in Euclidean space)
- *
- * Searches a given codebook to find the nearest neighbour in Euclidean space.
- * Weights are put on the error for each vector element.
- * Index of the winning codevector and the winning vector itself are returned.
- *-------------------------------------------------------------------*/
-
-/*! r: index of the winning codevector */
-int16_t w_vquant(
- float x[], /* i : vector to quantize */
- const float x_mean[], /* i : vector mean to subtract (0 if none) */
- const int16_t weights[], /* i : error weights */
- float xq[], /* o : quantized vector */
- const float cb[], /* i : codebook */
- const int16_t dim, /* i : dimension of codebook vectors */
- const int16_t cbsize, /* i : codebook size */
- const int16_t rev_vect /* i : reverse codebook vectors */
-)
-{
- float dist, mindist, tmp;
- int16_t c, d, idx, j, k;
-
- idx = 0;
- mindist = 1e16f;
-
- if ( x_mean != 0 )
- {
- for ( d = 0; d < dim; d++ )
- {
- x[d] -= x_mean[d];
- }
- }
-
- j = 0;
- if ( rev_vect )
- {
- k = dim - 1;
- for ( c = 0; c < cbsize; c++ )
- {
- dist = 0.0f;
-
- for ( d = k; d >= 0; d-- )
- {
- tmp = x[d] - cb[j++];
- dist += weights[d] * ( tmp * tmp );
- }
-
- if ( dist < mindist )
- {
- mindist = dist;
- idx = c;
- }
- }
-
- if ( xq == 0 )
- {
- return idx;
- }
-
- j = idx * dim;
- for ( d = k; d >= 0; d-- )
- {
- xq[d] = cb[j++];
- }
- }
- else
- {
- for ( c = 0; c < cbsize; c++ )
- {
- dist = 0.0f;
-
- for ( d = 0; d < dim; d++ )
- {
- tmp = x[d] - cb[j++];
- dist += weights[d] * ( tmp * tmp );
- }
-
- if ( dist < mindist )
- {
- mindist = dist;
- idx = c;
- }
- }
-
- if ( xq == 0 )
- {
- return idx;
- }
-
- j = idx * dim;
- for ( d = 0; d < dim; d++ )
- {
- xq[d] = cb[j++];
- }
- }
-
- if ( x_mean != 0 )
- {
- for ( d = 0; d < dim; d++ )
- {
- xq[d] += x_mean[d];
- }
- }
-
- return idx;
-}
-
-
-/*----------------------------------------------------------------------------------*
- * v_sort()
- *
- * Sorting of vectors. This is very fast with almost ordered vectors.
- *----------------------------------------------------------------------------------*/
-
-void v_sort_float(
- float *r, /* i/o: Vector to be sorted in place */
- const int16_t lo, /* i : Low limit of sorting range */
- const int16_t up /* I : High limit of sorting range */
-)
-{
- int16_t i, j;
- float tempr;
-
- for ( i = up - 1; i >= lo; i-- )
- {
- tempr = r[i];
- for ( j = i + 1; j <= up && ( tempr > r[j] ); j++ )
- {
- r[j - 1] = r[j];
- }
-
- r[j - 1] = tempr;
- }
-
- return;
-}
-
void sort(
UWord16 *x, /* i/o: Vector to be sorted */
UWord16 len /* i/o: vector length */
@@ -1810,426 +1038,3 @@ void sort(
return;
}
-
-/*---------------------------------------------------------------------*
- * var()
- *
- * Calculate the variance of a vector
- *---------------------------------------------------------------------*/
-
-/*! r: variance of vector */
-float var(
- const float *x, /* i : input vector */
- const int16_t len /* i : length of inputvector */
-)
-{
- float m;
- float v;
- int16_t i;
-
- m = mean( x, len );
-
- v = 0.0f;
- for ( i = 0; i < len; i++ )
- {
- v += ( x[i] - m ) * ( x[i] - m );
- }
- v /= len;
-
- return v;
-}
-
-
-/*---------------------------------------------------------------------*
- * std_dev()
- *
- * Calculate the standard deviation of a vector
- *---------------------------------------------------------------------*/
-
-/*! r: standard deviation */
-float std_dev(
- const float *x, /* i : input vector */
- const int16_t len /* i : length of the input vector */
-)
-{
- int16_t i;
- float std;
-
- std = 1e-16f;
- for ( i = 0; i < len; i++ )
- {
- std += x[i] * x[i];
- }
-
- std = (float) sqrt( std / len );
-
- return std;
-}
-
-
-/*---------------------------------------------------------------------*
- * dot_product_mat()
- *
- * Calculates dot product of type x'*A*x, where x is column vector of size m,
- * and A is square matrix of size m*m
- *---------------------------------------------------------------------*/
-
-/*! r: the dot product x'*A*x */
-float dot_product_mat(
- const float *x, /* i : vector x */
- const float *A, /* i : matrix A */
- const int16_t m /* i : vector & matrix size */
-)
-{
- int16_t i, j;
- float suma, tmp_sum;
- const float *pt_x, *pt_A;
-
- pt_A = A;
- suma = 0;
-
- for ( i = 0; i < m; i++ )
- {
- tmp_sum = 0;
- pt_x = x;
- for ( j = 0; j < m; j++ )
- {
- tmp_sum += *pt_x++ * *pt_A++;
- }
-
- suma += x[i] * tmp_sum;
- }
-
- return suma;
-}
-
-
-/*--------------------------------------------------------------------------------*
- * polezero_filter()
- *
- * Y(Z)=X(Z)(b[0]+b[1]z^(-1)+..+b[L]z^(-L))/(a[0]+a[1]z^(-1)+..+a[M]z^(-M))
- * mem[n]=x[n]+cp[0]mem[n-1]+..+cp[M-1]mem[n-M], where cp[i]=-a[i+1]/a[0]
- * y[n]=cz[0]mem[n]+cz[1]mem[n-1]+..+cz[L]mem[n-L], where cz[i]=b[i]/a[0]
- * mem={mem[n-K] mem[n-K+1] . . . . mem[n-2] mem[n-1]}, where K=max(L,M)
- *
- * a[0] must be equal to 1.0f!
- *---------------------------------------------------------------------------------*/
-
-void polezero_filter(
- const float *in, /* i : input vector */
- float *out, /* o : output vector */
- const int16_t N, /* i : input vector size */
- const float *b, /* i : numerator coefficients */
- const float *a, /* i : denominator coefficients */
- const int16_t order, /* i : filter order */
- float *mem /* i/o: filter memory */
-)
-{
- int16_t i, j, k;
-
-
- for ( i = 0; i < order; i++ )
- {
- out[i] = in[i] * b[0];
- for ( j = 0; j < i; j++ )
- {
- out[i] += in[i - 1 - j] * b[j + 1] - out[i - 1 - j] * a[j + 1];
- }
-
- for ( k = order - 1; j < order; j++, k-- )
- {
- out[i] += mem[k] * b[j + 1] - mem[k + order] * a[j + 1];
- }
- }
-
- for ( ; i < N; i++ )
- {
- out[i] = in[i] * b[0];
- for ( j = 0; j < order; j++ )
- {
- out[i] += in[i - 1 - j] * b[j + 1] - out[i - 1 - j] * a[j + 1];
- }
- }
-
- for ( i = 0; i < order; i++ )
- {
- mem[i] = in[N - order + i];
- mem[i + order] = out[N - order + i];
- }
-
- return;
-}
-
-#define WMC_TOOL_SKIP
-static float fleft_shift( float input, const int16_t shift )
-{
- return ( input * (float) pow( 2.0, (double) shift ) );
-}
-
-static float fright_shift( float input, const int16_t shift )
-{
- return ( input * (float) pow( 0.5, (double) shift ) );
-}
-#undef WMC_TOOL_SKIP
-
-
-/*--------------------------------------------------------------------------------*
- * root_a()
- *
- * Implements a quadratic approximation to sqrt(a)
- * Firstly, a is normalized to lie between 0.25 & 1.0
- * by shifting the input left or right by an even number of
- * shifts. Even shifts represent powers of 4 which, after
- * the sqrt, can easily be converted to powers of 2 and are
- * easily dealt with.
- * At the heart of the algorithm is a quadratic
- * approximation of the curve sqrt(a) for 0.25 <= a <= 1.0.
- * Sqrt(a) approx = 0.27 + 1.0127 * a - 0.2864 * a^2
- *
- *---------------------------------------------------------------------------------*/
-
-float root_a(
- float a )
-{
- int16_t shift_a;
- float mod_a;
- float approx;
-
- if ( a <= 0.0f )
- {
- return 0.0;
- }
-
-#define WMC_TOOL_SKIP
- /* This next piece of code implements a "norm" function */
- /* and returns the shift needed to scale "a" to have a */
- /* 1 in the (MSB-1) position. This is equivalent to */
- /* giving a value between 0.5 & 1.0. */
- mod_a = a;
-
- shift_a = 0;
- while ( mod_a > 1.0 )
- {
- mod_a /= 2.0;
- shift_a--;
- }
-
- while ( mod_a < 0.5 )
- {
- mod_a *= 2.0;
- shift_a++;
- }
-#undef WMC_TOOL_SKIP
-
- shift_a &= 0xfffe;
- mod_a = fleft_shift( a, shift_a );
-
- approx = 0.27f + 1.0127f * mod_a - 0.2864f * mod_a * mod_a;
-
- approx = fright_shift( approx, ( shift_a >> 1 ) );
-
- return ( approx );
-}
-
-/*--------------------------------------------------------------------------------*
- * root_a_over_b()
- *
- * Implements an approximation to sqrt(a/b)
- * Firstly a & b are normalized to lie between 0.25 & 1.0
- * by shifting the inputs left or right by an even number
- * of shifts.
- * Even shifts represent powers of 4 which, after the sqrt,
- * become powers of 2 and are easily dealt with.
- * At the heart of the algorithm is an approximation of the
- * curve sqrt(a/b) for 0.25 <= a <= 1.0 & 0.25 <= b <= 1.0.
- * Given the value of b, the 2nd order coefficients p0, p1
- * & p2 can be determined so that...
- * Sqrt(a/b) approx = p0 + p1 * a + p2 * a^2
- * where p0 approx = 0.7176 - 0.8815 * b + 0.4429 * b^2
- * p1 approx = 2.6908 - 3.3056 * b + 1.6608 * b^2
- * p2 approx = -0.7609 + 0.9346 * b - 0.4695 * b^2
- *
- *---------------------------------------------------------------------------------*/
-
-float root_a_over_b(
- float a,
- float b )
-{
- int16_t shift_a, shift_b, shift;
- float mod_a, mod_b;
- float p2 = -0.7609f;
- float p1 = 2.6908f;
- float p0 = 0.7176f;
- float b_sqr;
- float approx;
-
- if ( ( a <= 0.0f ) || ( b <= 0.0f ) )
- {
- return 0.0;
- }
-#define WMC_TOOL_SKIP
- if ( isinf( a ) )
-#undef WMC_TOOL_SKIP
- {
- return FLT_MAX;
- }
-#define WMC_TOOL_SKIP
- if ( isinf( b ) )
-#undef WMC_TOOL_SKIP
- {
- return 0.f;
- }
-
- a += 0x00000001;
- b += 0x00000001;
-
-#define WMC_TOOL_SKIP
- /* This next piece of code implements a "norm" function */
- /* and returns the shift needed to scale "a" to have a */
- /* 1 in the (MSB-1) position. This is equivalent to */
- /* giving a value between 0.5 & 1.0. */
- mod_a = a;
-
- shift_a = 0;
- while ( mod_a > 1.0 )
- {
- mod_a /= 2.0;
- shift_a--;
- }
-
- while ( mod_a < 0.5 )
- {
- mod_a *= 2.0;
- shift_a++;
- }
-#undef WMC_TOOL_SKIP
-
- shift_a &= 0xfffe;
- mod_a = fleft_shift( a, shift_a );
-
-#define WMC_TOOL_SKIP
- /* This next piece of code implements a "norm" function */
- /* and returns the shift needed to scale "b" to have a */
- /* 1 in the (MSB-1) position. This is equivalent to */
- /* giving a value between 0.5 & 1.0. */
- mod_b = b;
-
- shift_b = 0;
- while ( mod_b > 1.0 )
- {
- mod_b /= 2.0;
- shift_b--;
- }
-
- while ( mod_b < 0.5 )
- {
- mod_b *= 2.0;
- shift_b++;
- }
-#undef WMC_TOOL_SKIP
-
- shift_b &= 0xfffe;
- mod_b = fleft_shift( b, shift_b );
-
- shift = ( shift_b - shift_a ) >> 1;
-
- b_sqr = mod_b * mod_b;
-
- p2 += 0.9346f * mod_b + -0.4695f * b_sqr;
- p1 += -3.3056f * mod_b + 1.6608f * b_sqr;
- p0 += -0.8815f * mod_b + 0.4429f * b_sqr;
-
- approx = p0 + p1 * mod_a + p2 * mod_a * mod_a;
-
- approx = fleft_shift( approx, shift );
-
- return ( approx );
-}
-
-/*--------------------------------------------------------------------------------*
- * rint_new()
- *
- * Round to the nearest integer with mid-point exception
- *---------------------------------------------------------------------------------*/
-
-double rint_new(
- double x )
-{
- int16_t a;
-
- /* middle value point test */
- if ( ceil( x + 0.5 ) == floor( x + 0.5 ) )
- {
- a = (int16_t) ceil( x );
-
- if ( a % 2 == 0 )
- {
- return ceil( x );
- }
- else
- {
- return floor( x );
- }
- }
- else
- {
- return floor( x + 0.5 );
- }
-}
-
-
-/*-------------------------------------------------------------------*
- * anint()
- *
- * Round to the nearest integer.
- *-------------------------------------------------------------------*/
-
-double anint(
- double x )
-{
- return ( x ) >= 0 ? (int32_t) ( ( x ) + 0.5 ) : (int32_t) ( (x) -0.5 );
-}
-
-/*-------------------------------------------------------------------*
- * is_numeric_float()
- *
- * Returns 0 for all NaN and Inf values defined according to IEEE 754
- * floating point number's definition. Returns 1 for numeric values.
- *-------------------------------------------------------------------*/
-
-int16_t is_numeric_float(
- float x )
-{
- union float_int
- {
- float float_val;
- int32_t int_val;
- } float_int;
-
- float_int.float_val = x;
-
- return ( ( float_int.int_val & 0x7f800000 ) != 0x7f800000 );
-}
-
-/*-------------------------------------------------------------------*
- * delay_signal_float()
- *
- * Delay buffer by defined number of samples
- *-------------------------------------------------------------------*/
-
-void delay_signal_float(
- float x[], /* i/o: signal to be delayed */
- const int16_t len, /* i : length of the input signal */
- float mem[], /* i/o: synchronization memory */
- const int16_t delay /* i : delay in samples */
-)
-{
- float tmp_buffer[L_FRAME48k];
-
- mvr2r( mem, tmp_buffer, delay );
- mvr2r( x + len - delay, mem, delay );
- mvr2r( x, x + delay, len - delay );
- mvr2r( tmp_buffer, x, delay );
-
- return;
-}
diff --git a/lib_com/tools_fx.c b/lib_com/tools_fx.c
index efa9d7e5afc6fd54420d3fc6875dfa6dae55d478..1aa0bb84a3488db7f4a661d1dd07f311c445f437 100644
--- a/lib_com/tools_fx.c
+++ b/lib_com/tools_fx.c
@@ -50,7 +50,6 @@
#include "basop32.h"
#include "wmc_auto.h"
#include "prot_fx_enc.h"
-#include "prot.h"
#include "ivas_prot_fx.h"
#define INV_BANDS10 3277 /* 1/10 in Q15 */
diff --git a/lib_com/wtda.c b/lib_com/wtda.c
index a7ea5314c916b07875136020956b2a30358d72ad..3fb40813816c7b4462bdcc3ec82b8df2314fb845 100644
--- a/lib_com/wtda.c
+++ b/lib_com/wtda.c
@@ -37,11 +37,10 @@
#include
#include "options.h"
#include "cnst.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "rom_com.h"
#include
#include "wmc_auto.h"
-#include "prot_fx.h"
void wtda_fx32(
diff --git a/lib_dec/acelp_core_dec_ivas_fx.c b/lib_dec/acelp_core_dec_ivas_fx.c
index 9597a97ae13b389c4fa918319b9b9fe837ab1887..11379a62d3b1d91adf5129d78e72c21be5a48375 100644
--- a/lib_dec/acelp_core_dec_ivas_fx.c
+++ b/lib_dec/acelp_core_dec_ivas_fx.c
@@ -39,7 +39,6 @@
#include "options.h"
#include "cnst.h"
#include "rom_com.h"
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_cnst.h"
#include "ivas_prot.h"
diff --git a/lib_dec/acelp_core_switch_dec_fx.c b/lib_dec/acelp_core_switch_dec_fx.c
index f1772b9a737d0e11006327aa2f53737334ce3ed8..fc8aba043d80645168b7ea39c9718b5c41bebbbe 100644
--- a/lib_dec/acelp_core_switch_dec_fx.c
+++ b/lib_dec/acelp_core_switch_dec_fx.c
@@ -7,7 +7,6 @@
#include "cnst.h" /* Common constants */
#include "rom_com.h" /* Static table prototypes */
#include "prot_fx.h" /* Function prototypes */
-#include "prot.h" /* Function prototypes */
/*---------------------------------------------------------------------*
* Local function prototypes
*---------------------------------------------------------------------*/
diff --git a/lib_dec/ari_hm_dec.c b/lib_dec/ari_hm_dec.c
index da7722325058b1ca10f3ed0060b97a37d320444b..ef4fb62d5579e0f89500a76227fbe459a7f1719e 100644
--- a/lib_dec/ari_hm_dec.c
+++ b/lib_dec/ari_hm_dec.c
@@ -40,10 +40,9 @@
#include "cnst.h"
#include "stl.h"
#include "basop_util.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "rom_com.h"
#include "wmc_auto.h"
-#include "prot_fx.h"
Word16
DecodeIndex_fx(
diff --git a/lib_dec/arith_coder_dec_fx.c b/lib_dec/arith_coder_dec_fx.c
index e5a1220e046e3f3a1c672267585dc01c694634ca..60a59c4da469f113f7195179ed0521d2c343bc2d 100644
--- a/lib_dec/arith_coder_dec_fx.c
+++ b/lib_dec/arith_coder_dec_fx.c
@@ -10,7 +10,6 @@
#include "prot_fx.h"
#include "basop_util.h"
#include "basop_proto_func.h"
-#include "prot.h"
/* Returns: number of bits consumed */
static Word16 tcx_arith_decode_fx(
diff --git a/lib_dec/avq_dec_fx.c b/lib_dec/avq_dec_fx.c
index 3bf7e3eb62ff897d2028a462d3e8f30c33ead199..a8ba2bfc3612253b30e153d2cb22f863afe3d4a4 100644
--- a/lib_dec/avq_dec_fx.c
+++ b/lib_dec/avq_dec_fx.c
@@ -7,7 +7,6 @@
#include "options.h" /* Compilation switches */
#include "cnst.h" /* Common constants */
#include "rom_com.h" /* Static table prototypes */
-#include "prot.h" /* Function prototypes */
#include "prot_fx.h" /* Function prototypes */
/*-------------------------------------------------------------------*
diff --git a/lib_dec/cng_dec_fx.c b/lib_dec/cng_dec_fx.c
index e3401739ecc0c28d53f2f2bb6a6c1a546ddce362..ab349773ee6e3948dc03edf782479bb9e57ce3c5 100644
--- a/lib_dec/cng_dec_fx.c
+++ b/lib_dec/cng_dec_fx.c
@@ -6,7 +6,6 @@
#include "options.h" /* Compilation switches */
#include "cnst.h"
#include "rom_com.h"
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_cnst.h"
diff --git a/lib_dec/core_dec_init_fx.c b/lib_dec/core_dec_init_fx.c
index 8fefa3bb20964acf31e8bae508a124706225c146..dd268fe083ed61cdf5e23233a66d88a24d2148ae 100644
--- a/lib_dec/core_dec_init_fx.c
+++ b/lib_dec/core_dec_init_fx.c
@@ -7,7 +7,6 @@
#include
#include
#include "options.h"
-#include "prot.h"
#include "prot_fx.h"
#include "basop_util.h"
#include "rom_com.h"
diff --git a/lib_dec/core_dec_switch_fx.c b/lib_dec/core_dec_switch_fx.c
index c7d2c526574e7a61c710be168e72836de7c5b81b..2fd3f1d2ec32c0b8b0308378c73062f344bbfe71 100644
--- a/lib_dec/core_dec_switch_fx.c
+++ b/lib_dec/core_dec_switch_fx.c
@@ -8,7 +8,6 @@
#include "basop_util.h"
#include "prot_fx.h"
#include "rom_com.h"
-#include "prot.h"
void mode_switch_decoder_LPD_fx(
Decoder_State *st, /* i/o: decoder state structure */
diff --git a/lib_dec/dec_tcx_fx.c b/lib_dec/dec_tcx_fx.c
index e71157a1e8ccaba942b7c77054a21a3bd7163856..20f7a0adfbf9931a97a84cfd26c7a6ce048af6ed 100644
--- a/lib_dec/dec_tcx_fx.c
+++ b/lib_dec/dec_tcx_fx.c
@@ -9,7 +9,6 @@
#include "basop_util.h"
#include "stl.h"
#include "options.h"
-#include "prot.h"
#include "math.h"
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
diff --git a/lib_dec/gs_dec_fx.c b/lib_dec/gs_dec_fx.c
index 385339664d820a6cf31b8f375fb8cc57686e7bbb..6c63377fd4798954750060a7477bcf5bf9ad161e 100644
--- a/lib_dec/gs_dec_fx.c
+++ b/lib_dec/gs_dec_fx.c
@@ -6,7 +6,6 @@
#include "options.h"
#include "cnst.h"
#include "rom_com.h"
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_cnst.h"
/*=========================================================================*/
diff --git a/lib_dec/hf_synth_fx.c b/lib_dec/hf_synth_fx.c
index c61bf95ce2298f39e258b4d8f1a0e63a8ee639fd..ee7a7eca61bb4ef92182e732a772ae6b5c787f0f 100644
--- a/lib_dec/hf_synth_fx.c
+++ b/lib_dec/hf_synth_fx.c
@@ -7,7 +7,6 @@
#include "prot_fx.h" /* Function prototypes */
#include "rom_com.h" /* Static table prototypes */
#include "basop32.h"
-#include "prot.h"
/*---------------------------------------------------------------------*
* Local constants
diff --git a/lib_dec/hq_core_dec_fx.c b/lib_dec/hq_core_dec_fx.c
index 626f25ef4861d56dfdc4a97bf817b3929084e0a2..86cf9784aa1eb3346aa7c52a16d78f7e2808f40e 100644
--- a/lib_dec/hq_core_dec_fx.c
+++ b/lib_dec/hq_core_dec_fx.c
@@ -6,7 +6,6 @@
#include "cnst.h" /* Common constants */
#include "prot_fx.h" /* Function prototypes */
#include "rom_com.h" /* Static table prototypes */
-#include "prot.h"
#include "ivas_prot_fx.h"
/*--------------------------------------------------------------------------
* hq_core_dec()
diff --git a/lib_dec/igf_dec_fx.c b/lib_dec/igf_dec_fx.c
index 4f74c31ca8f1484fb0b9066555abc59658062070..907a4a350538d3c7ba7c5e5cd46bc451df007856 100644
--- a/lib_dec/igf_dec_fx.c
+++ b/lib_dec/igf_dec_fx.c
@@ -8,10 +8,9 @@
#include
#include "options.h"
#include "stl.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
-#include "prot_fx.h"
#include "cnst.h"
#include "stat_dec.h"
#include "basop_util.h"
diff --git a/lib_dec/init_dec_fx.c b/lib_dec/init_dec_fx.c
index 4f1db90ffe207fa6692aeacd909ee26f015e1832..3865cd61c5cd79904d82f4f4cac7708ad6c6e0a3 100644
--- a/lib_dec/init_dec_fx.c
+++ b/lib_dec/init_dec_fx.c
@@ -8,7 +8,6 @@
#include "rom_com.h" /* Static table prototypes */
#include "stl.h" /* required for wmc_tool */
#include "basop_util.h"
-#include "prot.h"
#include "ivas_prot_fx.h"
/*----------------------------------------------------------------------*
diff --git a/lib_dec/ivas_agc_dec_fx.c b/lib_dec/ivas_agc_dec_fx.c
index f5418abc658150e90f9d9b5f98dd073fd8581089..e73d89158436a2a12bf93f0dad35cf4195458fff 100644
--- a/lib_dec/ivas_agc_dec_fx.c
+++ b/lib_dec/ivas_agc_dec_fx.c
@@ -34,7 +34,6 @@
#include
#include
#include "options.h"
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
diff --git a/lib_dec/ivas_binRenderer_internal_fx.c b/lib_dec/ivas_binRenderer_internal_fx.c
index a6e03eee3aab47fd8cfee2fd6a817de9ddb467a4..3fe40c1f36bed10f0585b19fa20702abaff59ffe 100644
--- a/lib_dec/ivas_binRenderer_internal_fx.c
+++ b/lib_dec/ivas_binRenderer_internal_fx.c
@@ -33,7 +33,7 @@
#include
#include "options.h"
#include
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_rend.h"
#include "cnst.h"
@@ -43,7 +43,6 @@
#include "ivas_rom_com.h"
#include "ivas_rom_binauralRenderer.h"
#include "wmc_auto.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
#include "ivas_rom_com_fx.h"
#include "debug.h"
diff --git a/lib_dec/ivas_core_dec_fx.c b/lib_dec/ivas_core_dec_fx.c
index 261a3c74eb55c4ca263d0c0889583bcffe984674..5bb4736e9b534b3baf30eb66a01ea3bf26dcae1b 100644
--- a/lib_dec/ivas_core_dec_fx.c
+++ b/lib_dec/ivas_core_dec_fx.c
@@ -36,12 +36,11 @@
#include
#include "cnst.h"
#include "rom_com.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
#include "ivas_rom_com.h"
#include "wmc_auto.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
diff --git a/lib_dec/ivas_corecoder_dec_reconfig_fx.c b/lib_dec/ivas_corecoder_dec_reconfig_fx.c
index 89ca9a5ba322dd43247aa6d06e921444a4461c3d..697f9d7154ba31dd49d74dc60ba3deaa39366d1a 100644
--- a/lib_dec/ivas_corecoder_dec_reconfig_fx.c
+++ b/lib_dec/ivas_corecoder_dec_reconfig_fx.c
@@ -35,7 +35,6 @@
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
#include "prot_fx.h"
-#include "prot.h"
#include
#include "wmc_auto.h"
diff --git a/lib_dec/ivas_cpe_dec_fx.c b/lib_dec/ivas_cpe_dec_fx.c
index c22c617c075b377a741849e82fc8379c8237b032..9bf53f1de04643c3e6da7c41c4c8c14bd3edee57 100644
--- a/lib_dec/ivas_cpe_dec_fx.c
+++ b/lib_dec/ivas_cpe_dec_fx.c
@@ -36,10 +36,9 @@
#include "cnst.h"
#include "ivas_cnst.h"
#include "rom_com.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
-#include "prot_fx.h"
#include "ivas_rom_com.h"
#include "wmc_auto.h"
#include
diff --git a/lib_dec/ivas_decision_matrix_dec_fx.c b/lib_dec/ivas_decision_matrix_dec_fx.c
index a8c151edb34868f138aef7a5fb254ea0f60c016f..f7fd5e8e253b706595d3a1a793cd1f7618f241d9 100644
--- a/lib_dec/ivas_decision_matrix_dec_fx.c
+++ b/lib_dec/ivas_decision_matrix_dec_fx.c
@@ -35,11 +35,10 @@
#include "stat_dec.h"
#include "rom_com.h"
#include "ivas_prot.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_cnst.h"
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
-#include "prot_fx.h"
/*-----------------------------------------------------------------*
* ivas_decision_matrix_dec()
diff --git a/lib_dec/ivas_dirac_dec_fx.c b/lib_dec/ivas_dirac_dec_fx.c
index 9849647eaa086b613dc7fd190baad0958e51cae6..7dd7371fd67ac2bd468f07b5849221573441dd89 100644
--- a/lib_dec/ivas_dirac_dec_fx.c
+++ b/lib_dec/ivas_dirac_dec_fx.c
@@ -35,7 +35,7 @@
#include "options.h"
#include
#include "cnst.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_rend.h"
#include "ivas_cnst.h"
@@ -43,7 +43,6 @@
#include "ivas_rom_dec.h"
#include "ivas_rom_rend.h"
#include "wmc_auto.h"
-#include "prot_fx.h" /* Function prototypes */
#include "ivas_rom_com_fx.h"
#include "ivas_prot_fx.h"
diff --git a/lib_dec/ivas_dirac_output_synthesis_cov_fx.c b/lib_dec/ivas_dirac_output_synthesis_cov_fx.c
index afbde5a601a53836a91c988bfab40b416d784c64..e03913f8ab73138dc9701de680eb2151c2ef5610 100644
--- a/lib_dec/ivas_dirac_output_synthesis_cov_fx.c
+++ b/lib_dec/ivas_dirac_output_synthesis_cov_fx.c
@@ -40,7 +40,7 @@
#include "cnst.h"
#include "rom_enc.h"
#include "rom_com.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_stat_dec.h"
#include "ivas_cnst.h"
@@ -48,7 +48,6 @@
#include "ivas_rom_dec.h"
#include "wmc_auto.h"
#include "rom_dec.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
diff --git a/lib_dec/ivas_entropy_decoder_fx.c b/lib_dec/ivas_entropy_decoder_fx.c
index 0c489fb04ccc58831bbe4bad92f233b400b67a86..e637a6a93d7bfe0b06b91b85fe0b5dfc9436b2d6 100644
--- a/lib_dec/ivas_entropy_decoder_fx.c
+++ b/lib_dec/ivas_entropy_decoder_fx.c
@@ -32,13 +32,12 @@
#include
#include "options.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_cnst.h"
#include "ivas_rom_com.h"
#include
#include "wmc_auto.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
diff --git a/lib_dec/ivas_init_dec.c b/lib_dec/ivas_init_dec.c
index 037ef4eb9dfef1ef057ba2462534297f3add64b4..8db782c4e69b6c251076ba7821bb3256ae0bd186 100644
--- a/lib_dec/ivas_init_dec.c
+++ b/lib_dec/ivas_init_dec.c
@@ -40,9 +40,8 @@
#include "rom_com.h"
#include "ivas_rom_com.h"
#include "ivas_stat_enc.h"
-#include "prot.h"
-#include "wmc_auto.h"
#include "prot_fx.h"
+#include "wmc_auto.h"
#include "ivas_prot_fx.h"
diff --git a/lib_dec/ivas_ism_dec_fx.c b/lib_dec/ivas_ism_dec_fx.c
index 14e83fe831f2beb616ceac6f1ad3dd2ef52fae80..664e3eeacca5361df04fb50e61121a300640a53f 100644
--- a/lib_dec/ivas_ism_dec_fx.c
+++ b/lib_dec/ivas_ism_dec_fx.c
@@ -32,13 +32,12 @@
#include
#include "options.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
#include "ivas_prot_rend.h"
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
-#include "prot_fx.h"
/*-------------------------------------------------------------------------*
diff --git a/lib_dec/ivas_ism_dtx_dec_fx.c b/lib_dec/ivas_ism_dtx_dec_fx.c
index 0365005bee964400c30e6851e082e247ad989f7b..cbf088597f8d35a44d6640f19e134ff8136d2ba8 100644
--- a/lib_dec/ivas_ism_dtx_dec_fx.c
+++ b/lib_dec/ivas_ism_dtx_dec_fx.c
@@ -35,10 +35,9 @@
#include "options.h"
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "wmc_auto.h"
-#include "prot_fx.h"
/*-------------------------------------------------------------------*
* ivas_ism_dtx_dec_fx()
diff --git a/lib_dec/ivas_ism_metadata_dec_fx.c b/lib_dec/ivas_ism_metadata_dec_fx.c
index 833ed5e163ea183ee61efef20a29d7738f0c8818..a6f5e47b6acb39a2975b54e05f123d383fa40618 100644
--- a/lib_dec/ivas_ism_metadata_dec_fx.c
+++ b/lib_dec/ivas_ism_metadata_dec_fx.c
@@ -37,7 +37,6 @@
#include "ivas_prot_fx.h"
#include "ivas_rom_com.h"
#include "ivas_rom_com_fx.h"
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_stat_enc.h"
#include
diff --git a/lib_dec/ivas_ism_param_dec_fx.c b/lib_dec/ivas_ism_param_dec_fx.c
index 424e6fb86dcb304c854283c8418b58c21e35ae4d..9040a8a715960fb9518cd0e1a0bf9ca451c59665 100644
--- a/lib_dec/ivas_ism_param_dec_fx.c
+++ b/lib_dec/ivas_ism_param_dec_fx.c
@@ -36,13 +36,12 @@
#include "options.h"
#include "ivas_prot.h"
#include "ivas_prot_rend.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "rom_com.h"
#include "ivas_rom_com.h"
#include "ivas_rom_dec.h"
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
-#include "prot_fx.h"
#include "debug.h"
#include "ivas_rom_com_fx.h"
diff --git a/lib_dec/ivas_ism_renderer_fx.c b/lib_dec/ivas_ism_renderer_fx.c
index 738e5a598f06c3c7b6c66aa3d26ae32d33ee45b1..a19ba70ec3414eb83a9b25be539aa8e652759408 100644
--- a/lib_dec/ivas_ism_renderer_fx.c
+++ b/lib_dec/ivas_ism_renderer_fx.c
@@ -33,7 +33,6 @@
#include
#include "options.h"
#include "ivas_cnst.h"
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
diff --git a/lib_dec/ivas_jbm_dec_fx.c b/lib_dec/ivas_jbm_dec_fx.c
index 3b66d3107fa79b9974dfbb48e4e8ee6be258f27a..f632d86c8b08319013f541eb58e18579a64bd0b0 100644
--- a/lib_dec/ivas_jbm_dec_fx.c
+++ b/lib_dec/ivas_jbm_dec_fx.c
@@ -35,7 +35,7 @@
#include "cnst.h"
#include "ivas_cnst.h"
#include "rom_com.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
#include "ivas_prot_rend.h"
@@ -46,7 +46,6 @@
#ifdef DEBUGGING
#include "debug.h"
#endif
-#include "prot_fx.h"
/*-----------------------------------------------------------------------*
diff --git a/lib_dec/ivas_lfe_dec_fx.c b/lib_dec/ivas_lfe_dec_fx.c
index 616b15c6ed0ac675c8b53208e30a0fc94db39fcd..e68c0142df2b4dae3c1863e09750b09b16d0b715 100644
--- a/lib_dec/ivas_lfe_dec_fx.c
+++ b/lib_dec/ivas_lfe_dec_fx.c
@@ -32,7 +32,6 @@
#include
#include "options.h"
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
diff --git a/lib_dec/ivas_lfe_plc_fx.c b/lib_dec/ivas_lfe_plc_fx.c
index f5e7816add00985fbb77806c8e5ebff3b0bdb45e..a8b54d3fb4172095ef5e672392c1c9ad99a022ec 100644
--- a/lib_dec/ivas_lfe_plc_fx.c
+++ b/lib_dec/ivas_lfe_plc_fx.c
@@ -32,7 +32,6 @@
#include
#include "options.h"
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_rom_com.h"
diff --git a/lib_dec/ivas_ls_custom_dec_fx.c b/lib_dec/ivas_ls_custom_dec_fx.c
index eabee357b27573fb6d2b978cb52b7449725415b0..45f59d82f5ab45887e78c84c9474596a869ec081 100644
--- a/lib_dec/ivas_ls_custom_dec_fx.c
+++ b/lib_dec/ivas_ls_custom_dec_fx.c
@@ -32,10 +32,9 @@
#include
#include "options.h"
#include "ivas_prot.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
-#include "prot_fx.h"
/*-----------------------------------------------------------------------*
diff --git a/lib_dec/ivas_masa_dec_fx.c b/lib_dec/ivas_masa_dec_fx.c
index 4ca5c05b0bc2bd20959b3696bc5629fee13bc2e4..806785c159e483feafcc1c120544238b4ea17d8a 100644
--- a/lib_dec/ivas_masa_dec_fx.c
+++ b/lib_dec/ivas_masa_dec_fx.c
@@ -40,7 +40,6 @@
#include "rom_com.h"
#include "ivas_rom_com.h"
#include "ivas_stat_dec.h"
-#include "prot.h"
#include "prot_fx.h"
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
diff --git a/lib_dec/ivas_mc_param_dec_fx.c b/lib_dec/ivas_mc_param_dec_fx.c
index 4c1d5d190a88245bb0735bf741d8f1cbe381f2f0..897fd4433f6e28cf1d44f6d55fe5f214c1b22c47 100644
--- a/lib_dec/ivas_mc_param_dec_fx.c
+++ b/lib_dec/ivas_mc_param_dec_fx.c
@@ -36,7 +36,7 @@
#include "cnst.h"
#include "rom_enc.h"
#include "rom_com.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_rend.h"
#include "ivas_cnst.h"
@@ -45,7 +45,6 @@
#include "math.h"
#include "wmc_auto.h"
#include "rom_dec.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
#define INV_EPSILON_MANT 214748365
diff --git a/lib_dec/ivas_mc_paramupmix_dec_fx.c b/lib_dec/ivas_mc_paramupmix_dec_fx.c
index be53d79c836570a7dea11993411f01a31cac66d7..e03b385b7d271a991e168428efcb323db49b582f 100644
--- a/lib_dec/ivas_mc_paramupmix_dec_fx.c
+++ b/lib_dec/ivas_mc_paramupmix_dec_fx.c
@@ -34,7 +34,6 @@
#include
#include "options.h"
#include "cnst.h"
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_prot_fx.h"
#include "ivas_prot.h"
diff --git a/lib_dec/ivas_mcmasa_dec_fx.c b/lib_dec/ivas_mcmasa_dec_fx.c
index 687efb3ce45f53bbb55b970f668845e232ccea1f..c2228b610172eab88f9a4e51106e976b3010fc6e 100644
--- a/lib_dec/ivas_mcmasa_dec_fx.c
+++ b/lib_dec/ivas_mcmasa_dec_fx.c
@@ -35,7 +35,7 @@
#include "ivas_cnst.h"
#include "ivas_prot.h"
#include "ivas_prot_rend.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
diff --git a/lib_dec/ivas_mct_core_dec_fx.c b/lib_dec/ivas_mct_core_dec_fx.c
index 824370bb8bfb0d4522b78f709741ebc206dcae62..be457da471440ba698e8fc64ada90e5ac9902156 100644
--- a/lib_dec/ivas_mct_core_dec_fx.c
+++ b/lib_dec/ivas_mct_core_dec_fx.c
@@ -33,7 +33,7 @@
#include
#include
#include "options.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "rom_com.h"
#include "wmc_auto.h"
#include "cnst.h"
@@ -42,7 +42,6 @@
#include "ivas_prot.h"
#include "ivas_stat_dec.h"
#include "ivas_stat_com.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
/*-----------------------------------------------------------------*
diff --git a/lib_dec/ivas_mct_dec_fx.c b/lib_dec/ivas_mct_dec_fx.c
index c95a5285a2cf692dac93d0282cf0042b50f85111..081eca88d4b731073b2527378b7a080f98b4aa7b 100644
--- a/lib_dec/ivas_mct_dec_fx.c
+++ b/lib_dec/ivas_mct_dec_fx.c
@@ -38,7 +38,6 @@
#include "ivas_cnst.h"
#include "rom_com.h"
#include "prot_fx.h"
-#include "prot.h"
#include "ivas_prot.h"
#include "ivas_prot_rend.h"
#include "ivas_rom_com.h"
diff --git a/lib_dec/ivas_mct_dec_mct_fx_fx.c b/lib_dec/ivas_mct_dec_mct_fx_fx.c
index 331bdc2538e1feff86a39064ef649c7926bf673d..69f60172409dd590e7d861576fd5dfd03a38b94d 100644
--- a/lib_dec/ivas_mct_dec_mct_fx_fx.c
+++ b/lib_dec/ivas_mct_dec_mct_fx_fx.c
@@ -34,11 +34,10 @@
#include "options.h"
#include "ivas_cnst.h"
#include "ivas_prot.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "wmc_auto.h"
#include
#include "stat_enc.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
/*----------------------------------------------------------*
diff --git a/lib_dec/ivas_mdct_core_dec_fx.c b/lib_dec/ivas_mdct_core_dec_fx.c
index 190cc6b14b7977612a687ca3571f693dfa4f5ebf..7f079277a5fb8b76e53ad8975ccdda0cab84849b 100644
--- a/lib_dec/ivas_mdct_core_dec_fx.c
+++ b/lib_dec/ivas_mdct_core_dec_fx.c
@@ -33,7 +33,7 @@
#include
#include
#include "options.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "rom_com.h"
#include "ivas_rom_com.h"
#include "wmc_auto.h"
@@ -44,7 +44,6 @@
#include "ivas_stat_dec.h"
#include "ivas_stat_com.h"
#include
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
diff --git a/lib_dec/ivas_mono_dmx_renderer_fx.c b/lib_dec/ivas_mono_dmx_renderer_fx.c
index 231aee8aaf0c2a827e56898d572f899a250ba0fb..bb5dead226be1db979fd337510acdc410ee4ea1c 100644
--- a/lib_dec/ivas_mono_dmx_renderer_fx.c
+++ b/lib_dec/ivas_mono_dmx_renderer_fx.c
@@ -34,7 +34,6 @@
#include "options.h"
#include
#include "cnst.h"
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
diff --git a/lib_dec/ivas_objectRenderer_internal_fx.c b/lib_dec/ivas_objectRenderer_internal_fx.c
index 3a648038639ba522adda0c5d01efea0006431d6c..391a27522368d03855080439b3f7ed5dd4069d40 100644
--- a/lib_dec/ivas_objectRenderer_internal_fx.c
+++ b/lib_dec/ivas_objectRenderer_internal_fx.c
@@ -32,14 +32,13 @@
#include
#include "options.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_rend.h"
#include
#include "ivas_rom_com.h"
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
-#include "prot_fx.h"
#include "debug.h"
diff --git a/lib_dec/ivas_omasa_dec_fx.c b/lib_dec/ivas_omasa_dec_fx.c
index 0fb4163be49bd5ebbd52002b5bcfed122c3f0aa8..bf7fba0948f155b2c08012b7a442b0ffd175c5ce 100644
--- a/lib_dec/ivas_omasa_dec_fx.c
+++ b/lib_dec/ivas_omasa_dec_fx.c
@@ -35,12 +35,11 @@
#include "ivas_cnst.h"
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot_rend.h"
#include "ivas_rom_com.h"
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
-#include "prot_fx.h"
/*-------------------------------------------------------------------------
diff --git a/lib_dec/ivas_osba_dec_fx.c b/lib_dec/ivas_osba_dec_fx.c
index a5285b5cbcadd974e8ba74411d56494eff07d493..07ea14ea2a40f33564c98e318cf355d806be44f0 100644
--- a/lib_dec/ivas_osba_dec_fx.c
+++ b/lib_dec/ivas_osba_dec_fx.c
@@ -34,12 +34,11 @@
#include
#include "ivas_cnst.h"
#include "ivas_prot.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot_rend.h"
#include "ivas_rom_com.h"
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
-#include "prot_fx.h"
/*-------------------------------------------------------------------*
diff --git a/lib_dec/ivas_out_setup_conversion_fx.c b/lib_dec/ivas_out_setup_conversion_fx.c
index 02f37672dd740bee0e8c443e1e1f863599eac070..4811911fd2778a35d71973288e2785d28eb5b80b 100644
--- a/lib_dec/ivas_out_setup_conversion_fx.c
+++ b/lib_dec/ivas_out_setup_conversion_fx.c
@@ -34,13 +34,12 @@
#include "options.h"
#include
#include
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_rend.h"
#include "ivas_rom_com.h"
#include "ivas_rom_rend.h"
#include "wmc_auto.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
#include "debug.h"
diff --git a/lib_dec/ivas_pca_dec_fx.c b/lib_dec/ivas_pca_dec_fx.c
index 4a0c62e8d6a36bf22aa51a07e8eb1e17003a757b..08ac1779994247043cd6e90e71517ed8d674476f 100644
--- a/lib_dec/ivas_pca_dec_fx.c
+++ b/lib_dec/ivas_pca_dec_fx.c
@@ -32,12 +32,11 @@
#include
#include "options.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include
#include "ivas_cnst.h"
#include "wmc_auto.h"
-#include "prot_fx.h"
#include "math.h"
#include "ivas_prot_fx.h"
diff --git a/lib_dec/ivas_post_proc_fx.c b/lib_dec/ivas_post_proc_fx.c
index 853aa365f97aa6489aa5d3ef1208bbfbf05f8269..397f26bbce038c9571439bbbd6aba094bb3e8bd8 100644
--- a/lib_dec/ivas_post_proc_fx.c
+++ b/lib_dec/ivas_post_proc_fx.c
@@ -35,7 +35,6 @@
#include "options.h"
#include "cnst.h"
#include "rom_com.h"
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
diff --git a/lib_dec/ivas_qmetadata_dec_fx.c b/lib_dec/ivas_qmetadata_dec_fx.c
index c225f126aa014c9ac3332c93f920a47f3d33f21c..4bebcda5c87a3e134444ec2b776d5744c6e1557b 100644
--- a/lib_dec/ivas_qmetadata_dec_fx.c
+++ b/lib_dec/ivas_qmetadata_dec_fx.c
@@ -39,9 +39,8 @@
#include "ivas_rom_com.h"
#include "ivas_rom_dec.h"
#include "wmc_auto.h"
-#include "prot.h"
-
#include "prot_fx.h"
+
#include "ivas_prot_fx.h"
#include "ivas_rom_com_fx.h"
diff --git a/lib_dec/ivas_qspherical_dec_fx.c b/lib_dec/ivas_qspherical_dec_fx.c
index 43ac6030557aee745f295581b745a3df14939641..d34b5402a4ce84081152aa721c94d1f3be39fd7a 100644
--- a/lib_dec/ivas_qspherical_dec_fx.c
+++ b/lib_dec/ivas_qspherical_dec_fx.c
@@ -37,7 +37,7 @@
#include "ivas_rom_com.h"
#include "ivas_stat_dec.h"
#include "wmc_auto.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_rom_com_fx.h"
#include "ivas_prot_fx.h"
diff --git a/lib_dec/ivas_range_uni_dec_fx.c b/lib_dec/ivas_range_uni_dec_fx.c
index 6d6631f73ef26fef8765f8063be276a2c31f6056..e629111ced3c993f1a140148136f843b44220768 100644
--- a/lib_dec/ivas_range_uni_dec_fx.c
+++ b/lib_dec/ivas_range_uni_dec_fx.c
@@ -38,10 +38,9 @@
#include "rom_com.h"
#include
#include "options.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
-#include "prot_fx.h"
/*
diff --git a/lib_dec/ivas_sba_dec_fx.c b/lib_dec/ivas_sba_dec_fx.c
index 41707954113c21750fc668851180ed88599d5269..efd766f766a74aa8526f486d5993098f71c66a0c 100644
--- a/lib_dec/ivas_sba_dec_fx.c
+++ b/lib_dec/ivas_sba_dec_fx.c
@@ -35,7 +35,7 @@
#include "options.h"
#include "cnst.h"
#include "ivas_cnst.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_rend.h"
#include "rom_com.h"
@@ -44,7 +44,6 @@
#include
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
-#include "prot_fx.h"
/*-------------------------------------------------------------------*
* ivas_sba_set_cna_cng_flag()
*
diff --git a/lib_dec/ivas_sba_rendering_internal_fx.c b/lib_dec/ivas_sba_rendering_internal_fx.c
index 434fdf5fa25d447efa4f26eaf0160d8953113e94..a42c6738999656b7aeb116bd43bd79151b032046 100644
--- a/lib_dec/ivas_sba_rendering_internal_fx.c
+++ b/lib_dec/ivas_sba_rendering_internal_fx.c
@@ -32,7 +32,7 @@
#include
#include "options.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_rend.h"
#include "ivas_stat_dec.h"
@@ -40,7 +40,6 @@
#include
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
-#include "prot_fx.h"
#ifdef DEBUGGING
#include "debug.h"
#endif
diff --git a/lib_dec/ivas_sce_dec_fx.c b/lib_dec/ivas_sce_dec_fx.c
index ce4992046a8a59bd0604d78f2bf3c2db7a53f673..89581565c7f2c64272fb55423df6f83b391f0dcd 100644
--- a/lib_dec/ivas_sce_dec_fx.c
+++ b/lib_dec/ivas_sce_dec_fx.c
@@ -36,7 +36,6 @@
#include "cnst.h"
#include "ivas_cnst.h"
#include "rom_com.h"
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
diff --git a/lib_dec/ivas_sns_dec_fx.c b/lib_dec/ivas_sns_dec_fx.c
index 37489e58f84ef46437d4a0e0a092550de22e5d66..1702561810172cedc36bf9336cabcd2e1514e3ae 100644
--- a/lib_dec/ivas_sns_dec_fx.c
+++ b/lib_dec/ivas_sns_dec_fx.c
@@ -32,14 +32,13 @@
#include
#include "options.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "rom_com.h"
#include "ivas_rom_com.h"
#include "ivas_cnst.h"
#include
#include "wmc_auto.h"
-#include "prot_fx.h"
#include "ivas_rom_com_fx.h"
#include "ivas_prot_fx.h"
diff --git a/lib_dec/ivas_spar_decoder_fx.c b/lib_dec/ivas_spar_decoder_fx.c
index cddbf8cdfeaf389541fddfbd5457602b9494b4f9..812027468669cdc9f9d0f2ee90b1091b8a980f7a 100644
--- a/lib_dec/ivas_spar_decoder_fx.c
+++ b/lib_dec/ivas_spar_decoder_fx.c
@@ -35,7 +35,7 @@
#include
#include "options.h"
#include "ivas_stat_dec.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "string.h"
#include "ivas_prot.h"
#include "ivas_prot_rend.h"
@@ -45,7 +45,6 @@
#include "ivas_stat_com.h"
#include "stat_com.h"
#include "wmc_auto.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
#ifdef DEBUGGING
#include "debug.h"
diff --git a/lib_dec/ivas_spar_md_dec_fx.c b/lib_dec/ivas_spar_md_dec_fx.c
index 3ad16b981fbbb74b84519fd0f97391fab5677819..2b6b145f94a4d580cf3143ef68538ceba0ea7365 100644
--- a/lib_dec/ivas_spar_md_dec_fx.c
+++ b/lib_dec/ivas_spar_md_dec_fx.c
@@ -33,13 +33,12 @@
#include
#include "options.h"
#include "math.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_rom_com.h"
#include
#include "wmc_auto.h"
#include "ivas_stat_dec.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
#include "ivas_rom_com_fx.h"
diff --git a/lib_dec/ivas_stereo_adapt_GR_dec_fx.c b/lib_dec/ivas_stereo_adapt_GR_dec_fx.c
index c67a52b6c77db98e288ec4fe49206d5fbfd3d800..8446af47d29a991d5f4b8a8c0a6a777fac572d34 100644
--- a/lib_dec/ivas_stereo_adapt_GR_dec_fx.c
+++ b/lib_dec/ivas_stereo_adapt_GR_dec_fx.c
@@ -32,12 +32,11 @@
#include
#include "options.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "wmc_auto.h"
#include "ivas_prot.h"
#include "ivas_rom_com.h"
#include "rom_dec.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
/*---------------------------------------------------------------------*
diff --git a/lib_dec/ivas_stereo_cng_dec.c b/lib_dec/ivas_stereo_cng_dec.c
index b3bddae59a443af76d07771d0c7fb8f9d88f16ba..15885a661dcacb80995ac9aa08f8a85bd874bf98 100644
--- a/lib_dec/ivas_stereo_cng_dec.c
+++ b/lib_dec/ivas_stereo_cng_dec.c
@@ -34,13 +34,12 @@
#include "options.h"
#include
#include "cnst.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_cnst.h"
#include "ivas_rom_com.h"
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
-#include "prot_fx.h"
#include "ivas_rom_com_fx.h"
/*-------------------------------------------------------------------
diff --git a/lib_dec/ivas_stereo_dft_dec.c b/lib_dec/ivas_stereo_dft_dec.c
index b0100063af56a1275523be747ac06b1cb068a161..166ac72e57d4b4cef7d523005e1080ff744c7e47 100644
--- a/lib_dec/ivas_stereo_dft_dec.c
+++ b/lib_dec/ivas_stereo_dft_dec.c
@@ -37,7 +37,6 @@
#include "cnst.h"
#include "rom_com.h"
#include "rom_dec.h"
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_cnst.h"
diff --git a/lib_dec/ivas_stereo_dft_dec_dmx_fx.c b/lib_dec/ivas_stereo_dft_dec_dmx_fx.c
index 0db9ab09fc6658c1e987bc31f1c8f681ca15179f..0781d49a679fc881a89f96bf325e49cd7d78d2de 100644
--- a/lib_dec/ivas_stereo_dft_dec_dmx_fx.c
+++ b/lib_dec/ivas_stereo_dft_dec_dmx_fx.c
@@ -35,7 +35,7 @@
#include "options.h"
#include
#include "cnst.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_cnst.h"
#include "ivas_rom_com.h"
@@ -43,7 +43,6 @@
#include "rom_com.h"
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
-#include "prot_fx.h"
/*-------------------------------------------------------------------------
diff --git a/lib_dec/ivas_stereo_dft_dec_fx.c b/lib_dec/ivas_stereo_dft_dec_fx.c
index 7c1c892aa5135625c36208feeab3c37ee91bd040..c806f358a8fc67493040a6989f0bf31e27151418 100644
--- a/lib_dec/ivas_stereo_dft_dec_fx.c
+++ b/lib_dec/ivas_stereo_dft_dec_fx.c
@@ -37,7 +37,6 @@
#include "cnst.h"
#include "rom_com.h"
#include "rom_dec.h"
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
diff --git a/lib_dec/ivas_stereo_dft_plc_fx.c b/lib_dec/ivas_stereo_dft_plc_fx.c
index 9e6878fafbc6e4b2293ea11973aa6d255cb3f744..d3415a8eb6cb987b7bf3f1ff8a0c4f5a98ddc625 100644
--- a/lib_dec/ivas_stereo_dft_plc_fx.c
+++ b/lib_dec/ivas_stereo_dft_plc_fx.c
@@ -33,7 +33,6 @@
#include
#include "options.h"
#include "cnst.h"
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_cnst.h"
#include "ivas_prot.h"
diff --git a/lib_dec/ivas_stereo_eclvq_dec_fx.c b/lib_dec/ivas_stereo_eclvq_dec_fx.c
index ed26543d302137a13ebbe105e22a08abf1852f6e..693df8c77c430cdcf5e6e29ac61a4cc627a1887b 100644
--- a/lib_dec/ivas_stereo_eclvq_dec_fx.c
+++ b/lib_dec/ivas_stereo_eclvq_dec_fx.c
@@ -37,7 +37,7 @@
#include "ivas_rom_com.h"
#include "ivas_rom_dec.h"
#include
-#include "prot.h"
+#include "prot_fx.h"
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
diff --git a/lib_dec/ivas_stereo_ica_dec_fx.c b/lib_dec/ivas_stereo_ica_dec_fx.c
index 08ac60ffcf1b1a15bf640b427282337869b5dfe6..b49ab53995a87adedca6677c9d331c9a05ce2f29 100644
--- a/lib_dec/ivas_stereo_ica_dec_fx.c
+++ b/lib_dec/ivas_stereo_ica_dec_fx.c
@@ -36,12 +36,11 @@
#include
#include "cnst.h"
#include "ivas_cnst.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "wmc_auto.h"
#include "rom_com.h"
#include "ivas_rom_com.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
#include "basop32.h"
#include "ivas_stat_dec.h"
diff --git a/lib_dec/ivas_stereo_icbwe_dec_fx.c b/lib_dec/ivas_stereo_icbwe_dec_fx.c
index b634d455793f95ae6852238423f6d680b1826fb1..22a8c4a900d6795e88996d08a1821f5c49d2375e 100644
--- a/lib_dec/ivas_stereo_icbwe_dec_fx.c
+++ b/lib_dec/ivas_stereo_icbwe_dec_fx.c
@@ -36,7 +36,6 @@
#include
#include "cnst.h"
#include "ivas_cnst.h"
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
diff --git a/lib_dec/ivas_stereo_mdct_core_dec_fx.c b/lib_dec/ivas_stereo_mdct_core_dec_fx.c
index bf343da7f3982ab8f05bbfbc87ab90dcbbb873c6..04781a9cb9c426afba7c4897659d22294d958917 100644
--- a/lib_dec/ivas_stereo_mdct_core_dec_fx.c
+++ b/lib_dec/ivas_stereo_mdct_core_dec_fx.c
@@ -34,13 +34,12 @@
#include
#include "options.h"
#include
-#include "prot.h"
+#include "prot_fx.h"
#include "cnst.h"
#include "stat_com.h"
#include "ivas_prot.h"
#include "ivas_stat_dec.h"
#include "wmc_auto.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
diff --git a/lib_dec/ivas_stereo_mdct_stereo_dec_fx.c b/lib_dec/ivas_stereo_mdct_stereo_dec_fx.c
index 20fa578f8d257db7c95d2e22e0a93a60ba1c3f47..69083a078be3d4e91ba75bfb642bf426bcc73753 100644
--- a/lib_dec/ivas_stereo_mdct_stereo_dec_fx.c
+++ b/lib_dec/ivas_stereo_mdct_stereo_dec_fx.c
@@ -36,10 +36,9 @@
#include "options.h"
#include "ivas_cnst.h"
#include "ivas_prot.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "rom_com.h"
#include "wmc_auto.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
diff --git a/lib_dec/ivas_stereo_switching_dec_fx.c b/lib_dec/ivas_stereo_switching_dec_fx.c
index c8a59cd6aa21c9e1b5dce3517ec540a89c6af0b6..2dd2a30c37c684a39a9b83b680c498ca7f84d476 100644
--- a/lib_dec/ivas_stereo_switching_dec_fx.c
+++ b/lib_dec/ivas_stereo_switching_dec_fx.c
@@ -34,7 +34,7 @@
#include "options.h"
#include "cnst.h"
#include "rom_com.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
#include "ivas_rom_com.h"
@@ -42,7 +42,6 @@
#include "wmc_auto.h"
#include
#include "ivas_prot_fx.h"
-#include "prot_fx.h"
#include "ivas_rom_com_fx.h"
/*-------------------------------------------------------------------*
diff --git a/lib_dec/ivas_stereo_td_dec_fx.c b/lib_dec/ivas_stereo_td_dec_fx.c
index e31c9f6bc8fed9997bb644d7501fad01af3acb45..8ab7da0355c4a237b0f41257571b7a4573e3f94b 100644
--- a/lib_dec/ivas_stereo_td_dec_fx.c
+++ b/lib_dec/ivas_stereo_td_dec_fx.c
@@ -35,7 +35,6 @@
#include
#include "cnst.h"
#include "rom_com.h"
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_rom_com.h"
diff --git a/lib_dec/ivas_svd_dec_fx.c b/lib_dec/ivas_svd_dec_fx.c
index a22502188fdbe5eb8e8cf4c443f20fc99f330e97..bb73fe7f02d501b2fe88b45dfd34b31e950a40a4 100644
--- a/lib_dec/ivas_svd_dec_fx.c
+++ b/lib_dec/ivas_svd_dec_fx.c
@@ -32,13 +32,12 @@
#include
#include "options.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_stat_dec.h"
#include "ivas_cnst.h"
#include
#include "wmc_auto.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
/*-----------------------------------------------------------------------*
diff --git a/lib_dec/ivas_tcx_core_dec_fx.c b/lib_dec/ivas_tcx_core_dec_fx.c
index 37ffc51289287dcb9dcbc5477042e80c7d4f650c..c908e4dc3f3eaecc2ee926f888d5b399b8888799 100644
--- a/lib_dec/ivas_tcx_core_dec_fx.c
+++ b/lib_dec/ivas_tcx_core_dec_fx.c
@@ -34,14 +34,13 @@
#include
#include "options.h"
#include
-#include "prot.h"
+#include "prot_fx.h"
#include "rom_com.h"
#include "stat_dec.h"
#include "wmc_auto.h"
#include "basop_proto_func.h"
#include "stat_com.h"
#include "ivas_prot.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
/*-------------------------------------------------------------*
diff --git a/lib_dec/ivas_td_low_rate_dec_fx.c b/lib_dec/ivas_td_low_rate_dec_fx.c
index a4380bd4e7c3c70cb8805d432b15ce25be18d540..63819b05619f23fa244bad37563f0fa3334b3118 100644
--- a/lib_dec/ivas_td_low_rate_dec_fx.c
+++ b/lib_dec/ivas_td_low_rate_dec_fx.c
@@ -37,7 +37,6 @@
#include "rom_com.h"
#include "ivas_rom_com.h"
#include "ivas_cnst.h"
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_prot.h"
#include "wmc_auto.h"
diff --git a/lib_dec/jbm_jb4_circularbuffer.c b/lib_dec/jbm_jb4_circularbuffer.c
index cdabe4700874d140093d30ee06759cf4abf2be4e..f9d6d1ca148c39a2c2891ace4451261d119a2458 100644
--- a/lib_dec/jbm_jb4_circularbuffer.c
+++ b/lib_dec/jbm_jb4_circularbuffer.c
@@ -38,7 +38,7 @@
#include
#include "options.h"
#include "string.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "wmc_auto.h"
/* local includes */
#include "jbm_jb4_circularbuffer.h"
diff --git a/lib_dec/jbm_jb4_circularbuffer.h b/lib_dec/jbm_jb4_circularbuffer.h
index de614eeeacbc2a13a68552346507f5894375bd53..9e3102feba4dee6b3812f2aca4cdd5c6b7461c20 100644
--- a/lib_dec/jbm_jb4_circularbuffer.h
+++ b/lib_dec/jbm_jb4_circularbuffer.h
@@ -37,7 +37,7 @@
#ifndef JBM_JB4_CIRCULARBUFFER_H
#define JBM_JB4_CIRCULARBUFFER_H JBM_JB4_CIRCULARBUFFER_H
-#include "prot.h"
+#include "prot_fx.h"
#include "cnst.h"
/** handle for circular buffer (FIFO) with fixed capacity */
diff --git a/lib_dec/jbm_jb4_inputbuffer.c b/lib_dec/jbm_jb4_inputbuffer.c
index 55113ee1366b2bfff5bca8db5e6041940fa57bbd..5497a437126a701eccbc82e1aad6bf352a654f06 100644
--- a/lib_dec/jbm_jb4_inputbuffer.c
+++ b/lib_dec/jbm_jb4_inputbuffer.c
@@ -39,7 +39,7 @@
#include
#include
#include "options.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "string.h"
#include "jbm_jb4_inputbuffer.h"
#include "wmc_auto.h"
diff --git a/lib_dec/jbm_jb4_jmf.c b/lib_dec/jbm_jb4_jmf.c
index 940df5ecb7a612d96087112f41493e5ce410cd0b..5ab8242c75bbbd078d3fbc6ddc30ee102bf1b224 100644
--- a/lib_dec/jbm_jb4_jmf.c
+++ b/lib_dec/jbm_jb4_jmf.c
@@ -42,7 +42,7 @@
#include
#include
#include "options.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "wmc_auto.h"
/* local includes */
diff --git a/lib_dec/jbm_jb4sb.c b/lib_dec/jbm_jb4sb.c
index 4878b7d647b5716ea3b17e70477b86dc9e54905c..002b4bc109985558a4bf8769317309d597cb8aca 100644
--- a/lib_dec/jbm_jb4sb.c
+++ b/lib_dec/jbm_jb4sb.c
@@ -48,7 +48,6 @@
#include "jbm_jb4_inputbuffer.h"
#include "jbm_jb4_jmf.h"
#include "jbm_jb4sb.h"
-#include "prot.h"
#include "prot_fx.h"
#define WMC_TOOL_SKIP
diff --git a/lib_dec/jbm_pcmdsp_apa.c b/lib_dec/jbm_pcmdsp_apa.c
index 10b91a60c4f472e7d91281954adb26bb0948568b..ac6a28b86c99079fe16cf201a5fd06af33610ab5 100644
--- a/lib_dec/jbm_pcmdsp_apa.c
+++ b/lib_dec/jbm_pcmdsp_apa.c
@@ -44,7 +44,7 @@
#include
#include
#include "options.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "wmc_auto.h"
/* local headers */
#include "jbm_pcmdsp_apa.h"
@@ -54,7 +54,6 @@
#include "rom_dec.h"
-#include "prot_fx.h"
#define INV_100_Q15 328
#define INV_400_Q15 82
#define INV_80_Q15 410
diff --git a/lib_dec/lib_dec_fx.c b/lib_dec/lib_dec_fx.c
index 2cc4c63876ccc5414c280737c2b5232979a55fac..66109b555027e5a1531965e9220bed2e3af88e7d 100644
--- a/lib_dec/lib_dec_fx.c
+++ b/lib_dec/lib_dec_fx.c
@@ -37,9 +37,8 @@
#include "ivas_cnst.h"
#include "ivas_prot.h"
#include "ivas_prot_rend.h"
-#include "prot.h"
-#include "ivas_prot_fx.h"
#include "prot_fx.h"
+#include "ivas_prot_fx.h"
#include "jbm_jb4sb.h"
#include "jbm_pcmdsp_apa.h"
@@ -3398,7 +3397,7 @@ static ivas_error evs_dec_main_fx(
move32();
hCoreCoder[0]->output_frame_fx = extract_l( Mult_32_16( hCoreCoder[0]->output_Fs, 0x0290 /*Q0*/ ) ); // Q0
move16();
- mdct_switching_dec( hCoreCoder[0] );
+ mdct_switching_dec_ivas_fx( hCoreCoder[0] );
FOR( ch = 0; ch < MAX_OUTPUT_CHANNELS_IN_DIEGETIC_PAN; ch++ )
{
diff --git a/lib_dec/swb_tbe_dec_fx.c b/lib_dec/swb_tbe_dec_fx.c
index bc8ef03cb096d0f8a3c16f775352d110a2c8ae5c..cc9b681fba0ff907e5ca3a4cd863242a66e6bba6 100644
--- a/lib_dec/swb_tbe_dec_fx.c
+++ b/lib_dec/swb_tbe_dec_fx.c
@@ -7,7 +7,6 @@
#include "options.h"
#include "rom_com.h"
#include "prot_fx.h"
-#include "prot.h"
#include "rom_dec.h"
#include "stl.h"
diff --git a/lib_dec/tonalMDCTconcealment_fx.c b/lib_dec/tonalMDCTconcealment_fx.c
index 3cf5f51f306df2b66800c6a79d37440a573e33e9..36cadf6ffea2934dc2a7ebf63f9927240c33ba46 100644
--- a/lib_dec/tonalMDCTconcealment_fx.c
+++ b/lib_dec/tonalMDCTconcealment_fx.c
@@ -14,7 +14,6 @@
#include "cnst.h"
#include "prot_fx.h"
#include "stat_com.h"
-#include "prot.h"
#include "ivas_prot_fx.h"
#define CROSSFADE_THRESHOLD ( 32762 ) // close to 1.0f in Q15 such that (x == 1.0f) is true
diff --git a/lib_enc/ACcontextMapping_enc_fx.c b/lib_enc/ACcontextMapping_enc_fx.c
index 203f39707841de02331ada3f1c518abda24cf86e..1e8bef488a4eb3ec9c049c33f584fdb801b60f6d 100644
--- a/lib_enc/ACcontextMapping_enc_fx.c
+++ b/lib_enc/ACcontextMapping_enc_fx.c
@@ -7,7 +7,6 @@
#include "options.h"
#include "basop_util.h"
#include "cnst.h"
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_prot_fx.h"
#include "rom_com.h"
diff --git a/lib_enc/FEC_enc_fx.c b/lib_enc/FEC_enc_fx.c
index 9106e23e70eeb8e67b6eaa8cd1be674973598811..87243e8d2fa5268c37ab5a6cb7513969450575d9 100644
--- a/lib_enc/FEC_enc_fx.c
+++ b/lib_enc/FEC_enc_fx.c
@@ -9,7 +9,6 @@
#include "rom_com.h" /* Static table prototypes */
#include "prot_fx.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
-#include "prot.h" /* Function prototypes */
#include "ivas_prot_fx.h" /* Function prototypes */
diff --git a/lib_enc/SNR_calc_fx.c b/lib_enc/SNR_calc_fx.c
index f44530c849cf8108fea348eef9dc8eb888cf2795..09acfd5dca1bb7bde7ab0896faee5ba2148c79d1 100644
--- a/lib_enc/SNR_calc_fx.c
+++ b/lib_enc/SNR_calc_fx.c
@@ -10,7 +10,6 @@
#include "prot_fx_enc.h" /* Function prototypes */
#include "rom_enc.h"
#include "rom_com.h"
-#include "prot.h"
/*-------------------------------------------------------------------*
diff --git a/lib_enc/acelp_core_enc_fx.c b/lib_enc/acelp_core_enc_fx.c
index 94d7f04717f89dec6f80ced573e0f2c75593bda3..0f58bcdad0a4fe0798740eeb61e440aa307d0812 100644
--- a/lib_enc/acelp_core_enc_fx.c
+++ b/lib_enc/acelp_core_enc_fx.c
@@ -6,7 +6,6 @@
#include
#include "options.h" /* Compilation switches */
#include "cnst.h"
-#include "prot.h"
#include "prot_fx.h"
#include "stat_enc.h"
#include "rom_com.h"
diff --git a/lib_enc/acelp_core_switch_enc_fx.c b/lib_enc/acelp_core_switch_enc_fx.c
index 8268d48b142cb20ff33b821714ed20b4100168ee..90768aca13d512978efe7e20f566a7f5954d58b8 100644
--- a/lib_enc/acelp_core_switch_enc_fx.c
+++ b/lib_enc/acelp_core_switch_enc_fx.c
@@ -11,7 +11,6 @@
#include "prot_fx.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
#include "basop_util.h" /* Function prototypes */
-#include "prot.h"
/*---------------------------------------------------------------------*
* Local function prototypes
*---------------------------------------------------------------------*/
diff --git a/lib_enc/ari_hm_enc_fx.c b/lib_enc/ari_hm_enc_fx.c
index a94f45528ec7e3d57470eb6e72b2aace5aa198ff..76d48ccf4318fd1aa0931b8b8358876751c1d6e1 100644
--- a/lib_enc/ari_hm_enc_fx.c
+++ b/lib_enc/ari_hm_enc_fx.c
@@ -10,9 +10,7 @@
#include "basop_util.h"
#include "rom_com.h"
#include "rom_enc.h"
-#include "prot.h"
-//#include "prot_fx.h"
-#include "prot_fx.h" /* Function prototypes */
+#include "prot_fx.h"
#include "prot_fx_enc.h" /* Function prototypes */
/*-------------------------------------------------------------------*
diff --git a/lib_enc/avq_cod_fx.c b/lib_enc/avq_cod_fx.c
index 202d60e51dd8e9c72ef431928b3ad14fefafaef8..93a0146f32fa21e94ab10f37f779061b373dc32c 100644
--- a/lib_enc/avq_cod_fx.c
+++ b/lib_enc/avq_cod_fx.c
@@ -5,9 +5,7 @@
#include
#include "options.h" /* Compilation switches */
#include "cnst.h"
-#include /* Compilation switches */
-#include "prot.h" /* Function prototypes */
-//#include "prot_fx.h" /* Function prototypes */
+#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 1721476b4b49985f7eacfccbc27373d695d418fa..e1b5ca5625949a8625c300fcdde0e0fba92cef03 100644
--- a/lib_enc/cng_enc_fx.c
+++ b/lib_enc/cng_enc_fx.c
@@ -2,12 +2,10 @@
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
#include
-#include "options.h" /* Compilation switches */
-#include "cnst.h" /* Common constants */
-#include "rom_enc.h" /* Encoder static table prototypes */
-#include "rom_com.h" /* Static table prototypes */
-//#include "prot_fx.h" /* Function prototypes */
-#include "prot.h" /* Function prototypes */
+#include "options.h" /* Compilation switches */
+#include "cnst.h" /* Common constants */
+#include "rom_enc.h" /* Encoder static table prototypes */
+#include "rom_com.h" /* Static table prototypes */
#include "prot_fx.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
//#include "basop_mpy.h"
diff --git a/lib_enc/cod2t32_fx.c b/lib_enc/cod2t32_fx.c
index c9bbe5f30954307fb392712240508edeca860d56..a948a4656c7154b56e7af98b6e3fae967d5e5ec2 100644
--- a/lib_enc/cod2t32_fx.c
+++ b/lib_enc/cod2t32_fx.c
@@ -5,7 +5,6 @@
#include "options.h" /* Compilation switches */
#include "cnst.h" /* Common constants */
#include "rom_com.h" /* Common constants */
-#include "prot.h" /* Function prototypes */
#include "prot_fx.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
diff --git a/lib_enc/cod4t64_fast.c b/lib_enc/cod4t64_fast.c
index 16651b8f29df60631c2da1e9ff9f3b3e2e633526..a901690e3f11774aa8edc3af6c180b86cb945877 100644
--- a/lib_enc/cod4t64_fast.c
+++ b/lib_enc/cod4t64_fast.c
@@ -34,7 +34,6 @@
#include "options.h"
#include
#include "cnst.h"
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
diff --git a/lib_enc/cod4t64_fx.c b/lib_enc/cod4t64_fx.c
index 44cde6f27d8488be31521c55cd81eb875d3a196d..99b794b42325932654eef0f13ab6f90b733671d2 100644
--- a/lib_enc/cod4t64_fx.c
+++ b/lib_enc/cod4t64_fx.c
@@ -5,10 +5,9 @@
#include "options.h" /* VMR-WB compilation switches */
#include "cnst.h" /* Common constants */
#include "rom_enc.h" /* Encoder static table prototypes */
-#include "prot.h" /* Function prototypes */
+#include "prot_fx.h" /* Function prototypes */
#include "rom_com_fx.h" /* Static table prototypes */
#include "rom_com.h" /* Static table prototypes */
-#include "prot_fx.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
diff --git a/lib_enc/cod_tcx_fx.c b/lib_enc/cod_tcx_fx.c
index de9763df0b10f604f72ecbb484da56b3eb11d5c7..c54e8ccf4c9f27b0623e805befcd7af8ce72e4b6 100644
--- a/lib_enc/cod_tcx_fx.c
+++ b/lib_enc/cod_tcx_fx.c
@@ -16,11 +16,9 @@
#include "prot_fx_enc.h"
#ifdef IVAS_FLOAT_FIXED_CONVERSIONS
#include
-#include "prot.h"
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
#include "ivas_rom_com_fx.h"
-#include "prot.h"
#endif
#ifdef DEBUGGING
#include "debug.h"
diff --git a/lib_enc/core_enc_init_fx.c b/lib_enc/core_enc_init_fx.c
index c2b1c22e1e9ac139504bea1564ccbe8f5176c3bc..a2995245d14972fb2795cff193f21d190312b48f 100644
--- a/lib_enc/core_enc_init_fx.c
+++ b/lib_enc/core_enc_init_fx.c
@@ -13,7 +13,6 @@
#include "ivas_cnst.h"
#include
#include "rom_com.h" /* Common constants */
-#include "prot.h" /* Function prototypes */
#include "prot_fx.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
#include "basop_util.h" /* Function prototypes */
diff --git a/lib_enc/core_enc_switch_fx.c b/lib_enc/core_enc_switch_fx.c
index 82bb5fca9ee3d12fe100c7f11863652145e523bd..f3b4aea6b733fb4dca0a8e778a430f4368e34f96 100644
--- a/lib_enc/core_enc_switch_fx.c
+++ b/lib_enc/core_enc_switch_fx.c
@@ -4,14 +4,11 @@
#include
#include
#include "options.h"
-#include "prot.h"
-//#include "prot_fx.h"
-//#include "basop_mpy.h"
+#include "prot_fx.h"
#include "cnst.h" /* Common constants */
#include "ivas_cnst.h"
#include "rom_com_fx.h"
#include "rom_com.h" /* Common constants */
-#include "prot_fx.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
#include "basop_util.h" /* Function prototypes */
diff --git a/lib_enc/dtx_fx.c b/lib_enc/dtx_fx.c
index a6b9e0aa4bdc085039e228e71f99abeca311b384..6e4d2a0436255103b032bd53723727a0e787f0cb 100644
--- a/lib_enc/dtx_fx.c
+++ b/lib_enc/dtx_fx.c
@@ -10,7 +10,6 @@
#include
#include "prot_fx.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
-#include "prot.h"
/*-------------------------------------------------------------------*
* Local constants
diff --git a/lib_enc/enc_gen_voic_fx.c b/lib_enc/enc_gen_voic_fx.c
index 1053f8b003bcdebd8a9cef8afc6d0230bd4dc1f2..06c49a8d3a3d9b7ed08f81da11f2030ac5da0127 100644
--- a/lib_enc/enc_gen_voic_fx.c
+++ b/lib_enc/enc_gen_voic_fx.c
@@ -4,10 +4,9 @@
#include
#include "options.h" /* Compilation switches */
#include "cnst.h" /* Common constants */
-#include "prot.h" /* Function prototypes */
+#include "prot_fx.h" /* Function prototypes */
#include "rom_com_fx.h" /* Static table prototypes */
#include "rom_com.h" /* Static table prototypes */
-#include "prot_fx.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
/*======================================================================*/
diff --git a/lib_enc/enc_higher_acelp_fx.c b/lib_enc/enc_higher_acelp_fx.c
index a01550978a7b63f3eb10b219481a928d3f270444..64a11be5b145b5db326b69af31dc1b4d627ea512 100644
--- a/lib_enc/enc_higher_acelp_fx.c
+++ b/lib_enc/enc_higher_acelp_fx.c
@@ -4,10 +4,9 @@
#include
#include "options.h" /* Compilation switches */
#include "cnst.h" /* Common constants */
-#include "prot.h" /* Function prototypes */
+#include "prot_fx.h" /* Function prototypes */
#include "rom_com_fx.h" /* Static table prototypes */
#include "rom_com.h" /* Static table prototypes */
-#include "prot_fx.h"
#include "prot_fx_enc.h"
/*---------------------------------------------------------------------*
diff --git a/lib_enc/enc_pit_exc_fx.c b/lib_enc/enc_pit_exc_fx.c
index 18948a93f9cf4ebf261fd6763bf0a00adfea688d..3ed50017cc30c56612bd19f149abfccc203e7fd2 100644
--- a/lib_enc/enc_pit_exc_fx.c
+++ b/lib_enc/enc_pit_exc_fx.c
@@ -6,7 +6,6 @@
#include "cnst.h" /* Common constants */
#include "rom_com_fx.h" /* Static table prototypes */
#include "rom_com.h" /* Static table prototypes */
-#include "prot.h" /* Function prototypes */
#include "prot_fx.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
diff --git a/lib_enc/enc_prm_fx.c b/lib_enc/enc_prm_fx.c
index da2ea58633af67855ca699a13a7b2d650d700024..ecd4e2f013b4bb937d8fa8cb5d8f88a19b1482b6 100644
--- a/lib_enc/enc_prm_fx.c
+++ b/lib_enc/enc_prm_fx.c
@@ -11,8 +11,7 @@
#include "rom_com_fx.h"
#include "rom_com.h"
#include "stl.h"
-#include "prot.h"
-#include "prot_fx.h" /* Function prototypes */
+#include "prot_fx.h"
#include "prot_fx_enc.h" /* Function prototypes */
diff --git a/lib_enc/enc_tran_fx.c b/lib_enc/enc_tran_fx.c
index bf04daff523b91988c8b79f61e2415f0b36cc5a3..5b9f6750302d8933f8718fd68ec923edc7b20863 100644
--- a/lib_enc/enc_tran_fx.c
+++ b/lib_enc/enc_tran_fx.c
@@ -7,7 +7,6 @@
// #include "prot_fx.h" /* Function prototypes */
#include "rom_com_fx.h" /* Static table prototypes */
#include "rom_com.h" /* Static table prototypes */
-#include "prot.h" /* Function prototypes */
#include "prot_fx.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
diff --git a/lib_enc/enc_uv_fx.c b/lib_enc/enc_uv_fx.c
index 2a621f1d5e3f133fea44486e7052650fd82e0ab3..cd23c1a6f4035e6a60218dc53dbfe5b06ba74467 100644
--- a/lib_enc/enc_uv_fx.c
+++ b/lib_enc/enc_uv_fx.c
@@ -5,9 +5,8 @@
#include
#include "options.h" /* Compilation switches */
#include "cnst.h" /* Common constants */
-#include "prot.h" /* Function prototypes */
+#include "prot_fx.h" /* Function prototypes */
#include "rom_com.h"
-#include "prot_fx.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
/*-------------------------------------------------------------------*
diff --git a/lib_enc/eval_pit_contr_fx.c b/lib_enc/eval_pit_contr_fx.c
index e49463a5cf1a9eccf19b817a54d636bf68ca46c3..75e82409efd3c96d5db2d4a95dafa35e61a043ca 100644
--- a/lib_enc/eval_pit_contr_fx.c
+++ b/lib_enc/eval_pit_contr_fx.c
@@ -6,7 +6,6 @@
#include "cnst.h" /* Common constants */
#include "rom_com_fx.h" /* Static table prototypes */
#include "rom_com.h" /* Static table prototypes */
-#include "prot.h" /* Function prototypes */
#include "prot_fx.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
diff --git a/lib_enc/evs_enc_fx.c b/lib_enc/evs_enc_fx.c
index 6970597c8e6dbd13c1e852e2ca7dfd5626667612..c86b7e0613bcc737810d7a33d01b17b2d021a76e 100644
--- a/lib_enc/evs_enc_fx.c
+++ b/lib_enc/evs_enc_fx.c
@@ -5,10 +5,9 @@
#include
#include
#include "options.h" /* Compilation switches */
-#include "prot.h"
+#include "prot_fx.h"
#include "cnst.h" /* Common constants */
#include "rom_com.h" /* Common constants */
-#include "prot_fx.h" /* Function prototypes */
#include "basop_util.h" /* Function prototypes */
#include "prot_fx_enc.h"
#ifdef DEBUGGING
diff --git a/lib_enc/fd_cng_enc_fx.c b/lib_enc/fd_cng_enc_fx.c
index 9cb2cd8e0e62cfe7f05ff423d47bb6e0fc3abcf8..307d42078a99876f5ea2d4122ad45e1a3a081970 100644
--- a/lib_enc/fd_cng_enc_fx.c
+++ b/lib_enc/fd_cng_enc_fx.c
@@ -11,7 +11,6 @@
#include "rom_com_fx.h"
#include "rom_com.h"
#include "rom_enc.h"
-#include "prot.h"
#include "prot_fx.h"
#include "prot_fx_enc.h"
#include "ivas_prot_fx.h"
diff --git a/lib_enc/find_wsp_fx.c b/lib_enc/find_wsp_fx.c
index d08922a2a479c3d3c4f0b2566433b25568af0342..155e499046dd1ead55fbc5fc7bf4f87eb4edd434 100644
--- a/lib_enc/find_wsp_fx.c
+++ b/lib_enc/find_wsp_fx.c
@@ -6,8 +6,7 @@
#include
#include "options.h"
#include "cnst.h"
-#include "prot.h"
-#include "prot_fx.h" /* Function prototypes */
+#include "prot_fx.h"
#include "prot_fx_enc.h" /* Function prototypes */
diff --git a/lib_enc/gain_enc_fx.c b/lib_enc/gain_enc_fx.c
index 6af068bae795e68be1b0495ebde8ea08032e4a32..0321cd763496bed2b50533c25200944947315a6d 100644
--- a/lib_enc/gain_enc_fx.c
+++ b/lib_enc/gain_enc_fx.c
@@ -7,7 +7,6 @@
#include "rom_com_fx.h" /* Static table prototypes */
#include "rom_com.h" /* Static table prototypes */
//#include "prot_fx.h" /* Function prototypes */
-#include "prot.h" /* Function prototypes */
#include "prot_fx.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
diff --git a/lib_enc/gaus_enc_fx.c b/lib_enc/gaus_enc_fx.c
index a7d60642bb0d6c56b7772c47e85b77b2a6138b9f..f943b104d5ba4e27f3e0b7bbac7061463fd111f4 100644
--- a/lib_enc/gaus_enc_fx.c
+++ b/lib_enc/gaus_enc_fx.c
@@ -7,7 +7,6 @@
#include "rom_com_fx.h" /* Static table prototypes */
#include "rom_com.h" /* Static table prototypes */
#include "rom_enc.h" /* Static table prototypes */
-#include "prot.h" /* Function prototypes */
#include "prot_fx.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
//#include "basop_mpy.h"
diff --git a/lib_enc/gs_enc_fx.c b/lib_enc/gs_enc_fx.c
index 8ed7e9d6ce8a26e6b87b404027db1a66ead144fa..375d4c2cf3dbf9bbc092a1ee3e0a523d3ea480f3 100644
--- a/lib_enc/gs_enc_fx.c
+++ b/lib_enc/gs_enc_fx.c
@@ -6,8 +6,6 @@
#include "cnst.h"
#include "rom_com_fx.h"
#include "rom_com.h"
-//#include "prot_fx.h"
-#include "prot.h" /* Function prototypes */
#include "prot_fx.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
diff --git a/lib_enc/hq_classifier_enc_fx.c b/lib_enc/hq_classifier_enc_fx.c
index 53ad3dbb20a352a0240f4cdeb6957c30dea10d1c..944cb26491e4e19ddd932fa474b2991618e7878e 100644
--- a/lib_enc/hq_classifier_enc_fx.c
+++ b/lib_enc/hq_classifier_enc_fx.c
@@ -8,7 +8,6 @@
#include "rom_com_fx.h" /* Static table prototypes */
#include "rom_com.h" /* Static table prototypes */
#include "prot_fx.h" /* Function prototypes */
-#include "prot.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
/*-----------------------------------------------------------------*
diff --git a/lib_enc/hq_core_enc_fx.c b/lib_enc/hq_core_enc_fx.c
index 11583ea117ab11b8796617cda7c0c9f904d799c8..f22218d13675013ebf72419bf23980144ac8e4fb 100644
--- a/lib_enc/hq_core_enc_fx.c
+++ b/lib_enc/hq_core_enc_fx.c
@@ -2,12 +2,10 @@
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
#include
-#include "options.h" /* Compilation switches */
-#include "cnst.h" /* Common constants */
-#include "rom_com_fx.h" /* Static table prototypes */
-#include "rom_com.h" /* Static table prototypes */
-//#include "prot_fx.h" /* Function prototypes */
-#include "prot.h" /* Function prototypes */
+#include "options.h" /* Compilation switches */
+#include "cnst.h" /* Common constants */
+#include "rom_com_fx.h" /* Static table prototypes */
+#include "rom_com.h" /* Static table prototypes */
#include "prot_fx.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
diff --git a/lib_enc/hq_env_enc_fx.c b/lib_enc/hq_env_enc_fx.c
index b0875968e2c2ede803105d6d7fae94bea062f55e..5d47710ed9fe68624d4a61c83d4b9ed99b03a942 100644
--- a/lib_enc/hq_env_enc_fx.c
+++ b/lib_enc/hq_env_enc_fx.c
@@ -10,7 +10,6 @@
#include "stl.h"
#include "prot_fx.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
-#include "prot.h" /* Function prototypes */
/*--------------------------------------------------------------------------------------*
* encode_envelope_indices_fx()
diff --git a/lib_enc/hq_hr_enc_fx.c b/lib_enc/hq_hr_enc_fx.c
index 4d4742cc167daaad8a0ddee080a7f1c3934e7616..1cd516b43ede33b5bb2659fe020e73be8976338e 100644
--- a/lib_enc/hq_hr_enc_fx.c
+++ b/lib_enc/hq_hr_enc_fx.c
@@ -7,7 +7,6 @@
//#include "prot_fx.h" /* Function prototypes */
#include "rom_com_fx.h" /* Static table prototypes */
#include "rom_com.h" /* Static table prototypes */
-#include "prot.h" /* Function prototypes */
#include "prot_fx.h" /* Function prototypes */
#include "ivas_prot_fx.h"
#include "prot_fx_enc.h" /* Function prototypes */
diff --git a/lib_enc/hq_lr_enc_fx.c b/lib_enc/hq_lr_enc_fx.c
index 424689804d665f7b3bd8325169cf647bc4627d9b..9aca0f6465fd0e06e899334619e5504490d4a930 100644
--- a/lib_enc/hq_lr_enc_fx.c
+++ b/lib_enc/hq_lr_enc_fx.c
@@ -12,7 +12,6 @@
#include "prot_fx.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
#include "basop_util.h" /* Function prototypes */
-#include "prot.h"
/*--------------------------------------------------------------------------*
* Local function prototypes
diff --git a/lib_enc/hvq_enc_fx.c b/lib_enc/hvq_enc_fx.c
index 54bc4fb5822896ff14f9e077477c4dd20dbb0f25..b06a1734dd6e65a8e17e029efdc5d5bb6a1f0347 100644
--- a/lib_enc/hvq_enc_fx.c
+++ b/lib_enc/hvq_enc_fx.c
@@ -8,7 +8,6 @@
//#include "prot_fx.h"
#include "rom_com.h"
#include "prot_fx.h" /* Function prototypes */
-#include "prot.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
#define HVQ_ENC_NOISE_DELTA ( (Word16) 3277 ) /* 0.1 in Q15 */
diff --git a/lib_enc/igf_enc.c b/lib_enc/igf_enc.c
index 6ac6e6811deae2f655bc98fbbd6b9748b19c774f..f6adb0f3118b68374966b1eac0f304fceb823b4e 100644
--- a/lib_enc/igf_enc.c
+++ b/lib_enc/igf_enc.c
@@ -38,13 +38,12 @@
#include
#include "options.h"
#include
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "cnst.h"
#include "stat_enc.h"
#include "wmc_auto.h"
#include "prot_fx_enc.h"
-#include "prot_fx.h"
#define INV_Log2_10_Q15 9864 /*1/log2(10) in Q15*/
@@ -2535,41 +2534,6 @@ void IGFEncResetTCX10BitCounter_ivas_fx(
}
-/*-------------------------------------------------------------------*
- * IGFEncWriteConcatenatedBitstream()
- *
- *
- *-------------------------------------------------------------------*/
-
-/*! r: total number of bits written */
-Word16 IGFEncWriteConcatenatedBitstream(
- const IGF_ENC_INSTANCE_HANDLE hIGFEnc, /* i : instance handle of IGF Encoder */
- BSTR_ENC_HANDLE hBstr /* i/o: encoder bitstream handle */
-)
-{
- IGF_ENC_PRIVATE_DATA_HANDLE hPrivateData;
- Word16 i;
- Word16 bitsLeft;
- UWord8 *pBitstream;
-
- hPrivateData = &hIGFEnc->igfData;
- pBitstream = hPrivateData->igfBitstream;
-
- for ( i = 0; i < ( hPrivateData->igfBitstreamBits >> 3 ); i++ )
- {
- push_next_indice( hBstr, pBitstream[i], 8 );
- }
-
- bitsLeft = hPrivateData->igfBitstreamBits & 0x7;
- if ( bitsLeft > 0 )
- {
- push_next_indice( hBstr, shr( pBitstream[i], sub( 8, bitsLeft ) ), bitsLeft );
- }
-
- return hIGFEnc->infoTotalBitsWritten;
-}
-
-
/*-------------------------------------------------------------------*
* IGFEncApplyMono()
*
diff --git a/lib_enc/igf_enc_fx.c b/lib_enc/igf_enc_fx.c
index ca1759c89aa6215136f84a024d11028930f4fd0e..cc48408763babac36e5f43a16ffc5c3777a222a1 100644
--- a/lib_enc/igf_enc_fx.c
+++ b/lib_enc/igf_enc_fx.c
@@ -8,8 +8,7 @@
#include "options.h"
#include "cnst.h"
#include "stl.h"
-#include "prot.h"
-#include "prot_fx.h" /* Function prototypes */
+#include "prot_fx.h"
#include "prot_fx_enc.h" /* Function prototypes */
#include "stat_enc.h"
#include "basop_util.h"
diff --git a/lib_enc/igf_scf_enc.c b/lib_enc/igf_scf_enc.c
index 192d7e5974001d4c56872bcdd6620c6e499a7599..2921b58866c86fab78dcf3af0061fa68559cd4ec 100644
--- a/lib_enc/igf_scf_enc.c
+++ b/lib_enc/igf_scf_enc.c
@@ -36,12 +36,11 @@
#include
#include "options.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "stat_enc.h"
#include "stat_com.h"
#include "cnst.h"
#include "wmc_auto.h"
-#include "prot_fx.h"
#include "prot_fx_enc.h"
diff --git a/lib_enc/init_enc_fx.c b/lib_enc/init_enc_fx.c
index 5de4e8e92d2e15af914eb32c52e577c3d7b65af5..615ca1b337b58a664b25fbcc2d8ff0da120e7bb8 100644
--- a/lib_enc/init_enc_fx.c
+++ b/lib_enc/init_enc_fx.c
@@ -10,7 +10,6 @@
#include "stl.h"
#include "ivas_cnst.h"
#include "ivas_error.h"
-#include "prot.h" /* Function prototypes */
#include "prot_fx.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
#include "ivas_prot_fx.h"
diff --git a/lib_enc/inov_enc_fx.c b/lib_enc/inov_enc_fx.c
index 7bb13239fe9f22487e7098bc80c4985e2168138f..46bec5f4d9e8b41563b4ab1ca6246fdf2dd54249 100644
--- a/lib_enc/inov_enc_fx.c
+++ b/lib_enc/inov_enc_fx.c
@@ -10,7 +10,6 @@
#include "rom_com.h" /* Static table prototypes */
#include "prot_fx.h" /* Function prototypes */
#include "ivas_prot_fx.h" /* Function prototypes */
-#include "prot.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
diff --git a/lib_enc/ivas_agc_enc_fx.c b/lib_enc/ivas_agc_enc_fx.c
index 649c5bae5857283233e82f7f014d6832c6d5d11c..37d25c508f4d0d69a92ea75b96d4987404cca601 100644
--- a/lib_enc/ivas_agc_enc_fx.c
+++ b/lib_enc/ivas_agc_enc_fx.c
@@ -36,10 +36,9 @@
#include
#include "options.h"
#include "ivas_prot.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "rom_com.h"
#include "wmc_auto.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
#include "basop_util.h"
diff --git a/lib_enc/ivas_core_enc_fx.c b/lib_enc/ivas_core_enc_fx.c
index 303adecfd1c050a1ba96d871418de954ef852236..5f318e959039a489043412e18fc5a7d27ada6a09 100644
--- a/lib_enc/ivas_core_enc_fx.c
+++ b/lib_enc/ivas_core_enc_fx.c
@@ -34,12 +34,11 @@
#include "options.h"
#include "cnst.h"
#include "rom_com.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_cnst.h"
#include "ivas_prot.h"
#include "wmc_auto.h"
#include
-#include "prot_fx.h"
#include "prot_fx_enc.h"
#include "ivas_prot_fx.h"
#include "prot_fx_enc.h"
diff --git a/lib_enc/ivas_core_pre_proc_front_fx.c b/lib_enc/ivas_core_pre_proc_front_fx.c
index f963b55a4a06cb21a3c664ff13362332b97048fb..f41eb7f9cf7c697d4e721c984f5a921c8529cd1c 100644
--- a/lib_enc/ivas_core_pre_proc_front_fx.c
+++ b/lib_enc/ivas_core_pre_proc_front_fx.c
@@ -36,7 +36,6 @@
#include "ivas_cnst.h"
#include "rom_enc.h"
#include "rom_com.h"
-#include "prot.h"
#include "prot_fx.h"
#include "prot_fx_enc.h"
#include "ivas_prot.h"
@@ -50,7 +49,6 @@
#include "prot_fx_enc.h"
#include "ivas_prot_fx.h"
-#include "prot_fx.h"
/*---------------------------------------------------------------*
* Local constants
diff --git a/lib_enc/ivas_core_pre_proc_fx.c b/lib_enc/ivas_core_pre_proc_fx.c
index 1234a687614176d6506479d30212877d76a8de80..a9da7f342ceb4cc8420c26086a1e6ee6c8130393 100644
--- a/lib_enc/ivas_core_pre_proc_fx.c
+++ b/lib_enc/ivas_core_pre_proc_fx.c
@@ -37,9 +37,8 @@
#include "ivas_prot.h"
#include "rom_enc.h"
#include "rom_com.h"
-#include "prot.h"
-#include "wmc_auto.h"
#include "prot_fx.h"
+#include "wmc_auto.h"
#include "ivas_prot_fx.h"
#include "prot_fx_enc.h"
#include "basop_util.h"
diff --git a/lib_enc/ivas_corecoder_enc_reconfig_fx.c b/lib_enc/ivas_corecoder_enc_reconfig_fx.c
index 1b4d5da4ac0c84449f4d66aa9c46e5003e5504fa..32e3e710734c8db41ec05e37cefc591bbc3e4cf5 100644
--- a/lib_enc/ivas_corecoder_enc_reconfig_fx.c
+++ b/lib_enc/ivas_corecoder_enc_reconfig_fx.c
@@ -33,7 +33,6 @@
#include
#include "options.h"
#include "ivas_cnst.h"
-#include "prot.h"
#include "prot_fx.h"
#include "prot_fx_enc.h"
#include "ivas_prot.h"
diff --git a/lib_enc/ivas_cpe_enc_fx.c b/lib_enc/ivas_cpe_enc_fx.c
index 3fd9c2d7a071991e1ef8aac46ab549c4458c254b..811e53d123aec73f533aca12bae9613987d6212b 100644
--- a/lib_enc/ivas_cpe_enc_fx.c
+++ b/lib_enc/ivas_cpe_enc_fx.c
@@ -36,7 +36,7 @@
#include "cnst.h"
#include "ivas_cnst.h"
#include "rom_com.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "prot_fx_enc.h"
#include "ivas_rom_com.h"
@@ -45,7 +45,6 @@
#endif
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
-#include "prot_fx.h"
#include "ivas_rom_enc.h"
#include "prot_fx_enc.h"
diff --git a/lib_enc/ivas_decision_matrix_enc_fx.c b/lib_enc/ivas_decision_matrix_enc_fx.c
index a3194a9d01defc8af0fc9842afd054b7bf58b8b5..1158f72fab84bcffb7c2b6488e3b3103f41c7d44 100644
--- a/lib_enc/ivas_decision_matrix_enc_fx.c
+++ b/lib_enc/ivas_decision_matrix_enc_fx.c
@@ -35,11 +35,10 @@
#include "cnst.h"
#include "ivas_cnst.h"
#include "rom_com.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_rom_com.h"
#include "wmc_auto.h"
-#include "prot_fx.h" /* Function prototypes */
#include "ivas_prot_fx.h" /* Function prototypes */
#include "ivas_prot_fx.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
diff --git a/lib_enc/ivas_dirac_enc_fx.c b/lib_enc/ivas_dirac_enc_fx.c
index ec55850fd0f5c5171c84f97b38135022ae91d6ca..7bfa9f2682c242d53b53e3201a82aab605204696 100644
--- a/lib_enc/ivas_dirac_enc_fx.c
+++ b/lib_enc/ivas_dirac_enc_fx.c
@@ -35,7 +35,6 @@
#include "options.h"
#include
#include "cnst.h"
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
diff --git a/lib_enc/ivas_enc_cov_handler_fx.c b/lib_enc/ivas_enc_cov_handler_fx.c
index 95a114b679efbaf8465e3aea25a447eb5a481206..576bbb2c67938ff04074130dd06d1d878b781717 100644
--- a/lib_enc/ivas_enc_cov_handler_fx.c
+++ b/lib_enc/ivas_enc_cov_handler_fx.c
@@ -32,11 +32,10 @@
#include
#include "options.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_rom_com.h"
#include "wmc_auto.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
/*------------------------------------------------------------------------------------------*
diff --git a/lib_enc/ivas_enc_fx.c b/lib_enc/ivas_enc_fx.c
index 2bab65c428c7e9e4998c71fe41051ee06ffa8fbf..0a2d976e156540a16bd7a3a08d553dee8b529845 100644
--- a/lib_enc/ivas_enc_fx.c
+++ b/lib_enc/ivas_enc_fx.c
@@ -36,14 +36,13 @@
#include "cnst.h"
#include "ivas_cnst.h"
#include "rom_com.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_rom_com.h"
#ifdef DEBUGGING
#include "debug.h"
#endif
#include "wmc_auto.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
/*-------------------------------------------------------------------*
diff --git a/lib_enc/ivas_entropy_coder_fx.c b/lib_enc/ivas_entropy_coder_fx.c
index eb82aa78a39177678b00136ccd5c6910322f6e6e..a95f2884c7d3d698551ba745e96aeab284293479 100644
--- a/lib_enc/ivas_entropy_coder_fx.c
+++ b/lib_enc/ivas_entropy_coder_fx.c
@@ -34,7 +34,6 @@
#include
#include "options.h"
#include "ivas_cnst.h"
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_rom_com.h"
diff --git a/lib_enc/ivas_front_vad_fx.c b/lib_enc/ivas_front_vad_fx.c
index 3844598c62b004233f3a0dcc1999ae82cd9738d6..f1aeb5398ed0174f11a4dac67df2f0fde704d407 100644
--- a/lib_enc/ivas_front_vad_fx.c
+++ b/lib_enc/ivas_front_vad_fx.c
@@ -36,14 +36,13 @@
#include "ivas_cnst.h"
#include "rom_enc.h"
#include "rom_com.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "prot_fx_enc.h"
#include
#include "wmc_auto.h"
#include
#include "prot_fx_enc.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
/*-----------------------------------------------------------------------------------------*
diff --git a/lib_enc/ivas_init_enc_fx.c b/lib_enc/ivas_init_enc_fx.c
index 9d31297bdc8770a6c392c37f194c380a72df1c61..3eeb45d149f8bbcc66fe4fdfd21fcbdb3a6efa74 100644
--- a/lib_enc/ivas_init_enc_fx.c
+++ b/lib_enc/ivas_init_enc_fx.c
@@ -34,7 +34,7 @@
#include
#include "options.h"
#include "ivas_cnst.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
#include "ivas_stat_enc.h"
@@ -42,7 +42,6 @@
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
#include "prot_fx_enc.h"
-#include "prot_fx.h"
/*-------------------------------------------------------------------*
diff --git a/lib_enc/ivas_ism_dtx_enc_fx.c b/lib_enc/ivas_ism_dtx_enc_fx.c
index 6156607613e656764f9c27f2865aa42fe39f8843..64b8991d6fe0ad2263957824914c70e8cd92da18 100644
--- a/lib_enc/ivas_ism_dtx_enc_fx.c
+++ b/lib_enc/ivas_ism_dtx_enc_fx.c
@@ -34,10 +34,9 @@
#include
#include "options.h"
#include "ivas_cnst.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "wmc_auto.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
#include "prot_fx_enc.h"
diff --git a/lib_enc/ivas_ism_enc_fx.c b/lib_enc/ivas_ism_enc_fx.c
index 51af4e5a9195930fa734144f93851480c709af73..22bf88df8595d1cc041f4593b5faca1d39f3b41a 100644
--- a/lib_enc/ivas_ism_enc_fx.c
+++ b/lib_enc/ivas_ism_enc_fx.c
@@ -33,12 +33,11 @@
#include
#include "options.h"
#include "ivas_cnst.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_stat_enc.h"
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
-#include "prot_fx.h"
#include "prot_fx_enc.h"
#ifdef DEBUGGING
#include "debug.h"
diff --git a/lib_enc/ivas_ism_metadata_enc_fx.c b/lib_enc/ivas_ism_metadata_enc_fx.c
index a5a1286a2f1c6ee1a206b5c77b96e4760519163c..a36ee78e25aacfacab74e1a8398b7c1d0e9c7316 100644
--- a/lib_enc/ivas_ism_metadata_enc_fx.c
+++ b/lib_enc/ivas_ism_metadata_enc_fx.c
@@ -38,10 +38,9 @@
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
#include "ivas_rom_com.h"
-#include "prot.h"
+#include "prot_fx.h"
#include
#include "wmc_auto.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
#include "ivas_rom_com_fx.h"
diff --git a/lib_enc/ivas_ism_param_enc_fx.c b/lib_enc/ivas_ism_param_enc_fx.c
index bef6912bd58d286b096aa6cd8eebbc35cf7403f8..e6b23fcfc1f305e98ada4c3c52a4a6da5f73b1f8 100644
--- a/lib_enc/ivas_ism_param_enc_fx.c
+++ b/lib_enc/ivas_ism_param_enc_fx.c
@@ -36,7 +36,6 @@
#include "options.h"
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
-#include "prot.h"
#include "prot_fx.h"
#include "cnst.h"
#include "ivas_cnst.h"
diff --git a/lib_enc/ivas_lfe_enc_fx.c b/lib_enc/ivas_lfe_enc_fx.c
index fee34abd8f392bed48c062713ad7cc9364da70fe..86237fb319225ded3f4d6341f7240b8cf0b93ffd 100644
--- a/lib_enc/ivas_lfe_enc_fx.c
+++ b/lib_enc/ivas_lfe_enc_fx.c
@@ -33,12 +33,11 @@
#include
#include "options.h"
#include "math.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_cnst.h"
#include "ivas_rom_com.h"
#include "wmc_auto.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
diff --git a/lib_enc/ivas_masa_enc_fx.c b/lib_enc/ivas_masa_enc_fx.c
index f4fe68c59e8c6aac66b343bfdc3b68afd621ad2d..21c23c34a7dffce21d7ce11c5848571664f80faa 100644
--- a/lib_enc/ivas_masa_enc_fx.c
+++ b/lib_enc/ivas_masa_enc_fx.c
@@ -38,7 +38,6 @@
#include "ivas_rom_com.h"
#include "ivas_stat_enc.h"
#include "wmc_auto.h"
-#include "prot.h"
#include "prot_fx.h"
#include "prot_fx_enc.h"
#include "ivas_prot_fx.h"
diff --git a/lib_enc/ivas_mc_param_enc_fx.c b/lib_enc/ivas_mc_param_enc_fx.c
index 36324ae0f8182cef507ce53c0d8ea2707694db39..2797fa5e426a03f179e48731f671eb0757f763f9 100644
--- a/lib_enc/ivas_mc_param_enc_fx.c
+++ b/lib_enc/ivas_mc_param_enc_fx.c
@@ -37,7 +37,6 @@
#include "rom_enc.h"
#include "ivas_rom_enc.h"
#include "rom_com.h"
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
@@ -46,7 +45,6 @@
#include "wmc_auto.h"
#include "prot_fx_enc.h"
-#include "prot_fx.h"
/*-------------------------------------------------------------------------
* Local function prototypes
diff --git a/lib_enc/ivas_mc_paramupmix_enc_fx.c b/lib_enc/ivas_mc_paramupmix_enc_fx.c
index 392f1d9ab97ecc97a1bea5a99783d7dee2503f15..9060c786bc63450eccd15322a4d50ce7792fb349 100644
--- a/lib_enc/ivas_mc_paramupmix_enc_fx.c
+++ b/lib_enc/ivas_mc_paramupmix_enc_fx.c
@@ -36,10 +36,9 @@
#include "cnst.h"
#include "rom_enc.h"
#include "rom_com.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
-#include "prot_fx.h"
#include "basop_util.h"
#include "ivas_rom_com_fx.h"
#include "ivas_cnst.h"
diff --git a/lib_enc/ivas_mcmasa_enc_fx.c b/lib_enc/ivas_mcmasa_enc_fx.c
index b3f99e27c844fe73aa7cccfe0064803557b1af1a..bb6ef0d01c028b3175e417fe60d02198bfa462b5 100644
--- a/lib_enc/ivas_mcmasa_enc_fx.c
+++ b/lib_enc/ivas_mcmasa_enc_fx.c
@@ -38,7 +38,6 @@
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
#include "options.h"
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_rom_com.h"
#include "ivas_rom_com_fx.h"
diff --git a/lib_enc/ivas_mct_core_enc_fx.c b/lib_enc/ivas_mct_core_enc_fx.c
index d11447c033070efac83d437161389004fba6d35c..439c227aee1c02d77f09a859b16b35817025c29f 100644
--- a/lib_enc/ivas_mct_core_enc_fx.c
+++ b/lib_enc/ivas_mct_core_enc_fx.c
@@ -34,14 +34,12 @@
#include
#include "options.h"
#include "cnst.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "rom_com.h"
#include "wmc_auto.h"
-#include "prot_fx.h"
#include "prot_fx_enc.h"
#include "ivas_prot_fx.h"
-#include "prot_fx.h"
#include
diff --git a/lib_enc/ivas_mct_enc_fx.c b/lib_enc/ivas_mct_enc_fx.c
index dbced19fdf4aa9418cf1d7b5c765a105bda974be..55da30e73f9b96fda498a07f38e42540a66a1774 100644
--- a/lib_enc/ivas_mct_enc_fx.c
+++ b/lib_enc/ivas_mct_enc_fx.c
@@ -36,10 +36,9 @@
#include
#include "cnst.h"
#include "ivas_cnst.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "wmc_auto.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
#include "prot_fx_enc.h"
#include "rom_com.h"
diff --git a/lib_enc/ivas_mct_enc_mct_fx.c b/lib_enc/ivas_mct_enc_mct_fx.c
index 7e8547841780c4143b23e9224f5bf8b857824b1e..88d773b530a6666c79c5f1f59511af922a0507b0 100644
--- a/lib_enc/ivas_mct_enc_mct_fx.c
+++ b/lib_enc/ivas_mct_enc_mct_fx.c
@@ -36,7 +36,6 @@
#include "ivas_cnst.h"
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
-#include "prot.h"
#include "prot_fx.h"
#include "prot_fx_enc.h"
#include "wmc_auto.h"
diff --git a/lib_enc/ivas_mdct_core_enc_fx.c b/lib_enc/ivas_mdct_core_enc_fx.c
index edfc607ed3da7157d956d20a7702eaac518ee93d..403d379fa21eee4fcb25b01fc9498fd239979415 100644
--- a/lib_enc/ivas_mdct_core_enc_fx.c
+++ b/lib_enc/ivas_mdct_core_enc_fx.c
@@ -36,13 +36,12 @@
#include "options.h"
#include
#include "cnst.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "rom_com.h"
#include "ivas_rom_com.h"
#include "wmc_auto.h"
#include "prot_fx_enc.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
diff --git a/lib_enc/ivas_omasa_enc_fx.c b/lib_enc/ivas_omasa_enc_fx.c
index f09d4513d6cda30c00684a368f66665523e381c1..7c8b78ffb52a8f3a84caacd20be09ca832a5bb6a 100644
--- a/lib_enc/ivas_omasa_enc_fx.c
+++ b/lib_enc/ivas_omasa_enc_fx.c
@@ -37,7 +37,6 @@
#include "ivas_cnst.h"
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_rom_com.h"
#include "ivas_rom_enc.h"
diff --git a/lib_enc/ivas_osba_enc_fx.c b/lib_enc/ivas_osba_enc_fx.c
index 5eee0975a65ce341cebb3860fd8b939cba8b3ca0..648dcdb7372b2f4ea6a91629772d3d226ea05b94 100644
--- a/lib_enc/ivas_osba_enc_fx.c
+++ b/lib_enc/ivas_osba_enc_fx.c
@@ -36,12 +36,11 @@
#include
#include "ivas_cnst.h"
#include "ivas_prot.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_rom_com.h"
#include "ivas_rom_enc.h"
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
-#include "prot_fx.h"
/*-------------------------------------------------------------------------
diff --git a/lib_enc/ivas_pca_enc_fx.c b/lib_enc/ivas_pca_enc_fx.c
index 8b61cb6c8f5529c9f5a9fe6c67b3e6d767a6da48..410d5dd52b459f8a552d52e02da448ce7a6f9f0c 100644
--- a/lib_enc/ivas_pca_enc_fx.c
+++ b/lib_enc/ivas_pca_enc_fx.c
@@ -32,14 +32,13 @@
#include
#include "options.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_cnst.h"
#include
#include
#include "wmc_auto.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
diff --git a/lib_enc/ivas_qmetadata_enc_fx.c b/lib_enc/ivas_qmetadata_enc_fx.c
index 3f0218e97acd16b0cfae719e80c7b63f73310752..7a2a287679de42f97bdf2bb9f8a46a00f80236d9 100644
--- a/lib_enc/ivas_qmetadata_enc_fx.c
+++ b/lib_enc/ivas_qmetadata_enc_fx.c
@@ -35,15 +35,13 @@
#include "options.h"
#include
#include "ivas_cnst.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
#include "ivas_rom_com.h"
#include "ivas_stat_enc.h"
#include "wmc_auto.h"
-#include "prot.h"
-#include "prot_fx.h"
#include "basop_util.h"
#include "ivas_rom_com_fx.h"
diff --git a/lib_enc/ivas_qspherical_enc_fx.c b/lib_enc/ivas_qspherical_enc_fx.c
index eb60d4849278144fb3c867e65d38e6b0895573cf..a6f40c8f02945086b225b19dc9568ab73ec93fd1 100644
--- a/lib_enc/ivas_qspherical_enc_fx.c
+++ b/lib_enc/ivas_qspherical_enc_fx.c
@@ -39,7 +39,6 @@
#include "ivas_rom_com.h"
#include "ivas_stat_enc.h"
#include "wmc_auto.h"
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_prot_fx.h"
#include "ivas_rom_com_fx.h"
diff --git a/lib_enc/ivas_range_uni_enc_fx.c b/lib_enc/ivas_range_uni_enc_fx.c
index 35ecad69c26cb343870c227c99162f47b55a1ec5..cf32c644d31892fef226a4fe2c594eddf9522720 100644
--- a/lib_enc/ivas_range_uni_enc_fx.c
+++ b/lib_enc/ivas_range_uni_enc_fx.c
@@ -39,7 +39,7 @@
#include "rom_com.h"
#include
#include "options.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "wmc_auto.h"
diff --git a/lib_enc/ivas_sba_enc_fx.c b/lib_enc/ivas_sba_enc_fx.c
index b247900a0c4dd932aadf498f9f3b1e0dd9a3c372..86427eb2d6ca6b40b01647f203c4c07e788dbef8 100644
--- a/lib_enc/ivas_sba_enc_fx.c
+++ b/lib_enc/ivas_sba_enc_fx.c
@@ -37,13 +37,12 @@
#include "cnst.h"
#include "ivas_cnst.h"
#include "rom_com.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot_fx.h"
#include "ivas_prot.h"
#include "ivas_rom_com.h"
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
-#include "prot_fx.h"
/*-------------------------------------------------------------------*
diff --git a/lib_enc/ivas_sce_enc_fx.c b/lib_enc/ivas_sce_enc_fx.c
index 9f63c4fc7c93aa3559700bbf5c9e30c757411e68..8c2c945d6936560679a3ad226a2db83e01da74da 100644
--- a/lib_enc/ivas_sce_enc_fx.c
+++ b/lib_enc/ivas_sce_enc_fx.c
@@ -36,7 +36,6 @@
#include "cnst.h"
#include "ivas_cnst.h"
#include "rom_com.h"
-#include "prot.h"
#include "prot_fx.h"
#include "prot_fx_enc.h"
#include "ivas_prot.h"
diff --git a/lib_enc/ivas_sns_enc_fx.c b/lib_enc/ivas_sns_enc_fx.c
index 8f93c4d766bbfcaad23888fee95a081cc6ade0de..e6038186e3289b60d1faf8faf5c72064a6f62c96 100644
--- a/lib_enc/ivas_sns_enc_fx.c
+++ b/lib_enc/ivas_sns_enc_fx.c
@@ -35,10 +35,9 @@
#include "options.h"
#include
#include "cnst.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
-#include "prot_fx.h"
#include "rom_com.h"
#include "ivas_rom_com.h"
#include "ivas_rom_com_fx.h"
diff --git a/lib_enc/ivas_spar_encoder_fx.c b/lib_enc/ivas_spar_encoder_fx.c
index a0c5be84208a1a7e9b28efaba07a3c62c60b6ffb..674a805497d2f3b4b6e74c811e5d07001d2eb9d1 100644
--- a/lib_enc/ivas_spar_encoder_fx.c
+++ b/lib_enc/ivas_spar_encoder_fx.c
@@ -38,7 +38,6 @@
#include "prot_fx.h"
#include "ivas_rom_com.h"
#include "ivas_stat_com.h"
-#include "prot.h"
#include "math.h"
#include "wmc_auto.h"
#include "prot_fx_enc.h"
diff --git a/lib_enc/ivas_spar_md_enc_fx.c b/lib_enc/ivas_spar_md_enc_fx.c
index 8b23eca5f378023e2999eff145b0c8f809e64d61..925f4e7029f9dd19a775d6dc1af2afe5fc5bf416 100644
--- a/lib_enc/ivas_spar_md_enc_fx.c
+++ b/lib_enc/ivas_spar_md_enc_fx.c
@@ -33,7 +33,6 @@
#include
#include
#include "options.h"
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
@@ -42,7 +41,6 @@
#include "ivas_rom_com_fx.h"
#include
#include "wmc_auto.h"
-#include "prot_fx.h"
/*------------------------------------------------------------------------------------------*
* PreProcessor
diff --git a/lib_enc/ivas_stereo_adapt_GR_enc_fx.c b/lib_enc/ivas_stereo_adapt_GR_enc_fx.c
index 62fed34f707f912a00b87575e4f4cb3691715ec9..70c2165f82720b5b5abf44411c5fa3aeeb62fde6 100644
--- a/lib_enc/ivas_stereo_adapt_GR_enc_fx.c
+++ b/lib_enc/ivas_stereo_adapt_GR_enc_fx.c
@@ -34,7 +34,7 @@
#include "options.h"
#include "cnst.h"
#include "ivas_prot.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "stat_enc.h"
#include "wmc_auto.h"
#include "ivas_rom_com.h"
diff --git a/lib_enc/ivas_stereo_classifier_fx.c b/lib_enc/ivas_stereo_classifier_fx.c
index 0c90d5fdc3f77779550cb2f102ff4eb3ad45fd50..bfe683d6bea5788dd984d947cb3bf4530882217d 100644
--- a/lib_enc/ivas_stereo_classifier_fx.c
+++ b/lib_enc/ivas_stereo_classifier_fx.c
@@ -38,13 +38,12 @@
#endif
#include "cnst.h"
#include "rom_com.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_rom_com.h"
#include "ivas_rom_enc.h"
#include "ivas_cnst.h"
#include "wmc_auto.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
/*-------------------------------------------------------------------*
diff --git a/lib_enc/ivas_stereo_cng_enc_fx.c b/lib_enc/ivas_stereo_cng_enc_fx.c
index 4727cd188eb9124b74d69ebe53498d928b81f210..255b6e9384f0baf8d63aa88042032d0cc70ca1c9 100644
--- a/lib_enc/ivas_stereo_cng_enc_fx.c
+++ b/lib_enc/ivas_stereo_cng_enc_fx.c
@@ -36,12 +36,11 @@
#include "cnst.h"
#include "rom_enc.h"
#include "rom_com.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_cnst.h"
#include "ivas_rom_com.h"
#include "wmc_auto.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
diff --git a/lib_enc/ivas_stereo_dft_enc_fx.c b/lib_enc/ivas_stereo_dft_enc_fx.c
index 8578a46aef3c4fe7094873fad25242159060a537..3f7237ce5bf10a17b17167968e5eda7f905d6855 100644
--- a/lib_enc/ivas_stereo_dft_enc_fx.c
+++ b/lib_enc/ivas_stereo_dft_enc_fx.c
@@ -37,10 +37,9 @@
#include "cnst.h"
#include "rom_enc.h"
#include "rom_com.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
-#include "prot_fx.h"
#include "ivas_cnst.h"
#include "ivas_rom_com.h"
#include "ivas_rom_com_fx.h"
diff --git a/lib_enc/ivas_stereo_dft_enc_itd_fx.c b/lib_enc/ivas_stereo_dft_enc_itd_fx.c
index 70a4672323104b77a80acd077af82932ededa34f..7900033f4452852fc82a20ec57aedcdbe9a2d12e 100644
--- a/lib_enc/ivas_stereo_dft_enc_itd_fx.c
+++ b/lib_enc/ivas_stereo_dft_enc_itd_fx.c
@@ -37,7 +37,6 @@
#include "cnst.h"
#include "rom_enc.h"
#include "rom_com.h"
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
diff --git a/lib_enc/ivas_stereo_dft_td_itd_fx.c b/lib_enc/ivas_stereo_dft_td_itd_fx.c
index dd7f575b728c3461dda86150e211f96eb9ee6dd8..58e66a01a57d0cbbe7738eb7b164312055af33eb 100644
--- a/lib_enc/ivas_stereo_dft_td_itd_fx.c
+++ b/lib_enc/ivas_stereo_dft_td_itd_fx.c
@@ -35,7 +35,7 @@
#include "options.h"
#include
#include "cnst.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "rom_com.h"
#include "ivas_prot.h"
#include "ivas_rom_com.h"
@@ -43,7 +43,6 @@
#include "ivas_cnst.h"
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
-#include "prot_fx.h"
/*-------------------------------------------------------------------*
diff --git a/lib_enc/ivas_stereo_dmx_evs_fx.c b/lib_enc/ivas_stereo_dmx_evs_fx.c
index 7b0e7df625775b02cdb2cbb122c60ebffa3d8b38..a3388db61825181951dfd32814c192769727a36a 100644
--- a/lib_enc/ivas_stereo_dmx_evs_fx.c
+++ b/lib_enc/ivas_stereo_dmx_evs_fx.c
@@ -36,7 +36,6 @@
#include "cnst.h"
#include "ivas_cnst.h"
#include "rom_com.h"
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
@@ -45,7 +44,6 @@
#include "ivas_rom_enc.h"
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
-#include "prot_fx.h"
/*-----------------------------------------------------------------------*
diff --git a/lib_enc/ivas_stereo_eclvq_enc_fx.c b/lib_enc/ivas_stereo_eclvq_enc_fx.c
index cd0e6fe2df30b2d37735a4b42fd2766a6bd23ae1..f4962c8025520ec13c695d39a7cb0197d4592b06 100644
--- a/lib_enc/ivas_stereo_eclvq_enc_fx.c
+++ b/lib_enc/ivas_stereo_eclvq_enc_fx.c
@@ -39,7 +39,6 @@
#include "ivas_rom_com.h"
#include "ivas_rom_enc.h"
#include
-#include "prot.h"
#include "prot_fx.h"
#include "wmc_auto.h"
/* used only for norm_s in the code_length_from_count function */
diff --git a/lib_enc/ivas_stereo_ica_enc_fx.c b/lib_enc/ivas_stereo_ica_enc_fx.c
index e0a8a8ed42e4029f37a7c68a5c76256f66c3d922..351b87cd0086c5f732c27a860e9d12470cb78ece 100644
--- a/lib_enc/ivas_stereo_ica_enc_fx.c
+++ b/lib_enc/ivas_stereo_ica_enc_fx.c
@@ -36,12 +36,11 @@
#include
#include "cnst.h"
#include "ivas_cnst.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "wmc_auto.h"
#include "rom_com.h"
#include "ivas_rom_com.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
#include "ivas_rom_com_fx.h"
diff --git a/lib_enc/ivas_stereo_icbwe_enc_fx.c b/lib_enc/ivas_stereo_icbwe_enc_fx.c
index 8c2d136b7be92d3898083fecb3a7e7dca1744346..78891c5f78beeabe884ead49f26572271d1a9c90 100644
--- a/lib_enc/ivas_stereo_icbwe_enc_fx.c
+++ b/lib_enc/ivas_stereo_icbwe_enc_fx.c
@@ -35,12 +35,11 @@
#include
#include "cnst.h"
#include "ivas_cnst.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "wmc_auto.h"
#include "rom_com.h"
#include "ivas_rom_com.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
#include "ivas_rom_com_fx.h"
diff --git a/lib_enc/ivas_stereo_mdct_core_enc_fx.c b/lib_enc/ivas_stereo_mdct_core_enc_fx.c
index 2a87ea4f908c5af21e2a9217089dbd47c152a682..28b0e41b98f629143e8fb2b556cb5c086f74a38d 100644
--- a/lib_enc/ivas_stereo_mdct_core_enc_fx.c
+++ b/lib_enc/ivas_stereo_mdct_core_enc_fx.c
@@ -35,7 +35,6 @@
#include "options.h"
#include
#include "cnst.h"
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_prot.h"
#include "rom_com.h"
diff --git a/lib_enc/ivas_stereo_mdct_igf_enc_fx.c b/lib_enc/ivas_stereo_mdct_igf_enc_fx.c
index 38be1a6a48a933fd8c609a34d28b1b6bb9ba09aa..57bb18e8044ff48220d430fd1d66404c4715807a 100644
--- a/lib_enc/ivas_stereo_mdct_igf_enc_fx.c
+++ b/lib_enc/ivas_stereo_mdct_igf_enc_fx.c
@@ -34,7 +34,6 @@
#include
#include "options.h"
#include
-#include "prot.h"
#include "prot_fx.h"
#include "cnst.h"
#include "stat_enc.h"
diff --git a/lib_enc/ivas_stereo_mdct_stereo_enc_fx.c b/lib_enc/ivas_stereo_mdct_stereo_enc_fx.c
index 9c729709da128ea40813599bee45aea106916a22..b1213a75000bf8cbcc12aeaee505d7aba4110f97 100644
--- a/lib_enc/ivas_stereo_mdct_stereo_enc_fx.c
+++ b/lib_enc/ivas_stereo_mdct_stereo_enc_fx.c
@@ -38,7 +38,6 @@
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
#include "prot_fx.h"
-#include "prot.h"
#include "prot_fx_enc.h"
#include "ivas_rom_com.h"
#include "ivas_rom_com_fx.h"
diff --git a/lib_enc/ivas_stereo_switching_enc_fx.c b/lib_enc/ivas_stereo_switching_enc_fx.c
index 190adbf1cf94a54f7dfd8796b5a6efb5a9256c28..f3ceb2757dedbe0a29c3d18b4b3484bad2a303b6 100644
--- a/lib_enc/ivas_stereo_switching_enc_fx.c
+++ b/lib_enc/ivas_stereo_switching_enc_fx.c
@@ -34,14 +34,13 @@
#include "options.h"
#include "cnst.h"
#include "rom_com.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_rom_com_fx.h"
#include "ivas_rom_com.h"
#include "assert.h"
#include "wmc_auto.h"
#include "prot_fx_enc.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
/*-------------------------------------------------------------------*
diff --git a/lib_enc/ivas_stereo_td_analysis_fx.c b/lib_enc/ivas_stereo_td_analysis_fx.c
index 79e05bf0921d481dada4ef76942fbab82c49cab9..efae1e80d00fbeee9b61b38053a1a78efe651659 100644
--- a/lib_enc/ivas_stereo_td_analysis_fx.c
+++ b/lib_enc/ivas_stereo_td_analysis_fx.c
@@ -35,14 +35,13 @@
#include
#include "cnst.h"
#include "rom_com.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_rom_com.h"
#include "ivas_cnst.h"
#include "rom_enc.h"
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
-#include "prot_fx.h"
#include "ivas_rom_com_fx.h"
diff --git a/lib_enc/ivas_stereo_td_enc_fx.c b/lib_enc/ivas_stereo_td_enc_fx.c
index 304754fc34f0c4193cc3ac50b1111b1e499f8fc4..f8d6002763dbde1ca078c4f5b375100320b1b74b 100644
--- a/lib_enc/ivas_stereo_td_enc_fx.c
+++ b/lib_enc/ivas_stereo_td_enc_fx.c
@@ -35,7 +35,7 @@
#include "options.h"
#include "cnst.h"
#include "rom_com.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_rom_com.h"
#include "wmc_auto.h"
@@ -44,7 +44,6 @@
#endif
#include "prot_fx_enc.h"
#include "ivas_prot_fx.h"
-#include "prot_fx.h"
#include "ivas_rom_com_fx.h"
diff --git a/lib_enc/ivas_tcx_core_enc_fx.c b/lib_enc/ivas_tcx_core_enc_fx.c
index 84bffa87c5185bd35af937c2e015a1e3f7bac2b4..28044b45d8f92e7a36ea1d7f76a74516745a9d9f 100644
--- a/lib_enc/ivas_tcx_core_enc_fx.c
+++ b/lib_enc/ivas_tcx_core_enc_fx.c
@@ -35,13 +35,12 @@
#include "options.h"
#include
#include "cnst.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "rom_com.h"
#include "basop_proto_func.h"
#include "wmc_auto.h"
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
-#include "prot_fx.h"
#include "prot_fx_enc.h"
#include "rom_com_fx.h"
#include "ivas_prot_fx.h"
diff --git a/lib_enc/ivas_td_low_rate_enc_fx.c b/lib_enc/ivas_td_low_rate_enc_fx.c
index 4d6a908b3f8ad26c27e4729443f40882460c5b85..34215025f5f0c64ff9dc2ac4a266f8527435fafe 100644
--- a/lib_enc/ivas_td_low_rate_enc_fx.c
+++ b/lib_enc/ivas_td_low_rate_enc_fx.c
@@ -37,7 +37,6 @@
#include "rom_com.h"
#include "ivas_rom_com.h"
#include "ivas_cnst.h"
-#include "prot.h"
#include "prot_fx.h"
#include "prot_fx_enc.h"
#include "ivas_prot.h"
diff --git a/lib_enc/lib_enc.c b/lib_enc/lib_enc.c
index 1f2fee68442efb0c47a86be623594e1a7fcf8701..211c53f8ce11635347e7496d6d17c27626af59f4 100644
--- a/lib_enc/lib_enc.c
+++ b/lib_enc/lib_enc.c
@@ -41,7 +41,6 @@
#include "lib_enc.h"
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
-#include "prot.h"
#include "prot_fx.h"
#include "prot_fx_enc.h"
#include "wmc_auto.h"
diff --git a/lib_enc/lsf_enc_fx.c b/lib_enc/lsf_enc_fx.c
index 709bb47e02a8ad00f8a49ffa1a61fb2d1608c73f..a61b2ebffc61557dfbbcee4136619a126f1540ee 100644
--- a/lib_enc/lsf_enc_fx.c
+++ b/lib_enc/lsf_enc_fx.c
@@ -8,7 +8,6 @@
#include "rom_com_fx.h" /* Static table prototypes */
#include "rom_com.h" /* Static table prototypes */
//#include "prot_fx.h" /* Function prototypes */
-#include "prot.h" /* Function prototypes */
#include "prot_fx.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
#include "ivas_prot_fx.h" /* Function prototypes */
diff --git a/lib_enc/lsf_msvq_ma_enc.c b/lib_enc/lsf_msvq_ma_enc.c
index 830f1ecd61c290088d9d1d93dced1e1608a48dba..7f58a9501d1606ba0c74241aafcc7921ac80c56c 100644
--- a/lib_enc/lsf_msvq_ma_enc.c
+++ b/lib_enc/lsf_msvq_ma_enc.c
@@ -38,7 +38,6 @@
#include "options.h"
#include "cnst.h"
#include "ivas_prot.h"
-#include "prot.h"
#include "prot_fx.h"
#include "rom_com.h"
#include "rom_enc.h"
diff --git a/lib_enc/mdct_classifier_fx.c b/lib_enc/mdct_classifier_fx.c
index 265fce7f2362eac89d7fa7a1cf033cb433b2f059..eec85c2548c86153f0b0859e2c000fdcd3acdb8a 100644
--- a/lib_enc/mdct_classifier_fx.c
+++ b/lib_enc/mdct_classifier_fx.c
@@ -9,7 +9,6 @@
#include "rom_com.h"
#include "prot_fx.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
-#include "prot_fx.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
#include "ivas_prot_fx.h" /* Function prototypes */
diff --git a/lib_enc/mslvq_enc_fx.c b/lib_enc/mslvq_enc_fx.c
index d8a78c525a728498ecd3e950fea9840031e3e7b3..771ef480bb39019fd1be7681dfa863aea142f657 100644
--- a/lib_enc/mslvq_enc_fx.c
+++ b/lib_enc/mslvq_enc_fx.c
@@ -6,9 +6,8 @@
#include "rom_com_fx.h"
#include "rom_com.h"
#include "stl.h"
-#include "prot.h" /* Function prototypes */
-#include "basop32.h" /* Function prototypes */
#include "prot_fx.h" /* Function prototypes */
+#include "basop32.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
diff --git a/lib_enc/nelp_enc_fx.c b/lib_enc/nelp_enc_fx.c
index 3bd8e340d96df40deb5b4fff33a9954ca9dbee1a..a7588283a503b6da73f49adf95eccb3ac0473ace 100644
--- a/lib_enc/nelp_enc_fx.c
+++ b/lib_enc/nelp_enc_fx.c
@@ -33,7 +33,6 @@
#include
#include "options.h" /* Compilation switches */
#include "cnst.h" /* Common constants */
-#include "prot.h" /* Function prototypes */
#include "prot_fx.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
#include "rom_com.h"
diff --git a/lib_enc/peak_vq_enc_fx.c b/lib_enc/peak_vq_enc_fx.c
index 9ea1af949121921157f3952fb153362c7ddb243a..aa4763aa63e49e848b61f4c05ecaa63ceeb20dd0 100644
--- a/lib_enc/peak_vq_enc_fx.c
+++ b/lib_enc/peak_vq_enc_fx.c
@@ -11,7 +11,6 @@
#include "rom_com_fx.h"
#include "rom_com.h"
#include "prot_fx.h" /* Function prototypes */
-#include "prot.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
/*--------------------------------------------------------------------------
diff --git a/lib_enc/pit_enc_fx.c b/lib_enc/pit_enc_fx.c
index d53e2eb6e8cb57c9706aa755f4c2656857364e63..bcf7d33bb2431fb8cfb1709656b8080e40c4150a 100644
--- a/lib_enc/pit_enc_fx.c
+++ b/lib_enc/pit_enc_fx.c
@@ -10,7 +10,6 @@
#include "rom_com.h" /* Static table prototypes */
//#include "prot_fx.h" /* Function prototypes */
#include "rom_basop_util.h"
-#include "prot.h" /* Function prototypes */
#include "prot_fx.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
diff --git a/lib_enc/range_enc_fx.c b/lib_enc/range_enc_fx.c
index 05916e8013e76d05abec274e198c039c9e23c48e..689b313d8f2da140d0419f59704d676dfa48621b 100644
--- a/lib_enc/range_enc_fx.c
+++ b/lib_enc/range_enc_fx.c
@@ -10,7 +10,6 @@
#include "rom_com.h" /* Static table prototypes */
//#include "prot_fx.h" /* Function prototypes */
#include "prot_fx.h" /* Function prototypes */
-#include "prot.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
diff --git a/lib_enc/speech_music_classif_fx.c b/lib_enc/speech_music_classif_fx.c
index a735c498d4133ef1b89130269914048de55a0d29..353de8ec9ead89592fab3828ccffb18425f0c6af 100644
--- a/lib_enc/speech_music_classif_fx.c
+++ b/lib_enc/speech_music_classif_fx.c
@@ -19,7 +19,6 @@
#include
#include "ivas_prot.h"
#include "ivas_prot_fx.h"
-#include "prot.h"
/*---------------------------------------------------------------------*
diff --git a/lib_enc/stat_noise_uv_enc_fx.c b/lib_enc/stat_noise_uv_enc_fx.c
index 91dca8d63ff14510d6f3273d9e01b12f89321144..0a20db8edddf25e93b17485f43ff53037422e996 100644
--- a/lib_enc/stat_noise_uv_enc_fx.c
+++ b/lib_enc/stat_noise_uv_enc_fx.c
@@ -11,7 +11,6 @@
#include "prot_fx.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
-#include "prot.h"
/*======================================================================*/
/* FUNCTION : stat_noise_uv_enc_fx */
diff --git a/lib_enc/swb_bwe_enc_fx.c b/lib_enc/swb_bwe_enc_fx.c
index 3ca3f3f3f2794939c451bf5f30b1ece296d36f85..2ca0b6d74464539289879c354a593a1a69ea8621 100644
--- a/lib_enc/swb_bwe_enc_fx.c
+++ b/lib_enc/swb_bwe_enc_fx.c
@@ -4,12 +4,11 @@
#include
#include "options.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "cnst.h"
#include "rom_com_fx.h"
#include "rom_com.h"
#include "stl.h"
-#include "prot_fx.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
/*---------------------------------------------------------------------*
diff --git a/lib_enc/swb_bwe_enc_lr_fx.c b/lib_enc/swb_bwe_enc_lr_fx.c
index acd9845092176b9348583edc494c6ee8c28bc723..1a397c514951163ef7f4a99dd9c5143283e0a601 100644
--- a/lib_enc/swb_bwe_enc_lr_fx.c
+++ b/lib_enc/swb_bwe_enc_lr_fx.c
@@ -36,7 +36,6 @@
#include "prot_fx_enc.h" /* Function prototypes */
#include "rom_com.h"
#include "stl.h"
-#include "prot.h"
/*--------------------------------------------------------------------------*
* GetSubbandCorrIndex2_har()
diff --git a/lib_enc/swb_tbe_enc.c b/lib_enc/swb_tbe_enc.c
deleted file mode 100644
index db4e51127d5831a61d2a2a637d416d0e55831e22..0000000000000000000000000000000000000000
--- a/lib_enc/swb_tbe_enc.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
-
-/*====================================================================================
- EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0
- ====================================================================================*/
-
-#include
-#include "options.h"
-#include
-#include "cnst.h"
-#include "prot.h"
-#include "prot_fx.h"
-#include "rom_com.h"
-#include "rom_enc.h"
-#include "wmc_auto.h"
-#include "ivas_prot.h"
diff --git a/lib_enc/swb_tbe_enc_fx.c b/lib_enc/swb_tbe_enc_fx.c
index a5e4e902b759d3f8697fc970a633ae4e72d4e36a..61ca9b10168fdd7161394559c0817a35d76b259a 100644
--- a/lib_enc/swb_tbe_enc_fx.c
+++ b/lib_enc/swb_tbe_enc_fx.c
@@ -8,7 +8,6 @@
#include "cnst.h"
#include "rom_com_fx.h"
#include "rom_com.h"
-#include "prot.h" /* Function prototypes */
#include "prot_fx.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
#include "ivas_prot.h" /* Function prototypes */
diff --git a/lib_enc/tcq_core_enc_fx.c b/lib_enc/tcq_core_enc_fx.c
index fbd9775c4e8a31aba8c0b02a9b8e91b786ca7c3d..82088be5088b04dcb55b92c2b5fb48aee23dd3e9 100644
--- a/lib_enc/tcq_core_enc_fx.c
+++ b/lib_enc/tcq_core_enc_fx.c
@@ -10,7 +10,6 @@
#include "ivas_error.h"
#include "prot_fx.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
-#include "prot.h"
#define IVAS_FLOAT
ivas_error tcq_core_LR_enc_fx(
diff --git a/lib_enc/tns_base_enc_fx.c b/lib_enc/tns_base_enc_fx.c
index f1881a427816ebec64eec1284698d8d849c683c6..cf6e5dd6417827061efc67503270a95395ab65a2 100644
--- a/lib_enc/tns_base_enc_fx.c
+++ b/lib_enc/tns_base_enc_fx.c
@@ -12,7 +12,6 @@
#include
#include "rom_com_fx.h"
#include "rom_com.h"
-#include "prot.h" /* Function prototypes */
#include "prot_fx.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
diff --git a/lib_enc/transition_enc_fx.c b/lib_enc/transition_enc_fx.c
index 0089fc745e46d2fb7a92aac9126e0ed66083faff..9911d766ae7790b70d3e26b7a5cbe1b37b0d5063 100644
--- a/lib_enc/transition_enc_fx.c
+++ b/lib_enc/transition_enc_fx.c
@@ -7,7 +7,6 @@
#include "cnst.h" /* Common constants */
#include "rom_com_fx.h" /* Static table prototypes */
#include "rom_com.h" /* Static table prototypes */
-#include "prot.h" /* Function prototypes */
#include "prot_fx.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
diff --git a/lib_rend/ivas_allrad_dec_fx.c b/lib_rend/ivas_allrad_dec_fx.c
index 4a4c1ff89e2c02a0cca0d47e6947567c1e025469..008e27d6c94201ddd9a4f3df0a9aa9d91b2ce475 100644
--- a/lib_rend/ivas_allrad_dec_fx.c
+++ b/lib_rend/ivas_allrad_dec_fx.c
@@ -35,7 +35,7 @@
#include "options.h"
#include
#include
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_rend.h"
#include "ivas_rom_rend.h"
diff --git a/lib_rend/ivas_crend_fx.c b/lib_rend/ivas_crend_fx.c
index 67d47e89da9b4bda2765339cbe70a209bc6e723b..81437c49d2a483c895f46adf1868b330cdacb939 100644
--- a/lib_rend/ivas_crend_fx.c
+++ b/lib_rend/ivas_crend_fx.c
@@ -33,7 +33,7 @@
#include
#include
#include "options.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_rend.h"
#include "ivas_cnst.h"
@@ -41,7 +41,6 @@
#include "ivas_rom_binaural_crend_head.h"
#include "ivas_stat_rend.h"
#include "lib_rend.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
#include "wmc_auto.h"
#ifdef DEBUGGING
diff --git a/lib_rend/ivas_dirac_ana_fx.c b/lib_rend/ivas_dirac_ana_fx.c
index 06744dc6e3a5675cc2cb0734a71962e1425067fe..9cc764afb05e3167bf306a30800a2c5d82a5e74b 100644
--- a/lib_rend/ivas_dirac_ana_fx.c
+++ b/lib_rend/ivas_dirac_ana_fx.c
@@ -35,11 +35,10 @@
#include "ivas_cnst.h"
#include "ivas_prot_rend.h"
#include "ivas_prot.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_stat_rend.h"
#include "ivas_rom_com.h"
#include "wmc_auto.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
/*-------------------------------------------------------------------------
diff --git a/lib_rend/ivas_dirac_dec_binaural_functions_fx.c b/lib_rend/ivas_dirac_dec_binaural_functions_fx.c
index e2ab6cd3e80916ebb0e2ca6fb5395fe315e1af3e..7e41581f4cbf719b77a2d9e7d0e22f354e84bea4 100644
--- a/lib_rend/ivas_dirac_dec_binaural_functions_fx.c
+++ b/lib_rend/ivas_dirac_dec_binaural_functions_fx.c
@@ -34,7 +34,6 @@
#include "options.h"
#include
#include
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_rend.h"
diff --git a/lib_rend/ivas_dirac_decorr_dec_fx.c b/lib_rend/ivas_dirac_decorr_dec_fx.c
index 01fd1e610874a8bab038b853f3bbbf86883a5522..4ea5c5e9666be91f9f67e3eb7be6a83c9105ac30 100644
--- a/lib_rend/ivas_dirac_decorr_dec_fx.c
+++ b/lib_rend/ivas_dirac_decorr_dec_fx.c
@@ -35,13 +35,12 @@
#include "options.h"
#include
#include "cnst.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_rend.h"
#include "ivas_cnst.h"
#include "ivas_rom_rend.h"
#include "wmc_auto.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
/*-------------------------------------------------------------------------
diff --git a/lib_rend/ivas_dirac_onsets_dec_fx.c b/lib_rend/ivas_dirac_onsets_dec_fx.c
index c6119cc342946fd4536aadb11862353cc345ce38..4eae9c28650c2905c447e6a01d5525dd52625466 100644
--- a/lib_rend/ivas_dirac_onsets_dec_fx.c
+++ b/lib_rend/ivas_dirac_onsets_dec_fx.c
@@ -34,14 +34,13 @@
#include
#include "options.h"
#include "cnst.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_rend.h"
#include "ivas_cnst.h"
#include "ivas_rom_com.h"
#include "ivas_rom_dec.h"
#include "wmc_auto.h"
-#include "prot_fx.h"
/*-------------------------------------------------------------------------
* ivas_dirac_dec_onset_detection_open()
diff --git a/lib_rend/ivas_dirac_output_synthesis_dec_fx.c b/lib_rend/ivas_dirac_output_synthesis_dec_fx.c
index d6c999aa0becbd126f532f07fffd4a1741e3140c..29eac3635f2dd1e322ec799b8a32a7179caeb82d 100644
--- a/lib_rend/ivas_dirac_output_synthesis_dec_fx.c
+++ b/lib_rend/ivas_dirac_output_synthesis_dec_fx.c
@@ -35,7 +35,7 @@
#include "options.h"
#include
#include "cnst.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_rend.h"
#include "ivas_stat_dec.h"
@@ -43,7 +43,6 @@
#include "ivas_rom_com.h"
#include "ivas_rom_dec.h"
#include "wmc_auto.h"
-#include "prot_fx.h" /* Function prototypes */
#include "ivas_prot_fx.h"
#include "ivas_rom_com_fx.h"
diff --git a/lib_rend/ivas_dirac_rend_fx.c b/lib_rend/ivas_dirac_rend_fx.c
index b563d43992395040d23b1ce2bf995e37f2f41c78..882c6e5b8ff2edcb21d9afc9e4d61aabe21effc7 100644
--- a/lib_rend/ivas_dirac_rend_fx.c
+++ b/lib_rend/ivas_dirac_rend_fx.c
@@ -35,13 +35,12 @@
#include "options.h"
#include
#include "cnst.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_rend.h"
#include "ivas_cnst.h"
#include "ivas_rom_rend.h"
#include "wmc_auto.h"
-#include "prot_fx.h"
#include "ivas_prot_fx.h"
#include "ivas_rom_binaural_crend_head.h"
diff --git a/lib_rend/ivas_efap_fx.c b/lib_rend/ivas_efap_fx.c
index 8947809d1060e192cdb297f4e5ec73dfa12ad2da..52ca3e6f9a663b1be8ee98b5746088259e1f7886 100644
--- a/lib_rend/ivas_efap_fx.c
+++ b/lib_rend/ivas_efap_fx.c
@@ -35,7 +35,6 @@
#include
#include
#include "options.h"
-#include "prot.h"
#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_rend.h"
diff --git a/lib_rend/ivas_hrtf_fx.c b/lib_rend/ivas_hrtf_fx.c
index 506d76efd22eea3ddd238d28b6d715c555e72781..5d53d2ae3e41f9647e537dc7d13dbe5586a5481d 100644
--- a/lib_rend/ivas_hrtf_fx.c
+++ b/lib_rend/ivas_hrtf_fx.c
@@ -32,7 +32,7 @@
#include
#include "options.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot_rend.h"
#include "ivas_error.h"
#include "wmc_auto.h"
diff --git a/lib_rend/ivas_limiter_fx.c b/lib_rend/ivas_limiter_fx.c
index 595573016241ce870de1390819ba563b1dab51d0..b66127e0970c692b5ba20e62d5bf738d35a02000 100644
--- a/lib_rend/ivas_limiter_fx.c
+++ b/lib_rend/ivas_limiter_fx.c
@@ -33,7 +33,7 @@
#include
#include "options.h"
#include
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot_rend.h"
#include "ivas_rom_rend.h"
#include "wmc_auto.h"
diff --git a/lib_rend/ivas_masa_merge_fx.c b/lib_rend/ivas_masa_merge_fx.c
index e8d06d0bb9a026f0520515060c01afb177c9983e..8b7e6575d97363d5ddcf98c316cf3125facbbed8 100644
--- a/lib_rend/ivas_masa_merge_fx.c
+++ b/lib_rend/ivas_masa_merge_fx.c
@@ -36,9 +36,8 @@
#include "ivas_prot_rend.h"
#include "ivas_prot.h"
#include "ivas_cnst.h"
-#include "prot.h"
-#include "wmc_auto.h"
#include "prot_fx.h"
+#include "wmc_auto.h"
#include "ivas_prot_fx.h"
diff --git a/lib_rend/ivas_mcmasa_ana_fx.c b/lib_rend/ivas_mcmasa_ana_fx.c
index 0b0c8ffeb30dece7148110fadd90f12d380fbcda..25fddaa8068d50d0d016da34782cdeea614856a8 100644
--- a/lib_rend/ivas_mcmasa_ana_fx.c
+++ b/lib_rend/ivas_mcmasa_ana_fx.c
@@ -37,12 +37,11 @@
#include "options.h"
#include "ivas_prot_rend.h"
#include "ivas_prot.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_stat_rend.h"
#include "ivas_rom_com.h"
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
-#include "prot_fx.h"
#include "ivas_rom_com_fx.h"
/*-------------------------------------------------------------------------
diff --git a/lib_rend/ivas_objectRenderer_fx.c b/lib_rend/ivas_objectRenderer_fx.c
index 8b689b94ba75628b657ebd1c0c3d2071d505e0dd..93fe67436a9fdb880f8416899cef6b17d2b30b77 100644
--- a/lib_rend/ivas_objectRenderer_fx.c
+++ b/lib_rend/ivas_objectRenderer_fx.c
@@ -33,14 +33,13 @@
#include "ivas_stat_rend.h"
#include
#include "options.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot.h"
#include "ivas_prot_rend.h"
#include
#include "ivas_rom_com.h"
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
-#include "prot_fx.h"
#include "debug.h"
#include "ivas_rom_com_fx.h"
#define float_to_fixed( n, factor ) ( round( n * ( 1 << factor ) ) )
diff --git a/lib_rend/ivas_objectRenderer_hrFilt_fx.c b/lib_rend/ivas_objectRenderer_hrFilt_fx.c
index ab09a82b5bc8f73be12e18e87268a9b93fccbf83..a7f46b2a4187bc7f9abcf71aa6e0f2cbf2855ca5 100644
--- a/lib_rend/ivas_objectRenderer_hrFilt_fx.c
+++ b/lib_rend/ivas_objectRenderer_hrFilt_fx.c
@@ -33,13 +33,12 @@
#include
#include
#include "options.h"
-#include "prot.h"
+#include "prot_fx.h"
#include
#include "ivas_prot_rend.h"
#include "ivas_rom_rend.h"
#include "ivas_cnst.h"
#include "wmc_auto.h"
-#include "prot_fx.h"
/*---------------------------------------------------------------------*
* Local function prototypes
diff --git a/lib_rend/ivas_objectRenderer_mix_fx.c b/lib_rend/ivas_objectRenderer_mix_fx.c
index a328a51bf3b178d24cd329dfcbe4504884db28c0..7ee6c828b1ab9dbaf8ee6ba7d85fa61ea19648cc 100644
--- a/lib_rend/ivas_objectRenderer_mix_fx.c
+++ b/lib_rend/ivas_objectRenderer_mix_fx.c
@@ -32,14 +32,13 @@
#include
#include "options.h"
-#include "prot.h"
+#include "prot_fx.h"
#include "ivas_prot_rend.h"
#include "ivas_rom_TdBinauralRenderer.h"
#include "ivas_error.h"
#include "wmc_auto.h"
#include "ivas_rom_rend.h"
#include "ivas_prot_fx.h"
-#include "prot_fx.h"
/*-------------------------------------------------------------------*
* Local constants
diff --git a/lib_rend/ivas_objectRenderer_sfx_fx.c b/lib_rend/ivas_objectRenderer_sfx_fx.c
index caa393355195c768bbfd5a7603c05961148f27e8..971e2c2d17bc76424f088d4471a4668fbbd63bac 100644
--- a/lib_rend/ivas_objectRenderer_sfx_fx.c
+++ b/lib_rend/ivas_objectRenderer_sfx_fx.c
@@ -35,9 +35,8 @@
#include
#include "ivas_prot_rend.h"
#include "ivas_rom_rend.h"
-#include "prot.h"
-#include "wmc_auto.h"
#include "prot_fx.h"
+#include "wmc_auto.h"
/*---------------------------------------------------------------------*
diff --git a/lib_rend/ivas_objectRenderer_sources_fx.c b/lib_rend/ivas_objectRenderer_sources_fx.c
index af60f774688537d42fcfdc0698d7b36e5056206d..307d38351b9a1971b68e0bb6efa68550b895686d 100644
--- a/lib_rend/ivas_objectRenderer_sources_fx.c
+++ b/lib_rend/ivas_objectRenderer_sources_fx.c
@@ -33,11 +33,10 @@
#include