ref: 1fd1d7dd49c34c7d64bf26f60782afc17dab6842
parent: a6d663c6ae089b0a9682c848f3ff7701b316526f
author: Jean-Marc Valin <[email protected]>
date: Thu Nov 8 12:22:07 EST 2012
Fixes a bug where transient frames would use previous spreading Also forces SPREAD_NORMAL in hybrid mode
--- a/celt/celt_encoder.c
+++ b/celt/celt_encoder.c
@@ -1282,10 +1282,12 @@
if (ec_tell(enc)+4<=total_bits)
{
- if (shortBlocks || st->complexity < 3 || nbAvailableBytes < 10*C)
+ if (shortBlocks || st->complexity < 3 || nbAvailableBytes < 10*C || st->start != 0)
{
if (st->complexity == 0)
st->spread_decision = SPREAD_NONE;
+ else
+ st->spread_decision = SPREAD_NORMAL;
} else {
if (st->analysis.valid)
{