libaom 3.0.0

libaom 3.0.0

Maintained by DreamPiggy, Bogdan Poplauschi.



libaom 3.0.0

  • By
  • Alliance for Open Media

libaom + Xcode

CI Status Version License Platform Carthage compatible SwiftPM compatible

A wrapper for libaom + 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. 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.

github "SDWebImage/libaom-Xcode"

CocoaPods

libaom is available through CocoaPods.

pod 'libaom'

SwiftPM

libaom is available through Swift Package Manager.

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
@import libaom;
// or if you don't use module
#import <aom/aom.h>
  • Swift
import libaom

License

libaom is available under the Alliance for Open Media Patent License.