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
3ed23e423b
Add pedantic WebP dimensions overflow checking
2021-12-12 23:39:36 +01:00
Přemysl Eric Janouch
6c7d431e35
Finish WebP support with animations
2021-12-12 23:35:31 +01:00
Přemysl Eric Janouch
006e547deb
Read out Exif and ICC profiles from WebP
2021-12-12 21:31:30 +01:00
Přemysl Eric Janouch
caca14036c
Add preliminary direct support for WebP
2021-12-12 19:15:34 +01:00
Přemysl Eric Janouch
b868e76a15
Ignore libjpeg-turbo warnings
2021-12-12 01:27:53 +01:00
Přemysl Eric Janouch
2147dba8c4
Add a comment about TIFF/EP vs libtiff
2021-12-12 00:22:21 +01:00
Přemysl Eric Janouch
1bd5cb02e7
Extract HEIF auxiliary subimages
2021-12-11 17:09:39 +01:00
Přemysl Eric Janouch
1cbd0141a1
Clean up
2021-12-11 17:09:39 +01:00
Přemysl Eric Janouch
7e92011ab2
Extract the ICC profile and Exif data from HEIC
2021-12-11 16:11:26 +01:00
Přemysl Eric Janouch
ac70c7724b
Add preliminary HEIF/AVIF support
...
The gdk-pixbuf plugin does not work here, for whatever reason.
Moreover, close integration exposes higher bit depths, metadata,
and auxiliary images.
The library is awful and copylefted, but it's the only reasonable
thing that works.
2021-12-11 16:11: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
a31b08a2d1
RAW -> raw photos
2021-12-02 13:01:31 +01:00
Přemysl Eric Janouch
0d9cb78f03
Force sanitizers for debug builds
2021-11-30 22:53:01 +01:00
Přemysl Eric Janouch
33f24fa184
Update comments
2021-11-28 19:15:38 +01:00
Přemysl Eric Janouch
6fc5d7a3d7
Improve Wuffs animation loading
2021-11-28 19:09:33 +01:00
Přemysl Eric Janouch
d930b2b245
Get ICC profile and orientation from libtiff
...
Pain has been outsourced to someone from the past,
I just blindly trust the orientation mapping.
2021-11-28 03:39:36 +01:00
Přemysl Eric Janouch
666bfc0759
Support using libtiff directly
...
Multiple directories are read as multiple pages.
The error handling is mildly questionable, as is libtiff.
2021-11-28 02:20:23 +01:00
Přemysl Eric Janouch
c39ac1a9da
Enable viewing all X11 cursor sizes
2021-11-27 18:59:05 +01:00
Přemysl Eric Janouch
085f2d7eef
Use GFile a bit more
2021-11-27 02:34:24 +01:00
Přemysl Eric Janouch
174896d3e6
Nullify a concern
2021-11-26 22:28:43 +01:00
Přemysl Eric Janouch
6c089eb1d2
Support CMYK JPEGs on big endian
2021-11-26 22:28:42 +01:00
Přemysl Eric Janouch
18e96d8c9d
Allow frame iteration in both directions
2021-11-26 20:54:41 +01:00
Přemysl Eric Janouch
dd8461cebf
Parse out Exif orientation
2021-11-26 17:00:36 +01:00
Přemysl Eric Janouch
bafad1a67e
Add a function to decode TIFF/Exif Orientation
2021-11-26 03:16:41 +01:00
Přemysl Eric Janouch
a5f64b1a65
Extract ICC profiles from gdk-pixbuf
2021-11-26 00:46:19 +01:00
Přemysl Eric Janouch
f151fcb72b
Extract all frames from GIF/APNG animations
...
So far none of the surface userdata is used.
2021-11-25 16:56:42 +01:00
Přemysl Eric Janouch
1d2f6243e0
Extract Exif and ICC profiles from Wuffs
2021-11-25 01:54:40 +01:00
Přemysl Eric Janouch
2ea2178724
Read Exif and ICC profile metadata from JPEGs
2021-11-24 20:08:15 +01:00
Přemysl Eric Janouch
1c57eef05a
Sort files in the browser as well
2021-11-21 21:07:51 +01:00
Přemysl Eric Janouch
5fea2245f1
Remove insanity
2021-11-21 20:47:07 +01:00
Přemysl Eric Janouch
2b17ed838a
Add ability to use different thumbnail sizes
2021-11-21 20:19:25 +01:00
Přemysl Eric Janouch
06af1a3cc9
Add a command line option to list supported types
...
Make it work without a display connection.
2021-11-18 12:46:05 +01:00
Přemysl Eric Janouch
e045a35437
Fix loading of opaque GIFs
2021-11-18 10:37:47 +01:00
Přemysl Eric Janouch
db7a28b187
Add support for opening Xcursor files
...
Sadly, they don't have a canonical extension, and they don't show up
in the browser. We might want to employ some level of sniffing.
The first 16 bytes are enough to identify a lot.
2021-11-17 13:49:15 +01:00
Přemysl Eric Janouch
9bebb0a3fe
Make this work at all in macOS/Homebrew
2021-11-16 08:51:29 +01:00
Přemysl Eric Janouch
11b7969459
Support opaque 16-bit images as RGB30 with Wuffs
...
Do not check whether the window's visual can make use of them,
since they're arguably rare enough.
With transparent images, we're limited by Cairo's formats.
2021-11-15 14:21:22 +01:00
Přemysl Eric Janouch
e835c889a1
Don't use a side buffer to load thumbnails
...
Undoing part of a recent commit.
2021-11-15 10:30:02 +01:00
Přemysl Eric Janouch
6f86911df6
Slightly optimize thumbnail loading
...
Now it translates to just x86 bswap and ror.
2021-11-15 09:47:00 +01:00
Přemysl Eric Janouch
d20c6469c0
Clean up
2021-11-13 09:06:01 +01:00
Přemysl Eric Janouch
21b110a7d6
Use spng to load thumbnails
...
Speed matters here, and this makes us about 20 percent faster
at loading large directories.
Moreover, libpng's PNG_ALPHA_BROKEN is indeed broken.
Thumbnails have a fairly fixed format, so there are very few practical
corner cases that could have been missed.
2021-11-12 11:45:34 +01:00
Přemysl Eric Janouch
062b5757da
Update comments
2021-11-12 11:45:34 +01:00
Přemysl Eric Janouch
192698b7bd
Add support for defaulting to gdk-pixbuf
2021-11-10 21:34:15 +01:00
Přemysl Eric Janouch
ffda836a15
Also render SVGs with unspecified dimensions
2021-11-10 01:04:00 +01:00
Přemysl Eric Janouch
7ef4a06def
Improve librsvg integration
...
Let it load external <image>s and not rescale images.
2021-11-10 00:46:19 +01:00
Přemysl Eric Janouch
1c5cc50939
Add very basic SVG support
...
We need to refactor, so that SVGs are pre-rendered on each change
of scaling by librsvg directly, because some elements may be rasterized.
It would be best to also support building against resvg.
2021-11-10 00:23:19 +01:00
Přemysl Eric Janouch
c8df325c70
Split out xdg.{c,h}
2021-11-01 05:17:26 +01:00
Přemysl Eric Janouch
6eecee6b91
Incorporate most clang-format changes
2021-11-01 05:17:26 +01:00
Přemysl Eric Janouch
ab283d3988
Split out fastiv-io.h, move media types list
2021-11-01 05:17:26 +01:00