Commit graph

66 commits

Author SHA1 Message Date
Michael Natterer
8a90d8b8b2 Issue #1297 - Unhide the items hidden in the Advanced drop-down file...
...export dialogs

Move most stuff out of the "Advanced" expander, only nerdish encoding
options are left there.

Issue #701: Add a "Save color profile" toggle which honors the default
value configured in preferences and always saves the profile when
enabled.

(cherry picked from commit 540cfa9611)
2018-12-03 12:32:26 +01:00
Michael Natterer
a88c0ffb93 Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
luz.paz
4a77ff2d3d Bug 795557 - Misc. typo fixes in source, comments and doxygen (pt3)
Found via `codespell` and grep.
2018-04-25 23:49:06 +02:00
Jehan
82f6baf2bb plug-ins: file export should follow preferences regarding metadata.
Various plug-ins exporting metadata should now follow preferences, which
would override any default. Of course these preferences can still be
overriden by saved settings (global parasite), previous run settings,
and finally through the GUI when interactive.
2018-01-11 22:17:32 +01:00
Jehan
096debb0fd Bug 790552 - do not save metadata by default.
This is a privacy concern. Whereas importing metadata is usually a good
idea, exporting it should be a conscious action. A lot of private data
can be leaked through metadata and many people don't realize it (which
also usually means they don't need it). On the other hand, the people
who realize it are the ones who would explicitly edit the metadata and
check what they want to be exported or not.

This is only a first step. Some people may want to always export the
metadata and for these people, there should be abilities to change the
default.
2018-01-11 00:39:22 +01:00
Hartmut Kuhse
66bc98d299 Revert "New GimpMetadata as subclass of GExiv2Metadata"
This reverts commit 3ab08c8bfd.
2017-01-03 19:36:22 +01:00
Hartmut Kuhse
3ab08c8bfd New GimpMetadata as subclass of GExiv2Metadata 2017-01-03 19:26:35 +01:00
Mihail Zenkov
07eb13c73d Bug 769976 - JPEG export ignores quality setting and subsampling fix.
Set use_orig_quality when both the quality and the subsampling are the
same as in the originally-imported jpeg.

Also improve subsampling initial selection: use the original subsampling
unless the default one is the best or the original one is the worst.
The current code was wrong and would often use the default subsampling
even when worse than the original one.
2016-11-08 16:09:37 +01:00
Michael Natterer
4df9a1d568 Get rid of gtk_misc_set_alignment(label) and use gtk_label_set_x,yalign() 2016-09-08 19:11:20 +02:00
Jehan
ec27b539ea plug-ins: various s/save/export/ replacement on visible strings. 2016-02-16 02:35:43 +01:00
Michael Natterer
1d37c67879 plug-ins: use the GimpColorProfile API instead of the "icc-profile" parasite 2015-08-20 11:15:26 +02:00
Michael Natterer
1615252ced plug-ins: get rid of GtkObject in jpeg-save.c
Reduces the diff in gtk3-port, and was wrong in some cases anyway.
2015-06-09 23:56:35 +02:00
Joao S. O. Bueno
cd68967b06 PLUGINS: Adds UI consistence to jpeg-save dialog. Fixes #747054 2015-03-31 18:19:55 -03:00
Mukund Sivaraman
99789d252e file-jpeg: Initialize fields in case sscanf() assigns fewer of them 2014-10-28 09:54:20 +05:30
Michael Natterer
6c9181158e Bug 734655 - "Export Image As JPEG" settings are not remembered
Fix the number of expected fields when parsing the defaults parasite
so the saved settings are actually used. Spotted by Massimo.
2014-09-15 00:35:04 +02:00
Michael Natterer
08ffad9086 plug-ins: some gimp_spin_button_new() -> gtk_spin_button_new() 2014-06-22 00:26:59 +02:00
Mukund Sivaraman
8ef1f20c22 file-jpeg: Reduce use of #ifdefs 2014-05-15 13:41:21 +05:30
Mukund Sivaraman
c760829161 file-jpeg: Append to parasite fields 2014-05-15 01:38:58 +05:30
Mukund Sivaraman
080fd93d90 file-jpeg: Use state of toggle button with the event 2014-05-15 01:37:16 +05:30
Mukund Sivaraman
7a6b8f0e69 file-jpeg: Add support for arithmetic coding
Arithmetic coding is a feature of the JPEG standard. Although libjpeg
had always implemented arithmetic coding, it was compiled out by default
due to patents.

