mirror of https://git.ffmpeg.org/ffmpeg.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
This commit is contained in:
parent
12794f73eb
commit
43cbf8adbb
|
@ -220,7 +220,7 @@ static inline void hScale_altivec_real(int16_t *dst, int dstW, uint8_t *src, int
|
|||
for (j=0; j<filterSize; j++) {
|
||||
val += ((int)src[srcPos + j])*filter[filterSize*i + j];
|
||||
}
|
||||
dst[i] = av_clip(val>>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);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue