fn uneven_multi_hex_search<T: Pixel>(
fi: &FrameInvariants<T>,
po: PlaneOffset,
org_region: &PlaneRegion<'_, T>,
p_ref: &Plane<T>,
current: &mut MotionSearchResult,
bit_depth: usize,
pmv: [MotionVector; 2],
lambda: u32,
mvx_min: isize,
mvx_max: isize,
mvy_min: isize,
mvy_max: isize,
w: usize,
h: usize,
me_range: i16,
)
Expand description
Perform an uneven multi-hexagon search. There are 4 stages:
- Unsymmetrical-cross search: Search the horizontal and vertical directions for the general direction of the motion.
- A 5x5 full search is done to refine the current candidate.
- Uneven multi-hexagon search. See
UMH_PATTERN
. - Refinement using standard hexagon search.
current
provides the initial search location and serves as
the output for the final search results.
me_range
parameter determines how far these stages can search.