From: Kostya Shishkov Date: Sat, 14 Feb 2009 16:39:15 +0000 (+0000) Subject: Make hScale_altivec_real() trim its output like other implementations do X-Git-Tag: v0.5~513 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=43cbf8adbb3fefe30419bfafe1efb8d1e553cba8;p=platform%2Fupstream%2Flibav.git Make hScale_altivec_real() trim its output like other implementations do Originally committed as revision 28556 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale --- diff --git a/libswscale/swscale_altivec_template.c b/libswscale/swscale_altivec_template.c index 2111cec41..a008b966e 100644 --- a/libswscale/swscale_altivec_template.c +++ b/libswscale/swscale_altivec_template.c @@ -220,7 +220,7 @@ static inline void hScale_altivec_real(int16_t *dst, int dstW, uint8_t *src, int for (j=0; j>7, 0, (1<<15)-1); + dst[i] = FFMIN(val>>7, (1<<15)-1); } } else @@ -259,7 +259,7 @@ static inline void hScale_altivec_real(int16_t *dst, int dstW, uint8_t *src, int val_vEven = vec_mule(src_v, filter_v); val_s = vec_sums(val_vEven, vzero); vec_st(val_s, 0, tempo); - dst[i] = av_clip(tempo[3]>>7, 0, (1<<15)-1); + dst[i] = FFMIN(tempo[3]>>7, (1<<15)-1); } } break; @@ -286,7 +286,7 @@ static inline void hScale_altivec_real(int16_t *dst, int dstW, uint8_t *src, int val_v = vec_msums(src_v, filter_v, (vector signed int)vzero); val_s = vec_sums(val_v, vzero); vec_st(val_s, 0, tempo); - dst[i] = av_clip(tempo[3]>>7, 0, (1<<15)-1); + dst[i] = FFMIN(tempo[3]>>7, (1<<15)-1); } } break; @@ -315,7 +315,7 @@ static inline void hScale_altivec_real(int16_t *dst, int dstW, uint8_t *src, int vector signed int val_s = vec_sums(val_v, vzero); vec_st(val_s, 0, tempo); - dst[i] = av_clip(tempo[3]>>7, 0, (1<<15)-1); + dst[i] = FFMIN(tempo[3]>>7, (1<<15)-1); } } break; @@ -377,7 +377,7 @@ static inline void hScale_altivec_real(int16_t *dst, int dstW, uint8_t *src, int val_s = vec_sums(val_v, vzero); vec_st(val_s, 0, tempo); - dst[i] = av_clip(tempo[3]>>7, 0, (1<<15)-1); + dst[i] = FFMIN(tempo[3]>>7, (1<<15)-1); } }