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>
Thu, 23 Apr 2015 14:51:46 +0000 (16:51 +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>
libavcodec/alsdec.c

index e34cf6e..75be55c 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);