Jonathan Behrens

Results 621 comments of Jonathan Behrens

With `dyn Read` we'd want to avoid making lots of small `read_exact` calls. If anything, that's harder to avoid than frequent `consume` calls because they're trickier to aggregate. I sort...

> If somewhere a hundred `buf.read_exact(1)`, this is likely needs to be fixed. Uh, about that. Straightforward implementations of RLE decoding actually involve doing tons of tiny reads. Our HDR...

I think there's some tradeoffs involved in how to structure the leaf functions, particularly to minimize the amount of effort required to convert all our existing decoders. The ideal design...

Our current HDR decoder might be a good test case for possible designs. In particular, the [RLE decoding portion](https://github.com/image-rs/image/blob/83b70902aa0375f4b735361c616d6d784684216e/src/codecs/hdr/decoder.rs#L353) currently uses `read_exact` to decode pixel components and currently lacks any...

Fun fact: `BufReader` doesn't double-buffer if they are both constructed with default buffer size. The outer reader will issue 8 KB reads, and the inner reader will skip the buffer...

This is a breaking change, so at a minimum it would have to wait for our next major release. However, I'm also not sure whether this change is worthwhile. Switching...

We've been intermittently discussing a possible overhaul of the `GenericImage` trait [for at least five years](https://github.com/image-rs/image/issues/1118), so that alone doesn't need to block other progress. What is this PR trying...

For reference, this is how the spec recommends handling APNG errors: > APNG is designed to allow incremental display of frames before the entire datastream has been read. This implies...

Existing chunks should probably also be switched. Hyrum's Law is unfortunate, but given the lax behavior of other common decoders, I think we're decades late in preventing it.

Looks like the autovectorization for bpp 3 and bpp 6 still relies on `std::simd` to persuade rustc to load 4 or 8 bytes at a time? In that case, it...