Browse Source

ra144enc: zero the reflection coeffs if the filter is unstable

fixes use of uninitialized values if the filter is still unstable after using
the previous frame lpc coefficients.
tags/n0.10
Justin Ruggles 14 years ago
parent
commit
9a3f10695a
1 changed files with 4 additions and 1 deletions
  1. +4
    -1
      libavcodec/ra144enc.c

+ 4
- 1
libavcodec/ra144enc.c View File

@@ -477,7 +477,10 @@ static int ra144_encode_frame(AVCodecContext *avctx, uint8_t *frame,
* The filter is unstable: use the coefficients of the previous frame.
*/
ff_int_to_int16(block_coefs[NBLOCKS - 1], ractx->lpc_coef[1]);
ff_eval_refl(lpc_refl, block_coefs[NBLOCKS - 1], avctx);
if (ff_eval_refl(lpc_refl, block_coefs[NBLOCKS - 1], avctx)) {
/* the filter is still unstable. set reflection coeffs to zero. */
memset(lpc_refl, 0, sizeof(lpc_refl));
}
}
init_put_bits(&pb, frame, buf_size);
for (i = 0; i < LPC_ORDER; i++) {


Loading…
Cancel
Save