libavif + Xcode

CI Status Version License Platform Carthage compatible

libavif 的一个封装,包含 Xcode 项目。这支持了 Carthage 和 SwiftPM。

此仓库还包含使用 libavif 的 CocoaPods spec 文件。

要求

AV1 编解码器

aom

默认情况下,libavif 使用 aom 编解码器构建。 aom 是标准草案实现期间的第一个 AV1 编解码器。 但是,还有其他可用的 AV1 编解码器实现。 libavif 支持其中的大多数。 您可以选择集成您想要的那个。 默认情况下,我们使用 aom 进行解码和编码。

dav1d (解码)

dav1d 是新一代 AV1 编解码器,专注于速度和正确性。

查看更多关于 为什么启动一个新项目而不是改进 aom 的解释

从 v0.3.0 开始,可以使用 dav1d 构建 libavif。 对于 CocoaPods 用户,您可以简单地使用 subspec。 目前不支持 Carthage 可选的 dav1d 编解码器。

libgav1 (解码)

libgav1 libgav1 是一个符合 Main profile (0) & High profile (1) 的 AV1 解码器。 有关 AV1 视频格式的更多信息,请访问 aomedia.org。

从 v0.8.3 开始,可以使用 libgav1 构建 libavif。 对于 CocoaPods 用户,您可以简单地使用 subspec。

rav1e (编码)

rav1e 是最快和最安全的 AV1 编码器。 它使用 Rust 编程,与 aom 相比,提供更快更安全的编解码器。 它目前的形式最适合 libaom(参考编码器)太慢的情况。

查看更多关于 性能

从 v0.4.3 开始,可以使用 rav1e 构建 libavif。 对于 CocoaPods 用户,您可以简单地使用 subspec。 目前不支持 Carthage 可选的 rav1c 编解码器。

请注意,rav1e 目前仅支持 iOS 和 macOS。 watchOS 和 tvOS 的支持需要 Rust 社区的上游支持。

SVT-AV1 (编码)

SVT-AV1 是 AV1 的可伸缩视频技术(SVT-AV1 编码器和解码器)是一个符合 AV1 的编码器/解码器库核心。

从 v0.8.3 开始,可以使用 STV-AV1 构建 libavif。 对于 CocoaPods 用户,您可以简单地使用 subspec。

安装

Carthage

libavif (通过此仓库) 可以通过 Carthage 获得。

github "SDWebImage/libavif-Xcode"

请注意,Carthage 不支持 dav1d/rav1e/SVT-AV1 可选编解码器,仅使用 aom。

CocoaPods

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'

SwiftPM

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 许可证下可用。