pub struct MetalEncodeStageAccelerator { /* private fields */ }Expand description
Encode-stage accelerator for JPEG 2000 Metal work.
The type is wired into the public J2K encode-stage interface and reports dispatches for each required encode stage.
Implementations§
Source§impl MetalEncodeStageAccelerator
impl MetalEncodeStageAccelerator
Sourcepub fn with_cpu_forward_rct() -> Self
pub fn with_cpu_forward_rct() -> Self
Create an accelerator that leaves forward RCT on the CPU path.
Sourcepub fn for_auto_host_output() -> Self
pub fn for_auto_host_output() -> Self
Create the conservative automatic accelerator for host codestream output.
Sourcepub fn for_ht_code_block_encode() -> Self
pub fn for_ht_code_block_encode() -> Self
Create an accelerator that only attempts the HT code-block stage on Metal.
Sourcepub fn deinterleave_attempts(&self) -> usize
pub fn deinterleave_attempts(&self) -> usize
Number of deinterleave stage attempts.
Sourcepub fn forward_rct_attempts(&self) -> usize
pub fn forward_rct_attempts(&self) -> usize
Number of forward RCT stage attempts.
Sourcepub fn forward_ict_attempts(&self) -> usize
pub fn forward_ict_attempts(&self) -> usize
Number of forward ICT stage attempts.
Sourcepub fn forward_dwt53_attempts(&self) -> usize
pub fn forward_dwt53_attempts(&self) -> usize
Number of forward 5/3 DWT stage attempts.
Sourcepub fn forward_dwt97_attempts(&self) -> usize
pub fn forward_dwt97_attempts(&self) -> usize
Number of forward 9/7 DWT stage attempts.
Sourcepub fn quantize_subband_attempts(&self) -> usize
pub fn quantize_subband_attempts(&self) -> usize
Number of sub-band quantization stage attempts.
Sourcepub fn tier1_code_block_attempts(&self) -> usize
pub fn tier1_code_block_attempts(&self) -> usize
Number of classic Tier-1 code-block encode attempts.
Sourcepub fn ht_code_block_attempts(&self) -> usize
pub fn ht_code_block_attempts(&self) -> usize
Number of HT code-block encode attempts.
Sourcepub fn packetization_attempts(&self) -> usize
pub fn packetization_attempts(&self) -> usize
Number of packetization stage attempts.
Sourcepub fn deinterleave_dispatches(&self) -> usize
pub fn deinterleave_dispatches(&self) -> usize
Number of deinterleave Metal dispatches.
Sourcepub fn forward_rct_dispatches(&self) -> usize
pub fn forward_rct_dispatches(&self) -> usize
Number of forward RCT Metal dispatches.
Sourcepub fn forward_ict_dispatches(&self) -> usize
pub fn forward_ict_dispatches(&self) -> usize
Number of forward ICT Metal dispatches.
Sourcepub fn forward_dwt53_dispatches(&self) -> usize
pub fn forward_dwt53_dispatches(&self) -> usize
Number of forward 5/3 DWT Metal dispatches.
Sourcepub fn forward_dwt97_dispatches(&self) -> usize
pub fn forward_dwt97_dispatches(&self) -> usize
Number of forward 9/7 DWT Metal dispatches.
Sourcepub fn quantize_subband_dispatches(&self) -> usize
pub fn quantize_subband_dispatches(&self) -> usize
Number of sub-band quantization Metal dispatches.
Sourcepub fn tier1_code_block_dispatches(&self) -> usize
pub fn tier1_code_block_dispatches(&self) -> usize
Number of classic Tier-1 Metal dispatches.
Sourcepub fn ht_code_block_dispatches(&self) -> usize
pub fn ht_code_block_dispatches(&self) -> usize
Number of HT code-block Metal dispatches.
Sourcepub fn packetization_dispatches(&self) -> usize
pub fn packetization_dispatches(&self) -> usize
Number of packetization Metal dispatches.
Trait Implementations§
Source§impl Clone for MetalEncodeStageAccelerator
impl Clone for MetalEncodeStageAccelerator
Source§fn clone(&self) -> MetalEncodeStageAccelerator
fn clone(&self) -> MetalEncodeStageAccelerator
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for MetalEncodeStageAccelerator
impl Debug for MetalEncodeStageAccelerator
Source§impl J2kEncodeStageAccelerator for MetalEncodeStageAccelerator
impl J2kEncodeStageAccelerator for MetalEncodeStageAccelerator
Source§fn dispatch_report(&self) -> J2kEncodeDispatchReport
fn dispatch_report(&self) -> J2kEncodeDispatchReport
Source§fn prefer_parallel_cpu_code_block_fallback(&self) -> bool
fn prefer_parallel_cpu_code_block_fallback(&self) -> bool
Source§fn encode_deinterleave(
&mut self,
job: J2kDeinterleaveToF32Job<'_>,
) -> Result<Option<Vec<Vec<f32>>>, &'static str>
fn encode_deinterleave( &mut self, job: J2kDeinterleaveToF32Job<'_>, ) -> Result<Option<Vec<Vec<f32>>>, &'static str>
Source§fn encode_forward_rct(
&mut self,
job: J2kForwardRctJob<'_>,
) -> Result<bool, &'static str>
fn encode_forward_rct( &mut self, job: J2kForwardRctJob<'_>, ) -> Result<bool, &'static str>
Source§fn encode_forward_ict(
&mut self,
job: J2kForwardIctJob<'_>,
) -> Result<bool, &'static str>
fn encode_forward_ict( &mut self, job: J2kForwardIctJob<'_>, ) -> Result<bool, &'static str>
Source§fn encode_forward_dwt53(
&mut self,
job: J2kForwardDwt53Job<'_>,
) -> Result<Option<J2kForwardDwt53Output>, &'static str>
fn encode_forward_dwt53( &mut self, job: J2kForwardDwt53Job<'_>, ) -> Result<Option<J2kForwardDwt53Output>, &'static str>
Source§fn encode_forward_dwt97(
&mut self,
job: J2kForwardDwt97Job<'_>,
) -> Result<Option<J2kForwardDwt97Output>, &'static str>
fn encode_forward_dwt97( &mut self, job: J2kForwardDwt97Job<'_>, ) -> Result<Option<J2kForwardDwt97Output>, &'static str>
Source§fn encode_quantize_subband(
&mut self,
job: J2kQuantizeSubbandJob<'_>,
) -> Result<Option<Vec<i32>>, &'static str>
fn encode_quantize_subband( &mut self, job: J2kQuantizeSubbandJob<'_>, ) -> Result<Option<Vec<i32>>, &'static str>
Source§fn encode_tier1_code_block(
&mut self,
job: J2kTier1CodeBlockEncodeJob<'_>,
) -> Result<Option<EncodedJ2kCodeBlock>, &'static str>
fn encode_tier1_code_block( &mut self, job: J2kTier1CodeBlockEncodeJob<'_>, ) -> Result<Option<EncodedJ2kCodeBlock>, &'static str>
Source§fn encode_tier1_code_blocks(
&mut self,
jobs: &[J2kTier1CodeBlockEncodeJob<'_>],
) -> Result<Option<Vec<EncodedJ2kCodeBlock>>, &'static str>
fn encode_tier1_code_blocks( &mut self, jobs: &[J2kTier1CodeBlockEncodeJob<'_>], ) -> Result<Option<Vec<EncodedJ2kCodeBlock>>, &'static str>
Source§fn encode_ht_code_block(
&mut self,
job: J2kHtCodeBlockEncodeJob<'_>,
) -> Result<Option<EncodedHtJ2kCodeBlock>, &'static str>
fn encode_ht_code_block( &mut self, job: J2kHtCodeBlockEncodeJob<'_>, ) -> Result<Option<EncodedHtJ2kCodeBlock>, &'static str>
Source§fn encode_ht_code_blocks(
&mut self,
jobs: &[J2kHtCodeBlockEncodeJob<'_>],
) -> Result<Option<Vec<EncodedHtJ2kCodeBlock>>, &'static str>
fn encode_ht_code_blocks( &mut self, jobs: &[J2kHtCodeBlockEncodeJob<'_>], ) -> Result<Option<Vec<EncodedHtJ2kCodeBlock>>, &'static str>
Source§fn encode_htj2k_tile(
&mut self,
job: J2kHtj2kTileEncodeJob<'_>,
) -> Result<Option<Vec<u8>>, &'static str>
fn encode_htj2k_tile( &mut self, job: J2kHtj2kTileEncodeJob<'_>, ) -> Result<Option<Vec<u8>>, &'static str>
Source§fn encode_packetization(
&mut self,
job: J2kPacketizationEncodeJob<'_>,
) -> Result<Option<Vec<u8>>, &'static str>
fn encode_packetization( &mut self, job: J2kPacketizationEncodeJob<'_>, ) -> Result<Option<Vec<u8>>, &'static str>
Source§fn encode_ht_subband(
&mut self,
_job: J2kHtSubbandEncodeJob<'_>,
) -> Result<Option<Vec<EncodedHtJ2kCodeBlock>>, &'static str>
fn encode_ht_subband( &mut self, _job: J2kHtSubbandEncodeJob<'_>, ) -> Result<Option<Vec<EncodedHtJ2kCodeBlock>>, &'static str>
Source§fn prefer_parallel_cpu_tile_encode(&self) -> bool
fn prefer_parallel_cpu_tile_encode(&self) -> bool
Auto Trait Implementations§
impl Freeze for MetalEncodeStageAccelerator
impl RefUnwindSafe for MetalEncodeStageAccelerator
impl Send for MetalEncodeStageAccelerator
impl Sync for MetalEncodeStageAccelerator
impl Unpin for MetalEncodeStageAccelerator
impl UnsafeUnpin for MetalEncodeStageAccelerator
impl UnwindSafe for MetalEncodeStageAccelerator
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