mirror of
https://github.com/opencv/opencv.git
synced 2026-07-21 19:33:03 +04:00
aee03ffbb2
Defer the u8→i16 widening (vzext) in the pre-screen phase until after the quick-reject check passes. This avoids 5 unnecessary widen operations per pixel-strip when the pre-screen rejects (which happens ~70-80% of the time at the default threshold=20). The approach uses u8mf2 (same VL as i16m1) for the pre-screen comparison with vssubu/vsaddu for bounds and vmsgtu for unsigned comparison. When the pre-screen passes, the already-loaded u8mf2 variables are widened to i16m1 for the score computation, reusing the same data without redundant memory loads. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>