pub struct AdaptiveDiamond { /* private fields */ }Expand description
Adaptive diamond search that switches between SDSP and LDSP.
This implementation uses LDSP initially and switches to SDSP when:
- The best point is at the center (convergence)
- A threshold number of iterations has passed
Implementations§
Source§impl AdaptiveDiamond
impl AdaptiveDiamond
Sourcepub const fn max_iterations(self, max: u32) -> Self
pub const fn max_iterations(self, max: u32) -> Self
Sets the maximum LDSP iterations.
Sourcepub const fn switch_threshold(self, threshold: u32) -> Self
pub const fn switch_threshold(self, threshold: u32) -> Self
Sets the SAD threshold for early switch.
Trait Implementations§
Source§impl Clone for AdaptiveDiamond
impl Clone for AdaptiveDiamond
Source§fn clone(&self) -> AdaptiveDiamond
fn clone(&self) -> AdaptiveDiamond
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 AdaptiveDiamond
impl Debug for AdaptiveDiamond
Source§impl Default for AdaptiveDiamond
impl Default for AdaptiveDiamond
Source§impl MotionSearch for AdaptiveDiamond
impl MotionSearch for AdaptiveDiamond
Source§fn search(&self, ctx: &SearchContext<'_>, config: &SearchConfig) -> BlockMatch
fn search(&self, ctx: &SearchContext<'_>, config: &SearchConfig) -> BlockMatch
Performs motion search and returns the best match.
Source§fn search_with_predictor(
&self,
ctx: &SearchContext<'_>,
config: &SearchConfig,
predictor: MotionVector,
) -> BlockMatch
fn search_with_predictor( &self, ctx: &SearchContext<'_>, config: &SearchConfig, predictor: MotionVector, ) -> BlockMatch
Performs motion search with a starting point prediction.
Auto Trait Implementations§
impl Freeze for AdaptiveDiamond
impl RefUnwindSafe for AdaptiveDiamond
impl Send for AdaptiveDiamond
impl Sync for AdaptiveDiamond
impl Unpin for AdaptiveDiamond
impl UnsafeUnpin for AdaptiveDiamond
impl UnwindSafe for AdaptiveDiamond
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