# HG changeset patch # User michael # Date 1171718924 0 # Node ID 44c3544fd926b2915e639ffa25c15fe138afaabf # Parent 55aeb86425cbeea03ebb717ccead5f213c749196 negative stride and h_size-=8 fix diff -r 55aeb86425cb -r 44c3544fd926 libswscale/yuv2rgb_template.c --- a/libswscale/yuv2rgb_template.c Sat Feb 17 12:58:35 2007 +0000 +++ b/libswscale/yuv2rgb_template.c Sat Feb 17 13:28:44 2007 +0000 @@ -133,7 +133,7 @@ } 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 @@ } 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 @@ } 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 @@ } 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 */ );