Commit Graph

57 Commits

Author SHA1 Message Date
Přemysl Eric Janouch 72bf913f3d
Add a tool to find hot pixels
It works well for my Nikon.

Note that hot pixels can be eliminated in the camera itself,
when you run sensor cleaning immediately after a very long exposure
of darkness.
2023-10-17 15:31:55 +02:00
Přemysl Eric Janouch add96b37a6
Stop abusing Cairo user data, part 1
This commit temporarily breaks multi-page images and animations.
2023-06-24 13:56:36 +02:00
Přemysl Eric Janouch 1e8fe1411b
benchmark-io: ignore GdkPixbuf errors
Measuring up against that library is no longer that interesting.
2023-06-08 18:59:20 +02:00
Přemysl Eric Janouch 274c5f6f66
benchmark-io: fix URI passing
g_filename_to_uri() doesn't support relative paths.
2023-06-08 18:59:20 +02:00
Přemysl Eric Janouch de377d3eae
Move the image load benchmark under tools 2023-06-08 18:59:20 +02:00
Přemysl Eric Janouch 34388b93ea
info: decode JPEGs from all CR2 IFDs 2023-06-08 18:59:19 +02:00
Přemysl Eric Janouch 399c4bdf69
info: decode WebP dimensions 2023-06-05 21:04:24 +02:00
Přemysl Eric Janouch 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
Přemysl Eric Janouch bd92ad73ec
rawinfo: add output dimensions and PAR 2023-06-05 15:42:38 +02:00
Přemysl Eric Janouch b3bc481172
rawinfo: descend into JPEG thumbnails 2023-06-05 15:42:38 +02:00
Přemysl Eric Janouch 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
Přemysl Eric Janouch a710692725
Clean up namespace pollution 2023-05-28 10:13:04 +02:00
Přemysl Eric Janouch 33251eaca7
Load MPF images as pages 2023-05-28 08:12:37 +02:00
Přemysl Eric Janouch 63311644da
Move MPF constants and table to tiff-tables.db 2023-05-28 08:12:36 +02:00
Přemysl Eric Janouch 8668e85623
Make MPF parsing a bit safer 2023-05-28 08:12:27 +02:00
Přemysl Eric Janouch 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
Přemysl Eric Janouch 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
Přemysl Eric Janouch 0359ddf99f
Add a tool to extract LibRaw file information 2023-05-26 13:30:22 +02:00
Přemysl Eric Janouch a93fc3f88d
Make TIFF and JPEG info extractors co-recursive 2023-05-24 06:18:14 +02:00
Přemysl Eric Janouch 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
Přemysl Eric Janouch 81145064de
Generate TIFF structs/enums from a text file
This is to make the tables much easier to maintain.
2022-06-10 02:18:14 +02:00
Přemysl Eric Janouch 60a8ee7a80
Build tools with Meson as well 2022-06-10 02:08:56 +02:00
Přemysl Eric Janouch c3a098c503
Add very basic XMP support 2021-12-16 00:29:12 +01:00
Přemysl Eric Janouch 4d8165d790
Add some WebP notes 2021-12-15 06:15:41 +01:00
Přemysl Eric Janouch 18f7607e1b
Add a most basic tool to inspect ISO BMFF files
This can be massively extended.
2021-12-14 01:22:51 +01:00
Přemysl Eric Janouch 1478a9f83f
Add a tool to extract information from WebP 2021-12-13 19:05:23 +01:00
Přemysl Eric Janouch 9eb9cc44aa
Clean up 2021-12-13 19:05:23 +01:00
Přemysl Eric Janouch e161f77359
Recognize a few more tactical TIFF tags 2021-12-13 02:12:41 +01:00
Přemysl Eric Janouch 121c63e35e
Add a basic tiffinfo utility
Also fix a few TIFF-related issues.
2021-12-12 00:22:20 +01:00
Přemysl Eric Janouch 5f4090aaee
pnginfo: extract some ImageMagick profiles 2021-12-10 19:08:37 +01:00
Přemysl Eric Janouch fa15707d9b
pnginfo: extract eXIf chunk data 2021-12-10 17:23:26 +01:00
Přemysl Eric Janouch 16c6766e79
jpeginfo: update comment 2021-12-07 10:21:21 +01:00
Přemysl Eric Janouch 3fe2f60a19
jpeginfo: clean up MPF 2021-12-06 20:54:25 +01:00
Přemysl Eric Janouch a519a5dec6
jpeginfo: describe Photoshop records 2021-12-06 19:00:00 +01:00
Přemysl Eric Janouch 8e2958051d
jpeginfo: mostly finish Exif decoding
Diminishing returns and all.
2021-12-05 16:11:41 +01:00
Přemysl Eric Janouch 1ae803a62e
jpeginfo: decode the main Exif subIFD 2021-12-05 14:06:14 +01:00
Přemysl Eric Janouch 55d8fdebf1
jpeginfo: review and update TIFF 2021-12-05 11:54:11 +01:00
Přemysl Eric Janouch e2bdda77a3
jpeginfo: decode MPF MPEntry 2021-12-05 10:23:25 +01:00
Přemysl Eric Janouch bac9cd24fc
jpeginfo: clean up
No more -Wunused-function warnings.
2021-12-04 10:32:32 +01:00
Přemysl Eric Janouch 7cb2879c03
jpeginfo: trivially decode Multi-Picture Format 2021-12-04 09:34:14 +01:00
Přemysl Eric Janouch 68009c1d3e
jpeginfo: descend into Exif IFDs 2021-12-04 07:04:34 +01:00
Přemysl Eric Janouch 5d659d208c
jpeginfo: parse all numeric TIFF values 2021-12-04 06:52:25 +01:00
Přemysl Eric Janouch 4d9236336c
jpeginfo: parse TIFF UNDEFINED values 2021-12-04 06:52:25 +01:00
Přemysl Eric Janouch 4cbf9239ee
jpeginfo: decode more TIFF tags and values 2021-12-04 06:04:33 +01:00
Přemysl Eric Janouch 64d2f902f2
jpeginfo: fix a typo from the TIFF 6.0 spec 2021-12-04 06:04:29 +01:00
Přemysl Eric Janouch 15f57a079e
jpeginfo: decode some TIFF/Exif values 2021-12-03 15:54:02 +01:00
Přemysl Eric Janouch 06779c6bdd
jpeginfo: decode basic TIFF tag names 2021-12-03 14:57:55 +01:00
Přemysl Eric Janouch 46c46ac093
jpeginfo: clean up 2021-12-03 14:19:48 +01:00
Přemysl Eric Janouch 38427ff88e
jpeginfo: add a basic TIFF/Exif parser 2021-12-03 13:10:52 +01:00
Přemysl Eric Janouch 24de9aee53
jpeginfo: multisegment Exif, rough PSIR 2021-12-03 10:49:14 +01:00