[3/5] windowscodecs: Create a predefined black&white palette if 1 bpp TIFF image doesn't have one.

Dmitry Timoshkov dmitry at baikal.ru
Wed Jul 11 09:58:21 CDT 2012


Vincent Povirk <madewokherd at gmail.com> wrote:

> >> Are you sure about this? My understanding is that the result of
> >> CopyPalette is unspecified when your pixel format is not an indexed
> >> color format (in this case, a grayscale format).
> >
> > It seems that WIC always creates a predefined palette if an image doesn't
> > have one, see the test sent in 2/5.
> 
> The test in 2/5 was for gdiplus, not WIC.

My understanding is that gdiplus just reports what WIC returns in that regard,
and gdiplus doesn't generate fake palettes for real images (read: loaded from
a stream or a file).

> >> So, while it's not really a problem to do that (unless a program
> >> relies on the exact behavior of this decoder, which seems unlikely),
> >> for correctness you shouldn't ever be relying on this change.
> >
> > The problem is that gdiplus always expects a palette when converting
> > between formats and crashes if there is no one.
> 
> Gdiplus can create its own grayscale palette for grayscale formats if
> it needs one.

Yes, but it should do that only for broken cases, when palette is not
provided with source data, like converting from indexed BitmapData in
GdipBitmapUnlockBits, or for idexed formats passed to GdipCreateBitmapFromScan0.

-- 
Dmitry.



More information about the wine-devel mailing list