5 个版本 (2 个稳定版)
1.0.1 | 2024 年 8 月 2 日 |
---|---|
1.0.0 | 2024 年 2 月 11 日 |
0.2.2 | 2022 年 1 月 31 日 |
0.2.1 | 2021 年 7 月 14 日 |
0.2.0 | 2021 年 1 月 12 日 |
#752 in 图像
每月 308 次下载
用于 2 crate
21KB
365 代码行
AVIF 到 PNG 转换器
将 AVIF 图像(AV1 + HEIF)转换为标准 PNG 图像。它旨在非常准确地解码(使用 AOM,精确的色彩空间转换)。它不旨在生成小的 PNG 文件。某些 PNG 文件将比 AVIF 输入大 100 倍。
它还可以用作 Rust 库,直接解码到未压缩的像素(RGBA 等)。
用法
avif_decode input.avif output.png
它总是一次处理一个文件。如果省略输出路径,它将与输入相同,只是扩展名为 .png
。添加 -f
以覆盖输出文件。
从源安装
需要 Rust 1.75 或更高版本和 C 编译器。
cargo install avif-decode
功能
支持的 AVIF 功能
- 8 位、10 位和 12 位深度图像。当需要时,图像将保存为 16 位 PNG。
- RGB 和多种 YUV 色彩空间,包括全范围和“工作室”范围。
- Alpha 通道,包括预乘和非相关 Alpha 模式。
- 4:4:4、4:2:2 和 4:2:0 色度模式。色度子采样使用框上采样。顺便说一下:AVIF 规范有意未指定色度上采样算法,因此使用 4:2:0 或 4:2:2 模式的图像将具有解码器相关的失真。最好永远不要在 AVIF 中使用色度子采样模式。
不支持的功能
- 任何形式的 HDR。也许以后。
- YCgCo 色彩空间。
- 嵌入的 ICC 色彩配置文件。AV1 已经支持 如此多的 色彩空间,再支持一个复杂且不必要的额外色彩转换层是不礼貌的。
- 无用的 HEIF 功能大全。我编写的是一个图像解码器,而不是 Photoshop。
许可证
新 BSD 许可证
依赖关系
~21MB
~419K SLoC