Files
AsminVoicechat/source/decompiled/de/maxhenkel/voicechat/concentus/SumSqrShift.java
T
asminme bbccd4a815
Build AsminVoicechat / prepare-release (push) Successful in 14s
Build AsminVoicechat / build-and-test (17) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (18) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (19) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (20) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (21) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (22) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (23) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (24) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (25) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (26) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (27-ea) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (16) (push) Canceled after 38s
first commit
2026-10-24 15:18:03 +02:00

82 lines
2.7 KiB
Java

/*
* Decompiled with CFR 0.152.
*/
package de.maxhenkel.voicechat.concentus;
import de.maxhenkel.voicechat.concentus.BoxedValueInt;
import de.maxhenkel.voicechat.concentus.Inlines;
class SumSqrShift {
SumSqrShift() {
}
static void silk_sum_sqr_shift(BoxedValueInt energy, BoxedValueInt shift, short[] x, int x_ptr, int len) {
int nrg_tmp;
int i;
int nrg = 0;
int shft = 0;
--len;
for (i = 0; i < len; i += 2) {
nrg = Inlines.silk_SMLABB_ovflw(nrg, x[x_ptr + i], x[x_ptr + i]);
if ((nrg = Inlines.silk_SMLABB_ovflw(nrg, x[x_ptr + i + 1], x[x_ptr + i + 1])) >= 0) continue;
nrg = (int)Inlines.silk_RSHIFT_uint(nrg, 2);
shft = 2;
i += 2;
break;
}
while (i < len) {
nrg_tmp = Inlines.silk_SMULBB(x[x_ptr + i], x[x_ptr + i]);
if ((nrg = (int)Inlines.silk_ADD_RSHIFT_uint(nrg, nrg_tmp = Inlines.silk_SMLABB_ovflw(nrg_tmp, x[x_ptr + i + 1], x[x_ptr + i + 1]), shft)) < 0) {
nrg = (int)Inlines.silk_RSHIFT_uint(nrg, 2);
shft += 2;
}
i += 2;
}
if (i == len) {
nrg_tmp = Inlines.silk_SMULBB(x[x_ptr + i], x[x_ptr + i]);
nrg = (int)Inlines.silk_ADD_RSHIFT_uint(nrg, nrg_tmp, shft);
}
if ((nrg & 0xC0000000) != 0) {
nrg = (int)Inlines.silk_RSHIFT_uint(nrg, 2);
shft += 2;
}
shift.Val = shft;
energy.Val = nrg;
}
static void silk_sum_sqr_shift(BoxedValueInt energy, BoxedValueInt shift, short[] x, int len) {
int nrg_tmp;
int i;
int nrg = 0;
int shft = 0;
--len;
for (i = 0; i < len; i += 2) {
nrg = Inlines.silk_SMLABB_ovflw(nrg, x[i], x[i]);
if ((nrg = Inlines.silk_SMLABB_ovflw(nrg, x[i + 1], x[i + 1])) >= 0) continue;
nrg = (int)Inlines.silk_RSHIFT_uint(nrg, 2);
shft = 2;
i += 2;
break;
}
while (i < len) {
nrg_tmp = Inlines.silk_SMULBB(x[i], x[i]);
if ((nrg = (int)Inlines.silk_ADD_RSHIFT_uint(nrg, nrg_tmp = Inlines.silk_SMLABB_ovflw(nrg_tmp, x[i + 1], x[i + 1]), shft)) < 0) {
nrg = (int)Inlines.silk_RSHIFT_uint(nrg, 2);
shft += 2;
}
i += 2;
}
if (i == len) {
nrg_tmp = Inlines.silk_SMULBB(x[i], x[i]);
nrg = (int)Inlines.silk_ADD_RSHIFT_uint(nrg, nrg_tmp, shft);
}
if ((nrg & 0xC0000000) != 0) {
nrg = (int)Inlines.silk_RSHIFT_uint(nrg, 2);
shft += 2;
}
shift.Val = shft;
energy.Val = nrg;
}
}