alsdec: only adapt order for positive max_order
authorAndreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Wed, 22 Apr 2015 14:03:41 +0000 (16:03 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Sat, 25 Apr 2015 13:06:55 +0000 (15:06 +0200)
For max_order = 0 the clipping range is invalid. (amin = 2, amax = 1)

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 58d605ee9b3277289278dc40e022311f8e083833)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/alsdec.c

index 9ee33bf..a55354b 100644 (file)
@@ -682,7 +682,7 @@ static int read_var_block_data(ALSDecContext *ctx, ALSBlockData *bd)
 
 
     if (!sconf->rlslms) {
-        if (sconf->adapt_order) {
+        if (sconf->adapt_order && sconf->max_order) {
             int opt_order_length = av_ceil_log2(av_clip((bd->block_length >> 3) - 1,
                                                 2, sconf->max_order + 1));
             *bd->opt_order       = get_bits(gb, opt_order_length);