Those patents have now expired.

libjpeg 8 now enables arithmetic coding by default. Distributions which
use libjpeg < 8 can also support arithmetic coding by using the
appropriate CFLAGS to enable it. libjpeg-turbo 1.3.1 also has support
for arithmetic coding and is in popular shipping distributions.

Software such as jpegtran can losslessly convert Huffman compressed
images to arithmetic coding and vice versa. The lossy behavior of JPEG
does not happen at this (bit coding) layer of the format.

This initial patch provides a checkbox (disabled by default) to create
files which use arithmetic coding. It also has a tooltip warning that
such files may not be compatible with older decoders.
2014-05-15 00:57:42 +05:30
Michael Schumacher
8db3b4312d Global EXIF -> Exif string change (official spelling) 2013-10-29 22:48:46 +01:00
Michael Natterer
7752873add plug-ins: trust the TIFF's resolution over its metadata's resolution
This also sortof addresses bug #691231, but fixes the issue only
indirectly by not perferring the EXIF resolution.
2013-10-27 18:52:46 +01:00
Hartmut Kuhse
21bed1e2fb Completely rewrite metadata handling using gexiv2
Based on original patches from Hartmut Kuhse and modified
by Michael Natterer. Changes include:

- remove libexif dependency and add a hard dependency on gexiv2
- typedef GExiv2Metadata to GimpMetadata to avoid having to
  include gexiv2 globally
- add basic GimpMetadata handling functions to libgimpbase
- add image and image file specific metadata functions to libgimp,
  including the exif orientation image rotate dialog
- port plug-ins to use the new APIs
- port file-tiff-save's UI to GtkBuilder
- add new plug-in "metadata" to view the image's metadata
- keep metadata around as GimpImage member in the core
- update the image's metadata on image size, resolution and precision
  changes
- obsolete the old metadata parasites
- migrate the old parasites to new GimpMetadata object on XCF load
2013-10-27 01:02:17 +02:00
Michael Natterer
54ead10b57 plug-ins: simplify the file-jpeg file size displaying code
and display errors returned by g_file_query_info().
2013-10-12 18:53:03 +02:00
Michael Natterer
1f21a28770 Bug 703065 - Jpeg file size preview error is back
Use GIO to get the file size.
2013-10-05 00:14:14 +02:00
Massimo Valentini
bcc68763d6 file-jpeg: get data with alpha already stripped
otherwise the buffer allocated to locally ignore it
was smaller than necessary
2013-05-17 18:04:00 +02:00
Mukund Sivaraman
0ae7894f87 file-jpeg: Fix load/save for different precisions 2013-05-14 13:35:47 +05:30
Mukund Sivaraman
c4dcc517a4 file-jpeg: GEGL convert save functions 2013-05-13 12:25:32 +05:30
Mukund Sivaraman
51680fb987 file-jpeg: GEGL convert load functions
drawable_global doesn't seem to be used anywhere. This commit removes
it.
2013-05-13 11:42:10 +05:30
Massimo Valentini
ef5cd8d80a Bug 686379: In the JPEG save dialog, checking/unchecking XMP...
saving, don't update JPEG size
2012-10-22 18:26:05 +02:00
Massimo Valentini
cac0504f29 Bug 675981: Export as JPEG "save defaults" "load defaults" doesn't work
oversight
2012-05-18 17:20:52 +02:00
Michael Natterer
9781aa65ea Bug 658467 - Replace g_format_size_for_display() by g_format_size()
Use g_format_size() instead of g_format_size_for_display() because
the latter is deprecated.
2011-11-30 23:37:55 +01:00
Mukund Sivaraman
a7604f706d file-jpeg: Save and restore use_orig_quality 2011-09-30 18:31:28 +05:30
Mukund Sivaraman
aa2a876d22 file-jpeg: Rename load_save_defaults() to load_defaults() 2011-09-30 18:31:27 +05:30
Michael Natterer
dcb4c6e34a plug-ins: use gtk_box_new() 2011-09-30 12:18:24 +02:00
Mukund Sivaraman
536d6a527c file-jpeg: Create jpeg-exif.h and move EXIF protos to it 2011-09-18 07:21:30 +05:30
Mukund Sivaraman
2aae54226c build: Rename HAVE_EXIF define to HAVE_LIBEXIF 2011-09-18 07:04:44 +05:30
Mukund Sivaraman
0a20d9bdbd file-jpeg: Rename misnamed macros 2011-06-10 23:40:23 +05:30
Mukund Sivaraman
f3c395f9df file-jpeg: (save) Change default subsampling labels
This was discussed in #gimp. We change the default subsampling
labels to more easily understood ones ones for users of
graphics software.
2011-06-10 23:37:09 +05:30
Mukund Sivaraman
f03aef5a5e file-jpeg: (save) Change default restart MCU rows to 16
With a 1x1,1x1,1x1 interleave, this will result in a restart
marker every 128 rows of pixels, which is more suitable for a
default setting.
2011-06-10 23:34:44 +05:30
Mukund Sivaraman
4e0a48fabc file-jpeg: (save) Change the label for restart interval
This was discussed in #gimp. The old label was "Frequency (rows)"
which is misleading. This field is basically converted by libjpeg
to another value called a restart interval which is stored in a
JPEG file. The restart interval specifies after how many MCUs
the restart (syncronization) marker appears in the bitstream.
It is not easy to explain to a layperson what an MCU is.

