summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Marc Valin <jmvalin@jmvalin.ca>2015-12-05 14:31:54 -0500
committerJean-Marc Valin <jmvalin@jmvalin.ca>2016-06-29 15:21:31 -0400
commit90cccf41ed269a50bd44b79a2b488a1ce01fea2e (patch)
tree4dff8cdbd66e9c7b86b14974e8df68f4d334aac8
parent3240e7d98c6fce6e22ab59da69f81bded909e897 (diff)
downloadopus-90cccf41ed269a50bd44b79a2b488a1ce01fea2e.tar.gz
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
-rw-r--r--celt/celt_encoder.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/celt/celt_encoder.c b/celt/celt_encoder.c
index 1c6128a2..b2ad8fc0 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);
}