From 20da77449d4427a7152b80e4f9acce6a8c93ee7d Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sat, 17 Feb 2007 13:28:44 +0000 Subject: [PATCH] negative stride and h_size-=8 fix Originally committed as revision 22247 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale --- libswscale/yuv2rgb_template.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libswscale/yuv2rgb_template.c b/libswscale/yuv2rgb_template.c index 615f083a22..28ee24add2 100644 --- a/libswscale/yuv2rgb_template.c +++ b/libswscale/yuv2rgb_template.c @@ -133,7 +133,7 @@ static inline int RENAME(yuv420_rgb16)(SwsContext *c, uint8_t* src[], int srcStr } h_size= (c->dstW+7)&~7; - if(h_size*2 > dstStride[0]) h_size-=8; + if(h_size*2 > FFABS(dstStride[0])) h_size-=8; __asm__ __volatile__ ("pxor %mm4, %mm4;" /* zero mm4 */ ); //printf("%X %X %X %X %X %X %X %X %X %X\n", (int)&c->redDither, (int)&b5Dither, (int)src[0], (int)src[1], (int)src[2], (int)dst[0], @@ -228,7 +228,7 @@ static inline int RENAME(yuv420_rgb15)(SwsContext *c, uint8_t* src[], int srcStr } h_size= (c->dstW+7)&~7; - if(h_size*2 > dstStride[0]) h_size-=8; + if(h_size*2 > FFABS(dstStride[0])) h_size-=8; __asm__ __volatile__ ("pxor %mm4, %mm4;" /* zero mm4 */ ); //printf("%X %X %X %X %X %X %X %X %X %X\n", (int)&c->redDither, (int)&b5Dither, (int)src[0], (int)src[1], (int)src[2], (int)dst[0], @@ -317,7 +317,7 @@ static inline int RENAME(yuv420_rgb24)(SwsContext *c, uint8_t* src[], int srcStr } h_size= (c->dstW+7)&~7; - if(h_size*3 > dstStride[0]) h_size-=8; + if(h_size*3 > FFABS(dstStride[0])) h_size-=8; __asm__ __volatile__ ("pxor %mm4, %mm4;" /* zero mm4 */ ); @@ -463,7 +463,7 @@ static inline int RENAME(yuv420_rgb32)(SwsContext *c, uint8_t* src[], int srcStr } h_size= (c->dstW+7)&~7; - if(h_size*4 > dstStride[0]) h_size-=8; + if(h_size*4 > FFABS(dstStride[0])) h_size-=8; __asm__ __volatile__ ("pxor %mm4, %mm4;" /* zero mm4 */ );