libaom + Xcode
libaom 与 Xcode 项目的包装器。这可以为 Carthage && SwiftPM 提供支持。
此存储库还包括用于使用 libaom 的 Cocoapods spec 文件。
要求
- iOS 9
- macOS 10.10
- tvOS 9.0
- watchOS 2.0
对旧版本的关注
- v1.0.2 打上了上游
1.0.0-errata1-avif
的标记 - v1.0.1 && v1.0.0 打上了上游
3563b12b
的哈希标记,该哈希标记被 libheif 依赖项使用(与1.0.0-errata1
之间没有很大的不同)
从 v2.0.0+ 开始,版本与上游版本匹配。
但是,Xcode(SPM/Carthage/CocoaPods)支持禁用了架构指定的汇编代码,并改为使用纯 C 实现。这是因为在 CocoaPods 和 Xcode NASM 编译器中两者都缺乏支持。
如果您想为特定架构获得最佳性能,请使用来自 1.0.0 版本的预构建静态库中的 lib
目录。此版本使用 CMake 和 NASM 进行了完整的汇编优化。
示例:在 arm64 iOS 上构建支持 NEON
cd aom
mkdir dist && cd dist
cmake .. -DCMAKE_TOOLCHAIN_FILE=../build/cmake/toolchains/arm64-ios.cmake
make
安装
Carthage
libaom通过(该仓库)可在Carthage中使用。
github "SDWebImage/libaom-Xcode"
CocoaPods
libaom可通过CocoaPods获取。
pod 'libaom'
SwiftPM
libaom可通过Swift Package Manager获取。
let package = Package(
dependencies: [
.package(url: "https://github.com/SDWebImage/libaom-Xcode", from: "1.0.2")
],
// ...
)
使用
像通常一样使用libaom,这只是一个添加了Xcode proj的仓库。
对于Swift Package Manager用户,建议使用模块化导入而不是C头文件。
- Objective-C
@import libaom;
// or if you don't use module
#import <aom/aom.h>
- Swift
import libaom
许可证
libaom 在开放媒体专利联盟许可证下可用。