SDL(Simple DirectMedia Layer)は、ffplayをビルドするときに必要なライブラリです。
SDL version 2をSDL2と呼んでいるようです。
DirectX SDKが必要ですので、MinGW-w64必須です。
SDL2は、以下の場所にあります
http://www.libsdl.org/左メニュー「Download」の「SDL 2.0」より、
https://www.libsdl.org/download-2.0.phpSource Code: の下にある、
SDL2-2.0.5.tar.gz
を、適当なディレクトリに保存します。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf SDL2-2.0.5.tar.gz
$ cd SDL2-2.0.5
$ ./configure --prefix=/mingw --disable-shared --disable-assembly --disable-pthreads
$ make
$ make install
以上で終了です。
【補足】
configureオプションに「--disable-render-d3d」を指定しないと、コンパイルエラーになります。
今のところ原因不明です。ffplayの動作的には、特に問題ありませんでしたので、とりあえずこのままにしておきます。2016/12/08 追記上記の問題は、SDL2-2.0.5で修正されましたので、configureオプション「--disable-render-d3d」を削除しました。
【更新履歴】を見る
2016/10/15 追記
【補足】
Windows XPで、ffplayに不具合があるとの報告がありましたので、configureオプションに「--disable-assembly」を追加しました。
2016/12/08 追記
SDL2の最新版は、SDL2-2.0.5です。
SDL2-2.0.4 を SDL2-2.0.5 に修正しました。
2016/12/08 追記
configureオプション「--disable-render-d3d」を削除しました。
$ ./configure --prefix=/mingw --disable-shared --disable-assembly --disable-mmx --disable-3dnow --disable-pthreads --disable-render-d3d
$ ./configure --prefix=/mingw --disable-shared --disable-assembly --disable-mmx --disable-3dnow --disable-pthreads
2016/12/08 追記
上記の問題は、SDL2-2.0.5で修正されましたので、configureオプション「--disable-render-d3d」を削除しました。
2018/05/03 追記
configureオプション「--disable-mmx --disable-3dnow」を削除しました。
$ ./configure --prefix=/mingw --disable-shared --disable-assembly --disable-mmx --disable-3dnow --disable-pthreads
$ ./configure --prefix=/mingw --disable-shared --disable-assembly --disable-pthreads
【更新履歴】を閉じる
ありがとうございます
コメントありがとうございます。
SDL2がリリースされてから、ずっとサポートされてなかったのに、急に切り替わってしまったので、困りますよね。
検索しても、情報が見つけられなかったので、試行錯誤してなんとかうまくいきました。
お役に立ててよかったです。
https://github.com/Alexpux/MINGW-packages/tree/master/mingw-w64-SDL2
下のパッチを当てると起きませんでした。
しかし、現在は、SDL2-2.0.5 がリリースされて、それらのパッチは削除されたようです。
私の環境下では、SDL2-2.0.5 は、--disable-render-d3d とせずともコンパイルエラーは起こりませんでした。
しかし、test 下の make で、atomic などのコンパイルエラーが起こり、test*.exe 群が作成されず気持ちが悪いので、うちでは、SDL2-2.0.4 + 上記パッチのもので止めています。
ご参考まで。
https://github.com/Alexpux/MINGW-packages/tree/cdbc5f407d5670edd699d16818e2b4e2329a3615/mingw-w64-SDL2
にある次の2つのパッチと思われます。
SDL2-fix-gcc-compatibility.patch
SDL2-prevent-duplicate-d3d11-declarations.patch
うちの環境は、MSYS2, x86_64-w64-mingw32-gcc 6.2.0-2 です。
私は、その他のパッケージでも make が上手くいかなかったときなどに、上記サイトの PKGBUILD を参考にしています。
情報ありがとうございます。
返信が遅くなり、申し訳ありません。
SDL2-2.0.5をインストールしてffplayをビルドしてみました。
動画を再生しても、特に問題なさそうでしたので、次からSDL2-2.0.5を採用しようと思います。
今日気が付いたのですが、以前は、ffplayで再生中の画面をクリックすると、シークバー代わりにジャンプできたのですが、SDL2からなのか、できなくなってますね。
教えていただいたリンク先の情報も、参考にさせていただきます。
ありがとうございました。