2011年01月04日

Xvidのコンパイル&インストール (1.3.0以降) w32threads

Xvidは、以下の場所にあります。
http://www.xvid.org/

2014/04/28 追記
ソースコードのダウンロード先が変わりました。
メニューの「More」から、「Xvid Labs - Open Source Project」に進みます。
https://labs.xvid.com/

「Source Code」から進むと、Release Downloadsの右の方に、ソースコードへのリンクがあります。
https://labs.xvid.com/source/

Developer Quick Downloads
↓Xvid 1.3.4 source code

xvidcore-1.3.4.tar.gz
を、適当なディレクトリに保存します。

MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf xvidcore-1.3.4.tar.gz
$ cd xvidcore

ここで、以下のパッチを適用します。
・ライブラリ名をxvidcore.*からlibxvidcore.*に変更
・CreateThreadを_beginthreadexに変更
などです。
xvidcore-1.3.0-20110103.diff

2015/08/17 追記
パッチを更新しました。
xvidcore-1.3.4-win32.diff

$ patch -p1 < xvidcore-1.3.4-win32.diff

あとは、以下の手順でコンパイル&インストールします。
$ cd build/generic/
$ ./bootstrap.sh
$ ./configure --prefix=/mingw --disable-pthread
$ make
$ make install

以上で終了です。


【補足】
2013/10/14 追記
Xvid 1.3.2から、しばらくリリースがストップしていますが、svn版はたまに更新されて、1.4-127になっています。
svn版は、以下のようにダウンロードできます。

2014/04/28 追記
1.3.3で、svn版の更新が適用されています。

2013/11/16 追記
「--username anonymous --password hoge」を追加しました。
パスワードは、メールアドレスの形式になっていなくても、半角英数1文字以上なら何でも良いです。
svnの設定が、一度認証するとキャッシュされる設定の場合は、2回目以降は認証が不要になります。

$ svn checkout http://svn.xvid.org/trunk/xvidcore --username anonymous --password hoge

xvidcore-1.4用のパッチはこちらです。
xvidcore-1.4-win32.diff

$ cd xvidcore
$ patch -p1 < xvidcore-1.4-win32.diff

あとは、xvidcore-1.3.2の手順と同じです。


【更新履歴】を見る
posted by あべちん at 01:33 | Comment(9) | TrackBack(0) | FFmpeg追加ライブラリ
この記事へのコメント
現在は、ユーザネーム(anonymous)とパスワード(任意?)が必要なようです。
svn checkout http://svn.xvid.org/trunk/xvidcore --username anonymous --password foge@foge.com
とかで良いのかな?
Posted by 通りすがり at 2013年10月22日 00:13
通りすがりさん、こんにちは。管理人です。

コメントありがとうございます。

MSYSからsvn version 1.8.3でcheckoutしましたが、ユーザネームとパスワードは特に要求されませんでした。

環境の違いか、svnのversionの違いか、何が違うのでしょうか?
Posted by あべちん at 2013年10月31日 00:00
当方の svn の Ver. は 1.7.7 で、Linux 上の話でした。
svn でアクセスすると、ユーザネームを要求されて、調べたら、下記 URL に、ユーザネームとパスワード入れるように記述があった。
ttp://www.xvid.org/SVN-Server.53.0.html
ちなみに、ブラウザーで、svn サーバにアクセスしてもユーザネームとパスワード入れるように Window が出てきたよ。
MSYS 上と挙動が違う理由はよくわかりませんが・・・
Posted by 通りすがり at 2013年11月05日 00:36
こんばんわ、私も自前ビルドの1.8.3でアクセスしてみましたがパスワード等を要求されました。
MSYS上からもコマンドプロンプト経由でも同じでした。MSYS.dllのsvnでは何も要求されませんでした。

話は変わりますが、ffmpegってlibgmeに対応してたんですね。
gme/CMakeLists.txtの146行目を下記のように修正する事により静的ライブラリがビルド出来るようです。
add_library(gme STATIC ${libgme_SRCS})
ffplayでサンプル音源を鳴らし、objdumpで使用dllを検索しましたがどうやら組み込みに成功しているようです。

というか私はほとんどエンコとかしませんが、libfliteを使用する為にffmpegを立ち上げていたりします。
Posted by psx at 2013年11月05日 22:01
すいません補足です
gme/CMakeLists.txt 140行目をコメントアウト
#add_definitions(-DBLARGG_BUILD_DLL)

念の為gme/blargg_source.h 92行目のwin32を削除

でした。
Posted by psx at 2013年11月05日 22:15
通りすがりさん、こんにちは。管理人です。

svnについてその後いろいろ試してみたところ、一度認証すると、アカウント情報がキャッシュされる設定になっていました。

Windowsの場合、
C:\Documents and Settings\ログオンユーザー名\Application Data\Subversion\auth\
というフォルダにキャッシュされます。

authフォルダを削除したら、ユーザーネームを要求されるようになりました。

記事に追記しておきます。

ご指摘ありがとうございました。
Posted by あべちん at 2013年11月16日 15:16
psxさん、こんにちは。管理人です。

情報ありがとうございます。

libfliteは一度試して面白かったのですが、配布するにはffmpegがでかくなりすぎると思って、やめました。

libgmeは、追加されているのは気づいていたのですが、使い道がよく分からなかったので試していません。

需要がありそうなら、試してみようと思います。
Posted by あべちん at 2013年11月16日 15:23
ビルドするとlibxvidcore.dllファイルが別々に生成されます。ffmpeg.exe単一ファイルの中に入れる方法はありませんか?--disable-sharedオプションが不可能なのにどのような方法があることを知りたいです
Posted by しつもん at 2015年11月01日 00:44
しつもんさん、こんにちは。管理人です。

おっしゃるとおり、--disable-sharedオプションがありませんので、sharedライブラリとstaticライブラリが両方生成されますが、ffmpegのconfigureオプションに、
--extra-ldflags=-static
をつけて、staticライブラリをリンクするようにしています。

お試しくださいませ。
Posted by あべちん at 2015年11月03日 14:51
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/42368831
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック