Skip to main content

TransformExecutor

Trait TransformExecutor 

Source
pub trait TransformExecutor<V: Copy + Default> {
    // Required method
    fn transform(&self, src: &[V], dst: &mut [V]) -> Result<(), CmsError>;
}
Expand description

Transformation executor itself

Required Methods§

Source

fn transform(&self, src: &[V], dst: &mut [V]) -> Result<(), CmsError>

Count of samples always must match. If there is N samples of Cmyk source then N samples of Rgb is expected as an output.

Implementors§

Source§

impl<T: Clone + Copy + 'static + PointeeSizeExpressible + Default, const SRC_LAYOUT: u8, const DST_LAYOUT: u8, const LINEAR_CAP: usize> TransformExecutor<T> for TransformShaperRgbAvx<T, SRC_LAYOUT, DST_LAYOUT, LINEAR_CAP>
where u32: AsPrimitive<T>,

Source§

impl<T: Clone + Copy + 'static + PointeeSizeExpressible + Default, const SRC_LAYOUT: u8, const DST_LAYOUT: u8, const LINEAR_CAP: usize> TransformExecutor<T> for TransformShaperRgbSse<T, SRC_LAYOUT, DST_LAYOUT, LINEAR_CAP>
where u32: AsPrimitive<T>,

Source§

impl<T: Clone + Copy + Default> TransformExecutor<T> for FromCmykaInterceptor<T>

Source§

impl<T: Clone + Copy + Default> TransformExecutor<T> for ToCmykaInterceptor<T>

Source§

impl<T: Clone + PointeeSizeExpressible + Copy + Default + 'static, const SRC_LAYOUT: u8, const DST_LAYOUT: u8, const LINEAR_CAP: usize> TransformExecutor<T> for TransformMatrixShaperOptScalar<T, SRC_LAYOUT, DST_LAYOUT, LINEAR_CAP>
where u32: AsPrimitive<T>,

Source§

impl<T: Clone + PointeeSizeExpressible + Copy + Default + 'static, const SRC_LAYOUT: u8, const DST_LAYOUT: u8, const LINEAR_CAP: usize> TransformExecutor<T> for TransformMatrixShaperScalar<T, SRC_LAYOUT, DST_LAYOUT, LINEAR_CAP>
where u32: AsPrimitive<T>,

Source§

impl<T: Clone + PointeeSizeExpressible + Copy + Default + 'static, const SRC_LAYOUT: u8, const DST_LAYOUT: u8, const LINEAR_CAP: usize, const PRECISION: i32> TransformExecutor<T> for TransformMatrixShaperQ2_13Optimized<T, SRC_LAYOUT, DST_LAYOUT, LINEAR_CAP, PRECISION>
where u32: AsPrimitive<T>,

Source§

impl<T: Copy + AsPrimitive<f32> + Default + PointeeSizeExpressible, U: AsPrimitive<usize>, const LAYOUT: u8, const GRID_SIZE: usize, const BIT_DEPTH: usize, const BINS: usize, const BARYCENTRIC_BINS: usize> TransformExecutor<T> for TransformLut4To3Avx<T, U, LAYOUT, GRID_SIZE, BIT_DEPTH, BINS, BARYCENTRIC_BINS>

Source§

impl<T: Copy + AsPrimitive<f32> + Default + PointeeSizeExpressible, U: AsPrimitive<usize>, const LAYOUT: u8, const GRID_SIZE: usize, const BIT_DEPTH: usize, const BINS: usize, const BARYCENTRIC_BINS: usize> TransformExecutor<T> for TransformLut4To3AvxQ0_15<T, U, LAYOUT, GRID_SIZE, BIT_DEPTH, BINS, BARYCENTRIC_BINS>

Source§

impl<T: Copy + AsPrimitive<f32> + Default + PointeeSizeExpressible, U: AsPrimitive<usize>, const LAYOUT: u8, const GRID_SIZE: usize, const BIT_DEPTH: usize, const BINS: usize, const BARYCENTRIC_BINS: usize> TransformExecutor<T> for TransformLut4To3Sse<T, U, LAYOUT, GRID_SIZE, BIT_DEPTH, BINS, BARYCENTRIC_BINS>

Source§

impl<T: Copy + AsPrimitive<f32> + Default + PointeeSizeExpressible, U: AsPrimitive<usize>, const LAYOUT: u8, const GRID_SIZE: usize, const BIT_DEPTH: usize, const BINS: usize, const BARYCENTRIC_BINS: usize> TransformExecutor<T> for TransformLut4To3SseQ0_15<T, U, LAYOUT, GRID_SIZE, BIT_DEPTH, BINS, BARYCENTRIC_BINS>

Source§

impl<T: Copy + AsPrimitive<f32> + Default + PointeeSizeExpressible, U: AsPrimitive<usize>, const LAYOUT: u8, const GRID_SIZE: usize, const BIT_DEPTH: usize, const BINS: usize, const BARYCENTRIC_BINS: usize> TransformExecutor<T> for TransformLut3x4<T, U, LAYOUT, GRID_SIZE, BIT_DEPTH, BINS, BARYCENTRIC_BINS>

