diff options
author | zhaoxiu.zeng <zhaoxiu.zeng@gmail.com> | 2015-02-14 23:14:47 +0800 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2015-02-16 11:41:00 +0100 |
commit | 0f834155690aecc7400b77a968fea32200bfd5f0 (patch) | |
tree | d0800349de773885f44694e88a79c04b5c885999 | |
parent | 03adafb318e4746030d84f8b85047ab4958cff0f (diff) | |
download | ffmpeg-0f834155690aecc7400b77a968fea32200bfd5f0.tar.gz |
avcodec/vc1_mc: move median4() to mathops.h
Needed for architecture specific optimizations
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavcodec/mathops.h | 14 | ||||
-rw-r--r-- | libavcodec/vc1_mc.c | 11 |
2 files changed, 14 insertions, 11 deletions
diff --git a/libavcodec/mathops.h b/libavcodec/mathops.h index 87fca0cad1..87d110b457 100644 --- a/libavcodec/mathops.h +++ b/libavcodec/mathops.h @@ -121,6 +121,20 @@ static inline av_const int mid_pred(int a, int b, int c) } #endif +#ifndef median4 +#define median4 median4 +static inline av_const int median4(int a, int b, int c, int d) +{ + if (a < b) { + if (c < d) return (FFMIN(b, d) + FFMAX(a, c)) / 2; + else return (FFMIN(b, c) + FFMAX(a, d)) / 2; + } else { + if (c < d) return (FFMIN(a, d) + FFMAX(b, c)) / 2; + else return (FFMIN(a, c) + FFMAX(b, d)) / 2; + } +} +#endif + #ifndef sign_extend static inline av_const int sign_extend(int val, unsigned bits) { diff --git a/libavcodec/vc1_mc.c b/libavcodec/vc1_mc.c index 17800cb457..64f8854a9f 100644 --- a/libavcodec/vc1_mc.c +++ b/libavcodec/vc1_mc.c @@ -240,17 +240,6 @@ void ff_vc1_mc_1mv(VC1Context *v, int dir) } } -static inline int median4(int a, int b, int c, int d) -{ - if (a < b) { - if (c < d) return (FFMIN(b, d) + FFMAX(a, c)) / 2; - else return (FFMIN(b, c) + FFMAX(a, d)) / 2; - } else { - if (c < d) return (FFMIN(a, d) + FFMAX(b, c)) / 2; - else return (FFMIN(a, c) + FFMAX(b, d)) / 2; - } -} - /** Do motion compensation for 4-MV macroblock - luminance block */ void ff_vc1_mc_4mv_luma(VC1Context *v, int n, int dir, int avg) |