pub enum BlockSize {
Show 22 variants
BLOCK_4X4,
BLOCK_4X8,
BLOCK_8X4,
BLOCK_8X8,
BLOCK_8X16,
BLOCK_16X8,
BLOCK_16X16,
BLOCK_16X32,
BLOCK_32X16,
BLOCK_32X32,
BLOCK_32X64,
BLOCK_64X32,
BLOCK_64X64,
BLOCK_64X128,
BLOCK_128X64,
BLOCK_128X128,
BLOCK_4X16,
BLOCK_16X4,
BLOCK_8X32,
BLOCK_32X8,
BLOCK_16X64,
BLOCK_64X16,
}
Variants§
BLOCK_4X4
BLOCK_4X8
BLOCK_8X4
BLOCK_8X8
BLOCK_8X16
BLOCK_16X8
BLOCK_16X16
BLOCK_16X32
BLOCK_32X16
BLOCK_32X32
BLOCK_32X64
BLOCK_64X32
BLOCK_64X64
BLOCK_64X128
BLOCK_128X64
BLOCK_128X128
BLOCK_4X16
BLOCK_16X4
BLOCK_8X32
BLOCK_32X8
BLOCK_16X64
BLOCK_64X16
Implementations§
source§impl BlockSize
impl BlockSize
pub const BLOCK_SIZES_ALL: usize = 22usize
pub const BLOCK_SIZES: usize = 16usize
sourcepub fn from_width_and_height_opt(
w: usize,
h: usize
) -> Result<BlockSize, InvalidBlockSize>
pub fn from_width_and_height_opt( w: usize, h: usize ) -> Result<BlockSize, InvalidBlockSize>
§Errors
- Returns
InvalidBlockSize
if the givenw
andh
do not produce a valid block size.
sourcepub fn from_width_and_height(w: usize, h: usize) -> BlockSize
pub fn from_width_and_height(w: usize, h: usize) -> BlockSize
§Panics
- If the given
w
andh
do not produce a valid block size.
pub fn cfl_allowed(self) -> bool
pub const fn width(self) -> usize
pub const fn width_log2(self) -> usize
pub const fn width_mi_log2(self) -> usize
pub const fn width_mi(self) -> usize
pub fn width_imp_b(self) -> usize
pub const fn height(self) -> usize
pub const fn height_log2(self) -> usize
pub const fn height_mi_log2(self) -> usize
pub const fn height_mi(self) -> usize
pub fn height_imp_b(self) -> usize
pub const fn tx_size(self) -> TxSize
sourcepub const fn subsampled_size(
self,
xdec: usize,
ydec: usize
) -> Result<BlockSize, InvalidBlockSize>
pub const fn subsampled_size( self, xdec: usize, ydec: usize ) -> Result<BlockSize, InvalidBlockSize>
Source: Subsampled_Size
(AV1 specification section 5.11.38)
§Errors
- Returns
InvalidBlockSize
if the given block size cannot be subsampled in the requested way.
sourcepub fn largest_chroma_tx_size(self, xdec: usize, ydec: usize) -> TxSize
pub fn largest_chroma_tx_size(self, xdec: usize, ydec: usize) -> TxSize
§Panics
Will panic if the subsampling is not possible
pub const fn is_sqr(self) -> bool
pub const fn is_sub8x8(self, xdec: usize, ydec: usize) -> bool
pub const fn sub8x8_offset(self, xdec: usize, ydec: usize) -> (isize, isize)
sourcepub const fn subsize(
self,
partition: PartitionType
) -> Result<BlockSize, InvalidBlockSize>
pub const fn subsize( self, partition: PartitionType ) -> Result<BlockSize, InvalidBlockSize>
§Errors
- Returns
InvalidBlockSize
if the block size cannot be split in the requested way.
pub const fn is_rect_tx_allowed(self) -> bool
Trait Implementations§
source§impl PartialEq for BlockSize
impl PartialEq for BlockSize
source§impl PartialOrd for BlockSize
impl PartialOrd for BlockSize
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moreimpl Copy for BlockSize
impl Eq for BlockSize
impl StructuralPartialEq for BlockSize
Auto Trait Implementations§
impl Freeze for BlockSize
impl RefUnwindSafe for BlockSize
impl Send for BlockSize
impl Sync for BlockSize
impl Unpin for BlockSize
impl UnwindSafe for BlockSize
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