Commit graph

3328 commits

Author SHA1 Message Date
Sergey "Shnatsel" Davidoff e502e48a3f Drop kamadak-exif as a dev-dependency 2024-10-15 17:15:17 +01:00
Sergey "Shnatsel" Davidoff fee5d444c7 Change orientation doc comment to use .orientation() instead of manual parsing with kamadak-exif 2024-10-15 17:14:54 +01:00
Andreas Molzer 3b106064dd
Merge pull request #2342 from image-rs/issue-2340
Optimize sampling for empty images
2024-10-12 15:47:46 +02:00
Andreas Molzer e62349b979
Address review, polish #2340 empty check 2024-10-12 15:26:11 +02:00
Vincent Prouillet 02a4928df9 Impl Hash for FilterType 2024-10-12 00:30:14 +01:00
Andreas Molzer 15b6e87c12
Optimize sampling for empty images
This is a tip of an iceberg of better sampling, but the most critical
case. Up-sampling in general may in the implementation allocate a larger
temporary buffer than its input. Of course this makes little semantic
sense here: after all, the actual information can not increase by this.

If one dimension increases while the other decreases the unfortunate
consequence is that callers may somewhat reasonably expect a small
buffer but internally will get a very large buffer. The approach of
swapping sampling orders accordingly (first down, then up) might address
the memory issue but is lossy.

