Struct Decoder
pub struct Decoder<R: Read> { /* private fields */ }
YUV4MPEG2 decoder.
Implementations
impl<R: Read> Decoder<R>
fn new(reader: R) -> Result<Decoder<R>, Error>Create a new decoder instance.
fn new_with_limits(reader: R, limits: Limits) -> Result<Decoder<R>, Error>Create a new decoder instance with custom limits.
fn read_frame(&mut self) -> Result<Frame<'_>, Error>Iterate over frames. End of input is indicated by
Error::EOF.fn get_width(&self) -> usizeReturn file width.
fn get_height(&self) -> usizeReturn file height.
fn get_framerate(&self) -> RatioReturn file framerate.
fn get_pixel_aspect(&self) -> RatioReturn file pixel aspect.
fn get_colorspace(&self) -> ColorspaceReturn 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.
fn get_raw_params(&self) -> &[u8]Return file raw parameters.
fn get_bit_depth(&self) -> usizeReturn the bit depth per sample
fn get_bytes_per_sample(&self) -> usizeReturn the number of bytes in a sample
Auto Trait Implementations
impl<R> Freeze for Decoder<R>
where
R: Freeze,
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> UnsafeUnpin for Decoder<R>
where
R: UnsafeUnpin,
impl<R> UnwindSafe for Decoder<R>
where
R: UnwindSafe,
Blanket Implementations
impl<T> Any for Decoder<R>
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for Decoder<R>
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for Decoder<R>
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> From<T> for Decoder<R>
fn from(t: T) -> TReturns the argument unchanged.
impl<T, U> Into<U> for Decoder<R>
where
U: From<T>,
fn into(self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom<U> for Decoder<R>
where
U: Into<T>,
type Error = Infallible;fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto<U> for Decoder<R>
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>