Commit Graph

539 Commits

Author SHA1 Message Date
1e8fe1411b benchmark-io: ignore GdkPixbuf errors
Measuring up against that library is no longer that interesting.
2023-06-08 18:59:20 +02:00
274c5f6f66 benchmark-io: fix URI passing
g_filename_to_uri() doesn't support relative paths.
2023-06-08 18:59:20 +02:00
de377d3eae Move the image load benchmark under tools 2023-06-08 18:59:20 +02:00
34388b93ea info: decode JPEGs from all CR2 IFDs 2023-06-08 18:59:19 +02:00
7dda3bd1ed Make it possible to switch off our TIFF/EP loader
Slightly repurpose the "enhance" toggle, which doesn't particularly
make sense to run on a thumbnail.
2023-06-08 12:17:43 +02:00
a3a5eb33cf Unify non/enhanced JPEG loading code
And in so doing, add missing warning redirection to JPEG Quant Smooth,
as well as downscaling.

We still heavily depend on libjpeg-turbo.
2023-06-08 09:47:55 +02:00
ee202ca28b Fix enhancement of CMYK JPEGs
The conversion to RGB was done twice.
2023-06-07 21:57:51 +02:00
04db6ed6a1 Slightly clean up colour management
SVGs are now semi-managed.
2023-06-06 18:08:47 +02:00
d6e79cf976 With newer Little CMS, colour manage ARGB surfaces 2023-06-06 13:01:38 +02:00
6cc4ca1f44 Use Little CMS's alpha premultiplication feature
And do a little cleanup.
2023-06-06 12:20:03 +02:00
1c25cb411f Fix the remaining case in file renames monitoring 2023-06-06 08:31:29 +02:00
399c4bdf69 info: decode WebP dimensions 2023-06-05 21:04:24 +02:00
a9b34ca3f2 Unite most info tools into just one binary
Turn this into more of an fq alternative, when used with jq.

Also don't say that TIFF files are Exif.
2023-06-05 18:11:37 +02:00
bd92ad73ec rawinfo: add output dimensions and PAR 2023-06-05 15:42:38 +02:00
b3bc481172 rawinfo: descend into JPEG thumbnails 2023-06-05 15:42:38 +02:00
a3745df84b Fix monitoring of file renames 2023-06-05 15:42:38 +02:00
cc59e537da Update meson invocation to avoid warnings 2023-06-04 17:15:37 +02:00
338ae69121 Add support for the Little CMS fast float plugin
On a sample of JPEGs, it improved loading speed from ~0.26s to ~0.15s.

Unfortunately, it isn't normally installed.
2023-06-04 16:16:52 +02:00
1c61fcc5bc Move git submodules to a subdirectory 2023-06-04 12:57:47 +02:00
dd1d6647dc Shuffle code around 2023-06-04 12:10:36 +02:00
abf4f1a792 Convert to strictly non-unique GtkApplication
It's not pretty, but it works.
2023-06-04 12:10:36 +02:00
6a7c86a41b Remove a macOS rendering bug workaround
Most important Cairo bugs seem to have been fixed recently.
2023-06-04 12:10:35 +02:00
6277a32fe6 Avoid invisible browser entries 2023-06-04 10:36:42 +02:00
8f0576d6bc Update runtime dependencies 2023-06-03 21:36:45 +02:00
f56c40cf00 Update sidebar entries on change automatically
This makes it more consistent.
2023-06-02 07:44:42 +02:00
28a1237d62 Slightly optimize file monitoring event handling 2023-06-01 20:58:16 +02:00
4c8df56193 Distinguish removed files more prettily
It's still somewhat bad, but at least no longer ridiculous.
2023-06-01 19:11:20 +02:00
200485246b Process some GFileMonitor events
So far, it's rather crude.
2023-05-31 18:39:14 +02:00
2caebb7d19 Fix crash when right-clicking removed files 2023-05-31 14:46:06 +02:00
9d9d538fe6 Add trashing to file context menus 2023-05-30 10:20:09 +02:00
3bdffd03db tools: decode TIFF XMP fields as UTF-8
This is more space-efficient than an array of ASCII codepoints.

Perhaps more fields would make good use of specialized decoders,
just this one made listings particularly annoying to deal with,
and it may additionaly contain important metadata.
2023-05-28 11:06:44 +02:00
a710692725 Clean up namespace pollution 2023-05-28 10:13:04 +02:00
859736e5be Move FivIoModel to its own compilation unit 2023-05-28 09:33:03 +02:00
d5b2e43364 Clean up 2023-05-28 08:50:46 +02:00
33251eaca7 Load MPF images as pages 2023-05-28 08:12:37 +02:00
63311644da Move MPF constants and table to tiff-tables.db 2023-05-28 08:12:36 +02:00
8668e85623 Make MPF parsing a bit safer 2023-05-28 08:12:27 +02:00
902eaf5a01 Make TIFF parsing a bit safer
At least on 64-bit systems, 32-bit may still have holes.
2023-05-28 08:12:22 +02:00
df7c7b9f6b Fix build without tools 2023-05-26 15:50:54 +02:00
bb4b895cb5 Extract some full-size raw previews without LibRaw
Not all image/x-nikon-nef will work like this,
so don't claim their MIME type.
2023-05-26 15:32:34 +02:00
0f1c61ae33 Extract all raw subimages as pages
And add missing colour management.
2023-05-26 13:30:22 +02:00
0359ddf99f Add a tool to extract LibRaw file information 2023-05-26 13:30:22 +02:00
a93fc3f88d Make TIFF and JPEG info extractors co-recursive 2023-05-24 06:18:14 +02:00
d70aedffa8 Slightly expand TIFF tables 2023-05-24 06:07:38 +02:00
dba728e0c4 Improve TIFF handling within tools
Nikon NEFs violate TIFF Tech Note 1, and it is easy to detect.

Also guard against more pointer overflows, and fix a temporary array
being used outside of its scope (found by a compiler).
2023-05-22 20:56:28 +02:00
544722f8e0 Try not to thumbnail FIFOs
Unless there is a writer, this may block forever.

And if there is one, we're somewhat likely to break something.
2023-05-21 23:31:41 +02:00
00110a639a Avoid use of NULL picture data pointers
The sanitizer would scream, and LibRaw would rather confusingly
return I/O errors.
2023-05-21 23:31:41 +02:00
5af36f4954 Fix raw image thumbnailing speed regression
LibRaw started returning the largest possible thumbnail,
which in the case of NEFs may be a nearly full-scale image.
2023-05-21 23:31:34 +02:00
ac72a72afc Mildly optimize raw image handling
Don't claim an alpha channel when we don't use it.
2023-05-21 22:56:29 +02:00
a6560509d9 Revise documentation and help output
Split out clearly internal options.
2023-04-17 07:20:07 +02:00