Skip to content

libvmaf/feature: add motion_v2#1483

Merged
kylophone merged 2 commits intomasterfrom
motion_v2
Apr 9, 2026
Merged

libvmaf/feature: add motion_v2#1483
kylophone merged 2 commits intomasterfrom
motion_v2

Conversation

@kylophone
Copy link
Copy Markdown
Collaborator

@kylophone kylophone commented Apr 7, 2026

motion_v2 exploits the linearity of convolution, i.e. SAD(blur(A), blur(B)) = SAD(blur(A - B)). Difference, blur, and absolute-sum are fused into a single pass, which eliminates the need to store blurred frames between calls and enabling stateless per-frame execution. This fixes a threading bottleneck inherent to the original motion feature extractor. The plots below show how vmaf as calculated with motion vs motion_v2 scales with the threading modes implemented as part of #1482.

fps_vs_threads rss_vs_threads

@kylophone kylophone force-pushed the motion_v2 branch 2 times, most recently from 106f62f to d54d053 Compare April 8, 2026 18:07
@kylophone kylophone merged commit dae6c1a into master Apr 9, 2026
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant