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-29 22:21:31 +0300
commit2c21ce861a5cc98734ed4c069a7869d0649dd949 (patch)
tree8096593efcfd4a40d26017080b3cca77291f4a26
parent764022dc4ffc6cb68d513f702f5b1aef912a5adc (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;