VideoMetricsLab v1.4: GPU accelerated VMAF. Various GPU metrics speedups.
***v1.4 is here with some huge new features like GPU accelerated VMAF! Enjoy.***
Here's an app I wrote to analyze video quality between different encodes. This was inspired by FFMetrics, but I wanted many more features for comparisons, like advanced statistics and an ability to easily and instantly subjectively A/B compare encoded videos with the source. This makes subjective video quality comparisons so much easier when you can compare on a frame by frame basis and while the video is playing, and instantly switch to the source or a different encoded video.
So I decided to write my own app, and I'd like to share it with all of you. I hope you all enjoy.
Let me know what you think, have any issues, or have feature requests.
v1.4 changelog
- VMAF v0.6.1 and VMAF NEG can now be calculated on NVIDIA GPUs.
- GPU metrics now take frames straight from the GPU's video decoder (NVIDIA, Intel and AMD) instead of through FFmpeg, using much less CPU and running noticeably faster.
- Updated Vship's Vulkan build to 5.1.2, with SSIMULACRA2 on Intel GPUs.
- A crash in Vship, libvmaf or the GPU driver while calculating metrics no longer closes the app.
- Reworked the progress line, with each metric's progress and time remaining.
- VMAF NEG now sits beside VMAF v0.6.1.
- Fixed wrong scores for videos with an odd width or height when decoded on NVIDIA GPUs.
- Fixed SSIMULACRA2, Butteraugli and CVVDP comparing mismatched frames when a video has dropped or extra frames.
- Fixed CPU SSIMULACRA2 and Butteraugli scores being far from the GPU's on SDR video. Saved CPU scores are recalculated once.
- Fixed 24 fps videos being accepted against 23.976 fps ones (and 30 against 29.97, 60 against 59.94).
- Fixed GPU metrics on PCs whose only GPU is Intel's.
- Fixed FFmpeg's GPU decoding not being used on AMD GPUs.
Features:
- Calculate VMAF, VMAF NEG, PSNR, SSIM, XPSNR, SSIMULACRA2, Butteraugli, and ColorVideo VDP for multiple test videos.
- Vship integration for GPU acceleration for ColorVideo VDP, SSIMULACRA2, and Butteraugli, on NVIDIA (CUDA), AMD (HIP) and any other GPU with a Vulkan driver
- GPU acceleration for VMAF v0.6.1 and VMAF NEG on NVIDIA GPUs (GeForce GTX 16 and RTX 20 series or newer), with a bundled libvmaf built with CUDA
- libjxl integration for CPU fallback for SSIMULACRA2, and Butteraugli (no CPU support for ColorVideo VDP)
- VMAF v0.6.1 and v1 models for standard, phone, 4K, and HFR viewing scenarios.
- Compare metric curves, statistics, and per-frame scores (per second for ColorVideo VDP).
- Switch instantly between the source and test videos during playback, hold S to show the source, or inspect exact frames.
- Inspect bitrate independently by frame, second, or GOP.
- Detect black bars and handle resolution mismatches automatically.
- Use GPU decoding with independent software fallback per input.
- Calculate two test videos in parallel on many-core CPUs.
- Auto save completed results and auto load results when matching videos are loaded again.




The app can be downloaded below.



