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-07-19 23:11:50 +0300
commitf705e9b5bd0b4c60b9934962aef7af3c0865272f (patch)
tree1b6421a6af2bdeace9c817ea8ccc7a147eecf4da
parent8229f07d3bfbef53f1d89cfd371b4deed6f92227 (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 29f67c94..9486bd16 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;