トップ 検索 一覧 差分 ソース ヘルプ RSS ログイン

MinGW+ffmpeg(4)LAME

MinGW+ffmpeg(4)LAME

LAMEは言わずと知れたmp3エンコードライブラリ(&コマンド)だ。バージョンも3.97以降はなかなか更新されず、かなり"枯れて"きた感があり、安定している。

LAMEはnasmを使用してビルドすることで高速に動作するが、nasmでのビルドにはバグがあるらしく、修正が必要だ。

libmp3lame/i386/Makefile.inを開き、

471:.nas.lo: $< nasm.h
472:	test -d .libs || mkdir .libs
473:	$(ECHO) '# Generated by ltmain.sh - GNU libtool 1.5 (1.1220 2003/04/05 19:32:58)' >$@
474:	$(ECHO) "pic_object='.libs/$*.o'" >>$@
475:	$(ECHO) "non_pic_object='$*.o'" >>$@
476:	$(NASM) $(NASMFLAGS) $< -o .libs/$*.o -l $@.lst

の475行目を

471:.nas.lo: $< nasm.h
472:	test -d .libs || mkdir .libs
473:	$(ECHO) '# Generated by ltmain.sh - GNU libtool 1.5 (1.1220 2003/04/05 19:32:58)' >$@
474:	$(ECHO) "pic_object='.libs/$*.o'" >>$@
475:	$(ECHO) "non_pic_object='.libs/$*.o'" >>$@
476:	$(NASM) $(NASMFLAGS) $< -o .libs/$*.o -l $@.lst

というようにnon_pic_objectに.libs/を追加する。

あとはコマンドを打つだけだ。

$ cd lame-3.97
$ ./configure --disable-shared --disable-frontend --enable-nasm
$ make
$ mkdir -p /mingw/include/lame
$ cp include/lame.h /mingw/include/lame/
$ cp libmp3lame/.libs/libmp3lame.a /mingw/lib/

ヘッダファイルのインストール先が/mingw/include/lameと、includeの下にサブディレクトリがあることに注意。なお、MP1のサポートを有効にするなら./configureに--enable-decode-layer1を付けても良い。

次はいよいよpthread、そしてx264、ffmpegだ。ここから先だけで何度やり直したか知れない…まさにキモだ。

最終更新時間:2008年04月06日 13時44分58秒