From 737db27eee0de08141e1d9000f3bd4e59df90d47 Mon Sep 17 00:00:00 2001 From: Jean-Marc Valin Date: Wed, 31 Aug 2016 02:15:55 -0400 Subject: Only enable new hybrid folding behaviour with ENABLE_UPDATE_DRAFT --- celt/bands.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/celt/bands.c b/celt/bands.c index 80847f86..6f3c2dbf 100644 --- a/celt/bands.c +++ b/celt/bands.c @@ -1477,6 +1477,7 @@ void quant_all_bands(int encode, const CELTMode *m, int start, int end, b = 0; } +#ifdef ENABLE_UPDATE_DRAFT if (resynth && (M*eBands[i]-N >= M*eBands[start] || i==start+1) && (update_lowband || lowband_offset==0)) lowband_offset = i; if (i == start+1) @@ -1490,6 +1491,11 @@ void quant_all_bands(int encode, const CELTMode *m, int start, int end, if (C==2) OPUS_COPY(&norm2[n1], &norm2[2*n1 - n2], n2-n1); } +#else + if (resynth && M*eBands[i]-N >= M*eBands[start] && (update_lowband || lowband_offset==0)) + lowband_offset = i; +#endif + tf_change = tf_res[i]; ctx.tf_change = tf_change; if (i>=m->effEBands) @@ -1514,7 +1520,11 @@ void quant_all_bands(int encode, const CELTMode *m, int start, int end, fold_start = lowband_offset; while(M*eBands[--fold_start] > effective_lowband+norm_offset); fold_end = lowband_offset-1; +#ifdef ENABLE_UPDATE_DRAFT while(++fold_end < i && M*eBands[fold_end] < effective_lowband+norm_offset+N); +#else + while(M*eBands[++fold_end] < effective_lowband+norm_offset+N); +#endif x_cm = y_cm = 0; fold_i = fold_start; do { x_cm |= collapse_masks[fold_i*C+0]; -- cgit v1.2.3