- blogs:
- cles::blog

mozjpeg v2.0 がリリースされたのでビルドしてみた

Mozilla がリリースしている mozjpeg という JPEG エンコーダーの v2.0 が公開されました。
これを使うと JPEG ファイルを最適化してファイル容量を削減することができます。
MozillaがJPEGエンコーダー最新版「mozjpeg 2.0」をリリース、Facebookが同技術をテストへ | SourceForge.JP Magazine
Mozillaは7月15日、オープンソースのJPEGエンコーダー「mozjpeg 2.0」をリリースした。圧縮効率の改善により画像のファイルサイズを5%削減できるという。米Facebookがmozjpeg 2.0をFacebook.com上でテストすることも明らかにしている。
mozjpegはMozillaが2014年3月に発表したプロジェクト。新たに静止画フォーマットを開発するのではなく、広く利用されているJPEGの問題とされている圧縮効率を改善するためにスタートしたもので、既存のエンコーダーとの互換性を維持しつつ、JPEGファイルの圧縮改善を目指す。
以前ビルドしようとしたらうまくいかなかったので、再挑戦してみました。
左が圧縮前の画像(約745kB)、右が圧縮後の画像(約623kB)になっています。容量は約16%小さくなりました。
以下、ビルド時のメモ。
† CentOS 5 上でのビルドの準備
ビルドにはこれらのプログラムがインストール済みである必要があります。
- autoconf 2.56 or later
- automake 1.7 or later
- libtool 1.4 or later
- NASM (if building x86 or x86-64 SIMD extensions)
- GCC v4.1 or later recommended for best performance
基本的には yum で入るもので十分ですが、nasm については http://www.nasm.us/pub/nasm/releasebuilds/ から最新版の 2.11 をビルドしてインストールしました。
† ビルド方法
GitHub からソースをダウンロードしてビルドします。
途中で2カ所ファイルの編集が入っているのは、デフォルトではビルドがこけてしまうからです。
まず、最初の configure.ac については AM_PROG_AR 関連のエラーが出てしまうので「automake 1.12 and AM_PROG_AR」を参考に下記のようにスクリプトに1行追加を行います。
次の Makefile は libtool のエラーを回避するために --tag=CC を入れています。
これで綺麗にビルドすることができます。
† 実際にファイルの変換を行う
JPEG の最適化を行うには cjpeg を使って下記のように行えばいいみたいです。
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/6868
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
- crontab -r とやってしまった... (2)
- Jawbone Companion (beta) (1)
- GPS ロガーを自作 (1)
- MPC-HC で連続再生を行う(解... (1)
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(112925)
3 . 年次の人間ドックへ(112354)
4 . 2023 年分の確定申告完了!(1つめ)(111923)
5 . 三菱鉛筆がラミーを買収(111797)