diff --git a/Workspace_msvc/lib_enc.vcxproj b/Workspace_msvc/lib_enc.vcxproj
index efa9f42294261f47758e9e514bc4e47411b74de9..1a706cfebcc68923213296a43539b02069099335 100644
--- a/Workspace_msvc/lib_enc.vcxproj
+++ b/Workspace_msvc/lib_enc.vcxproj
@@ -381,18 +381,10 @@
-
-
-
-
-
-
-
-
@@ -408,22 +400,14 @@
-
-
-
-
-
-
-
-
@@ -453,4 +437,4 @@
-
+
\ No newline at end of file
diff --git a/Workspace_msvc/lib_enc.vcxproj.filters b/Workspace_msvc/lib_enc.vcxproj.filters
index e845aa21da255ae8793f43d906fac38f20602ff4..907b5b9451f6332fadef2da2d80d0b67e5b8a712 100644
--- a/Workspace_msvc/lib_enc.vcxproj.filters
+++ b/Workspace_msvc/lib_enc.vcxproj.filters
@@ -67,30 +67,14 @@
enc_evs_c
-
- enc_evs_c
-
enc_evs_c
-
- enc_evs_c
-
-
- enc_evs_c
-
-
- enc_evs_c
-
-
enc_evs_c
enc_evs_c
-
- enc_evs_c
-
enc_all_c
@@ -238,12 +222,6 @@
enc_all_c
-
- enc_all_c
-
-
- enc_all_c
-
enc_all_c
@@ -253,37 +231,12 @@
enc_all_c
-
- enc_all_c
-
-
- enc_all_c
-
-
- enc_all_c
-
enc_all_c
enc_all_c
-
- enc_all_c
-
-
- enc_all_c
-
-
- enc_all_c
-
-
- enc_all_c
-
-
- enc_all_c
-
-
enc_all_c
@@ -899,4 +852,4 @@
{6cccabbe-510f-43d3-90e1-8ed5ea3837d7}
-
+
\ No newline at end of file
diff --git a/lib_com/cnst.h b/lib_com/cnst.h
index 6e24b0d1b53df0b2815179f4d46178363157852d..7a5260a41cdebc951ed2731ac2dc2dbaeff444d9 100644
--- a/lib_com/cnst.h
+++ b/lib_com/cnst.h
@@ -760,6 +760,8 @@ enum
#define FORMANT_SHARPENING_NOISE_THRESHOLD 21.0f /* lp_noise level above which formant sharpening is deactivated */
#define E_MIN_FX 1 /* QSCALE (Q7)*/
#define E_MIN_IVAS_FX 1835 /* (Q19) (E12) */
+#define E_MIN_IVAS_FX_Q31 7516193 /* (Q31) (0.0035f) */
+
#define STEP_DELTA_FX 11
#define FORMANT_SHARPENING_NOISE_THRESHOLD_FX 5376 /* 21 (!8)lp_noise level above which formant sharpening is deactivated - at this level most of 20 dB SNR office noisy speech still uses sharpening */
diff --git a/lib_enc/ext_sig_ana_fx.c b/lib_enc/ext_sig_ana_fx.c
index c04f6647a5fa20fd3e875b06ab88b7ac2e5662fe..192c5bc26e3eaddce6eda252f759e9e92af8c7b5 100644
--- a/lib_enc/ext_sig_ana_fx.c
+++ b/lib_enc/ext_sig_ana_fx.c
@@ -685,7 +685,7 @@ void core_signal_analysis_high_bitrate_ivas_fx(
move16();
move16();
(void) vad_hover_flag;
-
+ Word16 Q_win_temp[2];
Word16 *speech_ltp_fx = NULL;
Word16 *wspeech_fx = NULL;
Word16 *speech_fx = NULL;
@@ -959,9 +959,17 @@ void core_signal_analysis_high_bitrate_ivas_fx(
Copy_Scale_sig_16_32( tcx20Win, windowed_samples + add( imult1616( frameno, L_FRAME_MAX ), 2 ), add( L_subframe, shr( add( left_overlap, right_overlap ), 1 ) ), 0 );
*q_win = s_min( *q_win, sub( L_norm_arr( windowed_samples + add( imult1616( frameno, L_FRAME_MAX ), 2 ), add( L_subframe, shr( add( left_overlap, right_overlap ), 1 ) ) ), 1 ) );
move16();
+ Q_win_temp[frameno] = *q_win;
+ move16();
+
#ifdef MSAN_FIX
Scale_sig32( windowed_samples + frameno * L_FRAME_MAX + 2, win_len, *q_win ); // q_win
+
#endif
+ IF( EQ_16( frameno, 1 ) )
+ {
+ Scale_sig32( windowed_samples + 2, win_len, sub( *q_win, Q_win_temp[0] ) ); // q_win
+ }
}
}
diff --git a/lib_enc/find_uv.c b/lib_enc/find_uv.c
index 7798470bccb02b1518021fa352b3833995206fbc..2e14972c7b3f9a671f2ac37ca04b5039ca67df0c 100644
--- a/lib_enc/find_uv.c
+++ b/lib_enc/find_uv.c
@@ -357,7 +357,7 @@ Word16 find_uv_ivas_fx( /* o : coding typ
move16();
}
- E_min_th = L_shl( E_MIN_IVAS_FX, sub( q_hp_E, Q19 ) );
+ E_min_th = L_shl( E_MIN_IVAS_FX_Q31, sub( q_hp_E, Q31 ) );
test();
test();
diff --git a/lib_enc/normalizecoefs.c b/lib_enc/normalizecoefs.c
deleted file mode 100644
index 8f0950fbae8f9f2c626e0122b0369502d15bcff1..0000000000000000000000000000000000000000
--- a/lib_enc/normalizecoefs.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/******************************************************************************************************
-
- (C) 2022-2024 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of 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 "rom_com.h"
-#include "prot.h"
-#include "wmc_auto.h"
-
-/*--------------------------------------------------------------------------
- * normalizecoefs()
- *
- * Normalize MDCT coefficients with quantized norms
- *--------------------------------------------------------------------------*/
diff --git a/lib_enc/normalizecoefs_fx.c b/lib_enc/normalizecoefs_fx.c
index 61d9c3348729cba8f666b341eb4f826d37caed88..ea394f54bd29ca2e04f9320d4a5196335a727b69 100644
--- a/lib_enc/normalizecoefs_fx.c
+++ b/lib_enc/normalizecoefs_fx.c
@@ -31,6 +31,7 @@ void normalizecoefs_fx(
Word16 subvec_start, subvec_end, num_coefs;
#ifdef BASOP_NOGLOB_DECLARE_LOCAL
Flag Overflow = 0;
+ move16();
#endif
pcoefs = coefs;
pcoefs16 = coefs_norm;
@@ -55,6 +56,7 @@ void normalizecoefs_fx(
move32();
}
*pcoefs16++ = round_fx_o( L_shl_o( *pcoefs++, 16 - k, &Overflow ), &Overflow ); /* Q12 */
+ move16();
}
}
diff --git a/lib_enc/peak_vq_enc.c b/lib_enc/peak_vq_enc.c
deleted file mode 100644
index 867e40cdc445406ceb1dc5e53245e971abe03b05..0000000000000000000000000000000000000000
--- a/lib_enc/peak_vq_enc.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/******************************************************************************************************
-
- (C) 2022-2024 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of 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"
-#include
diff --git a/lib_enc/ppp_enc.c b/lib_enc/ppp_enc.c
deleted file mode 100644
index d1de09bc73bcde0f9193c0b1d468183cb122cda9..0000000000000000000000000000000000000000
--- a/lib_enc/ppp_enc.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/******************************************************************************************************
-
- (C) 2022-2024 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of 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"
diff --git a/lib_enc/ppp_enc_fx.c b/lib_enc/ppp_enc_fx.c
index bfbe601449401ccf720ea017b993e563ecd1342e..9afb27065559b4746745352c09b11dace1f3ed88 100644
--- a/lib_enc/ppp_enc_fx.c
+++ b/lib_enc/ppp_enc_fx.c
@@ -5,7 +5,6 @@
#include
#include "options.h"
#include "cnst.h"
-//#include "prot_fx.h"
#include "rom_com_fx.h"
#include "rom_com.h" /* Common constants */
#include "prot_fx.h" /* Function prototypes */
@@ -153,10 +152,12 @@ ivas_error ppp_quarter_encoder_fx(
/*As the upper cut of freqencies are normalized to 12800, we have to multiply upper cut off freq by
2.56(1/12800 in Q15) */
- Ltempn = L_mult( CURRCW_Q_FX->upper_cut_off_freq_fx, 10486 ); /* Q0+Q27 = Q28 */
- CURRCW_Q_FX->upper_cut_off_freq_fx = (Word16) L_shr( Ltempn, 13 ); /*Q15 */
+ Ltempn = L_mult( CURRCW_Q_FX->upper_cut_off_freq_fx, 10486 ); /* Q0+Q27 = Q28 */
+ CURRCW_Q_FX->upper_cut_off_freq_fx = (Word16) L_shr( Ltempn, 13 ); /*Q15 */
+ move16();
Ltempn = L_mult( CURRCW_Q_FX->upper_cut_off_freq_of_interest_fx, 10486 ); /* Q0+Q27 = Q28 */
CURRCW_Q_FX->upper_cut_off_freq_of_interest_fx = (Word16) L_shr( Ltempn, 13 ); /*Q15 */
+ move16();
*returnFlag = DTFS_quant_cw_fx( CURRCW_Q_FX, prevCW_lag, curr_lpc_fx, &POWER_IDX_FX,
AMP_IDX_fx, lastLgainE_fx, lastHgainE_fx, lasterbE_fx, S_fx, C_fx );
@@ -168,6 +169,7 @@ ivas_error ppp_quarter_encoder_fx(
move16();
Ltempn = L_shl( (Word32) CURRCW_Q_FX->upper_cut_off_freq_of_interest_fx, 13 ); /*Q28 */
CURRCW_Q_FX->upper_cut_off_freq_of_interest_fx = (Word16) find_remd( Ltempn, 20971, &Ltempd );
+ move16();
push_indice_fx( hBstr, IND_AMP0, AMP_IDX_fx[0], 6 );
push_indice_fx( hBstr, IND_AMP1, AMP_IDX_fx[1], 6 );
@@ -184,10 +186,9 @@ ivas_error ppp_quarter_encoder_fx(
/*DTFS_pol2car(TARGETCW); */
tmp_fx = DTFS_alignment_fine_new_fx( *TARGETCW_FX, *CURRCW_Q_FX, S_fx, C_fx );
- move16();
test();
- IF( GT_16( add( tmp_fx, 12 ), 28 ) || LT_16( tmp_fx, -12 ) )
+ IF( GT_16( tmp_fx, 28 - 12 ) || LT_16( tmp_fx, -12 ) )
{
tmp_fx = 0;
move16();
@@ -227,9 +228,9 @@ void set_ppp_mode_fx(
test();
test();
- IF( EQ_16( st_fx->vad_flag, 1 ) &&
- ( EQ_16( noisy_speech_HO, 1 ) || EQ_16( clean_speech_HO, 1 ) || EQ_16( NB_speech_HO, 1 ) ) &&
- ( st_fx->localVAD == 0 || localVAD_he == 0 ) )
+ if ( EQ_16( st_fx->vad_flag, 1 ) &&
+ ( EQ_16( noisy_speech_HO, 1 ) || EQ_16( clean_speech_HO, 1 ) || EQ_16( NB_speech_HO, 1 ) ) &&
+ ( st_fx->localVAD == 0 || localVAD_he == 0 ) )
{
st_fx->coder_type = UNVOICED;
@@ -238,7 +239,7 @@ void set_ppp_mode_fx(
test();
test();
- IF( EQ_16( st_fx->coder_type, INACTIVE ) && ( st_fx->vad_flag == 0 ) && EQ_16( hSC_VBR->last_nelp_mode, 1 ) ) /* avoid HO frame go to GSC */
+ if ( EQ_16( st_fx->coder_type, INACTIVE ) && ( st_fx->vad_flag == 0 ) && EQ_16( hSC_VBR->last_nelp_mode, 1 ) ) /* avoid HO frame go to GSC */
{
st_fx->coder_type = UNVOICED;
move16();
@@ -315,7 +316,7 @@ void set_ppp_mode_fx(
move16();
}
- IF( st_fx->last_core == HQ_CORE )
+ IF( EQ_16( st_fx->last_core, HQ_CORE ) )
{
hSC_VBR->ppp_mode = 0;
move16();
@@ -329,7 +330,7 @@ void set_ppp_mode_fx(
test();
test();
test();
- IF( ( hSC_VBR->last_ppp_mode != 0 ) && ( hSC_VBR->ppp_mode == 0 ) && ( st_fx->sp_aud_decision1 != 0 ) && EQ_16( st_fx->bwidth, NB ) && st_fx->Opt_SC_VBR != 0 ) /*if it were about to go from ppp->HQ*/
+ IF( ( hSC_VBR->last_ppp_mode != 0 ) && ( hSC_VBR->ppp_mode == 0 ) && ( st_fx->sp_aud_decision1 != 0 ) && ( st_fx->bwidth == NB ) && ( st_fx->Opt_SC_VBR != 0 ) ) /*if it were about to go from ppp->HQ*/
{
hSC_VBR->avoid_HQ_VBR_NB = 1;
move16();
@@ -340,7 +341,7 @@ void set_ppp_mode_fx(
test();
test();
test();
- IF( ( hSC_VBR->last_nelp_mode != 0 ) && ( st_fx->sp_aud_decision1 != 0 ) && EQ_16( st_fx->bwidth, NB ) && ( st_fx->Opt_SC_VBR != 0 ) ) /*if it were about to go from nelp->HQ*/
+ IF( ( hSC_VBR->last_nelp_mode != 0 ) && ( st_fx->sp_aud_decision1 != 0 ) && ( st_fx->bwidth == NB ) && ( st_fx->Opt_SC_VBR != 0 ) ) /*if it were about to go from nelp->HQ*/
{
hSC_VBR->avoid_HQ_VBR_NB = 1;
move16();
@@ -412,6 +413,7 @@ static Word16 DTFS_quant_cw_fx(
{
Word16 num_erb = 0;
+ move16();
const Word16 *PowerCB_fx = NULL;
Word16 tmp, w[2], target[2], j, slot[NUM_ERB_WB], flag;
Word16 n, d1, d2, exp;
@@ -439,7 +441,6 @@ static Word16 DTFS_quant_cw_fx(
num_erb = NUM_ERB_WB;
move16();
PowerCB_fx = PowerCB_WB_fx;
- move16();
}
/* Get weighting and target */
@@ -500,10 +501,10 @@ static Word16 DTFS_quant_cw_fx(
erb_add_fx( curr_erb_fx, X_fx->lag_fx, lasterbE_fx, pl, AMP_IDX, num_erb );
curr_erb_fx[0] = mult_r( curr_erb_fx[1], 9830 );
- move16(); /* 0.3 inQ15 leaves curr_erb in Q13 */
- curr_erb_fx[sub( num_erb, 2 )] = mult_r( curr_erb_fx[sub( num_erb, 3 )], 9830 ); /* Q13 */
+ move16(); /* 0.3 inQ15 leaves curr_erb in Q13 */
+ curr_erb_fx[num_erb - 2] = mult_r( curr_erb_fx[num_erb - 3], 9830 ); /* Q13 */
- curr_erb_fx[sub( num_erb, 1 )] = 0;
+ curr_erb_fx[num_erb - 1] = 0;
move16();
flag = 1;
move16();
@@ -553,9 +554,11 @@ static Word16 DTFS_quant_cw_fx(
ELSE IF( n > 0 )
rshiftHarmBand_fx( X_fx, 0, 2828, sub( Qh, Ql ) );
- tmp = shl( *POWER_IDX, 1 ); /* tmp=2*POWER_IDX */
- *lastLgainE_fx = add( *lastLgainE_fx, PowerCB_fx[tmp] ); /* Q11 */
+ tmp = shl( *POWER_IDX, 1 ); /* tmp=2*POWER_IDX */
+ *lastLgainE_fx = add( *lastLgainE_fx, PowerCB_fx[tmp] ); /* Q11 */
+ move16();
*lastHgainE_fx = add( *lastHgainE_fx, PowerCB_fx[tmp + 1] ); /* Q11 */
+ move16();
Ltemp = log10_fx( X_fx->lag_fx ); /* Ltemp=10*log10(lag), Q23 */
logLag_fx = Mult_32_16( Ltemp, 0x6666 ); /* logLag=log10(lag), Q26 */
@@ -621,6 +624,7 @@ static Word16 DTFS_alignment_fine_new_fx( DTFS_STRUCTURE X1_fx, DTFS_STRUCTURE X
Word32 maxcorr_fx, wcorr_fx, diff_corr;
#ifdef BASOP_NOGLOB_DECLARE_LOCAL
Flag Overflow = 0;
+ move16();
#endif
IF( LT_16( X1_fx.lag_fx, X2_fx.lag_fx ) )
{
@@ -635,7 +639,9 @@ static Word16 DTFS_alignment_fine_new_fx( DTFS_STRUCTURE X1_fx, DTFS_STRUCTURE X
FOR( k = 0; k <= HalfLag; k++ )
{
ab1[k] = round_fx( L_mac( L_mult( X1_fx.a_fx[k], X2_fx.a_fx[k] ), X1_fx.b_fx[k], X2_fx.b_fx[k] ) );
+ move16();
ab2[k] = round_fx( L_msu( L_mult( X1_fx.b_fx[k], X2_fx.a_fx[k] ), X1_fx.a_fx[k], X2_fx.b_fx[k] ) );
+ move16();
}
@@ -735,6 +741,7 @@ static void LPCPowSpect_fx(
Word16 tmp, exp;
#ifdef BASOP_NOGLOB_DECLARE_LOCAL
Flag Overflow = 0;
+ move16();
#endif
FOR( k = 0; k < Nf; k++ )
{
@@ -838,6 +845,7 @@ static void LPCPowSpect_fx(
}
Ltemp = L_deposit_h( tmp );
out[k] = round_fx_o( L_shl_o( Ltemp, negate( add( exp, 8 ) ), &Overflow ), &Overflow );
+ move16();
/* out[k] = shl(tmp,-exp-8); in Q7 */
}
@@ -939,7 +947,7 @@ static void erb_diff_fx(
tmp = t_prev_erb[num_erb - 1];
move16();
- FOR( i = sub( num_erb, 1 ); i >= 0; i-- )
+ FOR( i = num_erb - 1; i >= 0; i-- )
{
IF( pslot[i] != 0 )
{
diff --git a/lib_enc/pre_proc.c b/lib_enc/pre_proc.c
deleted file mode 100644
index dc0d098987194e4ae0ac1c7dc0b7b2d50ec319d2..0000000000000000000000000000000000000000
--- a/lib_enc/pre_proc.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/******************************************************************************************************
-
- (C) 2022-2024 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of 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 "rom_enc.h"
-#include "rom_com.h"
-#include "prot.h"
-#include "wmc_auto.h"
-
-#include "prot_fx.h"
-#include "prot_fx_enc.h"
diff --git a/lib_enc/pre_proc_fx.c b/lib_enc/pre_proc_fx.c
index bfca1b5c7bccdd10ac7578fe72642a823a825edb..bd3d4cb340b9f3d6f00f5fa4f182c7a9de9702fe 100644
--- a/lib_enc/pre_proc_fx.c
+++ b/lib_enc/pre_proc_fx.c
@@ -6,7 +6,6 @@
#include "options.h"
#include "cnst.h"
#include "rom_com_fx.h"
-//#include "prot_fx.h"
#include "rom_com.h" /* Common constants */
#include "prot_fx.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
@@ -106,6 +105,8 @@ void pre_proc_fx(
Word16 fft_buff[2 * L_FFT];
Word16 sp_floor;
Word16 freqTable_local[2] = { 20, 40 };
+ move16();
+ move16();
Word16 last_core_orig;
Word16 headroom;
Word16 cldfb_addition = 0;
@@ -127,6 +128,7 @@ void pre_proc_fx(
#ifdef BASOP_NOGLOB_DECLARE_LOCAL
Flag Overflow = 0;
+ move16();
#endif
/*------------------------------------------------------------------*
@@ -206,6 +208,7 @@ void pre_proc_fx(
analysisCldfbEncoder_fx( st, signal_in, realBuffer, imagBuffer, realBuffer16, imagBuffer16, enerBuffer, &enerBuffer_exp, cldfbScale );
cldfbScale->hb_scale = cldfbScale->lb_scale;
+ move16();
/*----------------------------------------------------------------*
* Change the sampling frequency to 12.8 kHz
@@ -227,7 +230,7 @@ void pre_proc_fx(
test();
/* reserve an extra bit of headroom in case of NB coding and if there is a chance of energy above 4 kHz */
/* st->bwidth refers to the coded bandwidth of the previous frame */
- if ( ( ( EQ_16( st->bwidth, NB ) ) || ( EQ_16( st->max_bwidth, NB ) ) ) && ( GT_32( st->input_Fs, 8000 ) ) )
+ if ( ( ( st->bwidth == NB ) || ( st->max_bwidth == NB ) ) && ( GT_32( st->input_Fs, 8000 ) ) )
{
headroom = add( headroom, 1 );
}
@@ -277,7 +280,7 @@ void pre_proc_fx(
{
/* Combine decisions from SADS */
test();
- IF( EQ_16( st->vad_flag, 1 ) && vad_flag_cldfb == 0 )
+ if ( EQ_16( st->vad_flag, 1 ) && vad_flag_cldfb == 0 )
{
st->localVAD = 0;
move16();
@@ -486,7 +489,6 @@ void pre_proc_fx(
move16();
}
- move16();
/*------------------------------------------------------------------*
* Update estimated noise energy and voicing cut-off frequency
@@ -529,28 +531,36 @@ void pre_proc_fx(
*-----------------------------------------------------------------*/
test();
test();
- test();
IF( !st->Opt_RF_ON )
{
st->rf_mode = 0;
+ move16();
st->rf_target_bits_write = 0;
+ move16();
}
- ELSE IF( st->rf_mode && NE_32( st->core_brate, FRAME_NO_DATA ) && NE_32( st->core_brate, SID_2k40 ) )
+ ELSE IF( st->rf_mode && st->core_brate != FRAME_NO_DATA && NE_32( st->core_brate, SID_2k40 ) )
{
/* the RF config is for (n- fec_offset)th frame that will be packed along with the n-th frame bitstream */
st->rf_mode = 1;
+ move16();
st->codec_mode = MODE2;
+ move16();
st->rf_target_bits_write = hRF->rf_targetbits_buff[st->rf_fec_offset];
+ move16();
}
ELSE
{
st->rf_mode = 0;
+ move16();
st->codec_mode = MODE1;
+ move16();
IF( st->Opt_RF_ON )
{
hRF->rf_indx_frametype[0] = RF_NO_DATA;
+ move16();
hRF->rf_targetbits_buff[0] = 6; /* rf_mode: 1, rf_frame_type: 3, and fec_offset: 2 */
+ move16();
}
}
@@ -625,7 +635,7 @@ void pre_proc_fx(
test();
test();
test();
- IF( EQ_32( st->core_brate, FRAME_NO_DATA ) )
+ IF( st->core_brate == FRAME_NO_DATA )
{
/* prevent "L_frame" changes in CNG segments */
st->L_frame = st->last_L_frame;
@@ -672,9 +682,11 @@ void pre_proc_fx(
}
st->sr_core = L_mult0( FRAMES_PER_SEC, st->L_frame );
+ move32();
st->encoderLookahead_enc = NS2SA_FX2( st->sr_core, ACELP_LOOK_NS );
move16();
st->encoderPastSamples_enc = shr( imult1616( st->L_frame, 9 ), 4 );
+ move16();
}
/*-----------------------------------------------------------------*
@@ -699,7 +711,7 @@ void pre_proc_fx(
test();
test();
test();
- IF( NE_16( st->last_L_frame, st->L_frame ) && NE_32( st->core_brate, FRAME_NO_DATA ) && NE_32( st->core_brate, SID_2k40 ) && ( NE_16( st->coder_type_raw, VOICED ) ) )
+ IF( NE_16( st->last_L_frame, st->L_frame ) && st->core_brate != FRAME_NO_DATA && NE_32( st->core_brate, SID_2k40 ) && ( NE_16( st->coder_type_raw, VOICED ) ) )
{
/* enforce TC frame in case of ACELP@12k8 <-> ACELP@16k core switching */
st->coder_type = TRANSITION;
@@ -826,12 +838,14 @@ void pre_proc_fx(
{
SetModeIndex_fx( st, st->last_total_brate, EVS_MONO, 0, *shift );
st->sr_core = getCoreSamplerateMode2( st->element_mode, st->total_brate, st->bwidth, st->flag_ACELP16k, st->rf_mode, 0 );
-
+ move32();
Mpy_32_16_ss( st->sr_core, 5243, &L_tmp, &lsb ); /* 5243 is 1/50 in Q18. (0+18-15=3) */
st->L_frame = extract_l( L_shr( L_tmp, 3 ) ); /* Q0 */
+ move16();
st->encoderLookahead_enc = NS2SA_FX2( st->sr_core, ACELP_LOOK_NS );
move16();
st->encoderPastSamples_enc = shr( imult1616( st->L_frame, 9 ), 4 );
+ move16();
assert( st->L_frame == st->sr_core / 50 );
IF( EQ_32( st->sr_core, INT_FS_12k8 ) )
@@ -882,7 +896,9 @@ void pre_proc_fx(
IF( EQ_32( st->total_brate, ACELP_32k ) && EQ_16( loc_harm, 1 ) && GT_16( cor_map_sum, 50 << 8 ) && EQ_16( st->clas, VOICED_CLAS ) && EQ_16( st->coder_type, GENERIC ) )
{
st->last_harm_flag_acelp = add( st->last_harm_flag_acelp, 1 );
+ move16();
st->last_harm_flag_acelp = s_min( st->last_harm_flag_acelp, 10 );
+ move16();
}
ELSE
{
@@ -897,14 +913,18 @@ void pre_proc_fx(
IF( EQ_16( st->coder_type, AUDIO ) )
{
st->audio_frame_cnt = add( st->audio_frame_cnt, AUDIO_COUNTER_STEP );
+ move16();
}
- ELSE IF( NE_16( st->coder_type, INACTIVE ) )
+ ELSE IF( st->coder_type != INACTIVE )
{
st->audio_frame_cnt = sub( st->audio_frame_cnt, 1 );
+ move16();
}
st->audio_frame_cnt = s_min( st->audio_frame_cnt, AUDIO_COUNTER_MAX );
+ move16();
st->audio_frame_cnt = s_max( st->audio_frame_cnt, 0 );
+ move16();
/*-----------------------------------------------------------------*
* Set formant sharpening flag
@@ -959,9 +979,10 @@ void pre_proc_fx(
/* channel-aware mode - due to lack of signalling bit, sharpFlag is 1 always in RF mode */
test();
test();
- IF( EQ_16( st->rf_mode, 1 ) && ( EQ_16( st->coder_type, VOICED ) || EQ_16( st->coder_type, GENERIC ) ) )
+ if ( EQ_16( st->rf_mode, 1 ) && ( EQ_16( st->coder_type, VOICED ) || EQ_16( st->coder_type, GENERIC ) ) )
{
st->sharpFlag = 1;
+ move16();
}
/*-----------------------------------------------------------------*
@@ -995,8 +1016,7 @@ void pre_proc_fx(
L_frame_tmp = L_FRAME16k;
move16();
}
- L_look = NS2SA_FX2( sr_core_tmp, ACELP_LOOK_NS );
- move16(); /* lookahead at other sampling rate (16kHz, 25.5kHz, 32kHz) */
+ L_look = NS2SA_FX2( sr_core_tmp, ACELP_LOOK_NS ); /* lookahead at other sampling rate (16kHz, 25.5kHz, 32kHz) */
new_inp_16k = old_inp_16k + L_INP_MEM; /* pointer to new samples of the input signal in 16kHz core */
inp_16k = new_inp_16k - L_look; /* pointer to the current frame of input signal in 16kHz core */
@@ -1048,6 +1068,7 @@ void pre_proc_fx(
IF( ( ( st->tcxonly == 0 ) || ( EQ_16( st->codec_mode, MODE1 ) ) ) && GT_32( st->input_Fs, 8000 ) )
{
st->mem_preemph_enc = shl_o( new_inp_16k[sub( L_frame_tmp, 1 )], 1, &Overflow );
+ move16();
}
test();
@@ -1057,7 +1078,7 @@ void pre_proc_fx(
}
ELSE IF( GT_32( st->input_Fs, 8000 ) ) /* keep memory up-to-date in case of bit-rate switching */
{
- st->mem_preemph16k_fx = new_inp_16k[sub( L_frame_tmp, 1 )];
+ st->mem_preemph16k_fx = new_inp_16k[L_frame_tmp - 1];
move16();
}
@@ -1071,7 +1092,7 @@ void pre_proc_fx(
test();
test();
test();
- IF( ( ( ( st->tcxonly == 0 ) || !( NE_32( st->core_brate, FRAME_NO_DATA ) || NE_32( st->core_brate, SID_2k40 ) ) ) && EQ_16( st->L_frame, L_FRAME16k ) && EQ_16( st->codec_mode, MODE2 ) ) ||
+ IF( ( ( ( st->tcxonly == 0 ) || !( st->core_brate != FRAME_NO_DATA || NE_32( st->core_brate, SID_2k40 ) ) ) && EQ_16( st->L_frame, L_FRAME16k ) && EQ_16( st->codec_mode, MODE2 ) ) ||
( EQ_16( st->L_frame, L_FRAME16k ) && EQ_16( st->codec_mode, MODE1 ) ) )
{
*Q_new = Q_new_16k;
@@ -1088,7 +1109,6 @@ void pre_proc_fx(
/* Above computed Q_new is used to scale primary copy exc and memory here by (Q_new, st->prev_Q_new) */
Q_exp = sub( *Q_new, st->prev_Q_new );
- move16();
Q_wsp_exp = add( Q_exp, shift_exp );
Scale_mem_enc( Q_exp, old_inp_16k, old_exc, hBWE_TD->old_bwe_exc_fx, &( hLPDmem->mem_w0 ), hLPDmem->mem_syn,
@@ -1106,9 +1126,9 @@ void pre_proc_fx(
test();
test();
#ifndef CR_2109_to_2112_cd0_ce0
- IF( ( ( ( st->tcxonly == 0 ) || !( NE_32( st->core_brate, FRAME_NO_DATA ) || NE_32( st->core_brate, SID_2k40 ) ) ) && EQ_16( st->L_frame, L_FRAME16k ) && EQ_16( st->codec_mode, MODE2 ) ) || ( EQ_16( st->L_frame, L_FRAME16k ) && EQ_16( st->codec_mode, MODE1 ) ) )
+ IF( ( ( ( st->tcxonly == 0 ) || !( st->core_brate != FRAME_NO_DATA || NE_32( st->core_brate, SID_2k40 ) ) ) && EQ_16( st->L_frame, L_FRAME16k ) && EQ_16( st->codec_mode, MODE2 ) ) || ( EQ_16( st->L_frame, L_FRAME16k ) && EQ_16( st->codec_mode, MODE1 ) ) )
#else
- IF( ( ( ( st->tcxonly == 0 ) || !( NE_32( st->core_brate, FRAME_NO_DATA ) && NE_32( st->core_brate, SID_2k40 ) ) ) && EQ_16( st->L_frame, L_FRAME16k ) && EQ_16( st->codec_mode, MODE2 ) ) || ( EQ_16( st->L_frame, L_FRAME16k ) && EQ_16( st->codec_mode, MODE1 ) ) )
+ IF( ( ( ( st->tcxonly == 0 ) || !( st->core_brate != FRAME_NO_DATA && NE_32( st->core_brate, SID_2k40 ) ) ) && EQ_16( st->L_frame, L_FRAME16k ) && EQ_16( st->codec_mode, MODE2 ) ) || ( EQ_16( st->L_frame, L_FRAME16k ) && EQ_16( st->codec_mode, MODE1 ) ) )
#endif
{
/* update signal buffers */
@@ -1217,7 +1237,7 @@ void pre_proc_fx(
{
test();
test();
- IF( ( NE_32( st->core_brate, FRAME_NO_DATA ) && NE_32( st->core_brate, SID_2k40 ) && st->tcxonly == 0 ) )
+ IF( ( st->core_brate != FRAME_NO_DATA && NE_32( st->core_brate, SID_2k40 ) && st->tcxonly == 0 ) )
{
core_acelp_tcx20_switching_fx( st, non_staX, pitch_fr, voicing_fr, currFlatness, lsp_mid, stab_fac, *Q_new, *shift );
}
@@ -1314,16 +1334,18 @@ void pre_proc_fx(
}
/* Update vAD hangover frame counter in active frames */
- if ( ( NE_16( st->core, HQ_CORE ) && st->tcxonly == 0 ) || EQ_16( st->core, ACELP_CORE ) )
+ if ( ( NE_16( st->core, HQ_CORE ) && st->tcxonly == 0 ) || st->core == ACELP_CORE )
{
- IF( !( EQ_32( st->core_brate, SID_2k40 ) || EQ_32( st->core_brate, FRAME_NO_DATA ) ) )
+ IF( !( EQ_32( st->core_brate, SID_2k40 ) || st->core_brate == FRAME_NO_DATA ) )
{
test();
IF( st->Opt_DTX_ON != 0 && *vad_hover_flag != 0 )
{
hTdCngEnc->burst_ho_cnt = add( hTdCngEnc->burst_ho_cnt, 1 );
+ move16();
hTdCngEnc->burst_ho_cnt = s_min( hTdCngEnc->burst_ho_cnt, HO_HIST_SIZE );
+ move16();
}
ELSE
{
diff --git a/lib_enc/pvq_core_enc.c b/lib_enc/pvq_core_enc.c
deleted file mode 100644
index ce12347234733459bf08743ee7fa4381e3c076ce..0000000000000000000000000000000000000000
--- a/lib_enc/pvq_core_enc.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/******************************************************************************************************
-
- (C) 2022-2024 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of 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 "rom_com.h"
-#include "prot.h"
-#include "prot.h"
-#include "stl.h"
-#include "wmc_auto.h"
diff --git a/lib_enc/pvq_core_enc_fx.c b/lib_enc/pvq_core_enc_fx.c
index 0c8039a79134e9d527090859a9cf3c70a9391c9c..214522126120348426c0f9a7d5bc2569f584a903 100644
--- a/lib_enc/pvq_core_enc_fx.c
+++ b/lib_enc/pvq_core_enc_fx.c
@@ -5,9 +5,8 @@
#include
#include "options.h" /* Compilation switches */
#include "cnst.h"
-#include "rom_com_fx.h" /* Static table prototypes */
-#include "rom_com.h" /* Static table 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 */
#include "ivas_prot_fx.h"
@@ -202,12 +201,15 @@ static void pvq_encode_band_fx(
move16();
}
- pool_tot = 0; /* Word16 */
+ pool_tot = 0; /* Word16 */
+ move16();
pool_part = 0; /* Word16 */
+ move16();
FOR( j = 0; j < Np; j++ )
{
g_part[j] = negate( g_part_neg[j] );
+ move16();
}
srt_vec_ind16_fx( g_part, sg_part, idx_sort, Np );
FOR( j = 0; j < Np; j++ )
@@ -215,6 +217,7 @@ static void pvq_encode_band_fx(
js = idx_sort[Np - 1 - j];
pool_part = shrtCDivSignedApprox( pool_tot, sub( Np, j ) );
bits_part[js] = s_max( 0, s_min( add( bits_part[js], pool_part ), 256 ) );
+ move16();
conservativeL1Norm_fx( dim_part[js], bits_part[js], strict_bits, *bits_left, pool_tot, *npulses, /* inputs */
&K_val, bits_left, &pool_tot, npulses ); /* outputs */
@@ -266,7 +269,7 @@ void pvq_encode_frame_ivas_fx(
PVQ_ENC_HANDLE hPVQ = &pvq_enc;
#ifdef BASOP_NOGLOB_DECLARE_LOCAL
Flag Overflow = 0;
- move32();
+ move16();
#endif
rc_enc_init_fx( hPVQ, pvq_bits );
@@ -310,8 +313,8 @@ void pvq_encode_frame_ivas_fx(
move16();
IF( R[is] > 0 )
{
- bandBitsAdjustment_fx( hPVQ->rc_num_bits, hPVQ->rc_range, bits, bands_to_code, bands_to_code - coded_bands, sfmsize[is], R[is], bit_pool, /* inputs */
- &band_bits, &bits_left, &bit_pool ); /* outputs */
+ bandBitsAdjustment_fx( hPVQ->rc_num_bits, hPVQ->rc_range, bits, bands_to_code, sub( bands_to_code, coded_bands ), sfmsize[is], R[is], bit_pool, /* inputs */
+ &band_bits, &bits_left, &bit_pool ); /* outputs */
pvq_encode_band_ivas_fx( hBstr, hPVQ, &coefs_norm[sfm_start[is]], Q_coefs, &pulse_vector[sfm_start[is]],
&npulses[is], &coefs_quant[sfm_start[is]], sfmsize[is], band_bits,
&bits_left, strict_bits );
@@ -378,6 +381,7 @@ void pvq_encode_frame_fx(
Word16 band_bits, bits_left;
Word16 bit_pool = 0;
+ move16();
Word16 coded_bands, bands_to_code;
Word16 bits;
Word16 R_sort[NB_SFM];
@@ -389,6 +393,7 @@ void pvq_encode_frame_fx(
PVQ_ENC_HANDLE hPVQ = &pvq_enc;
#ifdef BASOP_NOGLOB_DECLARE_LOCAL
Flag Overflow = 0;
+ move16();
#endif
rc_enc_init_fx( hPVQ, pvq_bits );
@@ -432,15 +437,15 @@ void pvq_encode_frame_fx(
move16();
IF( R[is] > 0 )
{
- bandBitsAdjustment_fx( hPVQ->rc_num_bits, hPVQ->rc_range, bits, bands_to_code, bands_to_code - coded_bands, sfmsize[is], R[is], bit_pool, /* inputs */
- &band_bits, &bits_left, &bit_pool ); /* outputs */
+ bandBitsAdjustment_fx( hPVQ->rc_num_bits, hPVQ->rc_range, bits, bands_to_code, sub( bands_to_code, coded_bands ), sfmsize[is], R[is], bit_pool, /* inputs */
+ &band_bits, &bits_left, &bit_pool ); /* outputs */
pvq_encode_band_fx( hBstr, hPVQ, &coefs_norm[sfm_start[is]], Q_coefs, &pulse_vector[sfm_start[is]],
&npulses[is], &coefs_quant[sfm_start[is]], sfmsize[is], band_bits,
&bits_left, strict_bits );
xy_corr = L_deposit_l( 0 );
yy_corr = L_deposit_l( 1 );
- shift = band_len_ener_shift[band_len_idx[shr( sfmsize[is], 3 )]];
+ shift = band_len_ener_shift[band_len_idx[sfmsize[is] >> 3]];
move16();
FOR( j = 0; j < sfmsize[i]; j++ )
{
@@ -451,7 +456,7 @@ void pvq_encode_frame_fx(
tmp = ratio( xy_corr, yy_corr, &exp );
gopt[is] = shl_o( tmp, sub( sub( sub( 14, Q_coefs ), shift ), exp ), &Overflow );
-
+ move16();
if ( gopt[is] == 0 )
{
gopt[is] = 1;
@@ -656,6 +661,7 @@ static void encode_energies_fx(
Word16 density;
Word16 phi;
Word16 index_phi = -1;
+ move16();
Word16 oppRQ3, qzero;
Word16 angle;
Word32 sqrt_r_enr, sqrt_l_enr;
@@ -731,11 +737,13 @@ static void encode_energies_fx(
FOR( i = 0; i < l_Np; i++ )
{
g_part[i] = mult_r( l_gain, g_part[i] );
+ move16();
}
FOR( i = l_Np; i < Np; i++ )
{
g_part[i] = mult_r( r_gain, g_part[i] );
+ move16();
}
NearOppSplitAdjustment_fx( qband, qzero, hPVQ->rc_num_bits, hPVQ->rc_range, *bits_left,
@@ -925,7 +933,7 @@ static void densityIndexSymbolEncode_ivas_fx(
UWord16 lsb;
#ifdef BASOP_NOGLOB_DECLARE_LOCAL
Flag Overflow = 0;
- move32();
+ move16();
#endif
sym_freq = L_deposit_l( 1 );
@@ -1002,6 +1010,7 @@ static void densityIndexSymbolEncode_fx(
UWord16 lsb;
#ifdef BASOP_NOGLOB_DECLARE_LOCAL
Flag Overflow = 0;
+ move16();
#endif
sym_freq = L_deposit_l( 1 );
@@ -1231,6 +1240,7 @@ static Word16 calc_pvq_splits_fx( /* o : Number of segm
acc = L_shr( acc, qPoint );
E[i] = sub( 30, norm_l( L_max( 1L, acc ) ) ); /* L_max needed to handle low subvector levels */
+ move16();
eTotal = add( eTotal, E[i] );
}
diff --git a/lib_enc/pvq_encode.c b/lib_enc/pvq_encode.c
deleted file mode 100644
index 23468cbe8bbfdcb2b56d900848a3cac1fc090edf..0000000000000000000000000000000000000000
--- a/lib_enc/pvq_encode.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/******************************************************************************************************
-
- (C) 2022-2024 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of 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 "prot.h"
-#include "rom_com.h"
-#include "prot.h"
-#include "wmc_auto.h"
diff --git a/lib_enc/pvq_encode_fx.c b/lib_enc/pvq_encode_fx.c
index 3232f33cfb77afeb82405d3b556cd48ca90f95ef..749a39ed91243268b64f71275ce5106e00cf9749 100644
--- a/lib_enc/pvq_encode_fx.c
+++ b/lib_enc/pvq_encode_fx.c
@@ -4,7 +4,6 @@
#include
#include "options.h" /* Compilation switches */
#include "cnst.h"
-//#include "prot_fx.h"
#include "prot_fx.h" /* Function prototypes */
#include "prot_fx_enc.h" /* Function prototypes */
#include "rom_com_fx.h"
@@ -63,6 +62,7 @@ static Word16 one_pulse_search(
UWord16 u_sgn;
#ifdef BASOP_NOGLOB_DECLARE_LOCAL
Flag Overflow = 0;
+ move16();
#endif
en_tmp = en_dn_shift; /* dummy assignment to avoid compiler warning for unused parameter */
@@ -77,7 +77,8 @@ static Word16 one_pulse_search(
IF( high_prec_active == 0 )
{
- en_max_den = 0; /*move16()*/
+ en_max_den = 0; /*move16()*/
+ move16();
; /* OPT: move saved by using high_prec_active as en_max_den */ /* 1 op */
cmax_num = -1;
move16(); /* req. to force a 1st update for n==0 */ /* 1 op */
@@ -162,6 +163,7 @@ static Word16 one_pulse_search(
y[imax] = add( y[imax], 1 );
move16(); /* Q0 added pulse */
( *pulse_tot_ptr ) = add( ( *pulse_tot_ptr ), 1 ); /* increment total pulse sum */
+ move16();
return imax;
}
@@ -202,7 +204,7 @@ void pvq_encode_ivas_fx(
PvqEntry entry;
#ifdef BASOP_NOGLOB_DECLARE_LOCAL
Flag Overflow = 0;
- move32();
+ move16();
#endif
L_proj_fac = 4096;
@@ -410,9 +412,11 @@ void pvq_encode_fx(
PvqEntry entry;
#ifdef BASOP_NOGLOB_DECLARE_LOCAL
Flag Overflow = 0;
+ move16();
#endif
L_proj_fac = 4096;
+ move32();
L_xsum = L_deposit_h( 0 );
max_xabs = -1;
move16();
@@ -565,7 +569,9 @@ void pvq_encode_fx(
Mpy_32_16_ss( L_tmp, neg_gain_norm, &L_tmp, &u16_tmp ); /* Q31*Q(0+x) *Q15 +1 */
L_tmp = L_shr_o( L_tmp, shift_tot, &Overflow ); /* Q31+x */
xq[i] = round_fx_o( L_tmp, &Overflow ); /* Q15, array move */
- L_xq[i] = L_tmp; /* Q31 currently unused */
+ move16();
+ L_xq[i] = L_tmp; /* Q31 currently unused */
+ move32();
}
/* index the found PVQ vector into short codewords */
diff --git a/lib_enc/q_gain2p.c b/lib_enc/q_gain2p.c
deleted file mode 100644
index bcdeaa0415b3291cebf3e4463a6e123980ab180f..0000000000000000000000000000000000000000
--- a/lib_enc/q_gain2p.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/******************************************************************************************************
-
- (C) 2022-2024 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of 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 "prot.h"
-#include "cnst.h"
-#include "rom_com.h"
-#include "wmc_auto.h"
diff --git a/lib_enc/q_gain2p_fx.c b/lib_enc/q_gain2p_fx.c
index e46b7ecf0b114b99c81df8758af79cda8a8a423f..ed39c5274dd57f56a2e3ae7fa6ad6c83effa6ec5 100644
--- a/lib_enc/q_gain2p_fx.c
+++ b/lib_enc/q_gain2p_fx.c
@@ -6,7 +6,6 @@
#include
#include "options.h"
#include "cnst.h" /* Common constants */
-//#include "prot_fx.h"
#include "basop_util.h"
#include "rom_com_fx.h"
#include "rom_com.h" /* Common constants */
@@ -57,6 +56,8 @@ void encode_acelp_gains_fx(
)
{
Word16 index = 0, func_type = 0;
+ move16();
+ move16();
BASOP_SATURATE_ERROR_ON_EVS;
@@ -146,6 +147,7 @@ static Word16 gain_enc( /* o : quantization pitch index
Word32 L_tmp, dist_min, L_tmp1;
#ifdef BASOP_NOGLOB_DECLARE_LOCAL
Flag Overflow = 0;
+ move16();
#endif
@@ -164,6 +166,7 @@ static Word16 gain_enc( /* o : quantization pitch index
L_tmp = calc_gain_inov( code, lcode, &L_tmp1, &exp_L_tmp1 );
move16();
*gain_inov = round_fx_o( L_shl_o( L_tmp, 15 - 3, &Overflow ), &Overflow ); /* gain_inov in Q12 */
+ move16();
/*----------------------------------------------------------------*
* calculate the predicted gain code
*----------------------------------------------------------------*/
@@ -321,6 +324,8 @@ static Word16 gain_enc( /* o : quantization pitch index
size_clip = 21;
size = NB_QUA_GAIN7B;
}
+ move16();
+ move16();
if ( EQ_16( clip_gain, 1 ) )
{
@@ -329,7 +334,6 @@ static Word16 gain_enc( /* o : quantization pitch index
gcode0_gi = gcode0;
move16();
}
- move16();
p = t_qua_gain;
index = 0;
@@ -400,6 +404,7 @@ static Word16 gain_enc( /* o : quantization pitch index
/* Q16/Q12 => Q5 */
L_tmp = L_deposit_h( BASOP_Util_Divide3216_Scale( L_tmp, *gain_inov, &i ) );
*past_gcode = L_shl_o( L_tmp, sub( i, 15 - 12 ), &Overflow );
+ move16();
return index;
}
@@ -430,12 +435,17 @@ Word16 gain_enc_uv_fx( /* o : quantization pitch ind
Word16 s, tmp1, s1;
Word16 index2;
const Word16 log2_scale = 16;
+ move16();
#ifdef BASOP_NOGLOB_DECLARE_LOCAL
Flag Overflow = 0;
+ move16();
#endif
pred_nrg_frame = 0; /* to suppress compilation warnings */
g_code2 = 0; /* to suppress compilation warnings */
exp_gcode2 = 0; /* to suppress compilation warnings */
+ move32();
+ move16();
+ move16();
assert( ( func_type != FUNC_GAIN_ENC_MLESS ) );
@@ -460,6 +470,7 @@ Word16 gain_enc_uv_fx( /* o : quantization pitch ind
/* gain_inov = 1.0f / sqrt((dot_product(code, code, L_SUBFR) + 0.01) / L_SUBFR) */
L_tmp = calc_gain_inov( code, lcode, NULL, NULL );
*gain_inov = round_fx( L_shl( L_tmp, 15 - 3 ) ); /* gain_inov in Q12 */
+ move16();
/*----------------------------------------------------------------*
* calculate the predicted gain code
@@ -543,7 +554,7 @@ Word16 gain_enc_uv_fx( /* o : quantization pitch ind
L_tmp = L_and( 0x7FFFFFFF, L_tmp );
L_tmp = Pow2( 30, round_fx( L_tmp ) );
- L_tmp = L_shl( L_tmp, i - ( 31 - 16 ) ); /* Q16 */
+ L_tmp = L_shl( L_tmp, sub( i, ( 31 - 16 ) ) ); /* Q16 */
IF( gacelp_uv != 0 )
{
diff --git a/lib_enc/qlpc_avq.c b/lib_enc/qlpc_avq.c
deleted file mode 100644
index 24f06eafe31fb859892ef40e5947576a60ab5108..0000000000000000000000000000000000000000
--- a/lib_enc/qlpc_avq.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/******************************************************************************************************
-
- (C) 2022-2024 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of 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 "prot.h"
-#include "ivas_prot.h"
-#include "wmc_auto.h"
diff --git a/lib_enc/vad.c b/lib_enc/vad.c
deleted file mode 100644
index 7ea816a4fab0b01586d8636314169899615756e1..0000000000000000000000000000000000000000
--- a/lib_enc/vad.c
+++ /dev/null
@@ -1,92 +0,0 @@
-/******************************************************************************************************
-
- (C) 2022-2024 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of 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_enc.h"
-#include "wmc_auto.h"
-#include "ivas_prot.h"
-
-/*-----------------------------------------------------------------*
- * Local constants
- *-----------------------------------------------------------------*/
-
-#define HANGOVER_LONG 10 /* Hangover for CNG */
-#define HANGOVER_LONG_HE 20 /* Hangover of CNG */
-#define HANGOVER_LONG_MUSIC 20 /* Hangover of CNG */
-#define HANGOVER_LONG_NB 8 /* Hangover for CNG */
-#define ACTIVE_FRAMES 3 /* Number of consecutive active SPEECH frames necessary to trigger HO */
-
-#define TH16_2 35.0f /* long-term SNR that separates the curves for clean speech and noisy speech */
-#define TH8_1 20.0f /* long-term SNR that separates the curves for clean speech and noisy speech */
-#define TH16_2_NFLAG 35.0f
-#define TH8_1_NFLAG 35.0f
-
-
-#define SNR_OUTLIER_WGHT_1 1.00f
-#define SNR_OUTLIER_WGHT_2 1.01f
-#define SNR_OUTLIER_WGHT_3 1.02f
-#define OUTLIER_THR_1 10.0f
-#define OUTLIER_THR_2 6.0f
-#define MAX_SNR_OUTLIER_IND 17
-#define MAX_SNR_OUTLIER_1 10.0f
-#define MAX_SNR_OUTLIER_2 25.0f
-#define MAX_SNR_OUTLIER_3 50.0f
-
-/*---------------------------------------------------------------------*
- * wb_vad_init()
- *
- * VAD initializations
- *---------------------------------------------------------------------*/
-/*-----------------------------------------------------------------*
- * sing_thr_snr_acc()
- *
- * accumulate snr_sum with significance thresholds
- *-----------------------------------------------------------------*/
-/*-----------------------------------------------------------------*
- * dtx_hangover_addition()
- *
- * accumulate snr_sum with significance thresholds
- *-----------------------------------------------------------------*/
-
-/*-----------------------------------------------------------------*
- * wb_vad()
- *
- * Voice Activity Detector
- *-----------------------------------------------------------------*/
diff --git a/lib_enc/vad_param_updt.c b/lib_enc/vad_param_updt.c
deleted file mode 100644
index e82b4595f4c7202482ab5eee40ff59257442ab77..0000000000000000000000000000000000000000
--- a/lib_enc/vad_param_updt.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/******************************************************************************************************
-
- (C) 2022-2024 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of 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 "wmc_auto.h"
-
-/*-------------------------------------------------------------------*
- * vad_param_updt()
- *
- * Update parameters used by the VAD or DTX
- *--------------------------------------------------------------------*/
diff --git a/lib_enc/vad_proc.c b/lib_enc/vad_proc.c
deleted file mode 100644
index 661cc4b7b44a35c09c0ee29a47f1b5d01df6c3fe..0000000000000000000000000000000000000000
--- a/lib_enc/vad_proc.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/******************************************************************************************************
-
- (C) 2022-2024 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of 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
-#include "options.h"
-#include "prot.h"
-#include "rom_enc.h"
-#include "wmc_auto.h"
diff --git a/lib_enc/vbr_average_rate.c b/lib_enc/vbr_average_rate.c
deleted file mode 100644
index ee4d0477acb81ddd3b7e06486a85b5a601a73d2a..0000000000000000000000000000000000000000
--- a/lib_enc/vbr_average_rate.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/******************************************************************************************************
-
- (C) 2022-2024 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of 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 "rom_com.h"
-#include "wmc_auto.h"
-
-/*------------------------------------------------------------------*
- * Local constants
- *------------------------------------------------------------------*/
-
-#define RATEWIN 600 /* length of the rate control window. This is 600 active speech frames. This equals roughly 12s of active speech */
-
-/*------------------------------------------------------------------*
- * update_average_rate()
- *
- * SC-VBR update average data rate
- *------------------------------------------------------------------*/
diff --git a/lib_enc/vlpc_1st_cod.c b/lib_enc/vlpc_1st_cod.c
deleted file mode 100644
index 0fe8682daace6673130ca2ca05de2a188e8e2ae0..0000000000000000000000000000000000000000
--- a/lib_enc/vlpc_1st_cod.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/******************************************************************************************************
-
- (C) 2022-2024 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of 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 "rom_com.h"
-#include "wmc_auto.h"
diff --git a/lib_enc/vlpc_2st_cod.c b/lib_enc/vlpc_2st_cod.c
deleted file mode 100644
index e7a8ca967132cf8896fc4a231dbaf74eed596840..0000000000000000000000000000000000000000
--- a/lib_enc/vlpc_2st_cod.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/******************************************************************************************************
-
- (C) 2022-2024 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of 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"
diff --git a/lib_enc/voiced_enc.c b/lib_enc/voiced_enc.c
deleted file mode 100644
index 5bfe6bfc099df4c4d4931c3c31b6c94162a7f88d..0000000000000000000000000000000000000000
--- a/lib_enc/voiced_enc.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/******************************************************************************************************
-
- (C) 2022-2024 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of 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 "prot.h"
-#include "cnst.h"
-#include "rom_com.h"
-#include "wmc_auto.h"
-#include "prot_fx.h"
diff --git a/lib_enc/waveadjust_fec_cod.c b/lib_enc/waveadjust_fec_cod.c
deleted file mode 100644
index 825401325748d89d4db5894372ff8dd2e53d76ec..0000000000000000000000000000000000000000
--- a/lib_enc/waveadjust_fec_cod.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/******************************************************************************************************
-
- (C) 2022-2024 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of 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 "prot.h"
-#include "wmc_auto.h"