# HG changeset patch # User mru # Date 1215951777 0 # Node ID 84dd52687931785117a96b425053a91e4acc9eb3 # Parent e100cf54e11e0d8d0f4376988ef4e745c89a0352 mathops: add MAC64, MLS64, and MLS16 MAC64: 64 += 32 x 32 (bits) MLS64: 64 -= 32 x 32 MLS16: 32 -= 16 x 16 diff -r e100cf54e11e -r 84dd52687931 mathops.h --- a/mathops.h Sun Jul 13 00:07:43 2008 +0000 +++ b/mathops.h Sun Jul 13 12:22:57 2008 +0000 @@ -61,6 +61,14 @@ # 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 @@ # define MUL16(ra, rb) ((ra) * (rb)) #endif +#ifndef MLS16 +# define MLS16(rt, ra, rb) ((rt) -= (ra) * (rb)) +#endif + #endif /* FFMPEG_MATHOPS_H */