optimization

Originally committed as revision 2720 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Michael Niedermayer 2004-01-24 22:22:42 +00:00
parent 83f8c0c3c8
commit 7a62e94a26
1 changed files with 21 additions and 13 deletions

View File

@ -1012,23 +1012,31 @@ static inline int av_log2_16bit(unsigned int v)
return n; return n;
} }
/* median of 3 */ /* median of 3 */
static inline int mid_pred(int a, int b, int c) static inline int mid_pred(int a, int b, int c)
{ {
int vmin, vmax; #if 0
vmax = vmin = a; int t= (a-b)&((a-b)>>31);
if (b < vmin) a-=t;
vmin = b; b+=t;
else b-= (b-c)&((b-c)>>31);
vmax = b; b+= (a-b)&((a-b)>>31);
if (c < vmin) return b;
vmin = c; #else
else if (c > vmax) if(a>b){
vmax = c; if(c>b){
if(c>a) b=a;
return a + b + c - vmin - vmax; 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) static inline int clip(int a, int amin, int amax)