mirror of
				https://github.com/webmproject/libwebp.git
				synced 2025-10-31 10:25:46 +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:
		| @@ -179,18 +179,19 @@ static HRESULT ReadPictureWithWIC(const char* filename, | ||||
|   IFS(IWICBitmapFrameDecode_GetPixelFormat(pFrame, &srcPixelFormat)); | ||||
|   IFS(IWICBitmapDecoder_GetContainerFormat(pDecoder, &srcContainerFormat)); | ||||
|  | ||||
|   has_alpha = keep_alpha; | ||||
|   for (i = 0; | ||||
|        has_alpha && i < sizeof(alphaContainers)/sizeof(alphaContainers[0]); | ||||
|        ++i) { | ||||
|     if (IsEqualGUID(MAKE_REFGUID(srcContainerFormat), | ||||
|                     MAKE_REFGUID(*alphaContainers[i]))) { | ||||
|       has_alpha = | ||||
|           IsEqualGUID(MAKE_REFGUID(srcPixelFormat), | ||||
|                       MAKE_REFGUID(GUID_WICPixelFormat32bppRGBA_)) || | ||||
|           IsEqualGUID(MAKE_REFGUID(srcPixelFormat), | ||||
|                       MAKE_REFGUID(GUID_WICPixelFormat32bppBGRA_)); | ||||
|       break; | ||||
|   if (keep_alpha) { | ||||
|     for (i = 0; | ||||
|          i < sizeof(alphaContainers) / sizeof(alphaContainers[0]); | ||||
|          ++i) { | ||||
|       if (IsEqualGUID(MAKE_REFGUID(srcContainerFormat), | ||||
|                       MAKE_REFGUID(*alphaContainers[i]))) { | ||||
|         has_alpha = | ||||
|             IsEqualGUID(MAKE_REFGUID(srcPixelFormat), | ||||
|                         MAKE_REFGUID(GUID_WICPixelFormat32bppRGBA_)) || | ||||
|             IsEqualGUID(MAKE_REFGUID(srcPixelFormat), | ||||
|                         MAKE_REFGUID(GUID_WICPixelFormat32bppBGRA_)); | ||||
|         break; | ||||
|       } | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user