etemesi254 / zune-image

A fast and memory efficient image library in Rust
Other
311 stars 30 forks source link

Opt-in `std::simd` support in zune-jpeg #222

Open Shnatsel opened 1 month ago

Shnatsel commented 1 month ago

The std::simd module provides a safe, portable API for SIMD. Together with the multiversion crate it allows for SIMD that works from a single source file on every platform, and entirely in safe code!

The drawback is that it is nightly-only, and still technically unstable despite not having changed in quite some time. It would be great to add support for it and expose this as an opt-in feature, e.g. nightly-portable-simd. This would extend SIMD support to platforms not yet covered by intrinsics, such as WASM, and would allow people on nightly channel to use an implementation without unsafe code.

etemesi254 commented 1 month ago

this would need porting of the idct function to simd, it's the only function that uses simd extensively

will see if feasible