Struct y4m::Decoder

source ·
pub struct Decoder<R: Read> { /* private fields */ }
Expand description

YUV4MPEG2 decoder.

Implementations§

source§

impl<R: Read> Decoder<R>

source

pub fn new(reader: R) -> Result<Decoder<R>, Error>

Create a new decoder instance.

source

pub fn new_with_limits(reader: R, limits: Limits) -> Result<Decoder<R>, Error>

Create a new decoder instance with custom limits.

source

pub fn read_frame(&mut self) -> Result<Frame<'_>, Error>

Iterate over frames. End of input is indicated by Error::EOF.

source

pub fn get_width(&self) -> usize

Return file width.

source

pub fn get_height(&self) -> usize

Return file height.

source

pub fn get_framerate(&self) -> Ratio

Return file framerate.

source

pub fn get_pixel_aspect(&self) -> Ratio

Return file pixel aspect.

source

pub fn get_colorspace(&self) -> Colorspace

Return file colorspace.

NOTE: normally all .y4m should have colorspace param, but there are files encoded without that tag and it’s unclear what should we do in that case. Currently C420 is implied by default as per ffmpeg behavior.

source

pub fn get_raw_params(&self) -> &[u8]

Return file raw parameters.

source

pub fn get_bit_depth(&self) -> usize

Return the bit depth per sample

source

pub fn get_bytes_per_sample(&self) -> usize

Return the number of bytes in a sample

Auto Trait Implementations§

§

impl<R> RefUnwindSafe for Decoder<R>where R: RefUnwindSafe,

§

impl<R> Send for Decoder<R>where R: Send,

§

impl<R> Sync for Decoder<R>where R: Sync,

§

impl<R> Unpin for Decoder<R>where R: Unpin,

§

impl<R> UnwindSafe for Decoder<R>where R: UnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere 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 Twhere 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 Twhere 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.