use edgefirst_codec::{DecodeOptions, ImageDecoder, ImageLoad};
use edgefirst_tensor::{PixelFormat, Tensor, TensorMemory};
fn main() {
let testdata = std::env::var("EDGEFIRST_TESTDATA_DIR")
.map(std::path::PathBuf::from)
.unwrap_or_else(|_| std::path::PathBuf::from("testdata"));
let jpeg = std::fs::read(testdata.join("zidane.jpg")).expect("testdata/zidane.jpg");
let mut tensor =
Tensor::<u8>::image(1920, 1080, PixelFormat::Rgb, Some(TensorMemory::Mem)).unwrap();
let mut decoder = ImageDecoder::new();
let opts = DecodeOptions::default()
.with_format(PixelFormat::Rgb)
.with_exif(false);
tensor.load_image(&mut decoder, &jpeg, &opts).unwrap();
eprintln!("=== HOT LOOP START ===");
for _ in 0..100 {
tensor.load_image(&mut decoder, &jpeg, &opts).unwrap();
}
eprintln!("=== HOT LOOP END ===");
eprintln!("100 decode iterations completed");
}