From d7c885774e067a90d82fd198ab0ccd7b9feeae4e Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 25 Sep 2022 01:19:59 -0500 Subject: [PATCH] update brrUtils - again --- src/engine/brrUtils.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/engine/brrUtils.c b/src/engine/brrUtils.c index 0597e4509..761b3b0d7 100644 --- a/src/engine/brrUtils.c +++ b/src/engine/brrUtils.c @@ -102,8 +102,12 @@ long brrEncode(short* buf, unsigned char* out, long len, long loopStart) { #define DO_ONE_SAMPLE \ if (next&8) next|=0xfffffff0; \ \ - next<<=(buf[0]>>4); /* range */ \ - next>>=1; \ + if (buf[0]>=0xd0) { /* invalid shift */ \ + next=(next<0)?0xfffff800:0; \ + } else { \ + next<<=(buf[0]>>4); /* range */ \ + next>>=1; \ + } \ \ switch (control&0xc) { /* filter */ \ case 0: \