6个版本 (破坏性更新)
| 0.4.0 | 2024年7月23日 |
|---|---|
| 0.3.0 | 2024年4月30日 |
| 0.2.0 | 2024年3月11日 |
| 0.1.2 |
|
| 0.0.0 | 2023年11月7日 |
#256 在 图形API 中
每月152次下载
1.5MB
3K SLoC
这是一个使用WebGPU计算着色器解码JPEG图像的实验。该项目的主要目的是学习如何编写计算着色器。
在我的RX 6700 XT上运行得相当不错,在高速GPU时钟下解码4k测试图像时,GPU时间约为1ms(CPU预处理耗时2ms)。
这里使用的方法仅限于使用重启间隔进行大量处理的基线JPEG。这类JPEG通常由GPU、手机和数码相机的硬件编码器生成。
由于技术限制,仅支持使用4:2:2色度子采样功能的YUV JPEG。未来可能会放宽这一限制。
lib.rs:
WebGPU计算着色器JPEG解码器。
用法
- 创建一个 [
Gpu] 上下文(通过Gpu::open自动创建或从现有的wgpu上下文通过Gpu::from_wgpu创建)。 - 通过
Decoder::new创建一个Decoder(或多个)。 - 对于您想要解码的每个JPEG图像,创建一个
ImageData对象,并将其传递给Decoder::start_decode。 - 通过
DecodeOp::texture访问输出Texture。
依赖项
~3–34MB
~516K SLoC