Home

Awesome

VMAF

Video Multi-Method Assessment Fusion, based on https://github.com/Netflix/vmaf.

Additionally, vsvmafxml can be used to store per-frame score from XML log as a frame property in clip.

Usage

vmaf.VMAF(vnode reference, vnode distorted, string log_path[, int log_format=0, int[] model=None, int[] feature=None])

vmaf.CAMBI(vnode clip, string log_path[, int log_format=0, int window_size=None, float topk=None, float tvi_threshold=None, int max_log_contrast=None, int enc_width=None, int enc_height=None])

CAMBI (Contrast Aware Multiscale Banding Index) is Netflix's detector for banding (aka contouring) artifacts. For an introduction to CAMBI, please refer to the tech blog.

The CAMBI score starts at 0, meaning no banding is detected. A higher CAMBI score means more visible banding artifacts are identified. The maximum CAMBI observed in a sequence is 24 (unwatchable). As a rule of thumb, a CAMBI score around 5 is where banding starts to become slightly annoying (also note that banding is highly dependent on the viewing environment - the brigher the display, and the dimmer the ambient light, the more visible banding is).


vmaf.Metric(vnode reference, vnode distorted, int[] feature)

Compute the metrics and store the scores as frame properties.

Compilation

Requires libvmaf.

meson build
ninja -C build
ninja -C build install