From 0247d34d6ad5dfebc65c6de1d9f5a23981f0f40b Mon Sep 17 00:00:00 2001
From: Jean-Marc Valin <jmvalin@jmvalin.ca>
Date: Sat, 5 Dec 2015 14:31:54 -0500
Subject: [PATCH] Quality: Forces trim to 5 on hybrid mode

This saves bits and makes more sense since alloc_trim_analysis()
mostly looks at the lower bands that are coded with SILK
---
 celt/celt_encoder.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/celt/celt_encoder.c b/celt/celt_encoder.c
index 1c6128a2e..b2ad8fc0b 100644
--- a/celt/celt_encoder.c
+++ b/celt/celt_encoder.c
@@ -1886,12 +1886,15 @@ int celt_encode_with_ec(CELTEncoder * OPUS_RESTRICT st, const opus_val16 * pcm,
    alloc_trim = 5;
    if (tell+(6<<BITRES) <= total_bits - total_boost)
    {
-      if (st->lfe)
+      if (start > 0 || st->lfe)
+      {
+         st->stereo_saving = 0;
          alloc_trim = 5;
-      else
+      } else {
          alloc_trim = alloc_trim_analysis(mode, X, bandLogE,
             end, LM, C, N, &st->analysis, &st->stereo_saving, tf_estimate,
             st->intensity, surround_trim, st->arch);
+      }
       ec_enc_icdf(enc, alloc_trim, trim_icdf, 7);
       tell = ec_tell_frac(enc);
    }
-- 
GitLab