おいふぉりーのぶろぐ

きっと趣味のブログに違いないです!!

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

libjpeg の入出力について

libjpeg ですが、配布されているライブラリでは JPEG ファイルから入力、 JPEG ファイルへの出力の関数のみしかありません(具体的には C 言語のファイルポインタを使う)。今回私は、ファイルポインタではなくて C++ のストリームに対して圧縮、展開をしたかったので調べたところ、メモリからの展開の仕方について解説している方がいました。参考になりそうです。
さらに調べると libjpeg の jdatasrc.c と jdatadst.c にファイルからの入力とファイルへの出力のコードが書かれていることがわかりました。メモリの展開の解説をしている方もこれらのファイルをカスタマイズしているようですね。

カスタマイズにはどうすればいいのかと言うことですが・・・まずは、 jdatasrc.c と jdatadst.c を把握しようということで。
libjpeg では入力マネージャ、出力マネージャというオブジェクトがあり、これらが入出力を担当しています。オブジェクトといっても、 C 言語で実装されているので、構造体を使い、メソッドは構造体に関数ポインタとして実装されています。これらのマネージャオブジェクトを jpeg_stdio_src() 関数、jpeg_stdio_dest() 関数で設定する感じになっています。カスタマイズするには、マネージャと設定用の関数を作ればいいということです。
ソースを見たほうが早いような気がするので、↓ここに置いておきます。読みやすいように日本語でメモをしておきました。

(日本語メモ付き) jdatasrc.c
(日本語メモ付き) jdatadst.c
スポンサーサイト
  1. 2008/03/26(水) 03:44:07|
  2. 未分類
  3. | トラックバック:0
  4. | コメント:0

ぶろぐはじめますた☆

はじめたのはイイのですが、いろいろ使い方が良く分からんので
いろいろいろ試してみようと思ってるとこです。 [ぶろぐはじめますた☆]の続きを読む
  1. 2005/12/23(金) 12:22:27|
  2. 未分類
  3. | トラックバック:0
  4. | コメント:3

来客数

プロフィール

Euphorie

Author:Euphorie
"おいふぉりー"って呼んでくださいな☆
ハードウェアとかソフトウェアとかの開発に興味があったり。。。
連絡先は上の画像。

最近の記事

最近のコメント

最近のトラックバック

月別アーカイブ

カテゴリー

ブロとも申請フォーム

この人とブロともになる

ブログ内検索

RSSフィード

リンク

このブログをリンクに追加する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。