Commit 424b8400 authored by Sandesh Venkatesh's avatar Sandesh Venkatesh
Browse files

Integration of fixed point sub-functions 16

[x] Some of EVS_FLOAT macro dependency removal done
[x] Clean up of intermediate buffers, float variables/buffers in different structures
[x] Build warnings fix
[x] added rescaling in decod_gen_2sfbr
[x] ivas_spar_update_md_hist, ivas_spar_smooth_md_dtx, ivas_spar_setup_md_smoothing converted to fixed point
[x] Converted few functions in ivas_dirac_output_synthesis_dec.c file
parent e6911975
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -55,7 +55,7 @@ endif

# C compiler flags
CFLAGS   += -std=c99 -pedantic -Wcast-qual -Wall -W -Wextra -Wno-long-long     \
            -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes  \
            -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes  -Wconversion \
            -Werror-implicit-function-declaration \
            -Wno-implicit-fallthrough -ffp-contract=off

+1 −1
Original line number Diff line number Diff line
@@ -226,7 +226,7 @@ enum{
#define INV_LOG_2                       1.442695040888963f /* 1/log(2)  */
#define INV_SQRT_2                      0.70710676908493f  /* 1/sqrt(2) */
#define INV_SQRT_2_Q15                  23170  /* 1/sqrt(2) in Q15 */
#define INV_SQRT_2_Q31                  1.51850022e+09  /* 1/sqrt(2) in Q31 */
#define INV_SQRT_2_Q31                  (Word32)1.51850022e+09  /* 1/sqrt(2) in Q31 */

#define MAX_V_MULT_MAT                  100             /* maximum array length for the function v_mult_mat() */

+24 −309

File changed.

Preview size limit exceeded, changes collapsed.

+7 −7
Original line number Diff line number Diff line
@@ -489,8 +489,8 @@ void hp20_fix32(
		b2_fx = 535877975l /* 0.998150511190452 Q29*/;
	}

	Qprev_y1 = mem_fx[4];
	Qprev_y2 = mem_fx[5];
	Qprev_y1 = extract_l(mem_fx[4]);
	Qprev_y2 = extract_l(mem_fx[5]);
	y1_fx64 = mem_fx[0];
	y2_fx64 = mem_fx[1];
	x0_fx64 = mem_fx[2];
@@ -547,7 +547,7 @@ void hp20_fix32(
		y0_fx64 = (y0_fx64 >> (min(Qy1, Qy2) - Qmin)) + (R3 >> (Qx0 - Qmin)) + (R4 >> (Qx1 - Qmin)) + (R5 >> (Qx2 - Qmin));
		y0_fx64 = y0_fx64 >> 29;

		signal_fx[i] = W_shr(y0_fx64, Qmin);
		signal_fx[i] = W_extract_l(W_shr(y0_fx64, Qmin));

		y2_fx64 = y1_fx64;
		y1_fx64 = y0_fx64;
@@ -567,10 +567,10 @@ void hp20_fix32(
		Qprev_y2 -= (32 - Qy2);
	}

	mem_fx[0] = y1_fx64;
	mem_fx[1] = y2_fx64;
	mem_fx[2] = x0_fx64;
	mem_fx[3] = x1_fx64;
	mem_fx[0] = W_extract_l(y1_fx64);
	mem_fx[1] = W_extract_l(y2_fx64);
	mem_fx[2] = W_extract_l(x0_fx64);
	mem_fx[3] = W_extract_l(x1_fx64);
	mem_fx[4] = Qprev_y1;
	mem_fx[5] = Qprev_y2;

+3 −0
Original line number Diff line number Diff line
@@ -37,6 +37,9 @@
#include "math.h"
#include "prot.h"
#include "wmc_auto.h"
#ifdef IVAS_FLOAT_FIXED
#include "ivas_prot_fx.h"
#endif


/*-----------------------------------------------------------------------------------------*
Loading