Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/xiph/opus.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/celt
diff options
context:
space:
mode:
authorJean-Marc Valin <jmvalin@jmvalin.ca>2012-12-02 07:00:53 +0400
committerJean-Marc Valin <jmvalin@jmvalin.ca>2012-12-02 07:01:09 +0400
commit027a202151ecddadfea7c772060fa1cd4fd3fbff (patch)
treeeeb14c08d7b69f1296fc1948f62536c07aaf8ec2 /celt
parentcacb5661b36ed8d7497a32e611fa43df916e3426 (diff)
More comments in the PLC
Diffstat (limited to 'celt')
-rw-r--r--celt/celt_decoder.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/celt/celt_decoder.c b/celt/celt_decoder.c
index 78d5f214..79e4df71 100644
--- a/celt/celt_decoder.c
+++ b/celt/celt_decoder.c
@@ -507,11 +507,14 @@ static void celt_decode_lost(CELTDecoder * OPUS_RESTRICT st, opus_val16 * OPUS_R
attenuation = MULT16_16_Q15(attenuation, decay);
}
e[i] = SHL32(EXTEND32(MULT16_16_Q15(attenuation, exc[offset+i])), SIG_SHIFT);
+ /* Compute the energy of the previously decoded signal whose
+ excitation we're copying */
tmp = ROUND16(out_mem[c][-N+offset+i],SIG_SHIFT);
S1 += SHR32(MULT16_16(tmp,tmp),8);
}
- /* Last samples correctly decoded so we can have a continuous signal */
+ /* Copy the last decoded samples (prior to the overlap region) to
+ synthesis filter memory so we can have a continuous signal. */
for (i=0;i<LPC_ORDER;i++)
mem[i] = ROUND16(out_mem[c][MAX_PERIOD-N-1-i], SIG_SHIFT);
/* Apply the fading if not the first loss */