pub struct TileDependencyGraph {
pub edges: Vec<TileDependency>,
pub cols: u32,
pub rows: u32,
}Expand description
Dependency graph for a tile layout.
Fields§
§edges: Vec<TileDependency>All dependency edges.
cols: u32Number of tile columns.
rows: u32Number of tile rows.
Implementations§
Source§impl TileDependencyGraph
impl TileDependencyGraph
Sourcepub fn build(layout: &TileLayout) -> Self
pub fn build(layout: &TileLayout) -> Self
Build a dependency graph for the given layout.
By default, each tile depends on its left neighbour (entropy context) and its top neighbour (loop filter boundary). The caller can add motion-vector dependencies afterwards.
Sourcepub fn add_mv_dependency(&mut self, from: (u32, u32), to: (u32, u32))
pub fn add_mv_dependency(&mut self, from: (u32, u32), to: (u32, u32))
Add a motion-vector dependency between two tiles.
Sourcepub fn dependencies_of(&self, col: u32, row: u32) -> Vec<&TileDependency>
pub fn dependencies_of(&self, col: u32, row: u32) -> Vec<&TileDependency>
Return all tiles that (col, row) depends on.
Trait Implementations§
Source§impl Clone for TileDependencyGraph
impl Clone for TileDependencyGraph
Source§fn clone(&self) -> TileDependencyGraph
fn clone(&self) -> TileDependencyGraph
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for TileDependencyGraph
impl RefUnwindSafe for TileDependencyGraph
impl Send for TileDependencyGraph
impl Sync for TileDependencyGraph
impl Unpin for TileDependencyGraph
impl UnsafeUnpin for TileDependencyGraph
impl UnwindSafe for TileDependencyGraph
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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