Mercurial > libavcodec.hg
changeset 1756:43a856190778 libavcodec
optimization
author | michael |
---|---|
date | Sat, 24 Jan 2004 22:22:42 +0000 |
parents | b9309550c38f |
children | 3906ddbaffec |
files | common.h |
diffstat | 1 files changed, 21 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- 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)