aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2023-09-25 17:34:14 +0200
committermetamuffin <metamuffin@disroot.org>2023-09-25 17:34:14 +0200
commit95125ad3a02eb561a41d8b046876cc9a375feb8d (patch)
treebaef02d688eebc6f61cf33cf7f4f7bd92dd18051
parent31e89068a863375fced493716decde663b1fc4bd (diff)
downloadjellything-95125ad3a02eb561a41d8b046876cc9a375feb8d.tar
jellything-95125ad3a02eb561a41d8b046876cc9a375feb8d.tar.bz2
jellything-95125ad3a02eb561a41d8b046876cc9a375feb8d.tar.zst
idk, image-rs ist broken
-rw-r--r--transcoder/src/bin/reproduce_decode_error.rs11
-rw-r--r--transcoder/src/image.rs5
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()