プログラミング・ツール(自作ソフト)


 ここでは、ソフトウェア製作の際に役立つ(と思われる) 自作ユーティリティ・ソフトを公開しています。

 ここにあるソフトはすべて、Win32 Console Application です。 MS-DOS プロンプト(Windows 95/98/Me) や コマンドプロンプト (Windows NT/2000/XP) から起動して使います。

 ここにあるソフトのほとんどは、他のソフトを作っていて必要になり、 即席で(数十分程度で)作ったものです。なので、ごく簡単なものがほとんどです。 また、すべてにC言語によるソースコードが同梱されています。ただし、 マニュアル (README) が入っていないものもありますので、そういう場合は、 このページの解説を見て使ってください。

 ここにあるソフトは、明示的な記述のない限り、PDS (Public domain software) 扱いとします。作者(私)はこれらのソフトに関して一切の著作権を主張しませんので、 改造や流用も含めて全く自由に利用していただいてかまいません。 なお、(当然のことですが)これらのソフトに関しては如何なる保証・ 補償もありません。


Contents


spibench - Susie Plug-in 用シンプル・ベンチマークテスト (2004/10/15 版)

 Susie Plug-in の動作速度を計測・比較するためのソフトです。

 使い方は、

spibench ifjpeg.spi testpic.jpg

のように、テスト対象の Plug-in と、テスト用の画像ファイルを 一つ指定して起動します。 すると、その画像ファイルをそのプラグインで(デフォルトで)10回展開し、 それまでにかかった時間を表示します。

 テストできるのは、画像展開用 Susie Plug-in だけです。 アーカイブ展開用 Susie Plug-in はテストできません。

 2004/10/15 版 の変更点:


don - 簡易経過時間計測ユーティリティ

 あるプログラムを起動してから、 それが終了するまでの経過時間を知りたいことがたまにあります。こういうとき、 私は以前、ストップウォッチを手に持って計っていたのですが、 あまりにも面倒だったので、即席で作ってみたのがこの don.exe です。

 使い方は簡単で、例えば

don lha x test.lzh

のように、don に続けて、計測したいプログラム名とそのパラメータを書く だけです。プログラムが終了すると、その経過時間が表示されます。


psnrbmp - BMP ファイルを比較し PSNR を計算する

 一般に画像ファイルを JPEG などの非可逆(lossy)な圧縮方式で圧縮/展開すると、 画像にノイズが混じって画像が荒れてきます。 まれに、非可逆圧縮方式や減色法の評価をするために、 このノイズ混入量を測定したい場合があります。このプログラム psnrbmp は、 BMP ファイル同士を比較して、画像のノイズ混入量を表す PSNR (Peak Signal-to-Noise Ratio) を計算します。

 PSNR (Peak Signal-to-Noise Ratio = ピーク信号対雑音比) とは、 画像の信号と混入したノイズとの比率で、通常は dB で表されます。 この値が低ければ低いほどノイズの混入が多いことを意味し、 逆にノイズの混入が全くなければ PSNR は無限大(∞)となります。

 PSNR の計算は普通はモノクロ画像で行うのが一般的のようですが、 当プログラムではカラー画像の PSNR を計算できます。 (注:カラー PSNR の計算では、色空間の大きさの計算を手抜きしているため、 正確な値ではありません。目安としてご利用ください。)


zlib.exe - zlib でデータを圧縮/展開するだけのプログラム

 汎用データ圧縮コンポーネントとして広く使われている zlib を使って、 入力データを圧縮して出力したり、 その圧縮データを展開して元に戻したりするだけのプログラムです。

 元々、png ファイルを扱うソフトのテストデータを作るために作成しました。 ソースコードも同梱されていますので、zlib の使い方の参考にどうぞ。


chunkniz - 任意のデータを png のチャンクにする

 任意の入力データに、データのバイト数・チャンク名・crc32 を付加して、 png ファイルの「チャンク」にします。png ファイルの構造に関する知識があれば、 このソフトの出力をバイナリエディタなどで png ファイルに埋め込むことで、 任意のデータを png ファイルに埋め込むことができます。

 元々、png ファイルを扱うソフトのテストデータを作るために作成しました。


counter トップページに戻る