この記事は最終更新日より 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
コメント