ref: f705e9b5bd0b4c60b9934962aef7af3c0865272f
parent: 8229f07d3bfbef53f1d89cfd371b4deed6f92227
author: Jean-Marc Valin <jmvalin@jmvalin.ca>
date: Mon Jun 6 09:43:13 EDT 2016
Use SPREAD_AGGRESSIVE on non-transient hybrid frames
--- a/celt/celt_encoder.c
+++ b/celt/celt_encoder.c
@@ -1800,7 +1800,15 @@
{
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;