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.diff2015/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の手順と同じです。
【更新履歴】を見る
2011/01/04 追記
pthreadsを使用するコンパイル手順は、以下の記事を参照してください。
Xvidのコンパイル&インストール (1.3.0以降)
2011/02/27 追記
Xvid 1.3.0がリリースされました。
1.3.0-rc1 を 1.3.0 に変更しました。
2011/03/30 追記
Xvid 1.3.1がリリースされました。
1.3.0 を 1.3.1 に変更しました。
最新版はxvidcore-1.3.1ですが、パッチは変更ありません。
2011/04/12 追記
パッチのファイル名を変更しました。
xvidcore-1.3.1.diff
内容の変更はありません。
2011/06/01 追記
Xvid 1.3.2がリリースされました。
1.3.1 を 1.3.2 に変更しました。
2011/06/01 追記
パッチを更新しました。
pthreads版とw32threads版を共通にしました。
xvidcore-1.3.2-win32.diff
2011/06/01 追記
configureオプションに --disable-pthread を追加しました。
$ ./configure --prefix=/mingw
$ ./configure --prefix=/mingw --disable-pthread
2013/11/16 追記
「--username anonymous --password hoge」を追加しました。
パスワードは、メールアドレスの形式になっていなくても、半角英数1文字以上なら何でも良いです。
svnの設定が、一度認証するとキャッシュされる設定の場合は、2回目以降は認証が不要になります。
$ svn checkout http://svn.xvid.org/trunk/xvidcore
$ svn checkout http://svn.xvid.org/trunk/xvidcore --username anonymous --password hoge
2014/04/28 追記
Xvid 1.3.3がリリースされました。
1.3.2 を 1.3.3 に変更しました。
2014/04/28 追記
ソースコードのダウンロード先が変わりました。
メニューの「More」から、「Xvid Labs - Open Source Project」に進みます。
https://labs.xvid.com/
Developers welcome
More at Xvid codec
から進むと、右の方にソースファイルへのリンクがあります。
「Source Code」から進むと、Release Downloadsの右の方に、ソースコードへのリンクがあります。
https://labs.xvid.com/source/
Developer Downloads
Developer Quick Downloads
↓Xvid 1.3.3 source code
2014/04/28 追記
パッチを更新しました。
xvidcore-1.3.3-win32.diff
2014/05/07 追記
パッチを更新しました。
ライブラリ名をxvidcore.*からlibxvidcore.*に変更するのを修正し忘れていたので、追加しました。
xvidcore-1.3.3-win32-2.diff
2015/08/17 追記
Xvid 1.3.4がリリースされました。
1.3.3 を 1.3.4 に変更しました。
2015/08/17 追記
パッチを更新しました。
xvidcore-1.3.4-win32.diff
【更新履歴】を閉じる
svn checkout http://svn.xvid.org/trunk/xvidcore --username anonymous --password foge@foge.com
とかで良いのかな?
コメントありがとうございます。
MSYSからsvn version 1.8.3でcheckoutしましたが、ユーザネームとパスワードは特に要求されませんでした。
環境の違いか、svnのversionの違いか、何が違うのでしょうか?
svn でアクセスすると、ユーザネームを要求されて、調べたら、下記 URL に、ユーザネームとパスワード入れるように記述があった。
ttp://www.xvid.org/SVN-Server.53.0.html
ちなみに、ブラウザーで、svn サーバにアクセスしてもユーザネームとパスワード入れるように Window が出てきたよ。
MSYS 上と挙動が違う理由はよくわかりませんが・・・
MSYS上からもコマンドプロンプト経由でも同じでした。MSYS.dllのsvnでは何も要求されませんでした。
話は変わりますが、ffmpegってlibgmeに対応してたんですね。
gme/CMakeLists.txtの146行目を下記のように修正する事により静的ライブラリがビルド出来るようです。
add_library(gme STATIC ${libgme_SRCS})
ffplayでサンプル音源を鳴らし、objdumpで使用dllを検索しましたがどうやら組み込みに成功しているようです。
というか私はほとんどエンコとかしませんが、libfliteを使用する為にffmpegを立ち上げていたりします。
gme/CMakeLists.txt 140行目をコメントアウト
#add_definitions(-DBLARGG_BUILD_DLL)
念の為gme/blargg_source.h 92行目のwin32を削除
でした。
svnについてその後いろいろ試してみたところ、一度認証すると、アカウント情報がキャッシュされる設定になっていました。
Windowsの場合、
C:\Documents and Settings\ログオンユーザー名\Application Data\Subversion\auth\
というフォルダにキャッシュされます。
authフォルダを削除したら、ユーザーネームを要求されるようになりました。
記事に追記しておきます。
ご指摘ありがとうございました。
情報ありがとうございます。
libfliteは一度試して面白かったのですが、配布するにはffmpegがでかくなりすぎると思って、やめました。
libgmeは、追加されているのは気づいていたのですが、使い道がよく分からなかったので試していません。
需要がありそうなら、試してみようと思います。
おっしゃるとおり、--disable-sharedオプションがありませんので、sharedライブラリとstaticライブラリが両方生成されますが、ffmpegのconfigureオプションに、
--extra-ldflags=-static
をつけて、staticライブラリをリンクするようにしています。
お試しくださいませ。