ntrcomp

説明

 ntrcomp は、TWL-SDKの MI_Uncompress*() コマンドで扱える形式の圧縮データを作成するツールです。

使用方法

起動コマンド

% ntrcomp <-d(8|16)|r|l|lex|h(4|8)> [-s] [-<t|T>[width]] [-H] [-A(4|8|16|32)] [-o outputFile] <inputFile>
% ntrcomp -x [-o outputFile] [-s] <inputFile>

 inputFileで指定された入力ファイルを、指定された形式で圧縮・変換します。
ランレングス圧縮、LZ77拡張圧縮、ハフマン圧縮、差分フィルタの変換が可能です。

-s オプションは、圧縮変換成功時に表示される成功メッセージを非表示にします。

-H オプションは、データにヘッダ情報をつけて圧縮するため、展開後のデータにもデータサイズが付加されます。

-Aオプションは、出力ファイルのサイズが引数nバイトにアライメントされるように末尾を0で埋めます。

-o オプションで、出力ファイルのファイル名を指定できます。 何も指定しなかった場合には、(入力ファイル名本体部)_(圧縮方式).bin という名前の出力ファイルが作成されます。

-t,-T オプションにより出力ファイルをc言語形式のテキストファイルとして出力可能です。
オプションに(1|2|4)を付けることで、型をu8,u16,u32から選択することも可能です。(デフォルトはu8)
u16,u32の場合に-tではリトルエンディアン、-Tではビッグエンディアンとして出力されます。

-x オプションを使用すると、ntrcomp を使用して圧縮したファイルをPC上で展開することができます。

圧縮方式指定オプション書式

圧縮方式として以下の形式が指定できます。

オプション 変換方式 パラメータ
-d 差分フィルタ 比較する単位ビットサイズを指定 { 8 | 16 }
-r ランレングス圧縮 なし
-h ハフマン圧縮 符号化するビットサイズを指定 { 4 | 8 }
-lex LZ77拡張圧縮 なし
-l LZ77圧縮(旧互換) なし

LZ77拡張圧縮(lex)はLZ77圧縮に比べてより高い圧縮率が期待できますが、旧互換の為に-lオプションが残されています。
どちらも同一の MI_UncompressLZ*() で展開が可能ですが、4.2以前のSDKを使用しているプログラムではLZ77拡張圧縮されたファイルを展開できませんのでご注意ください。

拡張版のLZ圧縮 (-lex) は、旧来のLZ圧縮 (-l) に比べてワーストケースでの圧縮時間が数倍になることがあり、 ランタイムで圧縮する場合には旧来版の方がデータによらず安定した速度での圧縮が期待できますが、展開速度は同等です。

場所

$TwlSDK/tools/bin/ntrcomp.exe

参照

MI_UncompressHuffman, MI_UncompressRL*, MI_UncompressLZ*

履歴

2007/11/01 解凍オプションを追加、LZ77拡張圧縮(lex)を追加、LZ77圧縮のオプションパラメータを削除、テキスト出力オプションにエンディアン指定を追加、アライメントに8byte,16byte,32byteを指定できるように修正
2005/03/03 新設されたオプションの説明を追加
2004/08/20 初版