Struct compeg::Decoder

source ·
pub struct Decoder { /* private fields */ }
Expand description

A GPU JPEG decode context.

Holds all on-GPU buffers and textures needed for JPEG decoding.

Implementations§

source§

impl Decoder

source

pub fn new(gpu: Arc<Gpu>) -> Self

Creates a new JPEG decoding context on the given Gpu.

source

pub fn with_texture_usages(gpu: Arc<Gpu>, usage: TextureUsages) -> Self

source

pub fn texture(&self) -> &Texture

source

pub fn into_texture(self) -> Texture

Consumes this Decoder and returns its output Texture.

The Texture will only contain data if a decode operation has been previously started on this Decoder. Depending on what data has been decoded previously, the Texture might have larger dimensions than necessary to fit the last frame.

source

pub fn enqueue( &mut self, data: &ImageData<'_>, enc: &mut CommandEncoder ) -> bool

source

pub fn start_decode(&mut self, data: &ImageData<'_>) -> DecodeOp<'_>

Preprocesses and uploads a JPEG image, and dispatches the decoding operation on the GPU.

Returns a DecodeOp with information about the decode operation.

source

pub fn decode_blocking(&mut self, data: &ImageData<'_>) -> DecodeOp<'_>

Performs a blocking decode operation.

This method works identically to Decoder::start_decode, but will wait until the operation on the GPU is finished.

Note that it is not typically necessary to use this method, since wgpu will automatically insert barriers before the target texture is accessed.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> Downcast<T> for T

source§

fn downcast(&self) -> &T

source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> Upcast<T> for T

source§

fn upcast(&self) -> Option<&T>

source§

impl<T> WasmNotSend for T
where T: Send,

source§

impl<T> WasmNotSendSync for T

source§

impl<T> WasmNotSync for T
where T: Sync,