pub trait Decoder: Send {
    // Required methods
    fn read_video_frame<T>(&mut self) -> Option<Frame<T>>
       where T: Pixel;
    fn get_bit_depth(&self) -> usize;
    fn get_video_details(&self) -> VideoDetails;

    // Provided method
    fn read_specific_frame<T>(
        &mut self,
        frame_number: usize
    ) -> Option<Frame<T>>
       where T: Pixel { ... }
}
Expand description

A trait for allowing metrics to decode generic video formats.

Currently, y4m decoding support using the y4m crate is built-in to this crate. This trait is extensible so users may implement their own decoders.

Required Methods§

source

fn read_video_frame<T>(&mut self) -> Option<Frame<T>>where T: Pixel,

Read the next frame from the input video.

Expected to return Err if the end of the video is reached.

source

fn get_bit_depth(&self) -> usize

Get the bit depth of the video.

source

fn get_video_details(&self) -> VideoDetails

Get the Video Details

Provided Methods§

source

fn read_specific_frame<T>(&mut self, frame_number: usize) -> Option<Frame<T>>where T: Pixel,

Read a specific frame from the input video

Expected to return Err if the frame is not found.

Implementors§