※ 본 글은 windows 기반으로 빌드되며 x64 파일로만 나옵니다.
※ 설치는 최소화합니다.
준비물 ( x64 버전이 있는 경우 전부으로 다운받아야 함. )
- libavif ( https://github.com/AOMediaCodec/libavif )
- Visual Studio ( https://visualstudio.microsoft.com/ )
※ 본 글은 Visual Studio 2022 기준으로 작성함.
- NASM ( https://www.nasm.us/ )
- Git ( https://git-scm.com/download/win ) ※ VS 설치하면서 설치 가능.
- Perl ( https://www.perl.org/ ) ※ 필자는 strawberryperl - portable 버전으로 다운받음.
- Rust ( https://www.rust-lang.org/ )
밑으로는 Visual Studio 설치하면 있으나 혹시 없는 경우 다운로드
- Ninja ( https://github.com/ninja-build/ninja )
※ 2022-03-27 기준. x64 파일밖에 없음. x32가 필요한 경우 따로 빌드해야 하는 듯 함
- CMake ( https://cmake.org/download/ )
- Python 3.7 이상 ( https://www.python.org/ ) ※ 필자는 Windows Embeddable package 로 다운함.
- meson ( https://github.com/mesonbuild/meson )
실질적으로 Visual Studio, Git, Rust 만 설치하면 됨.
과정 ( 요약 : libavif\appveyor.yml 를 참고하면 됩니다. )
1. x64 Native Tools Command Prompt for VS 2022 를 열음.
※ VS 버전에 따라 달라질 수 있음.
2. 커멘드라인에 아래와 같이 입력
CMake, Ninja 가 있는 경우
$ set PATH=%PATH%;(NASM 경로);(Perl 경로);
CMake, Ninja 가 없는 경우
$ set PATH=%PATH%;(NASM 경로);(Perl 경로);(CMake 경로);(Ninja 경로);
3. python 및 meson 을 세팅함
python 을 설치한 경우
$ python3 -m pip install meson
Windows embeddable package 로 다운받은 경우
(python 을 압축 푼 경로) $ git clone https://github.com/mesonbuild/meson
4. libavif 를 다운받아옴.
$ git clone https://github.com/AOMediaCodec/libavif
5. 다운로드 한 libavif 폴더 안에 있는 ext 폴더로 이동함.
$ cd libavif\ext
6. aom.cmd 를 입력하여 aom 를 빌드함 ※ 여기서 빌드시 Perl 필요.
$ aom.cmd
7. dav1d 를 빌드함. ※ 여기서 python, meson 이 필요.
python 을 설치한 경우
$ dav1d.cmd
Windows embeddable package 로 다운받은 경우
$ git clone -b 1.0.0 --depth 1 https://code.videolan.org/videolan/dav1d.git
※ 버전이 달라질 수 있으므로, dav1d.cmd 내용을 참고바람.
$ cd dav1d
$ mkdir build
$ cd build
$ "(압축푼 파이썬 경로)\python.exe" "(압축푼 파이썬 경로)\meson\meson.py" --default-library=static --buildtype release ..
$ ninja
$ cd ../..
8. rav1e.cmd 입력하여 빌드. ※ 여기서 Rust 필요. Rust 는 포터블 판이 없어서 설치해야 함.
$ rav1e.cmd
9. svt.cmd 입력하여 빌드
$ svt.cmd
10. libjpeg.cmd 입력
$ libjpeg.cmd
11. zlibpng.cmd 입력
$ zlibpng.cmd
12. 상위 디렉토리로 감 (libavif)
$ cd ..
13. build 폴더 생성 & 경로 이동
$ mkdir build
$ cd build
14. 아래의 커맨드 입력
$ cmake .. -DAVIF_CODEC_AOM=ON -DAVIF_LOCAL_AOM=ON -DAVIF_CODEC_DAV1D=ON -DAVIF_LOCAL_DAV1D=ON -DAVIF_CODEC_RAV1E=ON -DAVIF_LOCAL_RAV1E=ON -DAVIF_CODEC_SVT=ON -DAVIF_LOCAL_SVT=ON -DBUILD_SHARED_LIBS=OFF -DAVIF_LOCAL_JPEG=1 -DAVIF_LOCAL_ZLIBPNG=1 -DAVIF_BUILD_APPS=ON
※ 내용이 달라질 수 있으므로, libavif\appveyor.yml 파일을 참고.
15. build 폴더를 열어보면 솔루션 파일이 있으니 컴파일하시면 됩니다.
후기 (혼잣말)
어떤 파일을 다운받으니까 AVIF 이길래 편하게 쓸 뷰어가 없는거 같아 대충 하나 만들어볼까 해서
삽질을 시작했는데 괜히 했나 싶다. 그냥 윈도우 뷰어를 써야겠다.
그리고 DLL 로 컴파일하는 방법은 찾고 있는 중...
'기타 > 분류하기애매한무언가' 카테고리의 다른 글
2020 한국인 영양섭취 기준 (0) | 2023.07.05 |
---|---|
Firefox 에서 네트워크 탭 유지 ( 다중 프로세스 브라우저 디버깅 ) (0) | 2023.03.26 |
Visual Studio를 이용해서 OpenSSL 직접 컴파일하기 (0) | 2022.03.11 |
open 핸들 관련 (0) | 2022.02.21 |
비디오 & 웹 하드웨어 가속 관련 링크 (0) | 2022.01.27 |
댓글