Trait StatelessH265DecoderBackend

Source
pub trait StatelessH265DecoderBackend: StatelessDecoderBackend + StatelessDecoderBackendPicture<H265> {
    // Required methods
    fn new_sequence(&mut self, sps: &Sps) -> StatelessBackendResult<()>;
    fn new_picture(
        &mut self,
        coded_resolution: Resolution,
        timestamp: u64,
    ) -> NewPictureResult<Self::Picture>;
    fn begin_picture(
        &mut self,
        picture: &mut Self::Picture,
        picture_data: &PictureData,
        sps: &Sps,
        pps: &Pps,
        dpb: &Dpb<Self::Handle>,
        rps: &RefPicSet<Self::Handle>,
        slice: &Slice<'_>,
    ) -> StatelessBackendResult<()>;
    fn decode_slice(
        &mut self,
        picture: &mut Self::Picture,
        slice: &Slice<'_>,
        sps: &Sps,
        pps: &Pps,
        ref_pic_list0: &[Option<RefPicListEntry<Self::Handle>>; 16],
        ref_pic_list1: &[Option<RefPicListEntry<Self::Handle>>; 16],
    ) -> StatelessBackendResult<()>;
    fn submit_picture(
        &mut self,
        picture: Self::Picture,
    ) -> StatelessBackendResult<Self::Handle>;
}
Expand description

Stateless backend methods specific to H.265.

Required Methods§

Source

fn new_sequence(&mut self, sps: &Sps) -> StatelessBackendResult<()>

Called when a new SPS is parsed.

Source

fn new_picture( &mut self, coded_resolution: Resolution, timestamp: u64, ) -> NewPictureResult<Self::Picture>

Called when the decoder determines that a frame or field was found.

Source

fn begin_picture( &mut self, picture: &mut Self::Picture, picture_data: &PictureData, sps: &Sps, pps: &Pps, dpb: &Dpb<Self::Handle>, rps: &RefPicSet<Self::Handle>, slice: &Slice<'_>, ) -> StatelessBackendResult<()>

Called by the decoder for every frame or field found.

Source

fn decode_slice( &mut self, picture: &mut Self::Picture, slice: &Slice<'_>, sps: &Sps, pps: &Pps, ref_pic_list0: &[Option<RefPicListEntry<Self::Handle>>; 16], ref_pic_list1: &[Option<RefPicListEntry<Self::Handle>>; 16], ) -> 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_slice has been called for all slices.

Implementors§