Releases: pixop/video-compare
20250126 "thimphu"
Release notes:
- Automatically convert HDR sources (HLG and HDR10) to sRGB, and allow tone-map mode and boost-tone to be set with different values for each video. The default peak luminance level for HDR sources is set to 500 nits, with any MaxCLL metadata (HDR10) dynamically overriding the automatic mapping
- Introduced side-aware logging to make it easier to identify which video log messages correspond to
- Added the
-I
command line option to toggle bilinear texture interpolation - Fixed: Prevent crashes caused by mismatched frame queue sizes after seeking in corrupt files
The build for Windows 10 64-bit includes FFmpeg v7.1, SDL2 v2.30.11 and SDL2_ttf v2.24.0 DLLs.
20241221 "vienna"
Release notes:
- Added command-line options
--filters
(-i
),--demuxer
,--decoder
, and--hwaccel
for setting options on both sides, with the ability to extend or override them using side-specific options via the__
placeholder (see the project'sREADME.md
for an example) - The zoom level for displaying pixels 1:1 can now be set via the
4
hotkey, and 800% zoom via the9
hotkey - The on-screen content is now saved as a third PNG when the
F
hotkey is pressed - System resources are now conserved when no decoding is performed or no UI updates are required
- Colorimetry can now be set using the command-line options
--color-space
(-C
),--color-range
(-A
),--color-primaries
(-P
) and--color-trc
(-N
) for both videos simultaneously or individually (see #84) - Default to limited-range Rec. 709 color space when metadata is unspecified (see #84)
- Replaced the
--hq-alignment
option introduced in the previous release with--fast-alignment
(-F
) to prevent aliasing issues, while retaining bilinear scaling as the default when the resolution is identical on both sides, for performance reasons (see #85) - Fixed: a segmentation fault caused when rendering certain Unicode characters with blending (see #87)
- Minor performance optimization for full tone-mapping by explicitly using the
gbrpf32
32-bit float pixel format
The build for Windows 10 64-bit includes FFmpeg v7.1, SDL2 v2.30.8 and SDL2_ttf v2.22.0 DLLs.
Merry Christmas! 🌟
20241124 "nuuk"
Release notes:
- Enabled multi-threaded format conversion to achieve significantly higher update rates on multi-core CPUs when resource-intensive FFmpeg video filtering is involved
- Decoding and in-buffer playback speed are no longer limited by the display refresh rate
- The video texture filtering method (nearest-neighbor/bilinear) can now be toggled via the
T
hotkey - A fast (bilinear) vs. high-quality (bicubic) method for aligning the resolution of input sources can now be toggled via the
I
hotkey, with bilinear now being the default for performance reasons (add-q
on the command line to launch with bicubic filtering set instead) - The current number of processed in-sync video frame pairs and the UI update rate (both in FPS) can be displayed on-screen by pressing or holding the
X
hotkey - The window title bar now displays the filenames of the videos being compared
- Fixed: inaccurate RGB-to-YUV conversion when printing pixel values under the mouse cursor or computing VMAF scores; the color space and range specified in the metadata are now applied
- Fixed: window size calculation issues with the
-W
command line option (especially on Linux) - Fixed: various minor issues, ensuring a smoother and more consistent experience
The build for Windows 10 64-bit includes FFmpeg v7.1, SDL2 v2.30.8 and SDL2_ttf v2.22.0 DLLs.
20241025 "roswell"
Release notes:
- Added a new
-W
option for setting the window size to fit within the usable display bounds while respecting the video's aspect ratio (see #80) - Enabled multi-threaded filtering to achieve significantly higher update rates, especially when performing both compute-intensive decoding and filtering on multi-core CPUs
- Whenever possible, use a single decoder to conserve system resources
- Report the Display Aspect Ratio (DAR) from metadata for anamorphic video with non-square pixels
- Automatically correct the video according to DAR as a harmonization (via
scale
) - Fixed bugs in the seeking code that could cause the app to crash or freeze
- Updated the window icon
The build for Windows 10 64-bit includes FFmpeg v7.1, SDL2 v2.30.8 and SDL2_ttf v2.22.0 DLLs.
20240923 "havana"
Release notes:
- Allow seeking after the end of the file is reached during packet streaming (addresses the long-standing issue of not being able to rewind near the end; see #77)
- Fixed a regression: pixel positions are now in each video's original coordinate space again when pressing
P
- Show the pixel position of both videos in
hstack
andvstack
mode when pressingP
- Fixed a rare issue where the application could hang indefinitely when quitting
- Added a window icon
The build for Windows 10 64-bit includes FFmpeg v7.0.2, SDL2 v2.28.5 and SDL2_ttf v2.22.0 DLLs.
20240818 "manila"
Release notes:
- Fixed an issue with the use of swscale that affected how video was converted to RGB
- Added four new options:
-L
(--left-peak-nits
),-R
(--right-peak-nits
),-T
(--tone-map-mode
), and-B
(--boost-tone
), which allow videos with differing dynamic ranges to be conveniently compared via tone-mapping (e.g., SDR vs. HDR or HDR vs. HDR), see #74 for more details - Introduced the ability to inject custom video filters before any app-inserted filters, using a dash
|
to separate the pre- and post-filter groups (e.g.,-l 'setparams=colorspace=bt709|scale=iw/2:ih/2'
), primarily intended for advanced users who need to override incorrect metadata
The build for Windows 10 64-bit includes FFmpeg v7.0.2, SDL2 v2.28.5 and SDL2_ttf v2.22.0 DLLs.
20240710 "auckland"
Release notes:
- Display the Netflix VMAF score as an additional similarity metric when available via FFmpeg's
libvmaf
filter (see #73) - Introduced new command line options for finding video filters (
--find-filters
) and input protocols (--find-protocols
) - Flag experimental decoders in the
--find-decoders
output - Optionally use FFmpeg's PNG encoder if available (falling back on stb if not), for the sake of speed and smaller file sizes in many cases
- Verbose output has been improved
The build for Windows 10 64-bit includes FFmpeg v7.0.1, SDL2 v2.28.5 and SDL2_ttf v2.22.0 DLLs.
20240623 "baku"
Release notes:
- Print image similarity metrics (PSNR and SSIM) to the console by pressing
M
- Prevent PNG output filename collisions by suffixing with
_left
and_right
when required - Improved verbose output
The build for Windows 10 64-bit includes FFmpeg v7.0.1, SDL2 v2.28.5 and SDL2_ttf v2.22.0 DLLs.
20240525 "warsaw"
Release notes:
- Options for demuxers (including protocols), decoders, and HW accelerations can now be passed on the command line. This allows, for example, experimental codec playback (such as VVC; see #67) and using the
rawvideo
demuxer - Added a decoder option
trust_dec_pts
for trusting the PTS decoded, thus disabling the default extrapolation logic (useful, for example, for videos where the picture type of each frame is not known; see #67) - Added support for handling dynamically changing resolution, color space, and color range per frame
- Added support for arbitrary angle auto-rotations via FFmpeg's
rotate
video filter - Fixed crashes caused by a memory alignment issue
- Fixed end-of-file condition check (for
-a
auto-loop) - The cursor now changes while in pan mode
- Improved formatting of the on-screen help view
The build for Windows 10 64-bit includes FFmpeg v7.0, SDL2 v2.28.5 and SDL2_ttf v2.22.0 DLLs.
20240429 "calgary"
Release notes:
- Automatic looping when the in-memory buffer fills can now be controlled via
-a
command line argument - On-screen help text for controls can be toggled by pressing
H
- Added support for FFmpeg 7.0
- The next frame is no longer decoded when the playback speed is decreased
- Fixed an issue that occurred when rewinding videos without any I-frames
- Fixed two separate issues related to scaling videos to specific dimensions
The build for Windows 10 64-bit includes FFmpeg v7.0 and SDL2 v2.28.5 DLLs.