diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2002-02-07 03:39:30 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2002-02-07 03:39:30 +0000 |
commit | adeaecb9ae2bd3143bdbdc119b4b6d0cde916065 (patch) | |
tree | 888e48052bb95d2eec4feb8a038b9178b850e71a /postproc/swscale.c | |
parent | d8c2efac4b89a60a9f80ec3e5f38c0e2cf345c66 (diff) | |
download | ffmpeg-adeaecb9ae2bd3143bdbdc119b4b6d0cde916065.tar.gz |
fixing green line at right side bug (reported by Nick Kurshev <nickols_k@mail.ru>)
Originally committed as revision 4564 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
Diffstat (limited to 'postproc/swscale.c')
-rw-r--r-- | postproc/swscale.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/postproc/swscale.c b/postproc/swscale.c index 1bd237d91c..9f0e25b9bb 100644 --- a/postproc/swscale.c +++ b/postproc/swscale.c @@ -671,8 +671,8 @@ static inline void initFilter(int16_t **outFilter, int16_t **filterPos, int *out asm volatile("emms\n\t"::: "memory"); //FIXME this shouldnt be required but it IS (even for non mmx versions) #endif + // Note the +1 is for the MMXscaler which reads over the end *filterPos = (int16_t*)memalign(8, (dstW+1)*sizeof(int16_t)); - (*filterPos)[dstW]=0; // the MMX scaler will read over the end if(ABS(xInc - 0x10000) <10) // unscaled { @@ -963,6 +963,13 @@ static inline void initFilter(int16_t **outFilter, int16_t **filterPos, int *out (*outFilter)[i*(*outFilterSize) + j]= (int)(filter[i*filterSize + j]*scale); } } + + (*filterPos)[dstW]= (*filterPos)[dstW-1]; // the MMX scaler will read over the end + for(i=0; i<*outFilterSize; i++) + { + int j= dstW*(*outFilterSize); + (*outFilter)[j + i]= (*outFilter)[j + i - (*outFilterSize)]; + } free(filter); } |