avcodec/vc1_mc: move median4() to mathops.h
authorzhaoxiu.zeng <zhaoxiu.zeng@gmail.com>
Sat, 14 Feb 2015 15:14:47 +0000 (23:14 +0800)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 16 Feb 2015 10:41:00 +0000 (11:41 +0100)
Needed for architecture specific optimizations

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/mathops.h
libavcodec/vc1_mc.c

index 87fca0c..87d110b 100644 (file)
@@ -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)
 {
index 17800cb..64f8854 100644 (file)
@@ -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)