Trait cros_codecs::decoder::stateless::h265::StatelessH265DecoderBackend
source · 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§
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,
picture: &PictureData,
timestamp: u64
) -> StatelessBackendResult<Self::Picture>
fn new_picture( &mut self, picture: &PictureData, timestamp: u64 ) -> StatelessBackendResult<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<&[u8]>
) -> 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<&[u8]> ) -> StatelessBackendResult<()>
Called by the decoder for every frame or field found.
sourcefn 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 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.
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.