summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Marc Valin <jmvalin@jmvalin.ca>2016-08-31 02:15:55 -0400
committerJean-Marc Valin <jmvalin@jmvalin.ca>2016-08-31 02:15:55 -0400
commit737db27eee0de08141e1d9000f3bd4e59df90d47 (patch)
treef4111fc559942c7f0392b34efb0a269b0ab8c766
parent37d4a2bb642931f8a177bbe57ea46d48d3cd0767 (diff)
downloadopus-exp_bitstream2.tar.gz
Only enable new hybrid folding behaviour with ENABLE_UPDATE_DRAFTexp_bitstream2
-rw-r--r--celt/bands.c10
1 files changed, 10 insertions, 0 deletions
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];