Struct rav1e::prelude::config::TilingInfo
source · pub struct TilingInfo {Show 14 fields
pub frame_width: usize,
pub frame_height: usize,
pub tile_width_sb: usize,
pub tile_height_sb: usize,
pub cols: usize,
pub rows: usize,
pub tile_cols_log2: usize,
pub tile_rows_log2: usize,
pub min_tile_cols_log2: usize,
pub max_tile_cols_log2: usize,
pub min_tile_rows_log2: usize,
pub max_tile_rows_log2: usize,
pub sb_size_log2: usize,
pub min_tiles_log2: usize,
}
Expand description
Tiling information
This stores everything necessary to split a frame into tiles, and write headers fields into the bitstream.
The method tile_iter_mut()
actually provides tiled views of FrameState
and FrameBlocks
.
Fields§
§frame_width: usize
§frame_height: usize
§tile_width_sb: usize
§tile_height_sb: usize
§cols: usize
§rows: usize
§tile_cols_log2: usize
§tile_rows_log2: usize
§min_tile_cols_log2: usize
§max_tile_cols_log2: usize
§min_tile_rows_log2: usize
§max_tile_rows_log2: usize
§sb_size_log2: usize
§min_tiles_log2: usize
Implementations§
source§impl TilingInfo
impl TilingInfo
sourcepub fn from_target_tiles(
sb_size_log2: usize,
frame_width: usize,
frame_height: usize,
frame_rate: f64,
tile_cols_log2: usize,
tile_rows_log2: usize,
is_422_p: bool
) -> Self
pub fn from_target_tiles( sb_size_log2: usize, frame_width: usize, frame_height: usize, frame_rate: f64, tile_cols_log2: usize, tile_rows_log2: usize, is_422_p: bool ) -> Self
§Panics
Panics if the resulting tile sizes would be too large.
sourcepub fn tile_log2(blk_size: usize, target: usize) -> Option<usize>
pub fn tile_log2(blk_size: usize, target: usize) -> Option<usize>
Return the smallest value for k
such that blkSize << k
is greater than
or equal to target
.
https://aomediacodec.github.io/av1-spec/#tile-size-calculation-function
pub const fn tile_count(&self) -> usize
sourcepub fn tile_iter_mut<'a, T: Pixel>(
&self,
fs: &'a mut FrameState<T>,
fb: &'a mut FrameBlocks
) -> TileContextIterMut<'a, T>
pub fn tile_iter_mut<'a, T: Pixel>( &self, fs: &'a mut FrameState<T>, fb: &'a mut FrameBlocks ) -> TileContextIterMut<'a, T>
Split frame-level structures into tiles
Provide mutable tiled views of frame-level structures.
Trait Implementations§
source§impl Clone for TilingInfo
impl Clone for TilingInfo
source§fn clone(&self) -> TilingInfo
fn clone(&self) -> TilingInfo
Returns a copy 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 moresource§impl Debug for TilingInfo
impl Debug for TilingInfo
impl Copy for TilingInfo
Auto Trait Implementations§
impl Freeze for TilingInfo
impl RefUnwindSafe for TilingInfo
impl Send for TilingInfo
impl Sync for TilingInfo
impl Unpin for TilingInfo
impl UnwindSafe for TilingInfo
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