diff --git a/lib_com/options.h b/lib_com/options.h index 4dfb7d8e4f2bc54f21a393f44163f12c3de42a49..1b2c564d798cfe361e91a89774ab8d5f3053f23c 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -118,6 +118,7 @@ /* ##################### End NON-BE switches ########################### */ #define FIX_740_HQ_CORE_OVA // Proposed fix to solve overlap and add issue for HQ_CORE #define FIX_746 // proposed fix to solve low bit-rate frame boundaries issues +#define FIX_SATURATION_725 // Propose fix for saturation in AVQ /* ################## End DEVELOPMENT switches ######################### */ diff --git a/lib_dec/vlpc_2st_dec_fx.c b/lib_dec/vlpc_2st_dec_fx.c index ae35bc31a8f36758831b033683fb8d01dd8f0a2f..1a86fdb916225d738b853a5eb51f0a303e39f404 100644 --- a/lib_dec/vlpc_2st_dec_fx.c +++ b/lib_dec/vlpc_2st_dec_fx.c @@ -7,6 +7,9 @@ #include "options.h" #include "prot_fx1.h" #include "prot_fx2.h" +//#ifdef DEBUGGING to be removed +#include +//#endif void vlpc_2st_dec( Word16 *lsfq, /* i/o: i:1st stage o:1st+2nd stage */ @@ -32,7 +35,16 @@ void vlpc_2st_dec( FOR (i=0; i 32 for IVAS, we might need a different loop implementation */ + //#endif + lsfq[i] = add( lsfq[i], shl( mult_r( w[i], shl_sat( xq[i], 10 ) ), 2 ) ); /*14Q1*1.28*/ + move16(); +#else + lsfq[i] = add( lsfq[i], shl( mult_r( w[i], shl( xq[i], 10 ) ), 2 ) ); /*14Q1*1.28*/ + move16(); +#endif } /* reorder */