Expand description
SIMD-accelerated conversion functions.
Provides full control over CPU dispatch with _dispatch and _inline variants.
SIMD-accelerated sRGB ↔ linear conversion.
This module provides high-performance conversion functions using AVX2/SSE SIMD
instructions via the wide crate with runtime CPU feature detection.
§API Overview
§x8 Functions (process 8 values at once)
- [
srgb_to_linear_x8] - f32x8 sRGB → f32x8 linear - [
linear_to_srgb_x8] - f32x8 linear → f32x8 sRGB - [
srgb_u8_to_linear_x8] - [u8; 8] sRGB → f32x8 linear - [
linear_to_srgb_u8_x8] - f32x8 linear → [u8; 8] sRGB
§Slice Functions (process entire slices)
- [
srgb_to_linear_slice] - &mut [f32] sRGB → linear in-place - [
linear_to_srgb_slice] - &mut [f32] linear → sRGB in-place - [
srgb_u8_to_linear_slice] - &[u8] sRGB → &mut [f32] linear - [
linear_to_srgb_u8_slice] - &[f32] linear → &mut [u8] sRGB
Functions§
- gamma_
to_ linear_ slice - Convert gamma-encoded f32 values to linear in-place using a custom gamma.
- gamma_
to_ linear_ x8 - Convert 8 gamma-encoded f32 values to linear.
- gamma_
to_ linear_ x8_ dispatch - Convert 8 gamma-encoded f32 values to linear (with CPU dispatch).
- gamma_
to_ linear_ x8_ inline - Convert 8 gamma-encoded f32 values to linear (always inlined).
- gamma_
to_ linear_ x8_ slice - Convert gamma-encoded f32x8 values to linear in-place using a custom gamma.
- gamma_
to_ linear_ x8_ slice_ inline - Convert gamma-encoded f32x8 values to linear in-place (always inlined).
- linear_
to_ gamma_ slice - Convert linear f32 values to gamma-encoded in-place using a custom gamma.
- linear_
to_ gamma_ x8 - Convert 8 linear f32 values to gamma-encoded.
- linear_
to_ gamma_ x8_ dispatch - Convert 8 linear f32 values to gamma-encoded (with CPU dispatch).
- linear_
to_ gamma_ x8_ inline - Convert 8 linear f32 values to gamma-encoded (always inlined).
- linear_
to_ gamma_ x8_ slice - Convert linear f32x8 values to gamma-encoded in-place using a custom gamma.
- linear_
to_ gamma_ x8_ slice_ inline - Convert linear f32x8 values to gamma-encoded in-place (always inlined).
- linear_
to_ srgb_ slice - Convert linear f32 values to sRGB in-place.
- linear_
to_ srgb_ u8_ slice - Convert linear f32 values to sRGB u8.
- linear_
to_ srgb_ u8_ x8 - Convert 8 linear f32 values to sRGB u8.
- linear_
to_ srgb_ u8_ x8_ dispatch - Convert 8 linear f32 values to sRGB u8 (with CPU dispatch).
- linear_
to_ srgb_ u8_ x8_ inline - Convert 8 linear f32 values to sRGB u8 (always inlined).
- linear_
to_ srgb_ x8 - Convert 8 linear f32 values to sRGB.
- linear_
to_ srgb_ x8_ dispatch - Convert 8 linear f32 values to sRGB (with CPU dispatch).
- linear_
to_ srgb_ x8_ inline - Convert 8 linear f32 values to sRGB (always inlined).
- linear_
to_ srgb_ x8_ slice - Convert linear f32x8 values to sRGB in-place.
- linear_
to_ srgb_ x8_ slice_ inline - Convert linear f32x8 values to sRGB in-place (always inlined).
- srgb_
to_ linear_ slice - Convert sRGB f32 values to linear in-place.
- srgb_
to_ linear_ x8 - Convert 8 sRGB f32 values to linear.
- srgb_
to_ linear_ x8_ dispatch - Convert 8 sRGB f32 values to linear (with CPU dispatch).
- srgb_
to_ linear_ x8_ inline - Convert 8 sRGB f32 values to linear (always inlined).
- srgb_
to_ linear_ x8_ slice - Convert sRGB f32x8 values to linear in-place.
- srgb_
to_ linear_ x8_ slice_ inline - Convert sRGB f32x8 values to linear in-place (always inlined).
- srgb_
u8_ to_ linear - Convert a single sRGB u8 value to linear f32 using LUT lookup.
- srgb_
u8_ to_ linear_ slice - Convert sRGB u8 values to linear f32.
- srgb_
u8_ to_ linear_ x8 - Convert 8 sRGB u8 values to linear f32 using LUT lookup.