ここでは、ソフトウェア製作の際に役立つ(と思われる) 自作ユーティリティ・ソフトを公開しています。
ここにあるソフトはすべて、Win32 Console Application です。 MS-DOS プロンプト(Windows 95/98/Me) や コマンドプロンプト (Windows NT/2000/XP) から起動して使います。
ここにあるソフトのほとんどは、他のソフトを作っていて必要になり、 即席で(数十分程度で)作ったものです。なので、ごく簡単なものがほとんどです。 また、すべてにC言語によるソースコードが同梱されています。ただし、 マニュアル (README) が入っていないものもありますので、そういう場合は、 このページの解説を見て使ってください。
ここにあるソフトは、明示的な記述のない限り、PDS (Public domain software) 扱いとします。作者(私)はこれらのソフトに関して一切の著作権を主張しませんので、 改造や流用も含めて全く自由に利用していただいてかまいません。 なお、(当然のことですが)これらのソフトに関しては如何なる保証・ 補償もありません。
Susie Plug-in の動作速度を計測・比較するためのソフトです。
使い方は、
spibench ifjpeg.spi testpic.jpg
のように、テスト対象の Plug-in と、テスト用の画像ファイルを 一つ指定して起動します。 すると、その画像ファイルをそのプラグインで(デフォルトで)10回展開し、 それまでにかかった時間を表示します。
テストできるのは、画像展開用 Susie Plug-in だけです。 アーカイブ展開用 Susie Plug-in はテストできません。
2004/10/15 版 の変更点:
あるプログラムを起動してから、 それが終了するまでの経過時間を知りたいことがたまにあります。こういうとき、 私は以前、ストップウォッチを手に持って計っていたのですが、 あまりにも面倒だったので、即席で作ってみたのがこの don.exe です。
使い方は簡単で、例えば
don lha x test.lzh
のように、don に続けて、計測したいプログラム名とそのパラメータを書く だけです。プログラムが終了すると、その経過時間が表示されます。
一般に画像ファイルを JPEG などの非可逆(lossy)な圧縮方式で圧縮/展開すると、 画像にノイズが混じって画像が荒れてきます。 まれに、非可逆圧縮方式や減色法の評価をするために、 このノイズ混入量を測定したい場合があります。このプログラム psnrbmp は、 BMP ファイル同士を比較して、画像のノイズ混入量を表す PSNR (Peak Signal-to-Noise Ratio) を計算します。
PSNR (Peak Signal-to-Noise Ratio = ピーク信号対雑音比) とは、 画像の信号と混入したノイズとの比率で、通常は dB で表されます。 この値が低ければ低いほどノイズの混入が多いことを意味し、 逆にノイズの混入が全くなければ PSNR は無限大(∞)となります。
PSNR の計算は普通はモノクロ画像で行うのが一般的のようですが、 当プログラムではカラー画像の PSNR を計算できます。 (注:カラー PSNR の計算では、色空間の大きさの計算を手抜きしているため、 正確な値ではありません。目安としてご利用ください。)
汎用データ圧縮コンポーネントとして広く使われている zlib を使って、 入力データを圧縮して出力したり、 その圧縮データを展開して元に戻したりするだけのプログラムです。
元々、png ファイルを扱うソフトのテストデータを作るために作成しました。 ソースコードも同梱されていますので、zlib の使い方の参考にどうぞ。
任意の入力データに、データのバイト数・チャンク名・crc32 を付加して、 png ファイルの「チャンク」にします。png ファイルの構造に関する知識があれば、 このソフトの出力をバイナリエディタなどで png ファイルに埋め込むことで、 任意のデータを png ファイルに埋め込むことができます。
元々、png ファイルを扱うソフトのテストデータを作るために作成しました。