summaryrefslogtreecommitdiff
path: root/lib/rbcodec/codecs/libopus/celt/quant_bands.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rbcodec/codecs/libopus/celt/quant_bands.c')
-rw-r--r--lib/rbcodec/codecs/libopus/celt/quant_bands.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/rbcodec/codecs/libopus/celt/quant_bands.c b/lib/rbcodec/codecs/libopus/celt/quant_bands.c
index 79685e17cb..ac6952c266 100644
--- a/lib/rbcodec/codecs/libopus/celt/quant_bands.c
+++ b/lib/rbcodec/codecs/libopus/celt/quant_bands.c
@@ -312,6 +312,7 @@ void quant_coarse_energy(const CELTMode *m, int start, int end, int effEnd,
312 opus_int32 tell_intra; 312 opus_int32 tell_intra;
313 opus_uint32 nstart_bytes; 313 opus_uint32 nstart_bytes;
314 opus_uint32 nintra_bytes; 314 opus_uint32 nintra_bytes;
315 opus_uint32 save_bytes;
315 int badness2; 316 int badness2;
316 VARDECL(unsigned char, intra_bits); 317 VARDECL(unsigned char, intra_bits);
317 318
@@ -322,7 +323,10 @@ void quant_coarse_energy(const CELTMode *m, int start, int end, int effEnd,
322 nstart_bytes = ec_range_bytes(&enc_start_state); 323 nstart_bytes = ec_range_bytes(&enc_start_state);
323 nintra_bytes = ec_range_bytes(&enc_intra_state); 324 nintra_bytes = ec_range_bytes(&enc_intra_state);
324 intra_buf = ec_get_buffer(&enc_intra_state) + nstart_bytes; 325 intra_buf = ec_get_buffer(&enc_intra_state) + nstart_bytes;
325 ALLOC(intra_bits, nintra_bytes-nstart_bytes, unsigned char); 326 save_bytes = nintra_bytes-nstart_bytes;
327 if (save_bytes == 0)
328 save_bytes = ALLOC_NONE;
329 ALLOC(intra_bits, save_bytes, unsigned char);
326 /* Copy bits from intra bit-stream */ 330 /* Copy bits from intra bit-stream */
327 OPUS_COPY(intra_bits, intra_buf, nintra_bytes - nstart_bytes); 331 OPUS_COPY(intra_bits, intra_buf, nintra_bytes - nstart_bytes);
328 332