Browse Source

negative stride and h_size-=8 fix

Originally committed as revision 22247 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
tags/v0.5
Michael Niedermayer 18 years ago
parent
commit
20da77449d
1 changed files with 4 additions and 4 deletions
  1. +4
    -4
      libswscale/yuv2rgb_template.c

+ 4
- 4
libswscale/yuv2rgb_template.c View File

@@ -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 */ );



Loading…
Cancel
Save