Archive-name: ppmtogif-noLZW.c
Version: $Revision: 4.9 $
Last-Modified: $Date: 2004-01-08 17:41:43+09 $

かべ。
とりあえず現状放出。

・ppmを食って
・ランレングスGIFを吐く

Cプログラムです。

前回(1.28)からの変更点:
・高速化
・外部カラーマップ (-map ppmfile)
・動画GIF出力対応(!)
・ランレングスに加え、無圧縮出力もサポート

最新ブラウザだけ相手にする&&ベタ塗り絵ならPNGのほうが
ずっと優れてますが、ビンテージブラウザを常用してると
そうもいきませんで…


参考:他のツールの状況
・無圧縮 (1ピクセル1コード)
        ImageMagick
        djpeg
        netpbm の ppmtogif -nolzw (コードはdjpegと同じ)
・ランレングス
        これ
        gifsicle (アルゴリズム的にちょっとLZWとかぶっている?)
・独自
        whirlgif (作者曰くB-Treeを使っており特許問題なし)

なんと、無圧縮とランレングスの両方吐けるツールは
このppmtogif-noLZWが初めてのようです(ほんとかよ)

ランレングスにするとだいたいLZWの4倍くらいの大きさにふくれます。
ブラウザが対応してるならBMPや生PPMをgzipしたほうが小さいです。

GIF出力をさらに圧縮する場合は、コード長を4bitか8bitにしたほうがいいので、
入力は8色か128色に減色したほうがよいでしょう。
-- 
kabe