mirror of https://github.com/GNOME/gimp.git
file-tiff-load: Fix loading of TIFFs containing old-style JPEG images (#688761)
This commit also moves the updated section of code, so that based on worst_case, the image type and layer type are updated.
This commit is contained in:
parent
2e54d88ef2
commit
3477fc0bdd
|
@ -720,6 +720,36 @@ load_image (const gchar *filename,
|
|||
break;
|
||||
}
|
||||
|
||||
/* attach a parasite containing the compression */
|
||||
if (!TIFFGetField (tif, TIFFTAG_COMPRESSION, &tmp))
|
||||
{
|
||||
save_vals.compression = COMPRESSION_NONE;
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (tmp)
|
||||
{
|
||||
case COMPRESSION_NONE:
|
||||
case COMPRESSION_LZW:
|
||||
case COMPRESSION_PACKBITS:
|
||||
case COMPRESSION_DEFLATE:
|
||||
case COMPRESSION_JPEG:
|
||||
case COMPRESSION_CCITTFAX3:
|
||||
case COMPRESSION_CCITTFAX4:
|
||||
save_vals.compression = tmp;
|
||||
break;
|
||||
|
||||
case COMPRESSION_OJPEG:
|
||||
worst_case = TRUE;
|
||||
save_vals.compression = COMPRESSION_JPEG;
|
||||
break;
|
||||
|
||||
default:
|
||||
save_vals.compression = COMPRESSION_NONE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (worst_case)
|
||||
{
|
||||
image_type = GIMP_RGB;
|
||||
|
@ -791,31 +821,6 @@ load_image (const gchar *filename,
|
|||
}
|
||||
#endif
|
||||
|
||||
/* attach a parasite containing the compression */
|
||||
if (!TIFFGetField (tif, TIFFTAG_COMPRESSION, &tmp))
|
||||
{
|
||||
save_vals.compression = COMPRESSION_NONE;
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (tmp)
|
||||
{
|
||||
case COMPRESSION_NONE:
|
||||
case COMPRESSION_LZW:
|
||||
case COMPRESSION_PACKBITS:
|
||||
case COMPRESSION_DEFLATE:
|
||||
case COMPRESSION_JPEG:
|
||||
case COMPRESSION_CCITTFAX3:
|
||||
case COMPRESSION_CCITTFAX4:
|
||||
save_vals.compression = tmp;
|
||||
break;
|
||||
|
||||
default:
|
||||
save_vals.compression = COMPRESSION_NONE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
parasite = gimp_parasite_new ("tiff-save-options", 0,
|
||||
sizeof (save_vals), &save_vals);
|
||||
gimp_image_attach_parasite (image, parasite);
|
||||
|
|
Loading…
Reference in New Issue