summaryrefslogtreecommitdiff
path: root/libavcodec/mathops.h
diff options
context:
space:
mode:
authorMåns Rullgård <mans@mansr.com>2008-07-13 12:22:57 +0000
committerMåns Rullgård <mans@mansr.com>2008-07-13 12:22:57 +0000
commitffa978f15779e304d442e335b0d0b5e53d864aef (patch)
tree9b51bdcd360349e4d70f442723db152c0b7b1c25 /libavcodec/mathops.h
parent71c465a151d812c6b57168c11459502e3d6d5773 (diff)
mathops: add MAC64, MLS64, and MLS16
MAC64: 64 += 32 x 32 (bits) MLS64: 64 -= 32 x 32 MLS16: 32 -= 16 x 16 Originally committed as revision 14198 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/mathops.h')
-rw-r--r--libavcodec/mathops.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/libavcodec/mathops.h b/libavcodec/mathops.h
index 71a026f99b..3b9bfeb09f 100644
--- a/libavcodec/mathops.h
+++ b/libavcodec/mathops.h
@@ -61,6 +61,14 @@ static av_always_inline int MULH(int a, int b){
# define MUL64(a,b) ((int64_t)(a) * (int64_t)(b))
#endif
+#ifndef MAC64
+# define MAC64(d, a, b) ((d) += MUL64(a, b))
+#endif
+
+#ifndef MLS64
+# define MLS64(d, a, b) ((d) -= MUL64(a, b))
+#endif
+
/* signed 16x16 -> 32 multiply add accumulate */
#ifndef MAC16
# define MAC16(rt, ra, rb) rt += (ra) * (rb)
@@ -71,5 +79,9 @@ static av_always_inline int MULH(int a, int b){
# define MUL16(ra, rb) ((ra) * (rb))
#endif
+#ifndef MLS16
+# define MLS16(rt, ra, rb) ((rt) -= (ra) * (rb))
+#endif
+
#endif /* FFMPEG_MATHOPS_H */