swscale: fix some undefined signed left shifts

Based on a patch by Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Justin Ruggles 2014-04-05 14:46:22 -04:00
parent 60c4660ba0
commit 20c38c9c18

View File

@ -1230,13 +1230,13 @@ int attribute_align_arg sws_scale(struct SwsContext *c,
#if HAVE_BIGENDIAN
case AV_PIX_FMT_BGR24:
#endif
c->pal_rgb[i] = (r + (g << 8) + (b << 16)) << 8;
c->pal_rgb[i] = (r << 8) + (g << 16) + ((unsigned)b << 24);
break;
case AV_PIX_FMT_RGB32_1:
#if HAVE_BIGENDIAN
case AV_PIX_FMT_RGB24:
#endif
c->pal_rgb[i] = (b + (g << 8) + (r << 16)) << 8;
c->pal_rgb[i] = (b << 8) + (g << 16) + ((unsigned)r << 24);
break;
case AV_PIX_FMT_RGB32:
#if !HAVE_BIGENDIAN