x265.exe Multilib のビルドメモ

Software
この記事は約5分で読めます。
この記事は最終更新日より 1 年以上経過しています。
画像やリンクが無効になっている可能性もあるのでご了承下さい。

 x265 の Multilib とは、一つのバイナリで 8bit, 10bit, 12bit の色深度をサポートしてエンコードを可能とする物。
 さほど気にはしていなかったけど、ソースファイル群を眺めていたら multilib.bat なるビルドを自動でやってくれるバッチファイルが入っていたので、これを少し書き換えて VSC2015 でビルドした。

必要なソフト

 Visual Studio Community 2015 でビルドするので必須。MFC も入れておくと他のソースをビルドするときにも役立つ。
https://www.visualstudio.com/downloads/download-visual-studio-vs
 hg が必要なので tortoisehg をインストールする。
http://tortoisehg.bitbucket.org/ja/
 cmake も Windows 用をダウンロードしてインストールする。
https://cmake.org/
 yasm はパスの通った所にコピーすれば OK
http://yasm.tortall.net/Download.html

x265 のソースを拾ってくる

 次の様にコマンドを打ってソースを拾ってくる。

hg clone https://bitbucket.org/multicoreware/x265

multilib.bat の書き換え

 ディレクトリ x265 以下 build/vc12-x86_64/multilib.bat を次の様にする。

@echo off
if "%VS140COMNTOOLS%" == "" (
  msg "%username%" "Visual Studio 14 not detected"
  exit 1
)

call "%VS140COMNTOOLS%\..\..\VC\vcvarsall.bat"

@mkdir 12bit
@mkdir 10bit
@mkdir 8bit

@cd 12bit
cmake -G "Visual Studio 14 Win64" ../../../source -DHIGH_BIT_DEPTH=ON -DEXPORT_C_API=OFF -DENABLE_SHARED=OFF -DENABLE_CLI=OFF -DMAIN12=ON
if exist x265.sln (
  MSBuild /property:Configuration="Release" x265.sln
  copy/y Release\x265-static.lib ..\8bit\x265-static-main12.lib
)

@cd ..\10bit
cmake -G "Visual Studio 14 Win64" ../../../source -DHIGH_BIT_DEPTH=ON -DEXPORT_C_API=OFF -DENABLE_SHARED=OFF -DENABLE_CLI=OFF
if exist x265.sln (
  MSBuild /property:Configuration="Release" x265.sln
  copy/y Release\x265-static.lib ..\8bit\x265-static-main10.lib
)

@cd ..\8bit
if not exist x265-static-main10.lib (
  msg "%username%" "10bit build failed"
  exit 1
)
if not exist x265-static-main12.lib (
  msg "%username%" "12bit build failed"
  exit 1
)
cmake -G "Visual Studio 14 Win64" ../../../source -DEXTRA_LIB="x265-static-main10.lib;x265-static-main12.lib" -DLINKED_10BIT=ON -DLINKED_12BIT=ON
if exist x265.sln (
  MSBuild /property:Configuration="Release" x265.sln
  :: combine static libraries (ignore warnings caused by winxp.cpp hacks)
  move Release\x265-static.lib x265-static-main.lib
  LIB.EXE /ignore:4006 /ignore:4221 /OUT:Release\x265-static.lib x265-static-main.lib x265-static-main10.lib x265-static-main12.lib
)

pause

ビルドする

 multilib.bat を実行して放置しておけば x265/build/vc12-x86_64/8bit/Release/x265.exe という感じにバイナリが完成している。
 これのバージョンを確認すると無事に 8, 10, 12bit に対応した x265.exe が出来ていると確認出来た。

x265.exe --version
x265 [info]: HEVC encoder version 1.9+32-c2228fb8151d
x265 [info]: build info [Windows][MSVC 1900][64 bit] 8bit+10bit+12bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX XOP FMA4 FMA3 LZCNT BM
著者プロフィール
ぶっち

本格的に PC へ触れ始めてたのは 1990 年位から。
興味は PC 全般。OS は Windows と Linux などを嗜む。
プログラマやネットワークエンジニアを経てフリーに活動している 2 児の父な 40 代半ばのおじさんです。

ぶっちをフォローする
ぶっちろぐ

コメント

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.