Struct rav1e::prelude::SpeedSettings[][src]

pub struct SpeedSettings {
    pub multiref: bool,
    pub fast_deblock: bool,
    pub reduced_tx_set: bool,
    pub tx_domain_distortion: bool,
    pub tx_domain_rate: bool,
    pub encode_bottomup: bool,
    pub rdo_tx_decision: bool,
    pub prediction_modes: PredictionModesSetting,
    pub include_near_mvs: bool,
    pub no_scene_detection: bool,
    pub fast_scene_detection: bool,
    pub cdef: bool,
    pub lrf: bool,
    pub sgr_complexity: SGRComplexityLevel,
    pub use_satd_subpel: bool,
    pub non_square_partition: bool,
    pub enable_segmentation: bool,
    pub enable_inter_tx_split: bool,
    pub fine_directional_intra: bool,
    pub partition_range: PartitionRange,
}

Contains the speed settings.

Fields

multiref: bool

Enables inter-frames to have multiple reference frames.

Enabled is slower.

fast_deblock: bool

Enables fast deblocking filter.

reduced_tx_set: bool

Enables reduced transform set.

Enabled is faster.

tx_domain_distortion: bool

Enables using transform-domain distortion instead of pixel-domain.

Enabled is faster.

tx_domain_rate: bool

Enables using transform-domain rate estimation.

Enabled is faster.

encode_bottomup: bool

Enables bottom-up encoding, rather than top-down.

Enabled is slower.

rdo_tx_decision: bool

Enables searching transform size and type with RDO.

Enabled is slower.

prediction_modes: PredictionModesSetting

Prediction modes to search.

Complex settings are slower.

include_near_mvs: bool

Enables searching near motion vectors during RDO.

Enabled is slower.

no_scene_detection: bool

Disables scene-cut detection.

Enabled is faster.

fast_scene_detection: bool

Fast scene detection mode, uses simple SAD instead of encoder cost estimates.

cdef: bool

Enables CDEF.

lrf: bool

Enables LRF.

sgr_complexity: SGRComplexityLevel

The amount of search done for self guided restoration.

use_satd_subpel: bool

Use SATD instead of SAD for subpixel search.

Enabled is slower.

non_square_partition: bool

Use non-square partition type everywhere

Enabled is slower.

enable_segmentation: bool

Use segmentation.

enable_inter_tx_split: bool

Enable tx split for inter mode block.

fine_directional_intra: bool

Use fine directional intra prediction

partition_range: PartitionRange

Range of partition sizes that can be used. Larger ranges are slower.

Must be based on square block sizes, so e.g. 8×4 isn’t allowed here.

Implementations

impl SpeedSettings[src]

pub fn from_preset(speed: usize) -> Self[src]

Set the speed setting according to a numeric speed preset.

The speed settings vary depending on speed value from 0 to 10.

  • 10 (fastest): min block size 64x64, reduced TX set, fast deblock, fast scenechange detection.
  • 9: min block size 32x32, reduced TX set, fast deblock.
  • 8: min block size 8x8, reduced TX set, fast deblock.
  • 7: min block size 8x8, reduced TX set.
  • 6 (default): min block size 8x8, reduced TX set, complex pred modes for keyframes.
  • 5: min block size 8x8, complex pred modes for keyframes, RDO TX decision.
  • 4: min block size 8x8, complex pred modes for keyframes, RDO TX decision, full SGR search.
  • 3: min block size 8x8, complex pred modes for keyframes, RDO TX decision, include near MVs, full SGR search.
  • 2: min block size 4x4, complex pred modes, RDO TX decision, include near MVs, full SGR search.
  • 1: min block size 4x4, complex pred modes, RDO TX decision, include near MVs, bottom-up encoding, full SGR search.
  • 0 (slowest): min block size 4x4, complex pred modes, RDO TX decision, include near MVs, bottom-up encoding with non-square partitions everywhere, full SGR search.

Trait Implementations

impl Clone for SpeedSettings[src]

impl Copy for SpeedSettings[src]

impl Debug for SpeedSettings[src]

impl Default for SpeedSettings[src]

fn default() -> Self[src]

This is currently used exclusively for feature testing and comparison. It is set to the slowest settings possible.

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.