Tech と Culture

テクノロジーとカルチャー

octave

JPEG処理の流れが理解できたところで、以前と同じようにホストPC側でプログラムを変更してアルゴリズム確認を行います。
ここで結構苦しみました。
IJGのコードの書き方が2次元行列を一次元配列で記述してポインタをずらしながら、さらに配列アクセスするような一見わかりずらい書き方が行われています。
(多様なプラットフォームで高速になるように書かれているレベルの高いソフトウェアですので、なんらかの理由があると思われます。)
また、DCTの後にレベルシフトという操作が入っていることを見逃していました。

最初はXwindow表示させても全体が緑色の汚い画面が出たり、判別できる動画が出てもノイズがのっていたりしました。
そのような時は、当然、printf分でデータを表示させてデバッグするわけですが、その時に行列演算が必要となります。

行列の演算を早くできるフリーソフトがないか調べたら、なんと、Matlab相当のフリーソフトがあることが分かりました(有名なソフトらしいので、私に常識が無かっただけのような気もします)。

Octaveというソフトです。
http://octave.sourceforge.net/
このページのwindows-installerをダウンロードして簡単にインストール終了。
行列演算を行って、デバッグにおおいに役にたちました。

しかし、論理合成、ルータ、シミュレータのみならず、Matlab相当もフリーソフトです。
QuadCoreのPCも6万円台ですので、本気で自宅で大抵のものが趣味で開発できる時代になってますね。