3 ms·
If image encode/decode speed is the only concern, libjpegturbo is going to be orders of magnitude faster than any of these lossless schemes. With jpeg, you coul
by bob1029 4y ago
If image encode/decode speed is the only concern, libjpegturbo is going to be orders of magnitude faster than any of these lossless schemes. With jpeg, you could encode 1080p bitmaps in <10 milliseconds (per thread) on any consumer PC made in the last decade.
The frequency domain is a really powerful place to operate in when you are dealing with this amount of data.
- pizza 4y agoThat's not true. libjpeg-turbo is ~50 MB/s last I tried - plus it's not lossless. fjxl and fpnge are basically an order of magnitude faster than that. libjpeg-turbo isn't even the fastest jpeg codec - you should check out the (relatively obscure) libmango - roughly 1 gbps decode on a 2020 macbook pro - or nvJPEG for GPU-based JPEG decoding. Supposedly there's even faster GPU-based decoders than nvJPEG, too.
- bob1029 4y ago> GPU-based How does this impact the overall latency of encoding a single image?
- pizza 4y agoProbably quite a bit, I don't know. The typical use case is to load up thousands of JPEGs at once to get good throughput despite copy overhead. You can see here the benchmark against jpeg-turbo: https://developer.nvidia.com/blog/leveraging-hardware-jpeg-decoder-and-nvjpeg-on-a100/ https://developer.nvidia.com/blog/leveraging-hardware-jpeg-d...
- averne_ 4y agoI've written an open-source driver for the decoding side of the nvjpg module found in the Tegra X1 (ie. earlier hardware revision than the one in the A100). I did some quick benchmarks against libjpeg-turbo, if that can give you an idea. I expect encoding performance would be similar. https://github.com/averne/oss-nvjpg#performance https://github.com/averne/oss-nvjpg#performance