x265のビルド

概要

x265を実行可能な形式(x265.exe)にビルドします。
32bit版、64bit版の両方をビルドします。

作業手順は以下のとおりです。

  1. MSYS\msys.bat を実行。(プロンプト画面(黒い画面)が起動します。)
  2. 下記の黒い部分のコマンドを一行ずつ入力し、Enterキーを押す。
  3. 処理が完了するまで待つ。
  4. 2~3を繰り返す。

なお、ビルド作業を自動化したスクリプトもあります。
詳しくは、ビルド用スクリプトをご覧ください。

※ご注意※
  • このページの内容は、こちらで構築した環境をベースに記述されています。
    その他の環境では正常に動作しない可能性があります。
  • このページの内容は、2016/03/17 時点のものです。
    備忘録的なページのため、内容に誤りがある可能性があります。

ソースコードの入手

  1. cd /tmp1
  2. hg clone https://bitbucket.org/multicoreware/x265 x265
  3. mkdir -p x265/build/msys/{8,10,12}bit

ビルドの開始

  1. 32bit版をインストールします。
    • 8bit
    • 10bit
    • 12bit
    • Multilib
    1. cd /tmp1/x265/build/msys/8bit
    2. cmake -G "MSYS Makefiles" ../../../source -DCMAKE_INSTALL_PREFIX=/x86 -DHIGH_BIT_DEPTH=OFF -DENABLE_SHARED=OFF -DWINXP_SUPPORT=ON
    3. sed -i.orig -e "/Libs.private/d;/Libs/a Libs.private: -lstdc++" x265.pc
    4. make -j3
    5. make install
    6. rm -rf ./*
    1. cd /tmp1/x265/build/msys/10bit
    2. cmake -G "MSYS Makefiles" ../../../source -DCMAKE_INSTALL_PREFIX=/x86 -DHIGH_BIT_DEPTH=ON -DENABLE_ASSEMBLY=OFF -DENABLE_SHARED=OFF -DWINXP_SUPPORT=ON
    3. sed -i.orig -e "/Libs.private/d;/Libs/a Libs.private: -lstdc++" x265.pc
    4. make -j3
    5. make install
    6. rm -rf ./*
    1. cd /tmp1/x265/build/msys/12bit
    2. cmake -G "MSYS Makefiles" ../../../source -DCMAKE_INSTALL_PREFIX=/x86 -DHIGH_BIT_DEPTH=ON -DMAIN12=ON -DENABLE_ASSEMBLY=OFF -DENABLE_SHARED=OFF -DWINXP_SUPPORT=ON
    3. sed -i.orig -e "/Libs.private/d;/Libs/a Libs.private: -lstdc++" x265.pc
    4. make -j3
    5. make install
    6. rm -rf ./*
    1. cd /tmp1/x265/build/msys/12bit
    2. cmake -G "MSYS Makefiles" ../../../source -DHIGH_BIT_DEPTH=ON -DMAIN12=ON -DEXPORT_C_API=OFF -DENABLE_ASSEMBLY=OFF -DENABLE_CLI=OFF -DENABLE_SHARED=OFF -DWINXP_SUPPORT=ON
    3. make -j3
    4. cp libx265.a ../8bit/libx265_main12.a
    5. cd ../10bit
    6. cmake -G "MSYS Makefiles" ../../../source -DHIGH_BIT_DEPTH=ON -DEXPORT_C_API=OFF -DENABLE_ASSEMBLY=OFF -DENABLE_CLI=OFF -DENABLE_SHARED=OFF -DWINXP_SUPPORT=ON
    7. make -j3
    8. cp libx265.a ../8bit/libx265_main10.a
    9. cd ../8bit
    10. cmake -G "MSYS Makefiles" ../../../source -DCMAKE_INSTALL_PREFIX=/x86 -DHIGH_BIT_DEPTH=OFF -DEXTRA_LIB="x265_main10.a;x265_main12.a" -DEXTRA_LINK_FLAGS=-L. -DLINKED_10BIT=ON -DLINKED_12BIT=ON -DENABLE_SHARED=OFF -DWINXP_SUPPORT=ON
    11. sed -i.orig -e "/Libs.private/d;/Libs/a Libs.private: -lstdc++" x265.pc
    12. make -j3
    13. mv libx265.a libx265_main.a
    14. echo -e "CREATE libx265.a\nADDLIB libx265_main.a\nADDLIB libx265_main10.a\nADDLIB libx265_main12.a\nSAVE\nEND" | ar -M
    15. make install
  2. 64bit版をインストールします。
    • 8bit
    • 10bit
    • 12bit
    • Multilib
    1. cd /tmp1/x265/build/msys/8bit
    2. cmake -G "MSYS Makefiles" -DCMAKE_TOOLCHAIN_FILE=../toolchain-x86_64-w64-mingw32.cmake ../../../source -DCMAKE_INSTALL_PREFIX=/x64 -DHIGH_BIT_DEPTH=OFF -DENABLE_SHARED=OFF -DWINXP_SUPPORT=ON
    3. sed -i.orig -e "/Libs.private/d;/Libs/a Libs.private: -lstdc++" x265.pc
    4. make -j3
    5. make install
    6. rm -rf ./*
    1. cd /tmp1/x265/build/msys/10bit
    2. cmake -G "MSYS Makefiles" -DCMAKE_TOOLCHAIN_FILE=../toolchain-x86_64-w64-mingw32.cmake ../../../source -DCMAKE_INSTALL_PREFIX=/x64 -DHIGH_BIT_DEPTH=ON -DENABLE_SHARED=OFF -DWINXP_SUPPORT=ON
    3. sed -i.orig -e "/Libs.private/d;/Libs/a Libs.private: -lstdc++" x265.pc
    4. make -j3
    5. make install
    6. rm -rf ./*
    1. cd /tmp1/x265/build/msys/12bit
    2. cmake -G "MSYS Makefiles" -DCMAKE_TOOLCHAIN_FILE=../toolchain-x86_64-w64-mingw32.cmake ../../../source -DCMAKE_INSTALL_PREFIX=/x64 -DHIGH_BIT_DEPTH=ON -DMAIN12=ON -DENABLE_SHARED=OFF -DWINXP_SUPPORT=ON
    3. sed -i.orig -e "/Libs.private/d;/Libs/a Libs.private: -lstdc++" x265.pc
    4. make -j3
    5. make install
    6. rm -rf ./*
    1. cd /tmp1/x265/build/msys/12bit
    2. cmake -G "MSYS Makefiles" -DCMAKE_TOOLCHAIN_FILE=../toolchain-x86_64-w64-mingw32.cmake ../../../source -DHIGH_BIT_DEPTH=ON -DMAIN12=ON -DEXPORT_C_API=OFF -DENABLE_CLI=OFF -DENABLE_SHARED=OFF -DWINXP_SUPPORT=ON
    3. make -j3
    4. cp libx265.a ../8bit/libx265_main12.a
    5. cd ../10bit
    6. cmake -G "MSYS Makefiles" -DCMAKE_TOOLCHAIN_FILE=../toolchain-x86_64-w64-mingw32.cmake ../../../source -DHIGH_BIT_DEPTH=ON -DEXPORT_C_API=OFF -DENABLE_CLI=OFF -DENABLE_SHARED=OFF -DWINXP_SUPPORT=ON
    7. make -j3
    8. cp libx265.a ../8bit/libx265_main10.a
    9. cd ../8bit
    10. cmake -G "MSYS Makefiles" -DCMAKE_TOOLCHAIN_FILE=../toolchain-x86_64-w64-mingw32.cmake ../../../source -DCMAKE_INSTALL_PREFIX=/x64 -DHIGH_BIT_DEPTH=OFF -DEXTRA_LIB="x265_main10.a;x265_main12.a" -DEXTRA_LINK_FLAGS=-L. -DLINKED_10BIT=ON -DLINKED_12BIT=ON -DENABLE_SHARED=OFF -DWINXP_SUPPORT=ON
    11. sed -i.orig -e "/Libs.private/d;/Libs/a Libs.private: -lstdc++" x265.pc
    12. make -j3
    13. mv libx265.a libx265_main.a
    14. echo -e "CREATE libx265.a\nADDLIB libx265_main.a\nADDLIB libx265_main10.a\nADDLIB libx265_main12.a\nSAVE\nEND" | x86_64-w64-mingw32-ar -M
    15. make install

以上で完了です。
ビルドに成功すると、以下のディレクトリにバイナリ(x265.exe)が生成されます。

  • 32bit版: MSYS\local\x86\bin
  • 64bit版: MSYS\local\x86_64\bin

ソースファイルの削除

MSYS\tmp にはx265のソースファイルが残っています。
必要ない場合は、削除しても構いません。

削除手順は以下のとおりです。

  1. cd /tmp1
  2. rm -rf x265
Comment Form is loading comments...