vmaf

Perceptual video quality assessment based on multi-method fusion.

OTHER License

Downloads
56.6K
Stars
4.4K
Committers
88

Bot releases are hidden (Show)

vmaf - v3.0.0 Latest Release

Published by kylophone 11 months ago

  • Removal of deprecated API compute_vmaf(), header file compute_vmaf.h.
  • First release to include vmaf_cuda_* APIs, header file vmaf_cuda.h.
  • Speedups and bug fixes.
vmaf - v3.0.0-rc

Published by kylophone 11 months ago

Release candidate for upcoming libvmaf v3.0.0.

vmaf - v2.3.1

Published by kylophone over 2 years ago

(2022-04-11) [v2.3.1]

This is a minor release with some CAMBI extensions and speed-ups and adding it to AOM CTC v3, as well as a few minor fixes/cleanups.

  • CAMBI extensions: full reference, PQ eotf, up to 16 bit-depth support, max_log_contrast parameter.
  • CAMBI: option to output heatmaps.
  • Many complier warnings cleaned up.
vmaf - v2.3.0

Published by li-zhi about 3 years ago

(2021-10-16) [v2.3.0]

New release to add CAMBI (Contrast Aware Multiscale Banding Index).

  • Python library: add encode width and height to Asset.
  • libvmaf: add pixel format VMAF_PIX_FMT_YUV400P.
  • Add cambi; add tests.
  • Improve documentation. (#912)
vmaf - v2.2.1

Published by kylophone about 3 years ago

(2021-09-20) [v2.2.1]

This is another minor release to address a few last minute items for the AOM CTC v2, as well as a few minor fixes/cleanups.

  • Fix a race condition in vmaf_thread_pool_wait(). (#894)
  • Avoid chroma resampling for 420mpeg2 y4m input (#906)
vmaf - v2.2.0

Published by kylophone over 3 years ago

(2021-07-02) [v2.2.0]

This is a minor release to address a few items for the AOM CTC v2, as well as a few minor fixes/cleanups.

  • Fixes a CIEDE-2000 precision issue, where cross-platform mismatches were seen. (#878)
  • Adds libvmaf API function vmaf_feature_dictionary_free(). (#879)
vmaf - v2.1.1

Published by kylophone almost 4 years ago

(2021-01-13) [v2.1.1]

This is a minor release to address a few last minute items for the initial AOM CTC.

vmaf - v2.1.0

Published by kylophone almost 4 years ago

(2020-12-30) [v2.1.0]

This is a minor release for the initial AOM CTC. Support has been added for templated feature names. While this is a general purpose software feature, templated feature names are immediately useful for simultaneous computation of VMAF and VMAF NEG since the two metrics rely on slightly different VIF/ADM variations. Global feature overrides via the --feature flag are no longer supported, instead individual models can have their features overloaded individually, the syntax for which is as follows:

--model version=vmaf_v0.6.1:vif.vif_enhn_gain_limit=1.0:adm.adm_enhn_gain_limit=1.0

New features:

  • Per-model feature overloading via new API vmaf_model_feature_overload().
  • Multiple unique configurations of the same feature extractor may be registered run at the same time.
  • --aom_ctc v1.0 preset, encompassing all metrics specified by the AOM CTC.
vmaf - v2.0.0

Published by kylophone almost 4 years ago

(2020-12-4) [v2.0.0]

This is a major release with an updated and overhauled libvmaf API. The vmafossexec command line tool has been deprecated and replaced with the more flexible and powerful vmaf tool. For an introduction to the libvmaf v2.0.0 API as well as an explanation of the new vmaf tool, please see the following README files: libvmaf, vmaf. Also part of this release is a new fixed-point and x86 SIMD-optimized (AVX2, AVX-512) implementation that achieves ~2x speed up compared to the previous floating-point version.

New features:

  • Add PSNR-HVS and CIEDE2000 metrics.
  • ci/actions: upload linux/macos artifacts (#738)
  • libvmaf/feature: deprecate daala_ssim (#735)
  • libvmaf: remove support for pkl models
  • libvmaf/psnr: rewrite using integer types, 2x speedup
  • vmaf: if no model is specified, enable v0.6.1 by default (#730)
  • libvmaf/x86: add AVX2/AVX-512 optimizations for adm, vif and motion
  • ci/actions: add xxd to build dependencies for Windows
  • libvmaf: add support for built-in models
  • libvmaf/integer_vif: use symmetrical mirroring on edges
  • Fix log2 by replacing log2f_approx with log2f
  • libvmaf_rc: provide a backwards compatible compute_vmaf(), link vmafossexec with libvmaf
  • libvmaf: add framework support for json models
  • libvmaf/libsvm: update libsvm to version 324
  • libvmaf/motion: add motion_force_zero to motion fex
  • return sha1 if Asset string is longer than 255
  • Add CID/iCID Matlab source code
  • build: unbreak x86 builds (Fixes: #374)
  • Add 12bit and 16bit support for python YUV reader; add tests.
  • Add PypsnrFeatureExtractor
  • Add processes to FeatureAssembler. (#662)

Fixed bugs:

  • fix motion flush for single frame input
  • Fixing the perf_metric for a single entry list input
vmaf - v1.5.3

Published by li-zhi about 4 years ago

(Updates since 1.5.1)

Fixed bugs:

  • Fix inverted height and width in integer_motion in vmaf_rc (#650).

New features:

  • libvmaf: add support for CSV and JSON logging
  • Python: Add an (optional) step in Executor class to do python-based processing to ref/dis files (#523).
  • Restructure python project and documentation (#544).
  • Move test resource to Netflix/vmaf_resource repo (#552).
  • Add Github CI (#558).
  • Add vmaf_v0.6.1neg model; add vif_enhn_gain_limit and adm_enhn_gain_limit options to vmaf_rc.
  • Update documentation for FFmpeg+libvmaf.
  • Improvements to AucPerfMetric (#643).
  • Add motion_force_zero option to vmaf_rc.
vmaf - v1.5.2

Published by kylophone over 4 years ago

Minor maintenance release:

  • libvmaf_rc general improvements
  • Fix pkgconfig version sync issue (#572)

The next release will very likely be v2.0.0. This will be a breaking libvmaf API change, see #591 for more details.

vmaf - v1.5.1

Published by li-zhi over 4 years ago

New features:

  • libvmaf has been relocated, and now has its own self-enclosed source tree (./libvmaf/) and build system (meson).
  • Update license to BSD+Patent.
  • Migrate the build system from makefile to meson.
  • Introduce a new release candidate API with the associated library libvmaf_rc and executable vmaf_rc under ./libvmaf/build.
  • Add SI and TI feature extractor python classes.
  • Add fixed-point SSIM implementation.
  • Migrate to python3.
vmaf - v1.3.15

Published by li-zhi about 5 years ago

Fixed bugs:

  • Fix a case when CPU cores > 128(MAX_NUM_THREADS) / 3 (#319).
  • Avoid dis-filtering ref when not needed, fix return type (#325).
  • Update name of file for failed dis_path fopen (#334).
  • A few compilation fixes (warnings and errors) (#326).
  • Bump up g++ version to 9 for travis (#352).
  • Use stat struct instead of ftell to retrieve the file size (#350).

New features:

  • Write aggregate scores, exec FPS to json output.
  • Add support for python3 (#332).
  • Print progress in vmafossexec (#337).
  • Add VMAF logo.
  • Add link to report VMAF bad cases.
vmaf - v1.3.14

Published by li-zhi over 5 years ago

Fixed bugs:

  • Fix VMAF value mismatch on 160x90 videos after optimization (#315).
  • Fix w10 error with using uninitialized offset_flag variable (#302).

New features:

  • Add automated Windows builds with AddVeyor (#313).
  • Report aggregate CI scores and fix empty model name in log (#304).
vmaf - v1.3.13

Published by li-zhi over 5 years ago

New features:

  • Optimized C code for speed. Running in multithreading mode, vmafossexec achieves ~40% run time reduction compared to the previous version.
  • Printed out individual vmaf bootstrap scores in text file from vmafossexec.
  • Refactored windows solution (#283) (#284) (#285) (#291) (#298).
vmaf - v1.3.9

Published by kylophone about 6 years ago

Fixed bugs:

  • Fixes an issue in libvmaf where user defined read_frame() callback was being ignored.
vmaf - v1.3.7

Published by li-zhi over 6 years ago

  • Re-organized README. Added a reference page with a list of papers/techblogs/presentation on VMAF.
  • VMAF prediction now comes with a 95% confidence interval (CI), which quantifies the uncertainty in a trained VMAF model. The CI is established through bootstrapping on the prediction residue using the training data points. To enable CI, use the option --ci in the command line tools (run_vmaf, run_vmaf_in_batch, ffmpeg2vmaf, vmafossexec) with a bootstrapping model such as model/vmaf_rb_v0.6.2/vmaf_rb_v0.6.2.pkl.
  • Added 4K VMAF model under model/vmaf_4k_v0.6.1.pkl, which predicts the subjective quality of video displayed on a 4KTV and viewed from the distance of 1.5X the display height.
  • Update libvmaf version to 1.3.7 after compute_vmaf() interface change (added conf_interval argument).
  • Added new models: 1) model/vmaf_4k_v0.6.1.pkl for 4KTV viewing at distance 1.5H, 2) model/vmaf_rb_v0.6.2/vmaf_rb_v0.6.2.pkl for VMAF prediction with a confidence interval, 3) model/vmaf_4k_rb_v0.6.2/vmaf_4k_rb_v0.6.2.pkl for 4KTV viewing at distance 1.5H, with a confidence interval.
vmaf - v1.3.5

Published by li-zhi over 6 years ago

New features:

  • Add multi-threading to vmafossexec.
vmaf - v1.3.4

Published by li-zhi over 6 years ago

Refactoring:

  • Refactor mos out of vmaf repo; rename to sureal as submodule.
  • Refactor TrainTestModel to make predict() to output dictionary.
  • Refactor TrainTestModel.
  • Rename KFLK metric to AUC (Area Under the Curve) for better interpretability.

New features:

  • Add bootstrapping to VMAF. Add two new classes BootstrapVmafQualityRunner and BaggingVmafQualityRunner
  • Add Resolving Power Performance Metric.
  • Add BRISQUE and NIQE feature extractors. Added two new classes BrisqueNorefFeatureExtractor and NiqeNorefFeatureExtractor. Add NiqeQualityRunner.

Fixed bugs:

  • Add .gitattributes (#127). Force .pkl and .model files to retain LF line-ending. Required for use on Windows where model files would otherwise be checked out as CRLF which VMAF's parser doesn't handle.
  • Allow MinGW compilation of ptools (#133). ptools doesn't build on MinGW as *nix socket headers are included. This patch selects Windows headers for MinGW builds.
  • Update compute vmaf interface (#138). Update VMAF version in libvmaf.pc and etc. Catch logic error (resulted from wrong model file format) in compute_vmaf(). Use custom error code.
vmaf - v1.3.1

Published by li-zhi about 7 years ago

New features:

  • Update Asset class: add copy functions to Asset; add ref/dis_yuv_type; deprecate yuv_type; add ref/dis_start_sec;
  • Update subjective models: add confidence interval to subjective model parameters; refactor MLE model and make subclasses; add run_subj command line.
  • Recommend pip, add ffmpeg2vmaf info and reorganize prerequisite installation (#88).
  • Reduce sleep time in parallel_map.
  • Add library interface for VMAF (#90).
  • Add VisualStudio2015 support (#92).
  • Add example of image dataset notyuv.
  • Add pkgconfig file and changed Makefile.
  • Add VmafPhoneQualityRunner class.
  • Add DMOS_MLE_CO subjective model.

Fixed bugs:

  • Update RegressionMixin to handle KFLK exception for dicitonary-style dataset.
  • Fix Makefile fedora libptools issue. (#98)

Refactoring:

  • Refactor NorefExecutorMixin to eliminate repeated codes.
  • Refactor C code: get rid of unused double functions; uniformly use read_frame callback function to void repeated code;
  • Add strip option to Makefile.