https://github.com/sdwebimage/libaom-xcode
A wrapper for libaom + Xcode project. Support Carthage && CocoaPods && SwiftPM.
https://github.com/sdwebimage/libaom-xcode
aomdec av1 avif carthage ios macos swiftpm xcode
Last synced: 6 months ago
JSON representation
A wrapper for libaom + Xcode project. Support Carthage && CocoaPods && SwiftPM.
- Host: GitHub
- URL: https://github.com/sdwebimage/libaom-xcode
- Owner: SDWebImage
- Created: 2019-04-05T15:58:48.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-05-16T06:55:46.000Z (over 2 years ago)
- Last Synced: 2024-10-29T12:25:40.501Z (11 months ago)
- Topics: aomdec, av1, avif, carthage, ios, macos, swiftpm, xcode
- Language: C
- Homepage:
- Size: 11.2 MB
- Stars: 5
- Watchers: 9
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# libaom + Xcode
[](https://travis-ci.com/SDWebImage/libaom-Xcode)
[](http://cocoapods.org/pods/libaom)
[](http://cocoapods.org/pods/libaom)
[](http://cocoapods.org/pods/libaom)
[](https://github.com/SDWebImage/libaom-Xcode)
[](https://swift.org/package-manager/)A wrapper for [libaom](https://aomedia.googlesource.com/aom/) + Xcode project.
This enables Carthage && SwiftPM support.This repo also including the CocoaPods's spec file to use libaom.
## Requirements
+ iOS 9
+ macOS 10.10
+ tvOS 9.0
+ watchOS 2.0## Note for legacy version
+ v1.0.2 is tagged with upstream `1.0.0-errata1-avif`
+ v1.0.1 && v1.0.0 is tagged with upstream `3563b12b` hash, which used by libheif dependency (no huge difference between `1.0.0-errata1`)From v2.0.0+, the version match the upstream version.
However, the Xcode (SPM/Carthage/CocoaPods) support, disable the architecture specify assembly code, and use the pure C implementation instead. This because both the lack support for CocoaPods and Xcode NASM compiler.
If you want the best performance for specify architecture, use the pre-build static library in `lib` from [1.0.0 release](https://github.com/SDWebImage/libaom-Xcode/releases/tag/1.0.0). Which use the CMake and NASM with the full assembly optimization.
Example to build with NEON support on arm64 iOS:
```
cd aom
mkdir dist && cd dist
cmake .. -DCMAKE_TOOLCHAIN_FILE=../build/cmake/toolchains/arm64-ios.cmake
make
```## Installation
### Carthage
libaom is (via this repo) available through [Carthage](https://github.com/Carthage/Carthage).
```
github "SDWebImage/libaom-Xcode"
```### CocoaPods
libaom is available through [CocoaPods](https://github.com/CocoaPods/CocoaPods).
```
pod 'libaom'
```### SwiftPM
libaom is available through [Swift Package Manager](https://img.shields.io/badge/SwiftPM-compatible-brightgreen.svg).
```swift
let package = Package(
dependencies: [
.package(url: "https://github.com/SDWebImage/libaom-Xcode", from: "1.0.2")
],
// ...
)
```## Usage
Use libaom as you would normally, this is just a repo that adds an Xcode proj.
For Swift Package Manager user, it's recommended to use the modular import instead of C headers.
+ Objective-C
```objective-c
@import libaom;
// or if you don't use module
#import
```+ Swift
```swift
import libaom
```## License
libaom is available under the [Alliance for Open Media Patent License](https://aomedia.org/license/software-license/).