pub struct ReferenceFrameManager { /* private fields */ }Expand description
Manages reference frames for inter prediction.
Implementations§
Source§impl ReferenceFrameManager
impl ReferenceFrameManager
Sourcepub fn get(&self, index: usize) -> Option<&FrameBuffer>
pub fn get(&self, index: usize) -> Option<&FrameBuffer>
Get a reference frame by slot index.
Sourcepub fn store(&mut self, index: usize, frame: FrameBuffer, order_hint: u32)
pub fn store(&mut self, index: usize, frame: FrameBuffer, order_hint: u32)
Store a frame in a slot.
Sourcepub fn clear_slot(&mut self, index: usize)
pub fn clear_slot(&mut self, index: usize)
Clear a reference slot.
Sourcepub fn order_hint(&self, index: usize) -> u32
pub fn order_hint(&self, index: usize) -> u32
Get the order hint for a slot.
Sourcepub fn has_reference(&self, index: usize) -> bool
pub fn has_reference(&self, index: usize) -> bool
Check if a slot has a valid reference.
Sourcepub const fn current_frame(&self) -> u64
pub const fn current_frame(&self) -> u64
Get the current frame number.
Sourcepub fn next_frame(&mut self)
pub fn next_frame(&mut self)
Increment the frame counter.
Sourcepub fn valid_references(&self) -> Vec<usize>
pub fn valid_references(&self) -> Vec<usize>
Get all valid reference indices.
Trait Implementations§
Source§impl Debug for ReferenceFrameManager
impl Debug for ReferenceFrameManager
Auto Trait Implementations§
impl Freeze for ReferenceFrameManager
impl RefUnwindSafe for ReferenceFrameManager
impl Send for ReferenceFrameManager
impl Sync for ReferenceFrameManager
impl Unpin for ReferenceFrameManager
impl UnsafeUnpin for ReferenceFrameManager
impl UnwindSafe for ReferenceFrameManager
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more