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>2016-07-26 20:22:31 +0300
committerJean-Marc Valin <jmvalin@jmvalin.ca>2016-07-26 20:22:59 +0300
commit33a98c97b50202ca074c13b8ad0ab9eb7a34cebf (patch)
treefb3964720de6c5e78815d67a6f475223b51064aa
parent4040d515a8f0e695534fb8936b5878c01a006887 (diff)
Using celt_inner_prod() instead
-rw-r--r--celt/bands.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/celt/bands.c b/celt/bands.c
index 5eb20f47..c2b2f4a6 100644
--- a/celt/bands.c
+++ b/celt/bands.c
@@ -1330,13 +1330,7 @@ static unsigned quant_band_stereo(struct band_ctx *ctx, celt_norm *X, celt_norm
return cm;
}
-static double celt_dist(opus_val16 *x, opus_val16 *y, int N)
-{
- double sum = 0;
- int i;
- for (i=0;i<N;i++) sum += (x[i]-y[i])*(double)(x[i]-y[i]);
- return sum;
-}
+
void quant_all_bands(int encode, const CELTMode *m, int start, int end,
celt_norm *X_, celt_norm *Y_, unsigned char *collapse_masks,
const celt_ener *bandE, int *pulses, int shortBlocks, int spread,
@@ -1517,7 +1511,7 @@ void quant_all_bands(int encode, const CELTMode *m, int start, int end,
x_cm = quant_band_stereo(&ctx, X, Y, N, b, B,
effective_lowband != -1 ? norm+effective_lowband : NULL, LM,
last?NULL:norm+M*eBands[i]-norm_offset, lowband_scratch, cm);
- dist0 = celt_dist(X_save, X, N) + celt_dist(Y_save, Y, N);
+ dist0 = celt_inner_prod(X_save, X, N, arch) + celt_inner_prod(Y_save, Y, N, arch);
/* Restore */
*ec = ec_save;
ctx = ctx_save;
@@ -1529,7 +1523,7 @@ void quant_all_bands(int encode, const CELTMode *m, int start, int end,
x_cm = quant_band_stereo(&ctx, X, Y, N, b, B,
effective_lowband != -1 ? norm+effective_lowband : NULL, LM,
last?NULL:norm+M*eBands[i]-norm_offset, lowband_scratch, cm);
- dist1 = celt_dist(X_save, X, N) + celt_dist(Y_save, Y, N);
+ dist1 = celt_inner_prod(X_save, X, N, arch) + celt_inner_prod(Y_save, Y, N, arch);
/* Restore */
*ec = ec_save;
ctx = ctx_save;
@@ -1537,7 +1531,7 @@ void quant_all_bands(int encode, const CELTMode *m, int start, int end,
OPUS_COPY(Y, Y_save, N);
OPUS_COPY(norm+effective_lowband, norm_save, N);
/* Encode with best choice. */
- ctx.theta_round = dist0 < dist1 ? -1 : 1;
+ ctx.theta_round = dist0 >= dist1 ? -1 : 1;
x_cm = quant_band_stereo(&ctx, X, Y, N, b, B,
effective_lowband != -1 ? norm+effective_lowband : NULL, LM,
last?NULL:norm+M*eBands[i]-norm_offset, lowband_scratch, cm);