Commit ffa978f1 authored by Måns Rullgård's avatar Måns Rullgård

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
parent 71c465a1
...@@ -61,6 +61,14 @@ static av_always_inline int MULH(int a, int b){ ...@@ -61,6 +61,14 @@ static av_always_inline int MULH(int a, int b){
# define MUL64(a,b) ((int64_t)(a) * (int64_t)(b)) # define MUL64(a,b) ((int64_t)(a) * (int64_t)(b))
#endif #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 */ /* signed 16x16 -> 32 multiply add accumulate */
#ifndef MAC16 #ifndef MAC16
# define MAC16(rt, ra, rb) rt += (ra) * (rb) # define MAC16(rt, ra, rb) rt += (ra) * (rb)
...@@ -71,5 +79,9 @@ static av_always_inline int MULH(int a, int b){ ...@@ -71,5 +79,9 @@ static av_always_inline int MULH(int a, int b){
# define MUL16(ra, rb) ((ra) * (rb)) # define MUL16(ra, rb) ((ra) * (rb))
#endif #endif
#ifndef MLS16
# define MLS16(rt, ra, rb) ((rt) -= (ra) * (rb))
#endif
#endif /* FFMPEG_MATHOPS_H */ #endif /* FFMPEG_MATHOPS_H */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment