diff options
author | metamuffin <metamuffin@disroot.org> | 2023-09-25 17:34:14 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2023-09-25 17:34:14 +0200 |
commit | 95125ad3a02eb561a41d8b046876cc9a375feb8d (patch) | |
tree | baef02d688eebc6f61cf33cf7f4f7bd92dd18051 /transcoder | |
parent | 31e89068a863375fced493716decde663b1fc4bd (diff) | |
download | jellything-95125ad3a02eb561a41d8b046876cc9a375feb8d.tar jellything-95125ad3a02eb561a41d8b046876cc9a375feb8d.tar.bz2 jellything-95125ad3a02eb561a41d8b046876cc9a375feb8d.tar.zst |
idk, image-rs ist broken
Diffstat (limited to 'transcoder')
-rw-r--r-- | transcoder/src/bin/reproduce_decode_error.rs | 11 | ||||
-rw-r--r-- | transcoder/src/image.rs | 5 |
2 files changed, 14 insertions, 2 deletions
diff --git a/transcoder/src/bin/reproduce_decode_error.rs b/transcoder/src/bin/reproduce_decode_error.rs new file mode 100644 index 0000000..84fa6fd --- /dev/null +++ b/transcoder/src/bin/reproduce_decode_error.rs @@ -0,0 +1,11 @@ +use jellytranscoder::image::transcode; + +fn main() { + transcode( + jellycommon::AssetLocation::Cache(std::env::args().nth(2).unwrap().into()), + 1.0, + 1, + 1, + ) + .unwrap(); +} diff --git a/transcoder/src/image.rs b/transcoder/src/image.rs index 7ae2976..6da1be7 100644 --- a/transcoder/src/image.rs +++ b/transcoder/src/image.rs @@ -1,4 +1,5 @@ use anyhow::Context; +use image::{imageops::FilterType, ImageFormat}; use jellybase::{cache_file, AssetLocationExt}; use jellycommon::AssetLocation; use log::{debug, info}; @@ -26,7 +27,7 @@ pub fn transcode( // TODO shouldn't be neccessary with guessed format. let file = BufReader::new(File::open(&original_path).context("opening source")?); let mut reader = image::io::Reader::new(file); - reader.set_format(image::ImageFormat::Avif); + reader.set_format(ImageFormat::Avif); let reader = reader.with_guessed_format().context("guessing format")?; debug!("guessed format (or fallback): {:?}", reader.format()); let original = reader.decode().context("decoding image")?.to_rgba8(); @@ -34,7 +35,7 @@ pub fn transcode( &original, width as u32, width as u32 * original.height() / original.width(), - image::imageops::FilterType::Lanczos3, + FilterType::Lanczos3, ); let pixels = image.to_vec(); let encoded = ravif::Encoder::new() |