# HG changeset patch # User michael # Date 1074982962 0 # Node ID 43a856190778812cf46e4d2bba43cc23802fb8d9 # Parent b9309550c38f6d4c837fba293a74a7bdd74ca9cd optimization diff -r b9309550c38f -r 43a856190778 common.h --- a/common.h Fri Jan 23 12:30:31 2004 +0000 +++ b/common.h Sat Jan 24 22:22:42 2004 +0000 @@ -1012,23 +1012,31 @@ return n; } - /* median of 3 */ static inline int mid_pred(int a, int b, int c) { - int vmin, vmax; - vmax = vmin = a; - if (b < vmin) - vmin = b; - else - vmax = b; +#if 0 + int t= (a-b)&((a-b)>>31); + a-=t; + b+=t; + b-= (b-c)&((b-c)>>31); + b+= (a-b)&((a-b)>>31); - if (c < vmin) - vmin = c; - else if (c > vmax) - vmax = c; - - return a + b + c - vmin - vmax; + return b; +#else + if(a>b){ + if(c>b){ + if(c>a) b=a; + else b=c; + } + }else{ + if(b>c){ + if(c>a) b=c; + else b=a; + } + } + return b; +#endif } static inline int clip(int a, int amin, int amax)