diff options
author | Jean-Marc Valin <jmvalin@jmvalin.ca> | 2014-01-08 02:50:46 +0400 |
---|---|---|
committer | Jean-Marc Valin <jmvalin@jmvalin.ca> | 2014-01-08 02:50:46 +0400 |
commit | 9134e96cb24fa3a4c5249e3940a163d889fe692d (patch) | |
tree | d85f8b18f17ecabbbdfdd0bc30830df4672b4c85 /celt/celt_decoder.c | |
parent | 81af25950f061aa18339c23ae07846d72a49e3d3 (diff) |
Fixes SMALL_FOOTPRINT for float
Diffstat (limited to 'celt/celt_decoder.c')
-rw-r--r-- | celt/celt_decoder.c | 11 |
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); |