CUDA JPEG Library for Application Developers

Updated:

Fastvideo CUDA JPEG library lets developers add extremely fast Baseline JPEG encoding and decoding to a C++ application without writing a single CUDA kernel or knowing the internals of the compression algorithm — the library encapsulates the fully parallel GPU implementation, and your code only supplies the images and collects the results. The underlying codec encodes 4K frames at roughly 3800 fps on the NVIDIA GeForce RTX 4090; the complete performance analysis, benchmark tables, and the explanation of how JPEG was parallelized live on the Fast JPEG codec page.

CUDA JPEG library

What You Get as a Developer

Integration Model

The library is designed to slot into an existing processing chain with minimal data movement. Images can be supplied from CPU memory, from disk, or directly from GPU memory — so if your frames are already on the GPU (from a capture pipeline, a demosaicing stage, or an AI framework), encoding happens in place, without a round trip over the PCIe bus. The compressed result is likewise returned to CPU or GPU memory, and a continuous mode processes streams of images one after another. The same library is a module of the Fastvideo GPU Image & Video Processing SDK, so it combines natively with demosaicing, denoising, resize, and the other SDK stages when your application grows beyond compression alone.

Library Capabilities

Evaluating the Library on Your Hardware

A demo version is available upon request. It is a fully functional MSVS 2022 project with a DLL, restricted to evaluation use, and it accepts the working parameters of the codec: input and output image, device id, quality value, subsampling mode, and restart interval, for both 8/24-bit and 12/36-bit images. The intended workflow is simple: build the sample, run it on your own GPU and your own images, and compare the measured throughput against the CPU-based JPEG library your application currently uses — before any purchasing decision.

Typical Integration Scenarios

Licensing and Trial

The library is licensed to software developers, camera manufacturers, system integrators, and resellers, standalone or as part of the Fastvideo SDK. For the demo version, documentation, and a quotation, contact us via the form below.

CUDA JPEG Library FAQ

How do I integrate the CUDA JPEG library (C++ / DLL)?

It is a linkable C++ library / DLL: you call it inside your own GPU pipeline so JPEG encoding stays in GPU memory between your stages. A sample project (Microsoft Visual Studio 2022) shows the integration.

What is the difference between the JPEG library and the JPEG codec product?

The codec is a ready-to-run application for benchmarking and testing; the library is the same GPU JPEG engine as an embeddable component for your own software.

Fyodor Serzhenko, Fastvideo

About the author

Fyodor Serzhenko, PhD, is the founder and CEO of Fastvideo. He earned his PhD at the Moscow Institute of Physics and Technology (MIPT) in 1993. Since 2009 he has led the development of Fastvideo’s GPU-accelerated image codecs and ISP modules, including the Fastvideo SDK. Connect on LinkedIn.

Why you can trust these results

Fastvideo has built GPU-accelerated image processing software since 2009. Our codecs comply with the standards they implement — JPEG (ITU-T T.81 / ISO IEC 10918) and JPEG2000 (ITU-T T.800 / ISO IEC 15444) — and our tools are open source on GitHub. Every performance figure we publish is reproducible: see our benchmark methodology, download the Fastvideo SDK benchmark report (PDF), and measure it on your own GPU.

Contact Form

This form collects your name and email. See our Privacy Policy for how we handle your personal data.