The vooPLUS input plugin adds support for Quicktime Movies (.mov) and mpeg-4 files (.mp4) to vooya. In order to play files with HEVC content, you need to alter the source code a bit, compile it yourself and obtain an HEVC license.
ΔE-ITP is the most common error metric for images or video frames in the HDR domain. This plugins adds calculation of ΔE-ITP to
vooya's video difference feature. Suitable for inputs in gamma, PQ or HLG, and implemented as described here.
The plugin is designed to be fast and thus makes partial use of look-up tables. Also the upscaling algorithm isn't part of the spec, so
do not expect bit-exact results with other implementations.
Make sure the appropriate transfer function is specified, as well as other format settings. The ΔE-ITP plugin reports
its current settings in the console window of vooya.
RGB input with gamma is threated as rec.709, while RGB PQ is regarded as PQ content in vooya 1.X.
RGB input is considered full range in vooya 1.X.
Check the console window's output - [deitp] will report its internal format assumptions.
While stuff like rec.2020/709 or narrow vs. full don't play a big role when viewing a video
and thus are often neglected while setting the format, they are important for ΔE-ITP calculation.
Changelog
1.3
HLG - we make use of LUTs for the calculation.
(formerly YccIccSee Color Plugin, highly industrial)
This plugin appears in the Tools menu and adds a window expecting pixel positions.
For any pixel (make sure you have YCbCr >= 8bit input), the corresponding ICtCp, ITP and Yu'v' values are calculated.
Ycc is expected to be SDR, HLG or PQ content. With the output, we get a chromaticity data set that can further be explored, as described here.
The calculated values can be exported as CSV, to be subsequently imported elsewhere.
Currently only for macOS and
Windows.
BT.709 Gamma 2.4 input now really uses gamma 2.4. Before, it used gamma 2.2, so luminance and ICtCp values for this input mode were off. If you measured with "Gamma 2.4", please re-run those measurements.
4:2:0 and 4:2:2 chroma upsampling is slightly more accurate. The interpolation filter was normalized by 4095 instead of 4096, which shifted Cb/Cr a tiny bit.
4:2:2: on even pixel columns the stored chroma sample is now used directly. Before, it was filtered.
4:2:0: chroma at the top and bottom edges of the picture is now handled correctly.
Radius averaging (the averaging area around each pixel):
ΔE-ITP and the I/TP errors are now computed from the interpolated chroma, the same way as for the centre pixel.
Cb/Cr max errors now consider every pixel in the area, not every second one.
HLG with a low max nits value (below about 334 nits) no longer gives invalid (NaN) results for black pixels.
Automatic pixel selection now gives stable results when several candidates are equally colorful.
RGB BT.709 inputs are now plotted against the BT.709 gamut and shared as BT.709. Before, they were treated as BT.2020.
Output / CSV
The averaging columns are now always written, as zeros when no radius is set. Every row now lines up with the header.
"Out of range" rows had one column too many. This is fixed.
"Pixel Nr." now always matches the position in the coordinates list, including coordinates outside the frame.
Plot
A single measurement point, or several identical ones (e.g. a gray patch with T = P = 0), now plots correctly instead of breaking the axis range.
When you close a plugin window, its graph is removed from the plots shared with other open windows.
Stability and performance
Faster when frames come in quicker than the calculation can keep up. Pending updates are merged instead of piling up, so the window stays responsive.
Radius averaging is faster, especially on flat test patches.
Long output logs no longer slow the output view down.
Fixed possible crashes and freezes:
when coordinate files in a watched folder change
when the frame size changes during playback
when several plugin windows are open at once
Changed min/max nits values for RGB inputs are now saved correctly.
Windows
Coordinate-folder watching now works on Windows (files are picked up automatically).
The plugin window now has a resize grip and redraws without flicker.
5.1.3
"Remember Coordinates" now works as intended. When it's off, coordinates from the last session are no longer restored. The checkbox was also wrongly labelled "Show Gamuts".
5.1.2
Fixed a crash related to the output header.
5.1.1
Coordinates files can now set an RGB input format (e.g. rgb in the format line).
With RGB input, the output header shows R, G, B instead of Y, Cb, Cr.
The coordinates file dialog now prefers *.csv files.
5.1.0
New: RGB input support (SDR BT.709 gamma 2.2/2.4, PQ and HLG BT.2100).
New "Remember Coordinates" option in the plot settings.
Fixed input settings from a coordinates file not being applied to the UI.
Fixed resizing the split between the input and output panes.
5.0.5
New: a coordinates file can set the measurement settings in its first line: input format, signal range, min/max nits and measurement radius.
Fixed a crash and wrong results when measuring with a radius close to the picture border.
The coordinates field now starts empty when a coordinates file is used.
The input/output panes can now be made smaller.
5.0.4
The coordinates menu now only lists files from the watched folder.
Typed coordinates are only remembered if you entered them yourself, not when they came from a file.
Improved coordinates menu, including a new drawer.
4.0.4
This is a major update that enhances the usage of the plugin by a large degree.
Removed the dependency on Python
The D65 white point is now labelled in the plot.
Large speedup with multithreading and asynchronous calculations
A Calculate now button
Fixed a small bug in 420 chroma upsampling
With vooya 1.9.32+, the plugin window now opens and closes seamlessly when changing videos
3.0.9
HLG's inverse transfer function now has its internal
gamma calculated based on the maximal luminance.
3.0
In this new version, we can also plot the pixels in a T/P or u'/v' plane.
Note you need python 3.10 along with numpy and matplotlib in your path. I will support the setup if needed.