# HG changeset patch # User kostya # Date 1236619543 0 # Node ID 340e60d5b46b93ee5efaf4b888b66664c5f82ee6 # Parent fa0b56ac44236aeee003453bbe5e287ae7b1ea26 Mask all unused bits for packed pixel format instead of green and alpha mask only. That fixes the case when converting 15-bit RGB/BGR to YUV and high bit is set for input value(s). diff -r fa0b56ac4423 -r 340e60d5b46b libswscale/swscale_template.c --- a/libswscale/swscale_template.c Mon Mar 09 15:01:53 2009 +0000 +++ b/libswscale/swscale_template.c Mon Mar 09 17:25:43 2009 +0000 @@ -1663,7 +1663,7 @@ {\ int pix0= ((type*)src)[2*i+0];\ int pix1= ((type*)src)[2*i+1];\ - int g= (pix0&(maskg|maska))+(pix1&(maskg|maska));\ + int g= (pix0&~(maskr|maskb))+(pix1&~(maskr|maskb));\ int b= ((pix0+pix1-g)&(maskb|(2*maskb)))>>shb;\ int r= ((pix0+pix1-g)&(maskr|(2*maskr)))>>shr;\ g&= maskg|(2*maskg);\