#[non_exhaustive]pub enum MotionCompensationMode {
None,
Mvtools {
blksize: u32,
overlap: u32,
search_radius: u32,
pyramid_levels: u32,
estimation: MotionEstimation,
},
}Expand description
How motion compensation is configured for a denoise pass.
None disables motion compensation entirely (zero-cost; no extra
buffers are allocated). Mvtools enables an MVTools-inspired
per-block estimator and warps neighbours toward the centre at
denoise time.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
None
Mvtools
Fields
overlap: u32Overlap between neighbouring blocks in pixels. Must be
strictly less than blksize so the step (blksize - overlap)
stays positive. Values > 0 reserve room for raised-cosine
blending in the compensate step (v1 uses a winner-block rule).
search_radius: u32Pixel search radius at the finest pyramid level. The
coarse pass uses the same radius on the /2 image so its
effective reach is doubled.
pyramid_levels: u32Number of pyramid levels. 1 disables the hierarchical
coarse pass; 2 adds a /2 coarse pass that seeds the
fine pass. Bounded by [MAX_PYRAMID_LEVELS].
estimation: MotionEstimationHow temporal MVs are estimated. Auto (the default) picks
the strategy from the temporal radius. Callers normally
leave this at the default. Explicit Direct/Chained are
mainly useful for pinning a variant in tests and benches.
Implementations§
Source§impl MotionCompensationMode
impl MotionCompensationMode
Sourcepub fn mvtools_default() -> Self
pub fn mvtools_default() -> Self
Convenience constructor for Mvtools with library defaults.
Pins estimation to Direct rather than the field’s own
Auto default, so it never switches to Chained at larger
temporal radii the way an Auto configuration does.
Trait Implementations§
Source§impl Clone for MotionCompensationMode
impl Clone for MotionCompensationMode
Source§fn clone(&self) -> MotionCompensationMode
fn clone(&self) -> MotionCompensationMode
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more