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§
Sourcefn new_sequence(&mut self, sps: &Sps) -> StatelessBackendResult<()>
fn new_sequence(&mut self, sps: &Sps) -> StatelessBackendResult<()>
Called when a new SPS is parsed.
Sourcefn new_picture(
&mut self,
coded_resolution: Resolution,
timestamp: u64,
) -> NewPictureResult<Self::Picture>
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.
Sourcefn 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 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.
Sourcefn 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 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.
Sourcefn submit_picture(
&mut self,
picture: Self::Picture,
) -> StatelessBackendResult<Self::Handle>
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.