Commit graph

24 commits

Author SHA1 Message Date
Skal
741a659a12 webpmux: fix memory leak by calling WebPMuxDelete()
(cherry picked from commit e9200d2c00)
2018-12-07 00:51:13 +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
147c09f19e Bug 795161 - Misc. typo fixes in source comments and doxygen
Found via `codespell`
Follow-up to  commit 7fdb963e01
2018-04-18 21:06:57 +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
317f7fa5ca Bug 791514 - Cannot export to webp file.
fopen() modes "wb+" and "w+b" are aliases of the same opening mode
(truncate/create in binary read/write). But it turns out that Windows
implementation does not understand "wb+". The alias "w+b" works fine in
my tests.
2017-12-22 19:25:11 +01:00
Jehan
10d80a6ced plug-ins: try to get more human-readable information on why g_fopen()...
... failed.
See bug 791514. It seems that the file opening fails for webp exporting,
but the error string is not informative enough.
As a general rule, we should have as informative errors as possible.
2017-12-17 16:47:00 +01:00
Pascal Massimino
136ef67b64 Bug 775026 - webp-save: expose more saving options in the UI
webp-save: Add UI elements for 'minimize size' toggle, and a dependent
'max key-frame distance' setting.
* If 'minimize size' is active, max-kf is disabled (which is equivalent to
  setting it to infinity). Key-frame cost file size, that's why.
* If 'minimize size' is disabled, you get to choose how far key-frames
  (=cue points) will be inserted at max.
2016-11-26 00:55:19 +01:00
Jehan
c5edf05cf0 plug-ins: code cleaning and improved error handling.
- WebPPictureImportRGB(A)() docs say these functions return "false in
  case of memory error". Handle such cases.
- status was not updated when WebPEncode() would fail in save_layer().
- gegl_buffer_flush() is unnecessary just before last unref-ing GEGL
  buffers. This is done automatically at destruction.
- Destroy resources at the same level as they were created if possible.
  This makes the code more readable and maintainable. Consequently
  better not unref parameter GEGL buffers inside combine_buffers().
- Some minor formatting cleanup.
2016-11-23 20:13:13 +01:00
Pascal Massimino
4f67b16dad Bug 774472 - animated-webp: saved layers are not alpha-composited before compression
when saving as animated-webp, use Gegl:over to composite current layer
with the previous frame if needed.
2016-11-23 20:13:13 +01:00
Michael Natterer
700da2a0f8 plug-ins: re-apply some of Jehan's cleanups 2016-11-15 00:25:20 +01:00
Pascal Massimino
1afa322c57 Bug 773450 - Animated WEBP images should be able to set frame delay...
...in the export dialog

- change the *preset field to a proper enum
- clean-up some code related to preset
- change the UI dialogs to use a GimpIntComboBox
- misc style fixes
- quite modified by mitch to be much less code
2016-11-15 00:23:25 +01:00
Michael Natterer
f57a61cdbf Revert "Bug 773450 - Animated WEBP images should be able to set frame delay.."
This reverts commit 9ac455f4ad.
2016-11-15 00:23:15 +01:00
Michael Natterer
d9da211f9d Revert "plug-ins: various fixes and nitpicking to file-webp."
This reverts commit 58e6f6ca35.

Sorry, I have a patch that gets rid of most code from the original patch.
Will re-apply some of your cleanups later.
2016-11-15 00:22:30 +01:00
Jehan
58e6f6ca35 plug-ins: various fixes and nitpicking to file-webp.
- get_preset_from_id() was defined in file-webp-dialog.c but used in
  file-webp.c only. Move it there.
- Make the preset list available in file-webp-save.h header (since it
  is specifically an encoder attribute) as static, because it is used
  both in the dialog ("preset" choice list) and the main file (for match
  of the "preset" parameter as internal ID to a WebPPreset when run as
  non-interactive).