Source§

impl<T: Copy + AsPrimitive<f32> + Default + PointeeSizeExpressible, U: AsPrimitive<usize>, const LAYOUT: u8, const GRID_SIZE: usize, const BIT_DEPTH: usize, const BINS: usize, const BARYCENTRIC_BINS: usize> TransformExecutor<T> for TransformLut4To3<T, U, LAYOUT, GRID_SIZE, BIT_DEPTH, BINS, BARYCENTRIC_BINS>

Source§

impl<T: Copy + AsPrimitive<f32> + Default + PointeeSizeExpressible, U: AsPrimitive<usize>, const SRC_LAYOUT: u8, const DST_LAYOUT: u8, const GRID_SIZE: usize, const BIT_DEPTH: usize, const BINS: usize, const BARYCENTRIC_BINS: usize> TransformExecutor<T> for TransformLut3x3AvxFma<T, U, SRC_LAYOUT, DST_LAYOUT, GRID_SIZE, BIT_DEPTH, BINS, BARYCENTRIC_BINS>

Source§

impl<T: Copy + AsPrimitive<f32> + Default + PointeeSizeExpressible, U: AsPrimitive<usize>, const SRC_LAYOUT: u8, const DST_LAYOUT: u8, const GRID_SIZE: usize, const BIT_DEPTH: usize, const BINS: usize, const BARYCENTRIC_BINS: usize> TransformExecutor<T> for TransformLut3x3AvxQ0_15<T, U, SRC_LAYOUT, DST_LAYOUT, GRID_SIZE, BIT_DEPTH, BINS, BARYCENTRIC_BINS>

Source§

impl<T: Copy + AsPrimitive<f32> + Default + PointeeSizeExpressible, U: AsPrimitive<usize>, const SRC_LAYOUT: u8, const DST_LAYOUT: u8, const GRID_SIZE: usize, const BIT_DEPTH: usize, const BINS: usize, const BARYCENTRIC_BINS: usize> TransformExecutor<T> for TransformLut3x3Sse<T, U, SRC_LAYOUT, DST_LAYOUT, GRID_SIZE, BIT_DEPTH, BINS, BARYCENTRIC_BINS>

Source§

impl<T: Copy + AsPrimitive<f32> + Default + PointeeSizeExpressible, U: AsPrimitive<usize>, const SRC_LAYOUT: u8, const DST_LAYOUT: u8, const GRID_SIZE: usize, const BIT_DEPTH: usize, const BINS: usize, const BARYCENTRIC_BINS: usize> TransformExecutor<T> for TransformLut3x3SseQ0_15<T, U, SRC_LAYOUT, DST_LAYOUT, GRID_SIZE, BIT_DEPTH, BINS, BARYCENTRIC_BINS>

Source§

impl<T: Copy + AsPrimitive<f32> + Default + PointeeSizeExpressible, U: AsPrimitive<usize>, const SRC_LAYOUT: u8, const DST_LAYOUT: u8, const GRID_SIZE: usize, const BIT_DEPTH: usize, const BINS: usize, const BARYCENTRIC_BINS: usize> TransformExecutor<T> for TransformLut3x3<T, U, SRC_LAYOUT, DST_LAYOUT, GRID_SIZE, BIT_DEPTH, BINS, BARYCENTRIC_BINS>

Source§

impl<T: Copy + Default + PointeeSizeExpressible + 'static, const SRC_LAYOUT: u8, const DST_LAYOUT: u8> TransformExecutor<T> for TransformGray2RgbFusedExecutor<T, SRC_LAYOUT, DST_LAYOUT>
where u32: AsPrimitive<T>,

Source§

impl<T: Copy + Default + PointeeSizeExpressible + 'static, const SRC_LAYOUT: u8, const DST_LAYOUT: u8> TransformExecutor<T> for TransformGrayToRgbExecutor<T, SRC_LAYOUT, DST_LAYOUT>
where u32: AsPrimitive<T>,

Source§

impl<T: Copy + Default + PointeeSizeExpressible + 'static, const SRC_LAYOUT: u8, const DST_LAYOUT: u8, const BUCKET: usize> TransformExecutor<T> for TransformRgbToGrayExecutor<T, SRC_LAYOUT, DST_LAYOUT, BUCKET>
where u32: AsPrimitive<T>,

Source§

impl<T: Copy + PointeeSizeExpressible + 'static + Default, const SRC_LAYOUT: u8, const DST_LAYOUT: u8, const PRECISION: i32> TransformExecutor<T> for TransformShaperRgbQ2_13OptAvx<T, SRC_LAYOUT, DST_LAYOUT, PRECISION>
where u32: AsPrimitive<T>,

Source§

impl<T: Copy + PointeeSizeExpressible + 'static + Default, const SRC_LAYOUT: u8, const DST_LAYOUT: u8, const PRECISION: i32> TransformExecutor<T> for TransformShaperQ2_13OptSse<T, SRC_LAYOUT, DST_LAYOUT, PRECISION>
where u32: AsPrimitive<T>,