Commit Graph

105 Commits

Author SHA1 Message Date
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
cd68967b06 PLUGINS: Adds UI consistence to jpeg-save dialog. Fixes #747054 2015-03-31 18:19:55 -03:00
99789d252e file-jpeg: Initialize fields in case sscanf() assigns fewer of them 2014-10-28 09:54:20 +05:30
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
08ffad9086 plug-ins: some gimp_spin_button_new() -> gtk_spin_button_new() 2014-06-22 00:26:59 +02:00
8ef1f20c22 file-jpeg: Reduce use of #ifdefs 2014-05-15 13:41:21 +05:30
c760829161 file-jpeg: Append to parasite fields 2014-05-15 01:38:58 +05:30
080fd93d90 file-jpeg: Use state of toggle button with the event 2014-05-15 01:37:16 +05:30
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
8db3b4312d Global EXIF -> Exif string change (official spelling) 2013-10-29 22:48:46 +01:00
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
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
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
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
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
0ae7894f87 file-jpeg: Fix load/save for different precisions 2013-05-14 13:35:47 +05:30
c4dcc517a4 file-jpeg: GEGL convert save functions 2013-05-13 12:25:32 +05:30
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
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
cac0504f29 Bug 675981: Export as JPEG "save defaults" "load defaults" doesn't work
oversight
2012-05-18 17:20:52 +02:00
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
a7604f706d file-jpeg: Save and restore use_orig_quality 2011-09-30 18:31:28 +05:30
aa2a876d22 file-jpeg: Rename load_save_defaults() to load_defaults() 2011-09-30 18:31:27 +05:30
dcb4c6e34a plug-ins: use gtk_box_new() 2011-09-30 12:18:24 +02:00
536d6a527c file-jpeg: Create jpeg-exif.h and move EXIF protos to it 2011-09-18 07:21:30 +05:30
2aae54226c build: Rename HAVE_EXIF define to HAVE_LIBEXIF 2011-09-18 07:04:44 +05:30
0a20d9bdbd file-jpeg: Rename misnamed macros 2011-06-10 23:40:23 +05:30
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
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
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
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
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
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
ab3fe10275 plug-ins: remove some more -Wunused-but-set-variable 2011-05-15 21:12:49 +02:00
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
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
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
64ed52144a Update indentation 2010-10-23 00:39:03 +05:30
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
4fea27ec1d Bug 623169 - Memory leaks in GIMP
Add some missing g_free() and free() calls, found by cppcheck.
2010-07-15 21:42:36 +02:00
c6a2eaa5c4 plug-ins: use new item API instead of deprecated drawable API 2010-07-09 12:27:36 +02:00
d0fae3d338 Use gtk_adjustment_get_value() instead of adjustment->value 2009-10-09 21:19:09 +02:00
19fe919dce plug-ins: Port file plug-ins to new export API 2009-07-21 16:03:58 +02:00
e805cb0cf4 Use gtk_dialog_get_content_area() instead of dialog->vbox 2009-07-15 18:57:12 +02:00
4fa43f5bfd plug-ins/file-jpeg/jpeg-load.c (load_image) need to finish the progress
2009-03-07  Sven Neumann  <sven@gimp.org>

	* plug-ins/file-jpeg/jpeg-load.c (load_image)
	* plug-ins/file-jpeg/jpeg-save.c (save_image): need to finish 
the
	progress update.


svn path=/trunk/; revision=28118
2009-03-06 23:21:09 +00:00
d9b5207aa2 Change licence to GPLv3 (and to LGPLv3 for libgimp).
2009-01-17  Michael Natterer  <mitch@gimp.org>

	* all files with a GPL header and all COPYING files:

	Change licence to GPLv3 (and to LGPLv3 for libgimp).

	Cleaned up some copyright headers and regenerated the parsers in
	the ImageMap plugin.


svn path=/trunk/; revision=27913
2009-01-17 22:28:01 +00:00
477110a7a3 formatting
svn path=/trunk/; revision=27567
2008-11-06 16:34:02 +00:00
0800b7e3e9 fix memory leak
* plug-ins/file-jpeg/jpeg-save.c: fix memory leak

svn path=/trunk/; revision=27566
2008-11-06 15:56:58 +00:00
c8375c0113 Bug 559081 – JPEG Save dialog preview should adjust size units
2008-11-03  Sven Neumann  <sven@gimp.org>

	Bug 559081 – JPEG Save dialog preview should adjust size units

	* plug-ins/file-jpeg/jpeg-save.c: use 
g_format_size_for_display()
	to display the JPEG file size.


svn path=/trunk/; revision=27532
2008-11-03 16:39:20 +00:00
13110ea95d some cleanups to the subsampling code; in an attempt to fix bug #555031.
2008-10-04  Sven Neumann  <sven@gimp.org>

	* plug-ins/file-jpeg/jpeg-save.c: some cleanups to the 
subsampling
	code; in an attempt to fix bug #555031.


svn path=/trunk/; revision=27126
2008-10-04 21:12:14 +00:00