use edgefirst_codec::{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::Nv12,
Some(TensorMemory::Mem),
edgefirst_tensor::CpuAccess::Write,
)
.unwrap();
let mut decoder = ImageDecoder::new();
tensor.load_image(&mut decoder, &jpeg).unwrap();
eprintln!("=== HOT LOOP START ===");
for _ in 0..100 {
tensor.load_image(&mut decoder, &jpeg).unwrap();
}
eprintln!("=== HOT LOOP END ===");
eprintln!("100 decode iterations completed");
}