x265は、H.265/HEVC動画用のエンコードライブラリです。
x265をコンパイルするために、CMakeが必要ですので、あらかじめインストールしておいてください。
CMake
http://www.cmake.org/x265のソースコード管理には、Mercurialが使われていますので、これもインストールしておいてください。
Mercurial SCM
http://mercurial.selenic.com/「Download now↓」というバナーをクリックすると、Windows用Mercurialのインストーラーがダウンロードできます。
x265は、以下の場所にあります。
https://bitbucket.org/multicoreware/x265/wiki/Homeソースコードは、MSYSからhg(Mercurial)を使って、以下のようにダウンロードします。
$ hg clone
https://bitbucket.org/multicoreware/x265cmakeを実行すると生成される「x265.pc」ファイルの「Libs.private:」という行に、リンクする必要がないライブラリが入るため、後でsedコマンドで修正しています。
MSYSで、ソースコードを保存したディレクトリに移動し、
$ cd x265/source
$ mkdir build
$ cd build
$ cmake -G "MSYS Makefiles" .. -DCMAKE_INSTALL_PREFIX=/mingw -DWINXP_SUPPORT=ON -DENABLE_TESTS=ON -DENABLE_SHARED=OFF
$ sed -i.orig -e "/Libs.private/d;/Libs/a Libs.private: -lstdc++" x265.pc
$ make
$ make install
以上で終了です。
【補足】
2014/03/21 追記Windows Vista以降のMinGW環境でコンパイルする場合、pthreadライブラリは無くても問題ないと思いますので、cmakeとsedの所は以下のようにしてください。
$ cmake -G "MSYS Makefiles" .. -DCMAKE_INSTALL_PREFIX=/mingw -DENABLE_TESTS=ON -DENABLE_SHARED=OFF -DHAVE_STRTOK_R=1$ sed -i.orig -e "/Libs.private/d;/Libs/a Libs.private: -lstdc++" x265.pc2014/03/30 追記Windows XPでも、pthreadライブラリ無しでコンパイルできるように修正されました。
【更新履歴】を見る
2014/02/24 追記
x264から流用しているソースコードで、修正漏れと思われる箇所がありましたので、以下のパッチを適用してください。
x265-20140224.diff
$ patch -p2 < x265-20140224.diff
2014/03/21 追記
マルチスレッド関連の変更で、Windows Vista以降に実装されたAPIが使用されるようになり、そのままだと、XPのMinGW環境ではコンパイルできなくなりました。
そのため、mingw-w64用のpthreadライブラリ、winpthreadsを使うように修正しました。
以下の記事を参考に、winpthreadsもインストールしてください。
MinGW-w64のビルド (v3.1.0以降)
その他、パッチ、cmakeのオプションなども修正しました。
x265-20140321.diff
$ cmake -G "MSYS Makefiles" .. -DCMAKE_INSTALL_PREFIX=/mingw -DWINXP_SUPPORT=ON -DENABLE_TESTS=ON -DENABLE_SHARED=OFF
$ sed -i.orig -e "/Libs.private/d;/Libs/a Libs.private: -lstdc++" x265.pc
$ cmake -G "MSYS Makefiles" .. -DCMAKE_INSTALL_PREFIX=/mingw -DCMAKE_CXX_FLAGS=-D_WIN32_WINNT=_WIN32_WINNT_WINXP -DENABLE_TESTS=ON -DENABLE_SHARED=OFF -DHAVE_STRTOK_R=1
$ sed -i.orig -e "/Libs.private/d;/Libs/a Libs.private: -lstdc++ -lpthread" x265.pc
2014/03/30 追記
マルチスレッド関連のソースコードが、Windows XPでもコンパイルできるように修正されました。
cmakeのオプションとパッチを修正しました。
x265-20140330.diff
$ cmake -G "MSYS Makefiles" .. -DCMAKE_INSTALL_PREFIX=/mingw -DCMAKE_CXX_FLAGS=-D_WIN32_WINNT=_WIN32_WINNT_WINXP -DENABLE_TESTS=ON -DENABLE_SHARED=OFF -DHAVE_STRTOK_R=1
$ sed -i.orig -e "/Libs.private/d;/Libs/a Libs.private: -lstdc++ -lpthread" x265.pc
$ cmake -G "MSYS Makefiles" .. -DCMAKE_INSTALL_PREFIX=/mingw -DWINXP_SUPPORT=ON -DENABLE_TESTS=ON -DENABLE_SHARED=OFF -DHAVE_STRTOK_R=1
$ sed -i.orig -e "/Libs.private/d;/Libs/a Libs.private: -lstdc++" x265.pc
2014/04/08 追記
strtok_r関係の不具合が修正されました。
cmakeのオプションとパッチを修正しました。
x265-20140407.diff
$ cmake -G "MSYS Makefiles" .. -DCMAKE_INSTALL_PREFIX=/mingw -DWINXP_SUPPORT=ON -DENABLE_TESTS=ON -DENABLE_SHARED=OFF -DHAVE_STRTOK_R=1
$ cmake -G "MSYS Makefiles" .. -DCMAKE_INSTALL_PREFIX=/mingw -DWINXP_SUPPORT=ON -DENABLE_TESTS=ON -DENABLE_SHARED=OFF
2014/04/28 追記
パッチは不要になったため、削除しました。
$ patch -p2 < x265-20140407.diff
2014/09/13 追記
source/x265.hにtypedefが無いstructがあり、FFmpegのconfigureでエラーになるので、以下のパッチを適用してください。
x265-20140913.diff
$ patch -p2 < x265-20140913.diff
2014/09/14 追記
パッチは不要になったため、削除しました。
$ patch -p2 < x265-20140913.diff
【更新履歴】を閉じる
管理人さん
みっどないとニャ(=^∇⌒=)ノ
挨拶が遅くなりでし・・・
(=^艸^=)
x265って?
x264は更新しないのですか?
x265は、H.264の後継と言われているH.265/HEVCのエンコードライブラリです。
ffmpeg経由でx265動画をエンコードできるようになったので、試してました。
エンコード速度は、x264に比べてかなーり遅いです。
まだまだx264の代わりにはならないかな?という感じです。
ffmpeg rev.60677でx264もr2389に更新しましたので、お試しください。
hg log -r tip --template '{latesttag}.{latesttagdistance}'
という疑似的な方法もあるってさ。
ttp://tdoc.info/blog/2012/12/13/mercurial_versioning.html
hg log -r tip --template '{latesttag}+{latesttagdistance}-{node|short}'
コメントありがとうございます。
リビジョンは、ビルドしたときにできるx265の実行バイナリで、
x265 --version
と取得していました。
今後の参考にします。
あと、リンク先が直リンクを禁止しているのでなければ、URLの先頭のhは削らずに張っていただいてかまいません。