>>610
あー・・・
えっと、今のプログラムだとコードブックのインデックスの範囲が
8bit(0〜255)固定になってるので、define以外にそこも直さないとダメ。

ソースで言うと変数enc_data、enc_data_ptr、あとはfwrite()の第二引数。
fwrite()は各要素ごとに出力するようにしないと対応できないか。

修正方針としては
・ソース内部ではenc_dataの要素を16 or 32bitにする(それを参照するポインタの型も)。

・コマンドライン引数でコードブックサイズを取得し、cb_sizeに格納
 文字列の判別は"256"、"512"、"1024"を直接比較でいいんじゃないかと。

・データ出力時に、コードブックサイズに応じて、各インデックス値を
 8bit/16bitのいずれかで出力

こんなとこかな。
漏れがあったら誰か指摘よろ。

あと、俺のはエンコード/デコードでプログラム分かれてないんだけど、いいのかな?
>>595をベースにするのは構わんけど、ちゃんと中身を理解してな。