ARM9上でのJPEG圧縮の続きです。もう少し圧縮速度が速くならないかと思いlibjpegのドキュメントを読み直してみると、DTCの計算メソッドを指定できるようになっていました。しかも、libjpegを作りなおさなくても、圧縮を開始する前にcinfo構造体のメンバ(dct_method)で指定することができるようになっています。具体的には
とするだけのことでした。これまではconfig時にディフォルトとして指定したJDCT_ISLOWを使っていました。計算精度を犠牲にして高速化が図られているということなので、試してみると。。
おぉ、2秒台達成です。かなり効果ありますね。これなら我慢できそうな気がします。しかし、ここまではVGA画像でのハナシです。SXGAではどうなるかも確認しておきましょう。まぁ、計算量は画素数に比例して増えるでしょうから、おおよその推測はつくのですが。。
予想してはいたものの、あまりの処理時間の長さにソフトがハングしたのではないかと疑い始めてしまいました。うーん、これは辛すぎます。JPEG出力できるカメラが欲しくなります。アセンブラで書き直せば我慢できる程度に早くなるんでしょうか? いつか挑戦してみたい気もしますが、とりあえずはVGAでの撮像で我慢することにします。
cinfo.dct_method = JDCT_IFAST; jpeg_start_compress(&cinfo, TRUE);
とするだけのことでした。これまではconfig時にディフォルトとして指定したJDCT_ISLOWを使っていました。計算精度を犠牲にして高速化が図られているということなので、試してみると。。
おぉ、2秒台達成です。かなり効果ありますね。これなら我慢できそうな気がします。しかし、ここまではVGA画像でのハナシです。SXGAではどうなるかも確認しておきましょう。まぁ、計算量は画素数に比例して増えるでしょうから、おおよその推測はつくのですが。。
予想してはいたものの、あまりの処理時間の長さにソフトがハングしたのではないかと疑い始めてしまいました。うーん、これは辛すぎます。JPEG出力できるカメラが欲しくなります。アセンブラで書き直せば我慢できる程度に早くなるんでしょうか? いつか挑戦してみたい気もしますが、とりあえずはVGAでの撮像で我慢することにします。