So instead let's fix the most pressing issue: if no information was
present in the input, nothing can be lost and we can pretend to perform
everything by a very small intermediate image.
2024-10-11 22:20:45 +02:00
Andreas Molzer d4a0d26d4a
Merge pull request #2302 from torfmaster/feature/fast-blur
Fast Blur
2024-10-11 21:05:15 +02:00
Michael a373218826
make set_icc_profile function available (#2322) 2024-10-07 10:07:59 -07:00
Jonathan Behrens 8ecc99c633
Upgrade image-webp (#2339) 2024-10-06 14:00:22 -07:00
Jonathan Behrens 58922fb748
Add ImageDecoder::orientation method (#2328) 2024-10-06 12:02:36 -07:00
Jonathan Behrens 1bf7543c17
Clippy fixes (#2338) 2024-10-05 12:39:15 -07:00
Jonathan Behrens 236e07c74f
Update WebPDecoder doc comments (#2335) 2024-10-02 08:26:56 -07:00
Jamy 9489d7167f
Fix cargo deny warnings and errors (#2332) 2024-09-23 12:56:40 -07:00
Yuta Hinokuma 40940d2a33
Fixed the problem of Animated PNGs being decoded incorrectly (#2327) 2024-09-15 14:29:41 -07:00
Sergey "Shnatsel" Davidoff 2f7eb0ba79
Add Exif orientation example in a doc comment (#2326) 2024-09-14 11:30:33 -07:00
Sergey "Shnatsel" Davidoff 98ceb7197f
Merge pull request #2299 from Shnatsel/exif-rotation
Add a function to apply Exif rotation
2024-09-13 07:20:14 +01:00
Sergey "Shnatsel" Davidoff 6dad395b28 Link from Orientation struct to the function that applies it 2024-09-13 07:05:48 +01:00
Sergey "Shnatsel" Davidoff c461e99b5c Fix doclinks 2024-09-13 07:04:21 +01:00
Sergey "Shnatsel" Davidoff 005844dd86 Rename the module with Orientation struct to metadata 2024-09-13 06:56:20 +01:00
Sergey "Shnatsel" Davidoff 9c0d517dab Add a function to convert from Orientation to Exif values 2024-09-13 06:49:56 +01:00
Sergey "Shnatsel" Davidoff b4cb2d6e09 Fix erroneous exif conversion for value 7 2024-09-13 06:48:17 +01:00
Sergey "Shnatsel" Davidoff 6f41f720ba
Merge pull request #2301 from doc-E-brown/fix-broken-link
Fix broken ImageReader link
2024-09-12 10:42:35 +01:00
Sergey "Shnatsel" Davidoff 25bd5ebaf8 Fix incorrect doc comment 2024-09-12 10:41:13 +01:00
Sergey "Shnatsel" Davidoff 9d1a694917 Make apply_orientation infallible now that it accepts an enum 2024-09-09 05:50:28 +01:00
Sergey "Shnatsel" Davidoff 644b68e15b
Merge branch 'image-rs:main' into exif-rotation 2024-09-09 05:36:40 +01:00
Sergey "Shnatsel" Davidoff 873c410b24 Link to Clippy lint issue instead of just handwaving 2024-09-09 03:43:49 +01:00
Sergey "Shnatsel" Davidoff c3cec8cc1f Suppress Clippy false positive 2024-09-09 03:42:09 +01:00
Sergey "Shnatsel" Davidoff fad5aaaff5 Document apply_orientation as an alternative to non-in-place functions 2024-09-09 03:28:32 +01:00
Sergey "Shnatsel" Davidoff ecdf8f5960 Rename flip orientations to make them more explicit 2024-09-09 03:24:12 +01:00
Sergey "Shnatsel" Davidoff 92d2ec2912 Change doc comment following review comment 2024-09-09 03:22:12 +01:00
Sergey "Shnatsel" Davidoff 91f15b1643 Make newly added in-place transformation functions private 2024-09-09 03:20:06 +01:00
torfmaster e5672ff3b1 initial implementation of fast blur 2024-09-04 14:40:13 +02:00
Sergey "Shnatsel" Davidoff 4afe9572b5
Merge pull request #2319 from Shnatsel/webp-exif
Implement Exif metadata extraction for WebP
2024-09-01 22:21:04 +01:00
Sergey "Shnatsel" Davidoff d3a8acf29a Create a type to encode image orientation, accept it in the function for applying orientation 2024-09-01 22:19:19 +01:00
Sergey "Shnatsel" Davidoff 1431071cfa Implement Exif metadata extraction for WebP 2024-09-01 20:57:36 +01:00
Andreas Molzer c8d67ecc2a
Merge pull request #2314 from Shnatsel/document-webp-encoder-limitations
Document WebP encoder limitations
2024-08-26 22:55:00 +02:00
Sergey "Shnatsel" Davidoff 2b256bfb9a Document WebP encoder limitations 2024-08-26 17:23:54 +01:00
Sergey "Shnatsel" Davidoff a80464711d
Expose zune-jpeg's Exif chunk extraction (#2291) 2024-08-25 21:17:30 -07:00
Raphael Höser 6d19ffa727 chore: fix link to README.md
The docs link to README.md still linked to the master branch, which leads to a warning by GitHub about the branch being renamed to main when opening it.
2024-08-24 14:35:07 +01:00
Kornel 1cb80afbc8 Bump ravif/rgb 2024-08-18 21:05:27 +01:00
Andreas Molzer 285496d4fa
Merge pull request #2305 from kornelski/rayon-pub
Mark rayon as a public dependency
2024-08-14 10:04:52 +02:00
Kornel 7a9937e483
Clippy 2024-08-14 01:55:20 +01:00
Kornel 18f5d562f9
Mark rayon as a public dependency 2024-08-14 00:03:58 +01:00
Ben Johnston 631390d15c
Fix broken ImageReader link 2024-08-02 11:53:00 +10:00
Sergey "Shnatsel" Davidoff fb1ccafdc7 Do not promise to implement complex algorithms that aren't currently planned 2024-07-30 21:49:33 +01:00
Sergey "Shnatsel" Davidoff a799736155 Add a function to apply Exif rotation 2024-07-30 15:36:16 +01:00
Sergey "Shnatsel" Davidoff f8cea836ff Add in-place flips to DynamicImage 2024-07-27 11:45:39 +01:00
Sergey "Shnatsel" Davidoff da93b9de2e Doc comment: when rotating 180 degrees, direction doesn't matter 2024-07-27 11:42:53 +01:00
Sergey "Shnatsel" Davidoff d9b45171c2 Add in-place 180 degree rotation to DynamicImage 2024-07-27 11:41:57 +01:00
Andreas Molzer e176cd414a
Merge pull request #2287 from image-rs/2024-07-21-cleanup-clippy
Some checks failed
Rust CI / rustfmt (push) Has been cancelled
Rust CI / build_benchmarks (push) Has been cancelled
Rust CI / public_private_dependencies (push) Has been cancelled
Rust CI / Fuzz targets (cargo-fuzz) (push) Has been cancelled
Rust CI / Fuzz targets (afl) (push) Has been cancelled
Rust CI / clippy (push) Has been cancelled
Rust CI / test_avif_decoding (push) Has been cancelled
Rust CI / test_other_archs (powerpc-unknown-linux-gnu) (push) Has been cancelled
Rust CI / test_other_archs (i686-unknown-linux-gnu) (push) Has been cancelled
Rust CI / test_toolchains (nightly) (push) Has been cancelled
Rust CI / test_toolchains (beta) (push) Has been cancelled
Rust CI / test_toolchains (1.67.1) (push) Has been cancelled
Rust CI / test_features (webp) (push) Has been cancelled
Rust CI / test_features (tiff) (push) Has been cancelled
Rust CI / test_features (tga) (push) Has been cancelled
Rust CI / test_features (rayon) (push) Has been cancelled
Rust CI / test_features (qoi) (push) Has been cancelled
Rust CI / test_features (pnm) (push) Has been cancelled
Rust CI / test_features (png) (push) Has been cancelled
Rust CI / test_features (jpeg) (push) Has been cancelled
Rust CI / test_features (ico) (push) Has been cancelled
Rust CI / test_features (hdr) (push) Has been cancelled
Rust CI / test_features (gif) (push) Has been cancelled
Rust CI / test_features (ff) (push) Has been cancelled
Rust CI / test_features (exr) (push) Has been cancelled
Rust CI / test_features (default) (push) Has been cancelled
Rust CI / test_features (dds) (push) Has been cancelled
Rust CI / test_features (bmp) (push) Has been cancelled
Rust CI / test_features (avif) (push) Has been cancelled
Rust CI / test_features () (push) Has been cancelled
Fix clippy lint in test suite
2024-07-21 21:13:42 +02:00