Browse Source

alac: reject rice_limit 0 if compression is used

If rice_limit is 0, k can be 0 in decode_scalar, which calls show_bits(gb, k).

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.7
Andreas Cadhalpun Michael Niedermayer 10 years ago
parent
commit
4b657a1b1e
1 changed files with 5 additions and 0 deletions
  1. +5
    -0
      libavcodec/alac.c

+ 5
- 0
libavcodec/alac.c View File

@@ -316,6 +316,11 @@ static int decode_element(AVCodecContext *avctx, AVFrame *frame, int ch_index,
int lpc_quant[2];
int rice_history_mult[2];

if (!alac->rice_limit) {
avpriv_request_sample(alac->avctx, "Compression with rice limit 0");
return AVERROR(ENOSYS);
}

decorr_shift = get_bits(&alac->gb, 8);
decorr_left_weight = get_bits(&alac->gb, 8);



Loading…
Cancel
Save