- Generate the "preset" parameter description from the preset list.
  This way, even if this list were to change (in some hypothetical
  future), the description (and in particular the list of possible
  values and their int match) won't end up wrong.
- "enum WebPPreset" is typedef-ed to "WebPPreset".
- Use G_N_ELEMENTS to compute length of arrays on the stack (equivalent
  to the current code but shorter and simpler to read).
- Many formatting fixes.
2016-11-14 23:50:26 +01:00
Pascal Massimino
9ac455f4ad Bug 773450 - Animated WEBP images should be able to set frame delay..
- change the *preset field to a proper enum
- clean-up some code related to preset
- change the UI dialogs to use a GimpIntComboBox.
- misc style fixes
2016-11-14 23:50:26 +01:00
Jehan
8fdee80ff8 plug-ins: clean and fix webp export.
- Default parameters must be set before gimp_get_data(). Otherwise
  when you export the first time, you end up with broken defaults
  (basically everything to 0, in particular a problem with quality
  values of 0 which makes an export failure).
- Some minor formatting here and there and an unused variable.
2016-11-08 01:39:32 +01:00
Pascal Massimino
d516f9bef8 Bug 773450 - Animated WEBP images should be able to set frame delay.
animated webp saving: parse time-stamp from layer_name (instead of using
default value of '100')

also:
- add a default delay field to UI, in case time-stamps are not present.
- add a 'force delay' checkbox
- revamp the whole UI to look like the GIF saving UI.
2016-11-08 01:32:49 +01:00
Pascal Massimino
26a6a39b6b fix animation layer order when saving as webp 2016-10-25 16:43:01 +02:00
Pascal Massimino
342c602546 Bug 771012 - Improve WebP animation-saving
WebP saving: various improvements in file-webp-save.c

- reorganizes the main loop
- fixes (temporarily) the bad timestamp by using fixed 100ms delay between frames
- fixes the progress bar
- takes care of resource clean-up for some previously unchecked error paths
- uses 'minimize_size' and 'allow_mixed' options more appropriately
- only remuxes the final bytestream when ICC profile is present. For
  most common case, we insert the loop-count information during muxer
  creation instead of by remuxing at the end.
2016-09-11 20:36:43 +02:00
Michael Natterer
e4ecba584a plug-ins: lots of cleanup and fixes in file-webp
- handle all sorts of image types, gegl_buffer_get() will convert to u8
- specify GIMP_EXPORT_CAN_HANDLE_LAYERS_AS_ANIMATION
- modify the export duplicate, not the original image
- fix handling of the drawable type and only save "R'G'B'A u8"
  or "R'G'B' u8", fixes bug 770664.
- completely redo run(SAVE_PROC) to deal with export correctly
- turn global variables into the standard SAVE_PROC, PLUG_IN_BINARY etc
  defines
- simplify the save dialog
2016-09-04 17:57:52 +02:00
Benoit Touchette
05e4c5fe28 Bug 769871 - Adds selection to save exif/xmp when exporting a webp file.
This adds an expander to the webp file plug-in  to select whether
to save or not the exif, and xmp data for webp files. This harmonizes
the plug-in with a similar option to the jpg/png file plug-ins.

https://bugzilla.gnome.org/show_bug.cgi?id=769871
2016-08-16 16:49:57 -04:00
Benoit Touchette
7663ff289f plugin: fix for errors during export of webp animation with file-webp plugin
This fixes an error during export of webp animations when the layer is size smaller than the image size.

https://bugzilla.gnome.org/show_bug.cgi?id=769872
2016-08-16 16:34:09 -04:00
Michael Natterer
f2ff74c08c plug-ins: cleanup in file-webp, mostly simplify the save dialog 2016-08-10 21:49:23 +02:00
Benoit Touchette
c1021a3e3a Bug 769651 - Add webp file format support to gimp master
Patch to add webp file format support. Includes supports for
loading/saving, icc profiles, exif, and xmp data.
Co-authored with Nathan Osman.
2016-08-09 21:21:52 +02:00