gzip -dc mpeg_encode-1_5b-src_tar.gz | tar xvfp - gzip -dc mpeg_play-2.4-patched-src.tar.gz | tar xvfp -としてソースコードを展開します。
ANNOUNCE COPYRIGHTというファイルと
convert/ mpeg_encode/ mpeg_play/というディレクトリができます。
cd mpeg_encodeをして、Makefile とソースファイルの編集を行います。
今回のターゲットマシンはDebian GNU/Linux (Intel版)です。 Makefile には特に変更する箇所はありませんが、 libpnmrw.c を書き換える必要があります。
libpnmrw.c の 129行目
extern char* sys_errlist[];を
/* extern char* sys_errlist[]; */とコメントアウトします。
make clean make allとして、コンパイルします。 多少、文句を言ってきますが致命症ではなさそうなので無視することにします。
make testとすると、
rm -f /tmp/ts.stat ./mpeg_encode -stat /tmp/ts.stat ./tst/ts.param Appending statistics to file: /tmp/ts.stat MPEG ENCODER STATS (1.5b) ------------------------ ・・・中略・・・ ======FRAMES READ: 10 csh ./tst/diffscript /tmp/ts.stat ./tst/ts.stat /tmp/ts.mpg ./tst/ts.mpg SUCCESS.というメッセージが流れます。 最後に SUCCESS と書いてあるので成功したようです。
su mkdir -p /usr/local/bin /usr/local/man/man1 cp mpeg_encode /usr/local/bin cp docs/mpeg_encode.1 /usr/local/man/man1
exit cd ../mpeg_playMakefileの雛型から自分の環境に合ったMakefileを作成します。
cp Makefile.proto Makefile chmod +w Makefile私の環境(Debian GNU/Linux)では、Makefileの50行目
CFLAGS = -O3 -DNDEBUG -DNONANSI_INCLUDES -DSH_MEM $(INCLUDEDIR)を
# CFLAGS = -O3 -DNDEBUG -DNONANSI_INCLUDES -DSH_MEM $(INCLUDEDIRとコメントアウトし、56行目のコメントをはずしました。
#CFLAGS = -O3 -fomit-frame-pointer -ffast-math -finline-functions -m486 -DNDEBUG -DNONANSI_INCLUDES -DSH_MEM -DSIG_ONE_PARAM $(INCLUDEDIR) -DDEFAULT_ORDERED_DITHERを
CFLAGS = -O3 -fomit-frame-pointer -ffast-math -finline-functions -m486 -DNDEBUG -DNONANSI_INCLUDES -DSH_MEM -DSIG_ONE_PARAM $(INCLUDEDIR) -DDEFAULT_ORDERED_DITHERとしました。
LIBS = -L/usr/lib/X11 -lXext -lX11を
# LIBS = -L/usr/lib/X11 -lXext -lX11とコメントアウトし、代わって、118行目
#LIBS = -L/usr/X11/lib -L/usr/lib/X11 -lXext -lX11を
LIBS = -L/usr/X11/lib -L/usr/X11R6/lib -lXext -lX11と変更しました。
DEST = ~/binは
DEST = /usr/local/binと変更しました。
make clean make allとして、流れるメッセージを眺めながらしばらく待ちます。
su cp mpeg_play /usr/local/bin cp mpeg_play.1 /usr/local/man/man1とします。
mpeg_encode/ mpeg_play/というディレクトリの他に
convert/というディレクトリができているはずです。 このディレクトリはmpeg_encodeが利用できない画像ファイルを利用できる形式に 変換するためのツールを作成するためのものです。 私はImageMagickやnetpbmをインストール済みなので今回はこのディレクトリは使いませんでした。
コンパイルとインストールが終了したら、上記のディレクトリは不要です。 消して構いません。
mpeg_encode/docs/users-guide.psにマニュアルが用意されています。 目を通しておくと良いでしょう。 しかし、それよりも
mpeg_encode/docs/param-summaryの方が役に立つかもしれません。