aboutsummaryrefslogtreecommitdiff
path: root/libavcodec/mathops.h
diff options
context:
space:
mode:
Diffstat (limited to 'libavcodec/mathops.h')
-rw-r--r--libavcodec/mathops.h13
1 files changed, 7 insertions, 6 deletions
diff --git a/libavcodec/mathops.h b/libavcodec/mathops.h
index 29b3cd0acb..0477cfdce3 100644
--- a/libavcodec/mathops.h
+++ b/libavcodec/mathops.h
@@ -23,6 +23,7 @@
#define AVCODEC_MATHOPS_H
#include "libavutil/common.h"
+#include "config.h"
#if ARCH_ARM
# include "arm/mathops.h"
@@ -40,13 +41,17 @@
/* generic implementation */
+#ifndef MUL64
+# define MUL64(a,b) ((int64_t)(a) * (int64_t)(b))
+#endif
+
#ifndef MULL
-# define MULL(a,b,s) (((int64_t)(a) * (int64_t)(b)) >> (s))
+# define MULL(a,b,s) (MUL64(a, b) >> (s))
#endif
#ifndef MULH
static av_always_inline int MULH(int a, int b){
- return ((int64_t)(a) * (int64_t)(b))>>32;
+ return MUL64(a, b) >> 32;
}
#endif
@@ -56,10 +61,6 @@ static av_always_inline unsigned UMULH(unsigned a, unsigned b){
}
#endif
-#ifndef MUL64
-# define MUL64(a,b) ((int64_t)(a) * (int64_t)(b))
-#endif
-
#ifndef MAC64
# define MAC64(d, a, b) ((d) += MUL64(a, b))
#endif