Skip to content

Commit

Permalink
debug JPEG timing
Browse files Browse the repository at this point in the history
  • Loading branch information
SludgePhD committed Feb 12, 2023
1 parent 684350b commit af70822
Showing 1 changed file with 18 additions and 1 deletion.
19 changes: 18 additions & 1 deletion examples/jpeg-decode.rs
Original file line number Diff line number Diff line change
Expand Up @@ -54,16 +54,33 @@ fn main() -> anyhow::Result<()> {

let jpeg_info = JpegInfo::new(&jpeg)?;
let mut context = JpegDecodeSession::new(&display, jpeg_info.width(), jpeg_info.height())?;
for _ in 0..20 {
let mapping = context.decode(&jpeg)?;
let start = Instant::now();
let _data = mapping.to_vec();
log::trace!("copy from VABuffer took {:?}", start.elapsed());
}
let mapping = context.decode(&jpeg)?;

let decoded_data: Vec<_> = mapping
log::debug!("{} byte output", mapping.len());

let start = Instant::now();
let data = mapping.to_vec();
log::trace!("copy from VABuffer took {:?}", start.elapsed());
let start = Instant::now();
let data = data.to_vec();
log::trace!("vec copy took {:?}", start.elapsed());

let start = Instant::now();
let decoded_data: Vec<_> = data
.chunks(4)
.take(jpeg_info.width() as usize * jpeg_info.height() as usize) // ignore trailing padding bytes
.map(|pix| {
let [r, g, b, _a] = [pix[0], pix[1], pix[2], pix[3]].map(u32::from);
r << 16 | g << 8 | b
})
.collect();
log::trace!("conversion took {:?}", start.elapsed());

let mut show_control_data = false;
ev.run(move |event, _tgt, control_flow| {
Expand Down

0 comments on commit af70822

Please sign in to comment.