pub trait StatelessH265DecoderBackend: StatelessDecoderBackend<Sps> {
    // Required methods
    fn new_sequence(&mut self, sps: &Sps) -> StatelessBackendResult<()>;
    fn new_picture(
        &mut self,
        picture: &PictureData,
        timestamp: u64
    ) -> StatelessBackendResult<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<&[u8]>
    ) -> StatelessBackendResult<()>;
    fn decode_slice(
        &mut self,
        picture: &mut Self::Picture,
        slice: &Slice<&[u8]>,
        sps: &Sps,
        pps: &Pps,
        dpb: &Dpb<Self::Handle>,
        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, picture: &PictureData, timestamp: u64 ) -> StatelessBackendResult<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<&[u8]> ) -> StatelessBackendResult<()>

Called by the decoder for every frame or field found.

source

fn decode_slice( &mut self, picture: &mut Self::Picture, slice: &Slice<&[u8]>, sps: &Sps, pps: &Pps, dpb: &Dpb<Self::Handle>, 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§