Commit 5b9b51bc authored by Jean-Marc Valin's avatar Jean-Marc Valin
Browse files

Forced intra now overrides intra avoidance at low rate. Also, using the number

of bands as criterion for auto-intra disabling.
parent a20500db
......@@ -676,14 +676,12 @@ int celt_encode_float(CELTEncoder * restrict st, const celt_sig_t * pcm, celt_si
for (i=0;i<st->mode->nbEBands*C;i++)
bandLogE[i] = amp2Log(bandE[i]);
intra_ener = (st->force_intra || st->delayedIntra);
/* Don't use intra energy when we're operating at low bit-rate */
intra_ener = st->force_intra || (st->delayedIntra && nbCompressedBytes > st->mode->nbEBands);
if (shortBlocks || intra_decision(bandLogE, st->oldBandE, st->mode->nbEBands))
st->delayedIntra = 1;
else
st->delayedIntra = 0;
/* Don't use intra energy when we're operating at low bit-rate */
if (nbCompressedBytes < 20)
intra_ener = 0;
/* Pitch analysis: we do it early to save on the peak stack space */
/* Don't use pitch if there isn't enough data available yet,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment