#av1 #decoder #heif #image-conversion #libaom

bin+lib avif-decode

将 AVIF 图像转换为 PNG 或解压缩的像素数据

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 图像

Download history 111/week @ 2024-05-04 69/week @ 2024-05-11 182/week @ 2024-05-18 69/week @ 2024-05-25 40/week @ 2024-06-01 48/week @ 2024-06-08 47/week @ 2024-06-15 45/week @ 2024-06-22 15/week @ 2024-06-29 17/week @ 2024-07-06 10/week @ 2024-07-13 12/week @ 2024-07-20 149/week @ 2024-07-27 69/week @ 2024-08-03 46/week @ 2024-08-10 44/week @ 2024-08-17

每月 308 次下载
用于 2 crate

BSD-3-Clause

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