pub struct MetalDctToWaveletStageAccelerator { /* private fields */ }Expand description
Optional Metal accelerator for j2k-transcode transform stages.
Implementations§
Source§impl MetalDctToWaveletStageAccelerator
impl MetalDctToWaveletStageAccelerator
Sourcepub const fn new_explicit() -> Self
pub const fn new_explicit() -> Self
Create an accelerator that treats unsupported Metal dispatch as an error.
Sourcepub const fn for_auto() -> Self
pub const fn for_auto() -> Self
Create an accelerator that falls back to scalar CPU for small or unsupported jobs.
Sourcepub const fn with_auto_min_samples(self, min_samples: usize) -> Self
pub const fn with_auto_min_samples(self, min_samples: usize) -> Self
Override the minimum component sample count used before Auto mode dispatches non-reversible projection jobs to Metal.
Sourcepub const fn with_auto_dwt97_min_samples(self, min_samples: usize) -> Self
pub const fn with_auto_dwt97_min_samples(self, min_samples: usize) -> Self
Override the minimum component sample count used before Auto mode dispatches 9/7 transform jobs to Metal.
Sourcepub const fn with_auto_dwt97_batch_thresholds(
self,
min_jobs: usize,
min_samples: usize,
) -> Self
pub const fn with_auto_dwt97_batch_thresholds( self, min_jobs: usize, min_samples: usize, ) -> Self
Override the 9/7 batch thresholds used before Auto mode dispatches a same-geometry batch to Metal.
Sourcepub const fn with_auto_reversible_min_samples(self, min_samples: usize) -> Self
pub const fn with_auto_reversible_min_samples(self, min_samples: usize) -> Self
Override the minimum component sample count used before Auto mode dispatches single reversible 5/3 jobs to Metal.
Sourcepub const fn with_auto_reversible_batch_thresholds(
self,
min_jobs: usize,
min_samples: usize,
) -> Self
pub const fn with_auto_reversible_batch_thresholds( self, min_jobs: usize, min_samples: usize, ) -> Self
Override the reversible 5/3 batch thresholds used before Auto mode dispatches a same-geometry batch to Metal.
Sourcepub const fn reversible_dwt53_attempts(&self) -> usize
pub const fn reversible_dwt53_attempts(&self) -> usize
Number of reversible integer 5/3 jobs offered to this accelerator.
Sourcepub const fn reversible_dwt53_dispatches(&self) -> usize
pub const fn reversible_dwt53_dispatches(&self) -> usize
Number of reversible integer 5/3 jobs handled by Metal.
Sourcepub const fn reversible_dwt53_batch_attempts(&self) -> usize
pub const fn reversible_dwt53_batch_attempts(&self) -> usize
Number of reversible integer 5/3 batches offered to this accelerator.
Sourcepub const fn reversible_dwt53_batch_dispatches(&self) -> usize
pub const fn reversible_dwt53_batch_dispatches(&self) -> usize
Number of reversible integer 5/3 batches handled by Metal.
Sourcepub const fn dwt53_attempts(&self) -> usize
pub const fn dwt53_attempts(&self) -> usize
Number of 5/3 projection jobs offered to this accelerator.
Sourcepub const fn dwt53_dispatches(&self) -> usize
pub const fn dwt53_dispatches(&self) -> usize
Number of 5/3 projection jobs handled by Metal.
Sourcepub const fn dwt97_attempts(&self) -> usize
pub const fn dwt97_attempts(&self) -> usize
Number of 9/7 transform jobs offered to this accelerator.
Sourcepub const fn dwt97_dispatches(&self) -> usize
pub const fn dwt97_dispatches(&self) -> usize
Number of 9/7 transform jobs handled by Metal.
Sourcepub const fn dwt97_batch_attempts(&self) -> usize
pub const fn dwt97_batch_attempts(&self) -> usize
Number of 9/7 transform batches offered to this accelerator.
Sourcepub const fn dwt97_batch_dispatches(&self) -> usize
pub const fn dwt97_batch_dispatches(&self) -> usize
Number of 9/7 transform batches handled by Metal.
Sourcepub const fn htj2k97_codeblock_batch_attempts(&self) -> usize
pub const fn htj2k97_codeblock_batch_attempts(&self) -> usize
Number of 9/7 code-block-ready batches offered to this accelerator.
Sourcepub const fn htj2k97_codeblock_batch_dispatches(&self) -> usize
pub const fn htj2k97_codeblock_batch_dispatches(&self) -> usize
Number of 9/7 code-block-ready batches handled by Metal.
Sourcepub const fn last_dwt97_batch_stage_timings(
&self,
) -> Option<Dwt97BatchStageTimings>
pub const fn last_dwt97_batch_stage_timings( &self, ) -> Option<Dwt97BatchStageTimings>
Backend stage timings for the most recent 9/7 batch dispatch.
Sourcepub fn dct_grid_to_reversible_dwt53_batch(
&mut self,
jobs: &[DctGridToReversibleDwt53Job<'_>],
) -> Result<Option<Vec<ReversibleDwt53FirstLevel>>, TranscodeStageError>
pub fn dct_grid_to_reversible_dwt53_batch( &mut self, jobs: &[DctGridToReversibleDwt53Job<'_>], ) -> Result<Option<Vec<ReversibleDwt53FirstLevel>>, TranscodeStageError>
Dispatch a same-geometry batch of reversible integer 5/3 DCT-grid projection jobs.
Trait Implementations§
Source§impl Clone for MetalDctToWaveletStageAccelerator
impl Clone for MetalDctToWaveletStageAccelerator
Source§fn clone(&self) -> MetalDctToWaveletStageAccelerator
fn clone(&self) -> MetalDctToWaveletStageAccelerator
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for MetalDctToWaveletStageAccelerator
impl RefUnwindSafe for MetalDctToWaveletStageAccelerator
impl Send for MetalDctToWaveletStageAccelerator
impl Sync for MetalDctToWaveletStageAccelerator
impl Unpin for MetalDctToWaveletStageAccelerator
impl UnsafeUnpin for MetalDctToWaveletStageAccelerator
impl UnwindSafe for MetalDctToWaveletStageAccelerator
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more