j2k-metal 0.7.0

Metal decoder and encode-stage adapter for j2k
Documentation
// SPDX-License-Identifier: MIT OR Apache-2.0

#[cfg(test)]
use super::test_counters;
use super::{
    active_forward_dwt53_buffers, checked_buffer_read, checked_buffer_slice, commit_and_wait_metal,
    copied_slice_buffer, decode_mct_status_error, dispatch_1d_pipeline, dispatch_2d_pipeline,
    dispatch_3d_pipeline, dispatch_forward_dwt53_batched_pass, dispatch_forward_dwt53_pass,
    hybrid_stage_signpost, label_command_buffer, label_compute_encoder,
    metal_profile_coefficient_prep_split_commands_enabled, new_command_buffer,
    new_compute_command_encoder, new_private_buffer, new_resident_encode_command_buffer,
    new_shared_buffer, size_of, take_recyclable_private_buffer, with_runtime,
    with_runtime_for_session, zeroed_shared_buffer, Buffer, CommandBuffer, CommandBufferRef, Error,
    J2kBatchedPacketPayloadCopyDispatch, J2kForwardDwt53BatchedParams, J2kForwardDwt53Params,
    J2kForwardIctParams, J2kForwardRctParams, J2kLosslessCoefficientJob,
    J2kLosslessDeinterleaveParams, J2kLosslessDeviceBatchPrepareItem, J2kLosslessDeviceCodeBlock,
    J2kLosslessDevicePrepareJob, J2kMctStatus, J2kPacketPayloadCopyParams,
    J2kPreparedLosslessDeviceCodeBlocks, J2kQuantizeSubbandJob, J2kQuantizeSubbandParams, MTLSize,
    MetalRuntime, J2K_MCT_STATUS_OK, PACKET_PAYLOAD_COPY_BYTES_PER_STRIPE,
    PACKET_PAYLOAD_COPY_STRIPES_PER_JOB,
};

mod batch;
mod batch_item;
mod commands;
mod forward_encode;
mod single;
mod sizes;

pub(crate) use self::batch::prepare_lossless_device_code_blocks_batch;
use self::batch_item::{prepare_lossless_batch_item, BatchPrepareItemRequest};
pub(in crate::compute) use self::commands::{
    dispatch_batched_packet_payload_copy, dispatch_forward_dwt53_components_on_buffers,
    dispatch_forward_dwt53_components_split_profile, dispatch_forward_dwt53_on_buffers,
    dispatch_forward_dwt53_on_buffers_split_profile, dispatch_forward_rct_on_buffers,
    dispatch_lossless_deinterleave, dispatch_lossless_deinterleave_rct_rgb8,
    dispatch_lossless_extract_coefficients, lossless_deinterleave_rct_rgb8_supported,
    ForwardDwt53ComponentsDispatch, ForwardDwt53SplitProfile,
};
pub(crate) use self::forward_encode::{
    encode_forward_ict, encode_forward_rct, encode_quantize_subband,
};
pub(crate) use self::single::prepare_lossless_device_code_blocks;
pub(in crate::compute) use self::sizes::{lossless_prepare_sizes, J2kLosslessPrepareSizes};