https://github.com/link-u/libavif-container
A library to manipulate avif containers. It's for neither decoding nor encoding.
https://github.com/link-u/libavif-container
av1 avif cpp heif isobmff miaf
Last synced: 6 months ago
JSON representation
A library to manipulate avif containers. It's for neither decoding nor encoding.
- Host: GitHub
- URL: https://github.com/link-u/libavif-container
- Owner: link-u
- License: mit
- Created: 2019-12-15T03:53:30.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-04-13T12:44:46.000Z (almost 3 years ago)
- Last Synced: 2025-06-22T07:07:03.574Z (10 months ago)
- Topics: av1, avif, cpp, heif, isobmff, miaf
- Language: C++
- Homepage:
- Size: 192 KB
- Stars: 10
- Watchers: 3
- Forks: 5
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# libavif-container
**Sorry, this repository is no longer maintained due to the retirement of the main maintainer. After some time, this repository will be archived.**
**Ther source is currently maitained on [avif-community](https://github.com/avif-community/libavif-container) by the maintaier. It's not a official community of AVIF codec. We take no resposibility the name of this community.**
**This repository will be removed after 2023-01-31 to resolve the confusing situation.**
[](https://github.com/link-u/libavif-container/actions?query=workflow%3A%22Unit+tests%22)
A library to parsing and writing avif container.
(It is not for neither decoding nor encoding.)
## Related repositories
- [link-u/davif](https://github.com/link-u/davif) - avif decoder, using dav1d directly.
- [link-u/cavif](https://github.com/link-u/cavif) - avif encoder, using libaom directly.
- [link-u/avif-sample-images](https://github.com/link-u/avif-sample-images) - sample images from us.
- [AOMediaCodec/av1-avif](https://github.com/AOMediaCodec/av1-avif/tree/master/testFiles) - test files from Microsoft and Netflix.
# How to use
## To clone this repo
```bash
git clone --recurse-submodules --recursive https://github.com/link-u/libavif-container.git
```
## From CMake
We suggest you to vendor this library to your repo using `git submodule add`.
```cmake
# example: git submodule add external/libavif-container
add_subdirectory(external/libavif-container)
# libavif-container depends on C++17 features,
# so we strongly recommended you to use C++17 or higher.
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# link to your library or executable
target_link_libraries( libavif-container)
```
# License
MIT
# References
## AV1 / AVIF
- AV1
- [AV1 Bitstream & Decoding Process Specification](https://aomediacodec.github.io/av1-spec/)
- AVIF
- [AV1 Image File Format (AVIF)](https://aomediacodec.github.io/av1-avif/)
- [AV1 Codec ISO Media File Format Binding](https://aomediacodec.github.io/av1-isobmff/)
- Others
- [AVIF2018.pdf](http://web.archive.org/web/20181109113447/https://people.xiph.org/~negge/AVIF2018.pdf)
- [A Technical Overview of AV1 | IEEE](https://ieeexplore.ieee.org/document/9363937)
## ISOBMFF
- [ISO - ISO/IEC 14496-12:2015
Information technology - Coding of audio-visual objects
Part 12: ISO base media file format](https://www.iso.org/standard/68960.html)
- [ISO BMFF Byte Stream Format -
W3C Working Group Note 04 October 2016](https://www.w3.org/TR/mse-byte-stream-format-isobmff/)
## HEIF - MPEG-H Part 12 (ISO/IEC 23008-12)
- [Information technology — High efficiency coding and media delivery in heterogeneous environments — Part 12: Image File Format](https://www.iso.org/standard/66067.html)
- [HEIF Technical Information - High Efficiency Image File Format](https://nokiatech.github.io/heif/technical.html)
- [nokiatech/heif: High Efficiency Image File Format](https://github.com/nokiatech/heif/)
## MIAF - MPEG-A Part 22 (ISO/IEC 23000-22:2019)
- [ISO/IEC 23000-22:2019
Information technology — Multimedia application format (MPEG-A) — Part 22: Multi-image application format (MIAF)](https://www.iso.org/standard/74417.html)
- [ISO/IEC 23000-22:2019/Amd 1:2021](https://www.iso.org/standard/80757.html)
- [ISO/IEC 23000-22:2019/Amd 2:2021](https://www.iso.org/standard/81634.html)
## ComplianceWarden
- [gpac/ComplianceWarden: A pluggable ISOBMFF (MP4/IFF) compliance checker](https://github.com/gpac/ComplianceWarden)
- [MPEG MIAF Conformance Software Wasm demo](https://gpac.github.io/ComplianceWarden-wasm/)