windowscodecs: Add support for 16bppGray and 32bppGrayFloat formats to TIFF decoder.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru> Signed-off-by: Vincent Povirk <vincent@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
b34d4bdcb8
commit
fa753b5cf2
|
@ -1223,6 +1223,8 @@ static GUID const * const tiff_decode_formats[] = {
|
|||
&GUID_WICPixelFormatBlackWhite,
|
||||
&GUID_WICPixelFormat4bppGray,
|
||||
&GUID_WICPixelFormat8bppGray,
|
||||
&GUID_WICPixelFormat16bppGray,
|
||||
&GUID_WICPixelFormat32bppGrayFloat,
|
||||
&GUID_WICPixelFormat1bppIndexed,
|
||||
&GUID_WICPixelFormat2bppIndexed,
|
||||
&GUID_WICPixelFormat4bppIndexed,
|
||||
|
|
|
@ -319,6 +319,8 @@ static HRESULT tiff_get_decode_info(TIFF *tiff, tiff_decode_info *decode_info)
|
|||
}
|
||||
decode_info->planar = planar;
|
||||
|
||||
TRACE("planar %u, photometric %u, samples %u, bps %u\n", planar, photometric, samples, bps);
|
||||
|
||||
switch(photometric)
|
||||
{
|
||||
case 0: /* WhiteIsZero */
|
||||
|
@ -383,9 +385,25 @@ static HRESULT tiff_get_decode_info(TIFF *tiff, tiff_decode_info *decode_info)
|
|||
}
|
||||
}
|
||||
break;
|
||||
case 16:
|
||||
if (samples != 1)
|
||||
{
|
||||
FIXME("unhandled 16bpp grayscale sample count %u\n", samples);
|
||||
return WINCODEC_ERR_UNSUPPORTEDPIXELFORMAT;
|
||||
}
|
||||
decode_info->format = &GUID_WICPixelFormat16bppGray;
|
||||
break;
|
||||
case 32:
|
||||
if (samples != 1)
|
||||
{
|
||||
FIXME("unhandled 32bpp grayscale sample count %u\n", samples);
|
||||
return WINCODEC_ERR_UNSUPPORTEDPIXELFORMAT;
|
||||
}
|
||||
decode_info->format = &GUID_WICPixelFormat32bppGrayFloat;
|
||||
break;
|
||||
default:
|
||||
FIXME("unhandled greyscale bit count %u\n", bps);
|
||||
return E_FAIL;
|
||||
WARN("unhandled greyscale bit count %u\n", bps);
|
||||
return WINCODEC_ERR_UNSUPPORTEDPIXELFORMAT;
|
||||
}
|
||||
break;
|
||||
case 2: /* RGB */
|
||||
|
|
Loading…
Reference in New Issue