Skip to content

Releases: wolfpld/vv

vv 3.1

23 Dec 11:07
0f5d071
Compare
Choose a tag to compare

This release introduces a number of optimizations that take advantage of modern hardware capabilities. This includes multi-core processing and SIMD code in three variants:

  • SSE4.1 + FMA,
  • AVX2,
  • AVX512.

Note that FMA is typically provided together with AVX2, so the SSE4.1 code path won't be of much use to anyone (it's still needed to process the data if the number of pixels in the image is not divisible by two, which is an extreme edge case).

Since the x64 baseline only mandates SSE2 support, vv is now built with the -march=native option by default. This enables compiler-level support for all the SIMD features your CPU supports. It also makes the resulting executable less portable, which can be a problem in some use cases. You can use the MARCH_NATIVE CMake option to turn this off.

The optimizations make loading EXR, HEIF and AVIF files significantly faster. One of the test AVIF HDR image files that took 8+ seconds to load with vv 3.0 now loads in 0.8 seconds on my machine.

This release also introduces a new option, -w file.png, which saves the decoded image to a file instead of printing it to the screen.

obraz

vv 3.0.1

15 Dec 17:54
5efe030
Compare
Choose a tag to compare

Fix building on gcc.

vv 3.0

15 Dec 12:30
b331b91
Compare
Choose a tag to compare

Color management

This release introduces proper handling of color profiles embedded in image files. This is an important feature in today's world where things are no longer exclusively sRGB. Color management is implemented in this release for OpenEXR, JPEG XL, HEIF, and AVIF images.

Image type Before After
EXR Zrzut ekranu_20241215_124002 Zrzut ekranu_20241215_124017
EXR Zrzut ekranu_20241215_125417 Zrzut ekranu_20241215_125412
AVIF Zrzut ekranu_20241215_125927 Zrzut ekranu_20241215_125934

High dynamic range

The HDR tone mapping pipeline previously available for OpenEXR images has been generalized for use with other image types that can carry HDR data. HDR processing currently supports OpenEXR, HEIF, AVIF, JPEG XL, and RGBE images.

Image type Before After
AVIF Zrzut ekranu_20241215_130140 Zrzut ekranu_20241215_130145
AVIF Zrzut ekranu_20241215_130226 Zrzut ekranu_20241215_130237
JPEG XL Zrzut ekranu_20241215_130454 Zrzut ekranu_20241215_130449
JPEG XL Zrzut ekranu_20241215_130530 Zrzut ekranu_20241215_130536

Animation support

Added playback of animations contained in WebP images. This is generally available on all terminals with the text-only fallback mode. Animation playback via the Kitty graphics protocol has very limited support in terminal emulators at the moment, but is also available. Images displayed via the Kitty protocol will continue to animate even after vv has stopped running, as shown in the video below.

2024-12-15.13-09-58.mp4

vv 2.1

25 Nov 18:35
c4a1c22
Compare
Choose a tag to compare

Fixed loading of muxed (animated) webp images. There is no support for animations.

vv 2.0

21 Nov 18:19
b1af211
Compare
Choose a tag to compare
  • Support for vector images: SVG, PDF.
  • FreeBSD build fixes.

img5
Zrzut ekranu_20241121_191806

vv 1.1

15 Nov 19:01
4b405c9
Compare
Choose a tag to compare
  • Build fixes,
  • Support for BC4, BC5 in non-DX10 DDS containers,
  • PCX support,
  • Ability to set custom background (checkerboard or solid color).

img4

vv 1.0

11 Nov 16:13
543436d
Compare
Choose a tag to compare

Initial release.