The value in the dialog specifies after how many *MCU rows* the
restart marker appears. This is a libjpeg thing, and libjpeg
converts it to the restart interval.

I have merely renamed the text label of the field and PDB
description as the current text implies pixel rows which is not
the case.

A better alternative is to use the restart interval (in MCUs,
not MCU rows) as saved in the file itself, which more people
than users of libjpeg would understand. But even that setting
is not something that can easily be explained to a layperson.
2011-06-10 23:33:11 +05:30
Mukund Sivaraman
4b3a1c6680 file-jpeg: (save) Change default coding mode to progressive
This was discussed in #gimp. This would no longer result in strictly
baseline JPEGs, but progressive mode has been supported for about
a decade in browsers and libjpeg now.

Progressive mode brings two advantages: (1) Medium to large images get
decent space savings to due to coding of large sequences of
zero coefficients, and (2) The images load progressively in a browser
which leads to better user experience when viewing medium to large
images on a website.

Those who want strictly baseline have the option to turn it off.
2011-06-10 23:25:05 +05:30
Mukund Sivaraman
dd912b1cb9 file-jpeg: (save) Change default compression level to 90
This was discussed in #gimp. 90 is affordable as the default
in these days of large hard disks and broadband.
2011-06-10 23:16:51 +05:30
Mukund Sivaraman
24c88e0fcf file-jpeg: (save) Change default subsampling to best quality
This was discussed in #gimp. There is no reason to have the default
option throw away such image quality in these days of large hard disks
and broadband.
2011-06-10 23:15:43 +05:30
Michael Natterer
ab3fe10275 plug-ins: remove some more -Wunused-but-set-variable 2011-05-15 21:12:49 +02:00
Michael Natterer
bb6436cb44 libgimp: deprecate and rename the global pararasite functions
just as it was done for items and images. Remove the "parasite" PDB
group completely.
2011-03-08 14:31:04 +01:00
Michael Natterer
87646e9ace libgimp: deprecate and rename the image parasite functions
in exactly the way the drawable functios were turned into item ones.
2011-03-08 13:19:21 +01:00
Mukund Sivaraman
b072e75833 file-jpeg: Make cinfo struct static so asynchronous saves don't crash
The plug-in already makes a copy of the cinfo struct for asynchronous
save, but it seems that somewhere inside cinfo, a pointer points to
another region in this struct. So, everything is copied as-is, and
the pointer ends up pointing to somewhere in the save_image() stack
which is gone when that function returns.
2010-10-23 17:23:22 +05:30
Mukund Sivaraman
64ed52144a Update indentation 2010-10-23 00:39:03 +05:30
Mukund Sivaraman
4998863806 file-jpeg: Fix a crash when toggling settings in preview mode
This patch cancels the GSource for background_jpeg_save() and calls it
synchronously to free resources. Without this patch, multiple GSources
for background_jpeg_save() get setup and result in a crash.
2010-10-22 22:23:42 +05:30