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>2015-12-23 16:15:54 -0500
commitb92e148143c0a08488ed89496665900b8c7f976f (patch)
tree7146b50effdc66134a91d4c1b9207966f6c51a6e
parentd5f3879f64d0dc5e1254ee56bd7d606034d9c104 (diff)
downloadopus-b92e148143c0a08488ed89496665900b8c7f976f.tar.gz
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 7bdd1e49..e33b9906 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);
}