Repository navigation
av1gpu v0.8.0
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.
Which download
Take the CUDA 13 build unless your driver is older than 580. Both builds give the same files: on an L4, the two Linux builds gave identical output for all 817 test encodes, palette, 10-bit, 4:4:4 and lossless included.
| File | Built with | NVIDIA driver |
|---|---|---|
av1gpu-0.8.0-linux-x86_64.tar.gz |
CUDA 13.4 | 580 or newer |
av1gpu-0.8.0-linux-x86_64-cuda12.tar.gz |
CUDA 12.9 | 525 or newer |
av1gpu-0.8.0-windows-x86_64.zip |
CUDA 13.4 | 580 or newer |
av1gpu-0.8.0-windows-x86_64-cuda12.zip |
CUDA 12.9 | 528 or newer |
New: palette mode for screenshots, charts and flat-colour art
AV1's palette mode codes a block as a few exact colours and an index per pixel, which suits text, UI and flat fills. av1gpu now uses it on images that pass a screen-content detection (#54).
- Photos are unchanged. None of 244 test photos and none of the test JPEGs pass the detection, so their files are byte-identical to v0.7.1's, at the same speed. The detection costs 0.09 ms of a 64 ms photo encode.
- Screen content (40 charts, screenshots and web pages) is 23.6 % smaller at equal SSIMULACRA2 (median BD-rate; 19.5 % in 10-bit 4:4:4). At the default quality a 2 MP Wikipedia page screenshot goes from 130 KB to 102 KB, with a slightly higher SSIMULACRA2 score (79.1 → 81.3).
- Against libaom speed 6: 9.5 % smaller than libaom with palette mode. libaom with palette and intra block copy is still 3.3 % smaller (12.8 % on real screenshots, where intra block copy helps; av1gpu is 3.9 % smaller on charts).
- Flat-colour PNG art: the 11 of 24 test images that pass the detection are 22.3 % smaller. The rest are unchanged.
- Lossless: the 23 graphics of the lossless comparison are about 10 % smaller (GBR and
--ycgco-re). - Speed: images that use palette mode encode at about 0.37× the speed without it (57 against 153 MP/s on an L4) because of the palette search.
--palette auto|on|off:autois the default.offgives v0.7.1's output;ontries palettes on every image: flat-colour JPEGs about 6 % smaller, and slower still (0.25× on the screen set).
Every test output decodes exactly in dav1d and aomdec, including 4:4:4, 10-bit, lossless and tiled images. Details: RESULTS.md, design and the libaom study: PALETTE.md.
Known limitations
- Not implemented: intra block copy, loop restoration, superres, film grain. Lossy frames use luma palettes only.
- Windows: its speed was measured with v0.5.0 (67–83 % of Linux) and hasn't been re-run. CPU limits set by job objects or containers aren't read (the thread count follows the process's CPU affinity), and 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 it is kept (README, Download).
- PNG and WebP metadata: their ICC profiles and EXIF orientation are not read yet. JPEG profiles are kept, and JPEG orientation is signalled in the AVIF (
irot/imir).