mirror of
https://github.com/webmproject/libwebp.git
synced 2024-12-26 13:48:21 +01:00
cwebp: fix jpg encodes on XP
correct has_alpha check; previously it was controlled by keep_alpha, which overrode the source format check. fixes issue #127 Change-Id: I949be90419b03610c64900be0fd37f83b70cbe73
This commit is contained in:
parent
7b3eb372ad
commit
ecd66f774d
@ -179,18 +179,19 @@ static HRESULT ReadPictureWithWIC(const char* filename,
|
|||||||
IFS(IWICBitmapFrameDecode_GetPixelFormat(pFrame, &srcPixelFormat));
|
IFS(IWICBitmapFrameDecode_GetPixelFormat(pFrame, &srcPixelFormat));
|
||||||
IFS(IWICBitmapDecoder_GetContainerFormat(pDecoder, &srcContainerFormat));
|
IFS(IWICBitmapDecoder_GetContainerFormat(pDecoder, &srcContainerFormat));
|
||||||
|
|
||||||
has_alpha = keep_alpha;
|
if (keep_alpha) {
|
||||||
for (i = 0;
|
for (i = 0;
|
||||||
has_alpha && i < sizeof(alphaContainers)/sizeof(alphaContainers[0]);
|
i < sizeof(alphaContainers) / sizeof(alphaContainers[0]);
|
||||||
++i) {
|
++i) {
|
||||||
if (IsEqualGUID(MAKE_REFGUID(srcContainerFormat),
|
if (IsEqualGUID(MAKE_REFGUID(srcContainerFormat),
|
||||||
MAKE_REFGUID(*alphaContainers[i]))) {
|
MAKE_REFGUID(*alphaContainers[i]))) {
|
||||||
has_alpha =
|
has_alpha =
|
||||||
IsEqualGUID(MAKE_REFGUID(srcPixelFormat),
|
IsEqualGUID(MAKE_REFGUID(srcPixelFormat),
|
||||||
MAKE_REFGUID(GUID_WICPixelFormat32bppRGBA_)) ||
|
MAKE_REFGUID(GUID_WICPixelFormat32bppRGBA_)) ||
|
||||||
IsEqualGUID(MAKE_REFGUID(srcPixelFormat),
|
IsEqualGUID(MAKE_REFGUID(srcPixelFormat),
|
||||||
MAKE_REFGUID(GUID_WICPixelFormat32bppBGRA_));
|
MAKE_REFGUID(GUID_WICPixelFormat32bppBGRA_));
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user