From 36e6b37fa429dd77e4e5bf8a886dc3e66d8772aa Mon Sep 17 00:00:00 2001 From: Hector Martin Date: Wed, 3 Jun 2020 20:10:58 +0900 Subject: [PATCH] opus: fix equivalent bitrate calculation for <20ms frame sizes --- libs/opus/celt/celt_encoder.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/opus/celt/celt_encoder.c b/libs/opus/celt/celt_encoder.c index 44cb0850..d6f8afc2 100644 --- a/libs/opus/celt/celt_encoder.c +++ b/libs/opus/celt/celt_encoder.c @@ -1571,7 +1571,7 @@ int celt_encode_with_ec(CELTEncoder * OPUS_RESTRICT st, const opus_val16 * pcm, (tmp+4*mode->Fs)/(8*mode->Fs)-!!st->signalling)); effectiveBytes = nbCompressedBytes - nbFilledBytes; } - equiv_rate = ((opus_int32)nbCompressedBytes*8*50 >> (3-LM)) - (40*C+20)*((400>>LM) - 50); + equiv_rate = ((opus_int32)nbCompressedBytes*8*50 << (3-LM)) - (40*C+20)*((400>>LM) - 50); if (st->bitrate != OPUS_BITRATE_MAX) equiv_rate = IMIN(equiv_rate, st->bitrate - (40*C+20)*((400>>LM) - 50));