Accepting request 881984 from home:polslinux:branches:graphics
- Update to 2.10.24 - Core: - Ignore Pentax and PentaxDng metadata at export because they are unsupported. - DBus calls (remote file open, typically with double click on file browser; and remote command run) are now processed after all command line files (in case of calls during startup) and in the call order (FIFO) for consistency. Some timeout has also been added to not spam the core process with non-processable DBus calls during startup. - Display profile name in "Color space" field of Image Properties and improve ellipsis & wrap on dialog fields whose contents' size is not controllable together with better dialog size management. - Fix stack overflow when loading very large XCF files on Windows. - Point snapping now works outside the canvas. This is used for snap to guides, grid and vectors. Snap to grid only works off-canvas when "Show All" is enabled because off-canvas grid is not visible otherwise, though snap to guide and vectors will always work off-canvas. - Libgimp: - Various metadata improvements: * Improve reading of iptc tags that appear more than once. - Plug-ins: - JPEG export will better advertize when metadata export fails, possibly with relevant error message. Image export would not fail, but at least we make the person aware metadata is not properly exported. - More robust TIFF import and export: * Better handling of Exif.Thumbnail.* tags on export. * Import now ignores TIFF pages with invalid directory (rather than freezing and output an error to warn of possible data loss). OBS-URL: https://build.opensuse.org/request/show/881984 OBS-URL: https://build.opensuse.org/package/show/graphics/gimp?expand=0&rev=53
This commit is contained in:
parent
99375f96c4
commit
9ae3975b8f
@ -1,46 +0,0 @@
|
||||
From aa135ac1f814bf6197b2951ec0796547907a08ed Mon Sep 17 00:00:00 2001
|
||||
From: Jehan <jehan@girinstud.io>
|
||||
Date: Mon, 14 Dec 2020 19:53:38 +0100
|
||||
Subject: [PATCH] app: make "gegl:introspect" an optional operation dependency.
|
||||
|
||||
Check at runtime for the operation availability and set the "Show Image
|
||||
Graph" action active depending on this check.
|
||||
|
||||
This goes with discussions to make this operation optional with a
|
||||
runtime check for the tool `dot`.
|
||||
See: https://gitlab.gnome.org/GNOME/gegl/-/merge_requests/84
|
||||
---
|
||||
app/actions/debug-actions.c | 6 ++++++
|
||||
app/sanity.c | 1 -
|
||||
2 files changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/app/actions/debug-actions.c b/app/actions/debug-actions.c
|
||||
index 98a2f07..70ceb0d 100644
|
||||
--- a/app/actions/debug-actions.c
|
||||
+++ b/app/actions/debug-actions.c
|
||||
@@ -98,4 +98,10 @@ void
|
||||
debug_actions_update (GimpActionGroup *group,
|
||||
gpointer data)
|
||||
{
|
||||
+#define SET_SENSITIVE(action,condition) \
|
||||
+ gimp_action_group_set_action_sensitive (group, action, (condition) != 0)
|
||||
+
|
||||
+ SET_SENSITIVE ("debug-show-image-graph", gegl_has_operation ("gegl:introspect"));
|
||||
+
|
||||
+#undef SET_SENSITIVE
|
||||
}
|
||||
diff --git a/app/sanity.c b/app/sanity.c
|
||||
index 0ad044a..81120bb 100644
|
||||
--- a/app/sanity.c
|
||||
+++ b/app/sanity.c
|
||||
@@ -650,7 +650,6 @@ sanity_check_gegl_ops (void)
|
||||
"gegl:hue-chroma",
|
||||
"gegl:illusion",
|
||||
"gegl:image-gradient",
|
||||
- "gegl:introspect",
|
||||
"gegl:invert-gamma",
|
||||
"gegl:invert-linear",
|
||||
"gegl:lens-blur",
|
||||
--
|
||||
2.30.0
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2db84b57f3778d80b3466d7c21a21d22e315c7b062de2883cbaaeda9a0f618bb
|
||||
size 33152226
|
3
gimp-2.10.24.tar.bz2
Normal file
3
gimp-2.10.24.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:bd1bb762368c0dd3175cf05006812dd676949c3707e21f4e6857435cb435989e
|
||||
size 31546295
|
120
gimp.changes
120
gimp.changes
@ -1,3 +1,123 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Mar 29 13:17:56 UTC 2021 - Paolo Stivanin <info@paolostivanin.com>
|
||||
|
||||
- Update to 2.10.24
|
||||
- Core:
|
||||
- Ignore Pentax and PentaxDng metadata at export because they are
|
||||
unsupported.
|
||||
- DBus calls (remote file open, typically with double click on file
|
||||
browser; and remote command run) are now processed after all command
|
||||
line files (in case of calls during startup) and in the call order
|
||||
(FIFO) for consistency. Some timeout has also been added to not spam
|
||||
the core process with non-processable DBus calls during startup.
|
||||
- Display profile name in "Color space" field of Image Properties and
|
||||
improve ellipsis & wrap on dialog fields whose contents' size is not
|
||||
controllable together with better dialog size management.
|
||||
- Fix stack overflow when loading very large XCF files on Windows.
|
||||
- Point snapping now works outside the canvas. This is used for snap
|
||||
to guides, grid and vectors. Snap to grid only works off-canvas when
|
||||
"Show All" is enabled because off-canvas grid is not visible
|
||||
otherwise, though snap to guide and vectors will always work
|
||||
off-canvas.
|
||||
- Libgimp:
|
||||
- Various metadata improvements:
|
||||
* Improve reading of iptc tags that appear more than once.
|
||||
- Plug-ins:
|
||||
- JPEG export will better advertize when metadata export fails,
|
||||
possibly with relevant error message. Image export would not fail,
|
||||
but at least we make the person aware metadata is not properly
|
||||
exported.
|
||||
- More robust TIFF import and export:
|
||||
* Better handling of Exif.Thumbnail.* tags on export.
|
||||
* Import now ignores TIFF pages with invalid directory (rather than
|
||||
freezing and output an error to warn of possible data loss).
|
||||
* Import attempts to count the directories by reading them when the
|
||||
headers does not announce any directory, which allows to salvage
|
||||
images with improper header. Also if reading of a directory fail,
|
||||
we now output a message to warn of possible data loss.
|
||||
* Fixed loading 2 and 4-bit TIFF images in grayscale and indexed.
|
||||
* Improve support of ExtraSamples fields with non-conformant TIFF
|
||||
files.
|
||||
* Improve loading of multi page tiffs with linear TRC.
|
||||
* More safety checks as a result of fuzz-testing.
|
||||
* Improve loading of MinIsWhite and MinIsBlack images.
|
||||
- GeoTIFF tag support added (recognized and stored into image
|
||||
parasites at import, then exported back when TIFF format is used)
|
||||
with appropriate "Save GeoTIFF data" checkbox (checked by default)
|
||||
to disable GeoTIFF metadata export when not desired.
|
||||
- The metadata viewer and editor got a big cleaning and refactoring
|
||||
pass, as well as various fixes and several improvements:
|
||||
* Fix handling of IPTC tags which can appear more than once (such as
|
||||
"Keywords") in both the viewer and editor.
|
||||
* Always read both the IPTC and XMP equivalent tags in the editor,
|
||||
instead of assuming they are necessarily the same.
|
||||
* More IPTC equivalents of XMP tags added:
|
||||
+ Iptc.Application2.LocationName <=> Xmp.iptc.Location
|
||||
+ Iptc.Application2.BylineTitle <=> Xmp.photoshop.AuthorsPosition
|
||||
+ Iptc.Application2.CountryCode <=> Xmp.iptc.CountryCode
|
||||
+ Iptc.Application2.Writer <=> Xmp.photoshop.CaptionWriter
|
||||
* The editor now properly saves IPTC tags.
|
||||
* Improve UTF-8 conversion to avoid double string conversion (hence
|
||||
actually breaking encoding).
|
||||
* Use proper unit abbreviations and proper label casing.
|
||||
* GPS data is now properly formatted with better precision and with
|
||||
translatable string parts and tooltips are added to explain how to
|
||||
correctly edit GPS data (latitude, longitude, altitude).
|
||||
Also seconds part of latitude/longitude is now saved with more
|
||||
precision and altitude details now switch from .1m to .10m.
|
||||
* Better error reporting when the editor fails to write a tag, with
|
||||
proper GUI error, so that such error do not go unseen.
|
||||
* Better error handling when closing the editor or viewer too, and
|
||||
improve error handling when the calendar dialog fails.
|
||||
* Use a logging domain for debugging-only messages which pollutes
|
||||
the output.
|
||||
* Xmp.iptc.CreatorContactInfo/Iptc4xmpCore:* override the shorter
|
||||
forms Xmp.iptc.Ci* if both are present, since the longer form is
|
||||
more common.
|
||||
* Improve saving of XMP metadata.
|
||||
* And more bug fixes and refactoring steps to get rid of duplicate
|
||||
code.
|
||||
- PNG will now prompt only for layer offset different from zero. Some
|
||||
software were always setting an offset of 0 (e.g.: POV-Ray v3.7) so
|
||||
GIMP would unecessarily prompt the user until now for PNG created by
|
||||
such software.
|
||||
- BMP:
|
||||
* allow loading of BMP images with incorrect BI_BITFIELDS
|
||||
compression.
|
||||
* support loading more bit depth such as 24bpp images.
|
||||
- file-darktable:
|
||||
* support updated Lua API of darktable 3.6 and beyond;
|
||||
* Adding environment contents to debugging output when
|
||||
DARKTABLE_DEBUG env variable is set.
|
||||
- PDF import:
|
||||
* New option to reverse order of layer.
|
||||
* Support fractional DPI (allowing accurate page dimensions).
|
||||
- DDS:
|
||||
* Set blue channel of BC5 dds images to 0 instead of 255.
|
||||
* Fix DDS BC5 compression/decompression with Red and Blue swapped.
|
||||
We detect images created by an older GIMP on loading and swap the
|
||||
channels back.
|
||||
- HEIF:
|
||||
* Removes the "HDR" mention on HEIF 10/12-bit export because high
|
||||
bit depth does not necessarily means HDR.
|
||||
* Runtime detection of HEIC and AVIF file formats (depending on
|
||||
available encoders and decoders), which allows afterwards update
|
||||
of the dependency, but also allows usage for a single format (e.g.
|
||||
for distributions which want to support only AVIF).
|
||||
* With libheif 1.10, visually lossless export is possible for
|
||||
10/12 bit depths too
|
||||
- PSD:
|
||||
* More flexible reading of layer mask record size, skipping invalid
|
||||
or unsupported mask info size, hence allowing us to load more PSD
|
||||
files (at least the part of a PSD we support instead of failing
|
||||
the whole import altogether).
|
||||
- G3 fax images:
|
||||
* Improve error handling when loading.
|
||||
* Be more forgiving on bad lines which were quite frequent on older
|
||||
fax images, allowing to salvage some old images.
|
||||
- Drop 0001-app-make-gegl-introspect-an-optional-operation-depen.patch
|
||||
- Drop libheif-avif-only.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 12 20:13:47 UTC 2021 - Michael Gorse <mgorse@suse.com>
|
||||
|
||||
|
12
gimp.spec
12
gimp.spec
@ -31,7 +31,7 @@
|
||||
%bcond_without python_plugin
|
||||
%endif
|
||||
Name: gimp
|
||||
Version: 2.10.22
|
||||
Version: 2.10.24
|
||||
Release: 0
|
||||
Summary: The GNU Image Manipulation Program
|
||||
License: GPL-3.0-or-later
|
||||
@ -42,10 +42,6 @@ Source1: macros.gimp
|
||||
# openSUSE palette file
|
||||
Source2: openSUSE.gpl
|
||||
Source99: baselibs.conf
|
||||
# PATCH-FIX-UPSTREAM git diff GIMP_2_10_22..gimp-2-10 -- plug-ins/common/file-heif.c > libheif-avif-only.patch mrueckert@suse.de -- only offer the fileformats that our current libheif actually supports
|
||||
Patch: libheif-avif-only.patch
|
||||
# PATCH-FIX-UPSTREAM Make graphviz/dot dependency optional -- https://github.com/GNOME/gimp/commit/2cae9b9acf9da98c4c9990819ffbd5aabe23017e.patch
|
||||
Patch1: 0001-app-make-gegl-introspect-an-optional-operation-depen.patch
|
||||
|
||||
BuildRequires: aalib-devel
|
||||
BuildRequires: alsa-devel >= 1.0.0
|
||||
@ -77,7 +73,7 @@ BuildRequires: pkgconfig(cairo) >= 1.12.2
|
||||
BuildRequires: pkgconfig(cairo-pdf) >= 1.12.2
|
||||
BuildRequires: pkgconfig(dbus-glib-1) >= 0.70
|
||||
BuildRequires: pkgconfig(gdk-pixbuf-2.0) >= 2.30.8
|
||||
BuildRequires: pkgconfig(gegl-0.4) >= 0.4.24
|
||||
BuildRequires: pkgconfig(gegl-0.4) >= 0.4.30
|
||||
BuildRequires: pkgconfig(gexiv2) >= 0.10.6
|
||||
BuildRequires: pkgconfig(glib-2.0) >= 2.54.2
|
||||
BuildRequires: pkgconfig(gtk+-2.0) >= 2.24.32
|
||||
@ -114,7 +110,7 @@ BuildRequires: xdg-utils
|
||||
# obs does not automaticaly add this
|
||||
Requires: libglib-2_0-0 >= 2.54.2
|
||||
Requires: libgexiv2-2 >= 0.10.6
|
||||
Requires: libbabl-0_1-0 >= 0.1.46
|
||||
Requires: libbabl-0_1-0 >= 0.1.78
|
||||
# Explicitly declare the libgimp versions for upgrade purposes
|
||||
Requires: libgimp-2_0-0 = %{version}
|
||||
Requires: libgimpui-2_0-0 = %{version}
|
||||
@ -217,8 +213,6 @@ applications that want to make use of the GIMP libraries.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch -p1
|
||||
%patch1 -p1
|
||||
|
||||
export LC_ALL=en_US.UTF-8
|
||||
export LANG=en_US.UTF-8
|
||||
|
@ -1,274 +0,0 @@
|
||||
diff --git a/plug-ins/common/file-heif.c b/plug-ins/common/file-heif.c
|
||||
index 945951e5f4..e79419d5f0 100644
|
||||
--- a/plug-ins/common/file-heif.c
|
||||
+++ b/plug-ins/common/file-heif.c
|
||||
@@ -47,7 +47,7 @@ struct _SaveParams
|
||||
|
||||
/* local function prototypes */
|
||||
|
||||
-static void query (void);
|
||||
+static void init (void);
|
||||
static void run (const gchar *name,
|
||||
gint nparams,
|
||||
const GimpParam *param,
|
||||
@@ -73,9 +73,9 @@ static gboolean save_dialog (SaveParams *params,
|
||||
|
||||
GimpPlugInInfo PLUG_IN_INFO =
|
||||
{
|
||||
- NULL, /* init_proc */
|
||||
+ init, /* init_proc */
|
||||
NULL, /* quit_proc */
|
||||
- query, /* query_proc */
|
||||
+ NULL, /* query_proc */
|
||||
run, /* run_proc */
|
||||
};
|
||||
|
||||
@@ -84,7 +84,7 @@ MAIN ()
|
||||
|
||||
|
||||
static void
|
||||
-query (void)
|
||||
+init (void)
|
||||
{
|
||||
static const GimpParamDef load_args[] =
|
||||
{
|
||||
@@ -110,87 +110,102 @@ query (void)
|
||||
{ GIMP_PDB_INT32, "lossless", "Use lossless compression (0 = lossy, 1 = lossless)" }
|
||||
};
|
||||
|
||||
- gimp_install_procedure (LOAD_PROC,
|
||||
- _("Loads HEIF images"),
|
||||
- _("Load image stored in HEIF format (High "
|
||||
- "Efficiency Image File Format). Typical "
|
||||
- "suffices for HEIF files are .heif, .heic."),
|
||||
- "Dirk Farin <farin@struktur.de>",
|
||||
- "Dirk Farin <farin@struktur.de>",
|
||||
- "2018",
|
||||
- _("HEIF/HEIC"),
|
||||
- NULL,
|
||||
- GIMP_PLUGIN,
|
||||
- G_N_ELEMENTS (load_args),
|
||||
- G_N_ELEMENTS (load_return_vals),
|
||||
- load_args, load_return_vals);
|
||||
-
|
||||
- gimp_register_load_handler (LOAD_PROC,
|
||||
- "heic,heif"
|
||||
+ if (heif_have_decoder_for_format (heif_compression_HEVC)
|
||||
#if LIBHEIF_HAVE_VERSION(1,8,0)
|
||||
- ",avif"
|
||||
+ || heif_have_decoder_for_format (heif_compression_AV1)
|
||||
#endif
|
||||
- , "");
|
||||
- gimp_register_file_handler_mime (LOAD_PROC,
|
||||
- "image/heif"
|
||||
-#if LIBHEIF_HAVE_VERSION(1,8,0)
|
||||
- ",image/avif"
|
||||
-#endif
|
||||
- );
|
||||
- gimp_register_file_handler_uri (LOAD_PROC);
|
||||
- /* HEIF is an ISOBMFF format whose "brand" (the value after "ftyp")
|
||||
- * can be of various values.
|
||||
- * See also: https://gitlab.gnome.org/GNOME/gimp/issues/2209
|
||||
- */
|
||||
- gimp_register_magic_load_handler (LOAD_PROC,
|
||||
- "heif,heic"
|
||||
-#if LIBHEIF_HAVE_VERSION(1,8,0)
|
||||
- ",avif"
|
||||
-#endif
|
||||
- , "",
|
||||
- "4,string,ftypheic,4,string,ftypheix,"
|
||||
- "4,string,ftyphevc,4,string,ftypheim,"
|
||||
- "4,string,ftypheis,4,string,ftyphevm,"
|
||||
- "4,string,ftyphevs,4,string,ftypmif1,"
|
||||
- "4,string,ftypmsf1"
|
||||
+ )
|
||||
+ {
|
||||
+ GString *extensions = g_string_new (NULL);
|
||||
+ GString *mimetypes = g_string_new (NULL);
|
||||
+ GString *magic = g_string_new ("4,string,ftypmif1");
|
||||
+
|
||||
+ if (heif_have_decoder_for_format (heif_compression_HEVC))
|
||||
+ {
|
||||
+ g_string_append (extensions, "heic,heif");
|
||||
+ g_string_append (mimetypes, "image/heif");
|
||||
+ g_string_append (magic, ",4,string,ftypheic,4,string,ftypheix,"
|
||||
+ "4,string,ftyphevc,4,string,ftypheim,"
|
||||
+ "4,string,ftypheis,4,string,ftyphevm,"
|
||||
+ "4,string,ftyphevs,4,string,ftypmsf1");
|
||||
+ }
|
||||
+
|
||||
#if LIBHEIF_HAVE_VERSION(1,8,0)
|
||||
- ",4,string,ftypavif"
|
||||
+ if (heif_have_decoder_for_format (heif_compression_AV1))
|
||||
+ {
|
||||
+ g_string_append_printf (extensions, "%savif", extensions->len ? "," : "");
|
||||
+ g_string_append_printf (mimetypes, "%simage/avif", mimetypes->len ? "," : "");
|
||||
+ g_string_append (magic, ",4,string,ftypavif");
|
||||
+ }
|
||||
#endif
|
||||
- );
|
||||
-
|
||||
- gimp_install_procedure (SAVE_PROC,
|
||||
- _("Exports HEIF images"),
|
||||
- _("Save image in HEIF format (High Efficiency "
|
||||
- "Image File Format)."),
|
||||
- "Dirk Farin <farin@struktur.de>",
|
||||
- "Dirk Farin <farin@struktur.de>",
|
||||
- "2018",
|
||||
- _("HEIF/HEIC"),
|
||||
- "RGB*",
|
||||
- GIMP_PLUGIN,
|
||||
- G_N_ELEMENTS (save_args), 0,
|
||||
- save_args, NULL);
|
||||
-
|
||||
- gimp_register_save_handler (SAVE_PROC, "heic,heif", "");
|
||||
- gimp_register_file_handler_mime (SAVE_PROC, "image/heif");
|
||||
- gimp_register_file_handler_uri (SAVE_PROC);
|
||||
+
|
||||
+ gimp_install_procedure (LOAD_PROC,
|
||||
+ _("Loads HEIF images"),
|
||||
+ _("Load image stored in HEIF format (High "
|
||||
+ "Efficiency Image File Format). Typical "
|
||||
+ "suffices for HEIF files are .heif, .heic."),
|
||||
+ "Dirk Farin <farin@struktur.de>",
|
||||
+ "Dirk Farin <farin@struktur.de>",
|
||||
+ "2018",
|
||||
+ _("HEIF/HEIC"),
|
||||
+ NULL,
|
||||
+ GIMP_PLUGIN,
|
||||
+ G_N_ELEMENTS (load_args),
|
||||
+ G_N_ELEMENTS (load_return_vals),
|
||||
+ load_args, load_return_vals);
|
||||
+
|
||||
+ gimp_register_load_handler (LOAD_PROC, extensions->str, "");
|
||||
+ gimp_register_file_handler_mime (LOAD_PROC, mimetypes->str);
|
||||
+ gimp_register_file_handler_uri (LOAD_PROC);
|
||||
+
|
||||
+ gimp_register_magic_load_handler (LOAD_PROC,
|
||||
+ extensions->str, "",
|
||||
+ magic->str);
|
||||
+
|
||||
+ g_string_free (magic, TRUE);
|
||||
+ g_string_free (mimetypes, TRUE);
|
||||
+ g_string_free (extensions, TRUE);
|
||||
+ }
|
||||
+
|
||||
+ if (heif_have_encoder_for_format (heif_compression_HEVC))
|
||||
+ {
|
||||
+ gimp_install_procedure (SAVE_PROC,
|
||||
+ _("Exports HEIF images"),
|
||||
+ _("Save image in HEIF format (High Efficiency "
|
||||
+ "Image File Format)."),
|
||||
+ "Dirk Farin <farin@struktur.de>",
|
||||
+ "Dirk Farin <farin@struktur.de>",
|
||||
+ "2018",
|
||||
+ _("HEIF/HEIC"),
|
||||
+ "RGB*",
|
||||
+ GIMP_PLUGIN,
|
||||
+ G_N_ELEMENTS (save_args), 0,
|
||||
+ save_args, NULL);
|
||||
+
|
||||
+ gimp_register_save_handler (SAVE_PROC, "heic,heif", "");
|
||||
+ gimp_register_file_handler_mime (SAVE_PROC, "image/heif");
|
||||
+ gimp_register_file_handler_uri (SAVE_PROC);
|
||||
+ }
|
||||
|
||||
#if LIBHEIF_HAVE_VERSION(1,8,0)
|
||||
- gimp_install_procedure (SAVE_PROC_AV1,
|
||||
- "Exports AVIF images",
|
||||
- "Save image in AV1 Image File Format (AVIF)",
|
||||
- "Daniel Novomesky <dnovomesky@gmail.com>",
|
||||
- "Daniel Novomesky <dnovomesky@gmail.com>",
|
||||
- "2020",
|
||||
- "HEIF/AVIF",
|
||||
- "RGB*",
|
||||
- GIMP_PLUGIN,
|
||||
- G_N_ELEMENTS (save_args), 0,
|
||||
- save_args, NULL);
|
||||
-
|
||||
- gimp_register_save_handler (SAVE_PROC_AV1, "avif", "");
|
||||
- gimp_register_file_handler_mime (SAVE_PROC_AV1, "image/avif");
|
||||
- gimp_register_file_handler_uri (SAVE_PROC_AV1);
|
||||
+ if (heif_have_encoder_for_format (heif_compression_AV1))
|
||||
+ {
|
||||
+ gimp_install_procedure (SAVE_PROC_AV1,
|
||||
+ _("Exports AVIF images"),
|
||||
+ _("Save image in AV1 Image File Format (AVIF)"),
|
||||
+ "Daniel Novomesky <dnovomesky@gmail.com>",
|
||||
+ "Daniel Novomesky <dnovomesky@gmail.com>",
|
||||
+ "2020",
|
||||
+ "HEIF/AVIF",
|
||||
+ "RGB*",
|
||||
+ GIMP_PLUGIN,
|
||||
+ G_N_ELEMENTS (save_args), 0,
|
||||
+ save_args, NULL);
|
||||
+
|
||||
+ gimp_register_save_handler (SAVE_PROC_AV1, "avif", "");
|
||||
+ gimp_register_file_handler_mime (SAVE_PROC_AV1, "image/avif");
|
||||
+ gimp_register_file_handler_uri (SAVE_PROC_AV1);
|
||||
+ }
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -1139,12 +1154,12 @@ load_image (GFile *file,
|
||||
while (new_exif_size >= 4) /*Searching for TIFF Header*/
|
||||
{
|
||||
if (tiffheader[0] == tiffHeaderBE[0] && tiffheader[1] == tiffHeaderBE[1] &&
|
||||
- tiffheader[2] == tiffHeaderBE[2] && tiffheader[2] == tiffHeaderBE[2])
|
||||
+ tiffheader[2] == tiffHeaderBE[2] && tiffheader[3] == tiffHeaderBE[3])
|
||||
{
|
||||
break;
|
||||
}
|
||||
if (tiffheader[0] == tiffHeaderLE[0] && tiffheader[1] == tiffHeaderLE[1] &&
|
||||
- tiffheader[2] == tiffHeaderLE[2] && tiffheader[2] == tiffHeaderLE[2])
|
||||
+ tiffheader[2] == tiffHeaderLE[2] && tiffheader[3] == tiffHeaderLE[3])
|
||||
{
|
||||
break;
|
||||
}
|
||||
@@ -1525,6 +1540,17 @@ save_image (GFile *file,
|
||||
heif_encoder_set_lossless (encoder, params->lossless);
|
||||
/* heif_encoder_set_logging_level (encoder, logging_level); */
|
||||
|
||||
+#if LIBHEIF_HAVE_VERSION(1,9,0)
|
||||
+ if (params->lossless && params->save_bit_depth == 8)
|
||||
+ {
|
||||
+ err = heif_encoder_set_parameter_string (encoder, "chroma", "444");
|
||||
+ if (err.code != 0)
|
||||
+ {
|
||||
+ g_printerr ("Failed to set chroma=444 for %s encoder: %s", heif_encoder_get_name (encoder), err.message);
|
||||
+ }
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
err = heif_context_encode_image (context,
|
||||
image,
|
||||
encoder,
|
||||
@@ -1984,7 +2010,7 @@ save_dialog (SaveParams *params,
|
||||
frame = gimp_frame_new (NULL);
|
||||
gtk_box_pack_start (GTK_BOX (main_vbox), frame, FALSE, FALSE, 0);
|
||||
|
||||
- lossless_button = gtk_check_button_new_with_mnemonic (_("Nearly _lossless (YUV420 format)"));
|
||||
+ lossless_button = gtk_check_button_new_with_mnemonic (_("Nearly _lossless"));
|
||||
gtk_frame_set_label_widget (GTK_FRAME (frame), lossless_button);
|
||||
|
||||
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
|
||||
@@ -1998,7 +2024,7 @@ save_dialog (SaveParams *params,
|
||||
gtk_range_set_value (GTK_RANGE (quality_slider), params->quality);
|
||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (lossless_button),
|
||||
params->lossless);
|
||||
- gtk_widget_set_sensitive (quality_slider, !params->lossless);
|
||||
+ gtk_widget_set_sensitive (hbox, !params->lossless);
|
||||
gtk_label_set_mnemonic_widget (GTK_LABEL (label), quality_slider);
|
||||
|
||||
g_signal_connect (lossless_button, "toggled",
|
||||
@@ -2038,8 +2064,8 @@ save_dialog (SaveParams *params,
|
||||
gtk_widget_show (label2);
|
||||
|
||||
combo = gimp_int_combo_box_new (_("8 bit/channel"), 8,
|
||||
- _("10 bit/channel (HDR)"), 10,
|
||||
- _("12 bit/channel (HDR)"), 12,
|
||||
+ _("10 bit/channel"), 10,
|
||||
+ _("12 bit/channel"), 12,
|
||||
NULL);
|
||||
gtk_table_attach (GTK_TABLE (table), combo, 1, 2, 0, 1,
|
||||
GTK_FILL | GTK_EXPAND, GTK_FILL, 0, 0);
|
Loading…
x
Reference in New Issue
Block a user