summaryrefslogtreecommitdiff
path: root/libavcodec/mpegaudio.h
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2017-02-20 13:42:33 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2017-02-20 17:14:54 +0100
commit15ccaa344c4f645ae791aafecdef3d886e196127 (patch)
treecce386ede739cc96e0c5f9109cb8ad4af8e6f3a8 /libavcodec/mpegaudio.h
parent01d196a67dc55eb01cf3e06d6338c5d096a29b1c (diff)
avcodec/mpegaudiodec: Eliminate many undefined operations
Fixes: 625/clusterfuzz-testcase-4574924406521856 Fixes: 626/clusterfuzz-testcase-4738718621499392 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec/mpegaudio.h')
-rw-r--r--libavcodec/mpegaudio.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/libavcodec/mpegaudio.h b/libavcodec/mpegaudio.h
index 1591a170d7..fcded7ae3e 100644
--- a/libavcodec/mpegaudio.h
+++ b/libavcodec/mpegaudio.h
@@ -31,6 +31,7 @@
#endif
#include <stdint.h>
+#include "libavutil/internal.h"
/* max frame size, in samples */
#define MPA_FRAME_SIZE 1152
@@ -58,16 +59,27 @@
#define FIX(a) ((int)((a) * FRAC_ONE))
+#ifdef CHECKED
+#define SUINT int
+#define SUINT32 int32_t
+#else
+#define SUINT unsigned
+#define SUINT32 uint32_t
+#endif
+
#if USE_FLOATS
# define INTFLOAT float
+# define SUINTFLOAT float
typedef float MPA_INT;
typedef float OUT_INT;
#elif FRAC_BITS <= 15
# define INTFLOAT int
+# define SUINTFLOAT SUINT
typedef int16_t MPA_INT;
typedef int16_t OUT_INT;
#else
# define INTFLOAT int
+# define SUINTFLOAT SUINT
typedef int32_t MPA_INT;
typedef int16_t OUT_INT;
#endif