/davif

avif decoder, using dav1d directly.

Primary LanguageC++MIT LicenseMIT

davif

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 by the maintaier. It's not a official community of AVIF codec. We take no resposibility the name of the community.

This repository will be removed after 2023-01-31 to resolve the confusing situation.

Status
Linux Build on Linux
Linux(.deb) Build debian packages
macOS Build on macOS
Windows Build on Windows

Description (en)

avif decoder, using dav1d directly.

avif (AV1 Image File Format) is a still picture format uses a keyframe of AV1.

Description (ja)

AVIF(AV1 Image File Format)は、動画フォーマットであるAV1のキーフレームを流用して圧縮する静止画フォーマットです。

davifは、ラッパーを介さずdav1dを直接叩くavifのデコード・コマンドです。

how to build

# pre-requirements
# If your system cmake is lower than 3.13, please install latest version:
# https://apt.kitware.com/

# cloning this repository with dependencies.
git clone --recurse-submodules --recursive git@github.com:link-u/davif.git
cd davif

# Apply workarounds
bash scripts/apply-patches.sh

# Build dependencies not managed by CMake.
bash scripts/build-deps.sh

# System gcc is 8.0 or higher:
cmake ..

# If not, please install gcc-8 (or higher) and tell them to CMake.
CXX=g++-8 CC=gcc-8 cmake ..

# build davif binary.
make davif

# decode an avif image.
./davif -i input.avif -o output.png

usage

% davif
[2022/03/29 18:01:20 INFO ] davif
[2022/03/29 18:01:20 INFO ]  - dav1d ver: 1.0.0-0-g99172b1
[2022/03/29 18:01:20 INFO ]  - libpng ver: 1.6.38.git
SYNOPSIS
        davif -i <input.avif> -o <output.png> [--extract-alpha <output-alpha.png>] [--extract-depth
              <output-depth.png>] [--threads <Num of threads to use>]

        davif -h

OPTIONS
        -h, --help  Show help and exit.

Example avif files are available in AOMediaCodec/av1-avif or link-u/avif-sample-images.

(Currently, detailed documentation is only in Japanese)

TODO

  • Add more and more command-line flags.

Related repositories