Trait StatelessAV1DecoderBackend

Source
pub trait StatelessAV1DecoderBackend: StatelessDecoderBackend + StatelessDecoderBackendPicture<Av1> {
    // Required methods
    fn new_sequence(
        &mut self,
        sequence: &Rc<SequenceHeaderObu>,
        highest_spatial_layer: Option<u32>,
    ) -> StatelessBackendResult<()>;
    fn new_picture(
        &mut self,
        hdr: &FrameHeaderObu,
        timestamp: u64,
        highest_spatial_layer: Option<u32>,
    ) -> NewPictureResult<Self::Picture>;
    fn begin_picture(
        &mut self,
        picture: &mut Self::Picture,
        sequence: &SequenceHeaderObu,
        hdr: &FrameHeaderObu,
        reference_frames: &[Option<Self::Handle>; 8],
    ) -> StatelessBackendResult<()>;
    fn decode_tile_group(
        &mut self,
        picture: &mut Self::Picture,
        tile_group: TileGroupObu<'_>,
    ) -> StatelessBackendResult<()>;
    fn submit_picture(
        &mut self,
        picture: Self::Picture,
    ) -> StatelessBackendResult<Self::Handle>;
}
Expand description

Stateless backend methods specific to AV1.

Required Methods§

Source

fn new_sequence( &mut self, sequence: &Rc<SequenceHeaderObu>, highest_spatial_layer: Option<u32>, ) -> StatelessBackendResult<()>

Called when a new Sequence Header OBU is parsed. The highest_spatial_layer argument refers to the maximum layer selected by the client through set_operating_point() and the scalability information present in the stream, if any.

Source

fn new_picture( &mut self, hdr: &FrameHeaderObu, timestamp: u64, highest_spatial_layer: Option<u32>, ) -> NewPictureResult<Self::Picture>

Called when the decoder determines that a new picture was found. The backend allocates all the resources it needs to process that picture.

Source

fn begin_picture( &mut self, picture: &mut Self::Picture, sequence: &SequenceHeaderObu, hdr: &FrameHeaderObu, reference_frames: &[Option<Self::Handle>; 8], ) -> StatelessBackendResult<()>

Called to set the global parameters of a picture.

Source

fn decode_tile_group( &mut self, picture: &mut Self::Picture, tile_group: TileGroupObu<'_>, ) -> StatelessBackendResult<()>

Called to dispatch a decode operation to the backend.

Source

fn submit_picture( &mut self, picture: Self::Picture, ) -> StatelessBackendResult<Self::Handle>

Called when the decoder wants the backend to finish the decoding operations for picture. At this point, decode_tile has been called for all tiles.

Implementors§