shithub: opus

Download patch

ref: 9c23f5cdca89b9ef7af158d19f436360bb404837
parent: 5484a280634011425dbdb5d5d676420a7aaaeaf1
author: Jean-Marc Valin <[email protected]>
date: Mon Oct 28 10:15:18 EDT 2013

Makes stereo savings still less aggressive

Caps the savings at 1 bit per (coded) sample. This doesn't really increase
the bitrate and fixes some issues, e.g. with IgorC's "twilight" sample.

--- a/celt/celt_encoder.c
+++ b/celt/celt_encoder.c
@@ -1156,6 +1156,7 @@
       coded_stereo_dof = (eBands[coded_stereo_bands]<<LM)-coded_stereo_bands;
       /* Maximum fraction of the bits we can save if the signal is mono. */
       max_frac = DIV32_16(MULT16_16(QCONST16(0.8f, 15), coded_stereo_dof), coded_bins);
+      stereo_saving = MIN16(stereo_saving, QCONST16(1.f, 8));
       /*printf("%d %d %d ", coded_stereo_dof, coded_bins, tot_boost);*/
       target -= (opus_int32)MIN32(MULT16_32_Q15(max_frac,target),
                       SHR32(MULT16_16(stereo_saving-QCONST16(0.1f,8),(coded_stereo_dof<<BITRES)),8));