summaryrefslogtreecommitdiffstats
path: root/libswscale
diff options
context:
space:
mode:
authorcehoyos <cehoyos@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-04-03 16:22:19 +0000
committercehoyos <cehoyos@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-04-03 16:22:19 +0000
commitcb644a4a9d8cf09ec411141c1558889ab41d610d (patch)
treece81ec2031e192e037ae475eb608f4408a477a9c /libswscale
parenteb9f143f3bd9a0f6f781d1d26c37a1360d012729 (diff)
downloadmpv-cb644a4a9d8cf09ec411141c1558889ab41d610d.tar.bz2
mpv-cb644a4a9d8cf09ec411141c1558889ab41d610d.tar.xz
Fix crash when trying to convert from or to RGBi (i<15) as in bgr8torgb24
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22910 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libswscale')
-rw-r--r--libswscale/swscale.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/libswscale/swscale.c b/libswscale/swscale.c
index f6a23425bf..54924b0eef 100644
--- a/libswscale/swscale.c
+++ b/libswscale/swscale.c
@@ -2086,6 +2086,13 @@ SwsContext *sws_getContext(int srcW, int srcH, int srcFormat, int dstW, int dstH
/* rgb/bgr -> rgb/bgr (no dither needed forms) */
if( (isBGR(srcFormat) || isRGB(srcFormat))
&& (isBGR(dstFormat) || isRGB(dstFormat))
+ && srcFormat != PIX_FMT_BGR8 && dstFormat != PIX_FMT_BGR8
+ && srcFormat != PIX_FMT_RGB8 && dstFormat != PIX_FMT_RGB8
+ && srcFormat != PIX_FMT_BGR4 && dstFormat != PIX_FMT_BGR4
+ && srcFormat != PIX_FMT_RGB4 && dstFormat != PIX_FMT_RGB4
+ && srcFormat != PIX_FMT_BGR4_BYTE && dstFormat != PIX_FMT_BGR4_BYTE
+ && srcFormat != PIX_FMT_RGB4_BYTE && dstFormat != PIX_FMT_RGB4_BYTE
+ && srcFormat != PIX_FMT_MONOBLACK && dstFormat != PIX_FMT_MONOBLACK
&& !needsDither)
c->swScale= rgb2rgbWrapper;