diff --git a/celt/celt_encoder.c b/celt/celt_encoder.c index fd811360f31886ad31913d156667a099ac37714a..1b5426a7934edca29d86f4be00eeb38e51bb74b4 100644 --- a/celt/celt_encoder.c +++ b/celt/celt_encoder.c @@ -1298,16 +1298,18 @@ int celt_encode_with_ec(CELTEncoder * OPUS_RESTRICT st, const opus_val16 * pcm, isTransient = 0; shortBlocks = 0; + if (st->complexity >= 1) + { + isTransient = transient_analysis(in, N+st->overlap, CC, + &tf_estimate, &tf_chan); + } if (LM>0 && ec_tell(enc)+3<=total_bits) { - if (st->complexity >= 1) - { - isTransient = transient_analysis(in, N+st->overlap, CC, - &tf_estimate, &tf_chan); - if (isTransient) - shortBlocks = M; - } + if (isTransient) + shortBlocks = M; ec_enc_bit_logp(enc, isTransient, 3); + } else { + isTransient = 0; } ALLOC(freq, CC*N, celt_sig); /**< Interleaved signal MDCTs */