- Bug fix: incorrect assert in dm_preview_metric.py
- Fix: disabled some unnecessary warning messages when dm-preview was selected
- Fix: YCbCr to RGB transform changed from BT.601 to BT.709 (issue #36)
- Bug fix: --dump-channels works again (was broken after adding the batch mode)
- Fix: --device=mps works again (on Apple Silicon)
- Added: Progress bar
- Added:
--debugwill display the full stack trace when error is encountered. Otherwise, the stack trace should be hidden. - Added:
--count-frameswill use slow but accurate method to ensure that we know the exact number of frames in the stream. - Added:
--temp-padding=symmetricis now implemented. - Fixed: reduced frame delay with
--temp-resample - Fixed: support for reading Yuv files
- Added: 422 chroma subsampling is now natively supported
- Added: new display models in the
display_models.json - Fixed: pu_psnr_y was compared linear instead of PU21 values (thanks to jgerster0)
- Bug fix: Distogram export works again (it was broken after introducing the batch mode)
- Fixed: A more meaningful message when a metric does not generate a histogram or heatmap but it is asked to generate such
- Fixed: --temp-resample accepts an optional parameter - the maximum frame rate to use for temporal resampling
- Bug fix: Caching was causing a huge mem-leak
- Added: Batch mode for faster processing
- Bug fix: small discrepancy in the predictions depending on how many frames are processed at once (gpu memory) (thanks to Yancheng)
- Removed dependecy on the depreciated pynvml package
- Minor changes to avoid warnings in Python 3.13
- Fixed missing files in the PIP release
- Added two new metrics: cvvdp-ml-saliency and cvvdp-ml-transformer. See metrics.md for more info.
- Fixed: Heat map visualization when the test image has very small dynamic range (thanks to Yuta).
- Fixed: More accurate color transform is used when dumping channels (thanks to Simon)
- Added documemntation for
--dump-channels.
- Interpolation of the CSF is a bit faster now (thanks to Dongyeon)
- Fixed: Updated broken
calibration/*.pyscripts. Now they use--config-pathsinstead of discontinued--config-dir. - Fixed: Base bands were incorrectly weighted when generating heat maps.
- Fixed: Improved Matlab interface - handles negative JODs and video heatmaps (thanks to CaptainS5)
- Now can handle videos that do not contain the number of frames in the meta-data
- Added
--temp-resampleoption that allows to compare videos of different frame rates - Fixed: The default device is now 'cuda' instead of 'cuda:0' (thanks to soCzech)
- Files are now sorted after the wildcard expansion
- Updated PU21 encoding parameters so that they are in sync with those in https://github.com/gfxdisp/pu21/
- Added:
--dump-channelsfor generating videos with intermediate processing stages (debugging and visualization) - Added: Support for HLG EOTF (e.g. iPhone HDR video) - thanks to Cosmin Stejerean
- Added: Processing of videos stored as image frames, described using the C-notation
frame_%04d.png. New arguments: '--fps' and '--frames' - Fixed: A better memory model for estimating how many frames can be processed at once on a GPU. Added '--gpu-mem' argument.
- Added: 'exposure' field in a display model JSON file.
- Added:
--resultargument to store results in a CSV file. - Fixed: Added examples to README.md and improved documentation.
- Added: ColorVideoVDP logo.
- Added
--metric dm-previewfor debugging of the display model - Added a
lossmethod to cvvdp andexamples/ex_adaptive_chroma_subsampling.py - Added "pixels_per_degree" as an optional field in
display_models.json - Platform is printed when running with
--verbose(for reporting bugs/issues)
- A new calibration with a small improvement in performance
- Improved predictions for supra-threshold contrast across color directions
- Improved masking model
- Added Matlab wrapper
- CLI now has --interactive mode to process multiple images/video without restarting PyTorch
- Fixed distogram generation for images
- "--quiet" flag now ensures that no warning messages end up in the stdout
- CSF updated to the latest castleCSF fit
- added 'luminance' color space to handle luminance-only data
- Added value range checks when the metric is running on HDR data (to avoid passing relative values)
- Added SSIM as an alternative metric
- Better handling of paths to configuration files
- Updated ColorVideoVDP model with cross-channel masking and more advanced pooling, different calibration and better prediction accuracy.
- Added distograms
- Changed handling of paths to configuration files
- Heatmaps are now saved using ffmpeg's mpeg4 codec for better comparibility across platforms
- Fixed freezing on Windows when reading long videos (due to bug in python's /dev/null implementation)
- Added plain psnr_rgb metric, which operates on display-encoded values (or PU21-encoded if needed)
- Updated PU-PSNR-* to use 100 nit as the peak + to computed PSNR for all pixels in the video (rather than mean PSNR over all frames).
- Reorganized display_models.json - now color space is a part of the display model json spec, EOTF is a part of color space json spec.