[FFmpeg-cvslog] r27628 - trunk/libswscale/swscale.c
michael
subversion
Tue Sep 16 05:49:55 CEST 2008
Author: michael
Date: Tue Sep 16 05:49:54 2008
New Revision: 27628
Log:
Fix segfault with rgb24 and full_internal_chrome due to non existing alpha
byte being written after the array.
Modified:
trunk/libswscale/swscale.c
Modified: trunk/libswscale/swscale.c
==============================================================================
--- trunk/libswscale/swscale.c (original)
+++ trunk/libswscale/swscale.c Tue Sep 16 05:49:54 2008
@@ -905,29 +905,34 @@ static inline void yuv2rgbXinC_full(SwsC
{
int i;
int step= fmt_depth(c->dstFormat)/8;
+ int aidx= 3;
switch(c->dstFormat){
case PIX_FMT_ARGB:
dest++;
+ aidx= 0;
case PIX_FMT_RGB24:
+ aidx--;
case PIX_FMT_RGBA:
YSCALE_YUV_2_RGBX_FULL_C(1<<21)
+ dest[aidx]= 0;
dest[0]= R>>22;
dest[1]= G>>22;
dest[2]= B>>22;
- dest[3]= 0;
dest+= step;
}
break;
case PIX_FMT_ABGR:
dest++;
+ aidx= 0;
case PIX_FMT_BGR24:
+ aidx--;
case PIX_FMT_BGRA:
YSCALE_YUV_2_RGBX_FULL_C(1<<21)
+ dest[aidx]= 0;
dest[0]= B>>22;
dest[1]= G>>22;
dest[2]= R>>22;
- dest[3]= 0;
dest+= step;
}
break;
More information about the ffmpeg-cvslog
mailing list