diff options
author | Jean-Marc Valin <jmvalin@jmvalin.ca> | 2016-06-08 22:19:03 +0300 |
---|---|---|
committer | Jean-Marc Valin <jmvalin@jmvalin.ca> | 2016-07-16 02:35:50 +0300 |
commit | 3817dba97f4b8da21f7e818719a5d849795d1db6 (patch) | |
tree | 273c1affe6ffb22f0d186b7d1b8977acd7a04a3c | |
parent | 22dc139e1964305a4e7ff24a0877301698b9122a (diff) |
Retuning the tf_analysis() lambda
Increasing the value at low rate seems to help a bit.
-rw-r--r-- | celt/celt_encoder.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/celt/celt_encoder.c b/celt/celt_encoder.c index 9be9de2f..1520a6ca 100644 --- a/celt/celt_encoder.c +++ b/celt/celt_encoder.c @@ -1758,15 +1758,7 @@ int celt_encode_with_ec(CELTEncoder * OPUS_RESTRICT st, const opus_val16 * pcm, if (effectiveBytes>=15*C && !hybrid && st->complexity>=2 && !st->lfe) { int lambda; - if (effectiveBytes<40) - lambda = 12; - else if (effectiveBytes<60) - lambda = 6; - else if (effectiveBytes<100) - lambda = 4; - else - lambda = 3; - lambda*=2; + lambda = IMAX(5, 1280/effectiveBytes + 2); tf_select = tf_analysis(mode, effEnd, isTransient, tf_res, lambda, X, N, LM, tf_estimate, tf_chan); for (i=effEnd;i<end;i++) tf_res[i] = tf_res[effEnd-1]; |