Repository navigation
av1gpu v0.11.1
Linux x86_64 and Windows x64 binaries for NVIDIA GPUs from Turing (RTX 20, T4) to Blackwell (RTX 50). They need only the NVIDIA driver; the Windows zips include nvJPEG's DLL. See the README for usage, or run av1gpu --help.
Which download
Take the CUDA 13 build unless your driver is older than 580. Both builds give the same files.
| File | Built with | NVIDIA driver |
|---|---|---|
av1gpu-0.11.1-linux-x86_64.tar.gz |
CUDA 13.4 | 580 or newer |
av1gpu-0.11.1-linux-x86_64-cuda12.tar.gz |
CUDA 12.9 | 525 or newer |
av1gpu-0.11.1-windows-x86_64.zip |
CUDA 13.4 | 580 or newer |
av1gpu-0.11.1-windows-x86_64-cuda12.zip |
CUDA 12.9 | 528 or newer |
Fixed
-
A JPEG's ICC profile doubled or cut short (#67, #68). av1gpu sorted the APP2
ICC_PROFILEsegments and joined them without checking their numbers.- A segment written twice (which an editor did in a real photo) gave the profile twice over: 1,176 bytes, while its header still said 588.
- A missing segment left a truncated profile that colour-managed decoders can't use.
The profile is now read by libjpeg-turbo's own reader, as djpeg and avifenc read it. Every segment must give the same count N, with the numbers 1..N appearing once each, in any order; otherwise the AVIF has no profile. Correctly split profiles, in or out of order, are kept as before.
Nothing else changed: both published Linux packages give the same bytes as v0.11.0 on all 311 outputs of tools/sanity.py (checked on an RTX PRO 2000 Blackwell).
Known limitations
-
At 4:2:0, PNG, WebP and JPEGs not coded 4:2:0:
--trim, the tone operators and--grayscalesee av1gpu's 2 × 2 mean of the chroma.- A trim box can differ from ImageMagick's by a few pixels at colour edges.
--auto-levelcan take its range from one such edge and shift the whole picture: by 4.6 steps on average over 6 comic PNG pages, against 0.6 at--yuv 444.
Use
--yuv 444when that matters. 4:2:0 JPEGs follow ImageMagick's decode. -
Crop, then
--grayscale, on a 4:2:0 JPEG: the crop's outermost rows and columns can differ from ImageMagick's by up to 16 steps; inside, by at most 1. -
Alpha is left alone by the tone operators, as ImageMagick's
-channel RGB(plain ImageMagick 7 changes it too). -
Fixed order:
--crop,--trim, the tone operators,--resizeand--grayscalealways run in that order; ImageMagick follows its command line. -
Not implemented: intra block copy, loop restoration, superres, film grain. Lossy frames use luma palettes only.
-
Windows: speed was last measured with v0.5.0 (67–83 % of Linux), and start-up since v0.9.0 hasn't been timed there. CPU limits set by job objects or containers aren't read; the thread count follows the process's CPU affinity. The tests run on Linux only.
-
GPUs newer than Blackwell first compile the code from PTX, which took over ten minutes in a test. Give av1gpu its own compute cache so the compiled code is kept (README, Download).
-
PNG and WebP metadata: ICC profiles and EXIF orientation are not read yet. JPEG profiles are kept, and JPEG orientation is signalled in the AVIF (
irot/imir). -
compute-sanitizer on Blackwell: memcheck on the CUDA 13 build needs compute-sanitizer 2026.3 (CUDA 13.4) or newer.