Commit 78b9afa2 authored by michael's avatar michael

fixing green line at right side bug (reported by Nick Kurshev <nickols_k@mail.ru>)


git-svn-id: file:///var/local/repositories/mplayer/trunk/postproc@4564 b3059339-0415-0410-9bf9-f77b7e298cf2
parent e36645f0
...@@ -671,8 +671,8 @@ static inline void initFilter(int16_t **outFilter, int16_t **filterPos, int *out ...@@ -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) asm volatile("emms\n\t"::: "memory"); //FIXME this shouldnt be required but it IS (even for non mmx versions)
#endif #endif
// Note the +1 is for the MMXscaler which reads over the end
*filterPos = (int16_t*)memalign(8, (dstW+1)*sizeof(int16_t)); *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 if(ABS(xInc - 0x10000) <10) // unscaled
{ {
...@@ -963,6 +963,13 @@ static inline void initFilter(int16_t **outFilter, int16_t **filterPos, int *out ...@@ -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); (*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); free(filter);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment