mirror of
https://github.com/xiph/opus.git
synced 2025-06-02 16:47:42 +00:00
Don't call denormalise_bands() on silence
This commit is contained in:
parent
ce15e65319
commit
3afc6ffff0
2 changed files with 18 additions and 19 deletions
|
@ -916,19 +916,18 @@ int celt_decode_with_ec(CELTDecoder * OPUS_RESTRICT st, const unsigned char *dat
|
|||
ALLOC(bandE, nbEBands*C, celt_ener);
|
||||
|
||||
log2Amp(mode, st->start, st->end, bandE, oldBandE, C);
|
||||
ALLOC(freq, IMAX(CC,C)*N, celt_sig); /**< Interleaved signal MDCTs */
|
||||
|
||||
if (silence)
|
||||
{
|
||||
for (i=0;i<C*nbEBands;i++)
|
||||
{
|
||||
bandE[i] = 0;
|
||||
oldBandE[i] = -QCONST16(28.f,DB_SHIFT);
|
||||
}
|
||||
for (i=0;i<C*N;i++)
|
||||
freq[i] = 0;
|
||||
} else {
|
||||
/* Synthesis */
|
||||
denormalise_bands(mode, X, freq, bandE, st->start, effEnd, C, M);
|
||||
}
|
||||
ALLOC(freq, IMAX(CC,C)*N, celt_sig); /**< Interleaved signal MDCTs */
|
||||
/* Synthesis */
|
||||
denormalise_bands(mode, X, freq, bandE, st->start, effEnd, C, M);
|
||||
|
||||
c=0; do {
|
||||
OPUS_MOVE(decode_mem[c], decode_mem[c]+N, DECODE_BUFFER_SIZE-N+overlap/2);
|
||||
} while (++c<CC);
|
||||
|
|
|
@ -1887,24 +1887,24 @@ int celt_encode_with_ec(CELTEncoder * OPUS_RESTRICT st, const opus_val16 * pcm,
|
|||
{
|
||||
celt_sig *out_mem[2];
|
||||
|
||||
log2Amp(mode, st->start, st->end, bandE, oldBandE, C);
|
||||
if (silence)
|
||||
{
|
||||
for (i=0;i<C*nbEBands;i++)
|
||||
bandE[i] = 0;
|
||||
}
|
||||
|
||||
#ifdef MEASURE_NORM_MSE
|
||||
measure_norm_mse(mode, X, X0, bandE, bandE0, M, N, C);
|
||||
#endif
|
||||
if (anti_collapse_on)
|
||||
{
|
||||
anti_collapse(mode, X, collapse_masks, LM, C, N,
|
||||
st->start, st->end, oldBandE, oldLogE, oldLogE2, pulses, st->rng);
|
||||
}
|
||||
|
||||
/* Synthesis */
|
||||
denormalise_bands(mode, X, freq, bandE, st->start, effEnd, C, M);
|
||||
log2Amp(mode, st->start, st->end, bandE, oldBandE, C);
|
||||
if (silence)
|
||||
{
|
||||
for (i=0;i<C*N;i++)
|
||||
freq[i] = 0;
|
||||
} else {
|
||||
#ifdef MEASURE_NORM_MSE
|
||||
measure_norm_mse(mode, X, X0, bandE, bandE0, M, N, C);
|
||||
#endif
|
||||
/* Synthesis */
|
||||
denormalise_bands(mode, X, freq, bandE, st->start, effEnd, C, M);
|
||||
}
|
||||
|
||||
c=0; do {
|
||||
OPUS_MOVE(st->syn_mem[c], st->syn_mem[c]+N, 2*MAX_PERIOD-N+overlap/2);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue