#jpeg #compute-shader #web-gpu #decoder #decode #yuv #decoding

compeg

使用WebGPU计算着色器实现的JPEG解码器

6个版本 (破坏性更新)

0.4.0 2024年7月23日
0.3.0 2024年4月30日
0.2.0 2024年3月11日
0.1.2 2024年3月3日
0.0.0 2023年11月7日

#256图形API

Download history 124/week @ 2024-04-25 24/week @ 2024-05-02 1/week @ 2024-05-16 1/week @ 2024-05-23 90/week @ 2024-07-18 60/week @ 2024-07-25 2/week @ 2024-08-01

每月152次下载

0BSD 许可证

1.5MB
3K SLoC

Rust 2.5K SLoC // 0.0% comments WebGPU Shader Language 353 SLoC // 0.2% comments

这是一个使用WebGPU计算着色器解码JPEG图像的实验。该项目的主要目的是学习如何编写计算着色器。

在我的RX 6700 XT上运行得相当不错,在高速GPU时钟下解码4k测试图像时,GPU时间约为1ms(CPU预处理耗时2ms)。

这里使用的方法仅限于使用重启间隔进行大量处理的基线JPEG。这类JPEG通常由GPU、手机和数码相机的硬件编码器生成。

由于技术限制,仅支持使用4:2:2色度子采样功能的YUV JPEG。未来可能会放宽这一限制。


lib.rs:

WebGPU计算着色器JPEG解码器。

用法

依赖项

~3–34MB
~516K SLoC