shithub: opus

Download patch

ref: bbe4dcc44373ec2842225022ebbda72bb40e4425
parent: 0886828eed7a293f556ad45a70d8d7ab04325c9d
author: Jean-Marc Valin <jmvalin@amazon.com>
date: Wed Aug 9 14:25:16 EDT 2023

Don't allocate DRED bits if we don't have enough

--- a/src/opus_encoder.c
+++ b/src/opus_encoder.c
@@ -570,6 +570,9 @@
    bitrate_offset = st->silk_mode.useInBandFEC ? 18000 : 12000;
    target_dred_bitrate = IMAX(0, (int)(dred_frac*(bitrate_bps-bitrate_offset)));
    dred_bitrate = IMIN(target_dred_bitrate, max_dred_bitrate);
+   /* If we can't afford enough bits, don't bother with DRED at all. */
+   if (dred_bitrate <= (DRED_MIN_BYTES+DRED_EXPERIMENTAL_BYTES)*8*st->Fs/frame_size)
+      dred_bitrate = 0;
    return dred_bitrate;
 }
 #endif
--