mpegaudiodec: replace assert() by check under #ifdef DEBUG
authorMichael Niedermayer <michaelni@gmx.at>
Tue, 7 Aug 2012 02:38:44 +0000 (04:38 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 7 Aug 2012 02:45:06 +0000 (04:45 +0200)
The assert can be false with some invalid inputs, the check is
too expensive to always do though for just a warning message.

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

index 25a3975..bcdbc5f 100644 (file)
@@ -263,7 +263,10 @@ static inline int l3_unscale(int value, int exponent)
     e  = table_4_3_exp  [4 * value + (exponent & 3)];
     m  = table_4_3_value[4 * value + (exponent & 3)];
     e -= exponent >> 2;
     e  = table_4_3_exp  [4 * value + (exponent & 3)];
     m  = table_4_3_value[4 * value + (exponent & 3)];
     e -= exponent >> 2;
-    assert(e >= 1);
+#ifdef DEBUG
+    if(e < 1)
+        av_log(0, AV_LOG_WARNING, "l3_unscale: e is %d\n", e);
+#endif
     if (e > 31)
         return 0;
     m = (m + (1 << (e - 1))) >> e;
     if (e > 31)
         return 0;
     m = (m + (1 << (e - 1))) >> e;