Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.xiph.org/xiph/opus.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Marc Valin <jmvalin@jmvalin.ca>2016-06-06 20:43:13 +0300
committerJean-Marc Valin <jmvalin@jmvalin.ca>2016-06-08 09:07:48 +0300
commitf69eb3bd3454b0871a67d03d0e1b17c26805f955 (patch)
tree390d4a2610f2d19b50b32edfd3cf3db1f0ab70c8
parenta55d30c32f86c8ac7ba3222f3c6bdd7543c7d600 (diff)
Use SPREAD_AGGRESSIVE on non-transient hybrid frames
-rw-r--r--celt/celt_encoder.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/celt/celt_encoder.c b/celt/celt_encoder.c
index db41b390..85b31996 100644
--- a/celt/celt_encoder.c
+++ b/celt/celt_encoder.c
@@ -1800,7 +1800,15 @@ int celt_encode_with_ec(CELTEncoder * OPUS_RESTRICT st, const opus_val16 * pcm,
{
st->tapset_decision = 0;
st->spread_decision = SPREAD_NORMAL;
- } else if (shortBlocks || st->complexity < 3 || nbAvailableBytes < 10*C || hybrid)
+ } else if (hybrid)
+ {
+ if (st->complexity == 0)
+ st->spread_decision = SPREAD_NONE;
+ else if (isTransient)
+ st->spread_decision = SPREAD_NORMAL;
+ else
+ st->spread_decision = SPREAD_AGGRESSIVE;
+ } else if (shortBlocks || st->complexity < 3 || nbAvailableBytes < 10*C)
{
if (st->complexity == 0)
st->spread_decision = SPREAD_NONE;