【Rust日报】2024-11-05 image 0.25.5 大幅改进了对AVIF图像格式的解码能力

💡 原文中文,约1100字,阅读约需3分钟。
📝

内容提要

文章介绍了图像解码能力的显著提升,特别是对AVIF格式的支持,修复了多个解码错误,并提出了新的Pin提案MinPin,旨在以最小破坏性集成Pin,同时保持向后兼容性。

🎯

关键要点

  • 图像解码能力显著提升,特别是对AVIF格式的支持。
  • 现在支持10位和12位AVIF图像,并修复了多个解码错误。
  • rayon特性可以正确切换AVIF编码时的并行处理。
  • EXR格式暂时不支持并行处理以避免破坏向后兼容性。
  • 识别极少使用的'.jfif'作为JPEG文件扩展名。
  • AVIF解码仍依赖于C语言库dav1d,未来希望迁移至rav1d。
  • MinPin是一个新的Pin提案,旨在以最小破坏性集成Pin,同时保持向后兼容性。
  • MinPin设计决策包括使用pinned关键字和修改Drop trait。
  • 对于实现了Unpin的字段类型,始终允许投影。
  • 未实现Unpin的字段类型的投影规则取决于结构体的实现情况。
  • 引入struct Unpinnable,始终实现Unpin。
  • 文章列出了一些设计原则,如Pin是语言的一部分、应有零概念成本等。
  • 作者回答了一些常见问题,比较MinPin与UnpinCell提案的异同。
➡️

继续阅读