changeset 22229:44c3544fd926

negative stride and h_size-=8 fix
author michael
date Sat, 17 Feb 2007 13:28:44 +0000
parents 55aeb86425cb
children d655ce625259
files libswscale/yuv2rgb_template.c
diffstat 1 files changed, 4 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- 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 */ );