Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.xiph.org/xiph/opus.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Marc Valin <jmvalin@jmvalin.ca>2014-01-08 02:50:46 +0400
committerJean-Marc Valin <jmvalin@jmvalin.ca>2014-01-08 02:50:46 +0400
commit9134e96cb24fa3a4c5249e3940a163d889fe692d (patch)
treed85f8b18f17ecabbbdfdd0bc30830df4672b4c85 /celt/celt_decoder.c
parent81af25950f061aa18339c23ae07846d72a49e3d3 (diff)
Fixes SMALL_FOOTPRINT for float
Diffstat (limited to 'celt/celt_decoder.c')
-rw-r--r--celt/celt_decoder.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/celt/celt_decoder.c b/celt/celt_decoder.c
index fc31094e..1e41ec11 100644
--- a/celt/celt_decoder.c
+++ b/celt/celt_decoder.c
@@ -51,6 +51,9 @@
#include "celt_lpc.h"
#include "vq.h"
+#if defined(SMALL_FOOTPRINT) && defined(FIXED_POINT)
+#define NORM_ALIASING_HACK
+#endif
/**********************************************************************/
/* */
/* DECODER */
@@ -458,7 +461,7 @@ static void celt_decode_lost(CELTDecoder * OPUS_RESTRICT st, int N, int LM)
if (noise_based)
{
/* Noise-based PLC/CNG */
-#ifdef SMALL_FOOTPRINT
+#ifdef NORM_ALIASING_HACK
celt_norm *X;
#else
VARDECL(celt_norm, X);
@@ -471,7 +474,7 @@ static void celt_decode_lost(CELTDecoder * OPUS_RESTRICT st, int N, int LM)
end = st->end;
effEnd = IMAX(start, IMIN(end, mode->effEBands));
-#ifdef SMALL_FOOTPRINT
+#ifdef NORM_ALIASING_HACK
/* This is an ugly hack that breaks aliasing rules and would be easily broken,
but it saves almost 4kB of stack. */
X = (celt_norm*)(out_syn[C-1]+overlap/2);
@@ -731,7 +734,7 @@ int celt_decode_with_ec(CELTDecoder * OPUS_RESTRICT st, const unsigned char *dat
int spread_decision;
opus_int32 bits;
ec_dec _dec;
-#ifdef SMALL_FOOTPRINT
+#ifdef NORM_ALIASING_HACK
celt_norm *X;
#else
VARDECL(celt_norm, X);
@@ -980,7 +983,7 @@ int celt_decode_with_ec(CELTDecoder * OPUS_RESTRICT st, const unsigned char *dat
/* Decode fixed codebook */
ALLOC(collapse_masks, C*nbEBands, unsigned char);
-#ifdef SMALL_FOOTPRINT
+#ifdef NORM_ALIASING_HACK
/* This is an ugly hack that breaks aliasing rules and would be easily broken,
but it saves almost 4kB of stack. */
X = (celt_norm*)(out_syn[CC-1]+overlap/2);