libavif 的一个封装,包含 Xcode 项目。这支持了 Carthage 和 SwiftPM。
此仓库还包含使用 libavif 的 CocoaPods spec 文件。
默认情况下,libavif 使用 aom 编解码器构建。 aom 是标准草案实现期间的第一个 AV1 编解码器。 但是,还有其他可用的 AV1 编解码器实现。 libavif 支持其中的大多数。 您可以选择集成您想要的那个。 默认情况下,我们使用 aom 进行解码和编码。
dav1d 是新一代 AV1 编解码器,专注于速度和正确性。
查看更多关于 为什么启动一个新项目而不是改进 aom 的解释
从 v0.3.0 开始,可以使用 dav1d 构建 libavif。 对于 CocoaPods 用户,您可以简单地使用 subspec。 目前不支持 Carthage 可选的 dav1d 编解码器。
libgav1 libgav1 是一个符合 Main profile (0) & High profile (1) 的 AV1 解码器。 有关 AV1 视频格式的更多信息,请访问 aomedia.org。
从 v0.8.3 开始,可以使用 libgav1 构建 libavif。 对于 CocoaPods 用户,您可以简单地使用 subspec。
rav1e 是最快和最安全的 AV1 编码器。 它使用 Rust 编程,与 aom 相比,提供更快更安全的编解码器。 它目前的形式最适合 libaom(参考编码器)太慢的情况。
查看更多关于 性能
从 v0.4.3 开始,可以使用 rav1e 构建 libavif。 对于 CocoaPods 用户,您可以简单地使用 subspec。 目前不支持 Carthage 可选的 rav1c 编解码器。
请注意,rav1e 目前仅支持 iOS 和 macOS。 watchOS 和 tvOS 的支持需要 Rust 社区的上游支持。
SVT-AV1 是 AV1 的可伸缩视频技术(SVT-AV1 编码器和解码器)是一个符合 AV1 的编码器/解码器库核心。
从 v0.8.3 开始,可以使用 STV-AV1 构建 libavif。 对于 CocoaPods 用户,您可以简单地使用 subspec。
libavif (通过此仓库) 可以通过 Carthage 获得。
github "SDWebImage/libavif-Xcode"
请注意,Carthage 不支持 dav1d/rav1e/SVT-AV1 可选编解码器,仅使用 aom。
libavif 可通过 CocoaPods 获得。
默认情况下,libavif 使用 aom 解码/编码编解码器构建,该编解码器稳定但速度较慢。
pod 'libavif'
如果您需要 dav1d 解码编解码器,请使用 subspec
pod 'libavif/libdav1d'
如果您需要 libgav1 解码编解码器,请使用 subspec
pod 'libavif/libgav1'
如果您需要 rav1e 编码编解码器,请使用 subspec
pod 'libavif/librav1e'
如果您需要 SVT-AV1 编码编解码器,请使用 subspec
pod 'libavif/SVT-AV1'
如果您需要 sharpyuv RGB 到 YUV420 转换,请使用 subspec
pod 'libavif/sharpyuv'
libavif 可通过 Swift Package Manager 获得。
let package = Package(
dependencies: [
.package(url: "https://github.com/SDWebImage/libavif-Xcode", from: "0.4.5")
],
// ...
)
请注意,SwiftPM 不支持 dav1d/rav1e/SVT-AV1 可选编解码器,仅使用 aom。
像往常一样使用 libavif,这只是一个添加 Xcode 项目的仓库。
对于 Swift Package Manager 用户,建议使用模块化导入而不是 C 头文件。
@import libavif;
// or if you don't use module
#import <avif/avif.h>
import libavif
libavif 在 BSD 许可证下可用。