Add and optimize TUNE-VMAF mode

Description

  • Add a new tuning mode --tune 5 (TUNE-VMAF) that applies a per-frame luma unsharp mask preprocessing pipeline (using a cascaded separable box blur) before encoding to improve VMAF without running the VMAF model at encode time.
  • Integrate an adaptive sharpening strength with an adaptive value based on per-QP signal and spatial activity (using the MIN of the two signals), so sharpening scales with both QP and frame texture.
  • Add noise-aware modulation (Laplacian-based) to reduce sharpening on noisy frames.
  • Add a QP-adaptive per-pixel delta clip to bound the high-frequency detail signal before scaling, limiting PSNR loss on strong edges without affecting smooth regions.
  • Add chroma QP compensation to maintain luma–chroma balance after luma-only filtering.
  • Add AVX2 SIMD optimizations (via RTCD) for vectorizable steps.

Author(s)

@Khalilkhemakhem @PDX-Runner

Performance impact

image

image

image

image

(*) Plots generated using ElFuente content. M9/M10 optimization is still W.I.P.

Test set

  • obj-1-fast can be found here
  • other
  • N/A

Merge method

  • Allow the maintainer to squash and merge when PR is ready to create a 1-commit to the master branch. The maintainer will be able to fix typos / combine commit messages to create a more readable 1-commit message or use whatever is stated in the 'Description' section
  • I will clean up my commits and the maintainer shall use 'rebase and merge' to the master branch
Edited by Khalilkhemakhem

Merge request reports

Loading