🖼️
Windowsでlibavifをビルドする
環境構築
CMake、Ninja、NASMの3つが必要なのでインストールします。
winget install NASM.NASM Kitware.CMake
NinjaはGitHubからninja-win.zip
を選択してダウンロード後展開し、適当なフォルダにninja.exe
を置いてパスを通します。[1]
nasm --version
clang --version
ninja --version
と入力してバージョン情報が出力されればOKです。
ビルド
基本はGitHubのREADME通りにコマンドを実行すればOKです。
ですが執筆時点では.\ext\libwebp\build\libsharpyuv.lib
として生成されるべきファイルが.\ext\libwebp\build\sharpyuv.lib
として生成されてしまいその後のCMakeに失敗するので、renコマンドで名前を変更しています。
それ以外のコマンドはREADMEに書いてあるものと一緒です。
git clone -b v1.0.3 https://github.com/AOMediaCodec/libavif.git
cd libavif/ext
./aom.cmd
./libyuv.cmd
./libsharpyuv.cmd
./libjpeg.cmd
./zlibpng.cmd
cd ..
ren .\ext\libwebp\build\sharpyuv.lib libsharpyuv.lib
cmake -S . -B build -DBUILD_SHARED_LIBS=OFF -DAVIF_CODEC_AOM=ON -DAVIF_LOCAL_AOM=ON -DAVIF_LOCAL_LIBYUV=ON -DAVIF_LOCAL_LIBSHARPYUV=ON -DAVIF_LOCAL_JPEG=ON -DAVIF_LOCAL_ZLIBPNG=ON -DAVIF_BUILD_APPS=ON
cmake --build build --parallel
.\ext\aom\build.libavif
以下にaom.lib
が、.\build\Release
以下にavif.lib
が生成されます。
また、以下のコマンドでavifenc.exe
とavifdec.exe
が生成できます。
msbuild ".\build\libavif.sln" /m /verbosity:minimal /p:Configuration=Release
-
一応
winget install Ninja-build.Ninja
が使えるはずですが、筆者の環境では失敗したので直接入れる方法をとっています。 ↩︎
Discussion