Skip to main content

A VapourSynth wrapper for the FLIP perceptual metric

Project description

vsflip

vsflip is a Python wrapper for VapourSynth that enables perceptual video comparison using the FLIP metric. It computes frame-by-frame error maps that quantify visual differences between a reference and a test video.

This wrapper integrates the flip Python library and works entirely within VapourSynth pipelines.

📦 Features

  • Frame-by-frame FLIP comparison between two VideoNode.
  • Outputs GrayscaleS error maps where darker pixels indicate better perceptual similarity.
  • Supports both LDR and HDR evaluation modes.
  • Optionally exports error maps as images (.png).

🛠 Requirements

🚀 Installation

You can install vsflip via pip:

pip install vsflip

✏️ Basic Usage

from vsflip import vsflip_frame, vsflip_video

# Compare the first frame of two clips
result = vsflip_frame(ref_clip, test_clip)

# Compare all frames (must be aligned and same length)
result = vsflip_video(ref_clip, test_clip)
  • Both functions return a VideoNode (GRAYS format).

  • Refer to the Python docstrings for detailed parameter descriptions and options.

Parameter Presets

To help understand the various screen resolution, distance, etc., I have created a set of presets called FlipParams. Check the docstring and the function itself for more info.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Third-party Dependencies

This project uses the FLIP metric python wrapper by NVIDIA, which is licensed under the BSD 3-Clause License.

The flip library's source code or binaries are not bundled with this project. It is installed separately as a required runtime dependency.

TODO List

  • Hoping that Nvidia hasn't dropped the project, I want to create the Python wrapper and the Vaporsynth implementation for the CUDA version as well. I actually tried, but I miserably failed... Any help is appreciated.

📬 Contact

For questions, bugs, or feature requests, feel free to open an issue or pull request.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vsflip-1.1.0.tar.gz (6.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vsflip-1.1.0-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file vsflip-1.1.0.tar.gz.

File metadata

  • Download URL: vsflip-1.1.0.tar.gz
  • Upload date:
  • Size: 6.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for vsflip-1.1.0.tar.gz
Algorithm Hash digest
SHA256 8f203931378c4b11c18cdd1c8b996473077911c2692b7d3f99863d5cf5b482d4
MD5 904209f05516028c34e5edc89d45c07a
BLAKE2b-256 aec70c10437ae28e94483f74b263e82e31a7f704b8bdd5fd3a9894d3ab090296

See more details on using hashes here.

File details

Details for the file vsflip-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: vsflip-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for vsflip-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 033d34941f0c45a5a9de12370219be17b4b8c3dd2c9e16ca2a3e51f1e2ed4f1d
MD5 c40b4d1b412020a0df7eb7347851ad6c
BLAKE2b-256 3c28339dd0c9a404b31af3b276064d5867e46c2741332773508b9bd28b8ddf8e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page