http://code.google.com/p/picojpeg からエクスポートされました。オリジナルの著者は、richgel99 (gmail.com) のRich Geldreich です。
picojpeg は、単一のソース ファイル picojpeg.c と単一のヘッダー picojpeg.h でプレーン C で書かれたパブリック ドメインの JPEG デコンプレッサーです。これには、小型の 8/16 ビット組み込みデバイスやメモリに非常に制約のある環境で役立つ、いくつかの非常にユニークなプロパティがあります。
picojpeg には、他の実装と比較して、いくつかの欠点と既知の問題があります。
picojpeg の類似バージョンは、SourceBoost Technologies の BoostC 組み込みコンパイラを使用して、Microchip の PIC18F4610 マイクロコントローラ上でコンパイルされ、実行されることに成功しました。 (この亜種を確認したい場合は、電子メールでお知らせください。) picojpeg.c は、MSP430 および ARM Cortex-M4 CPU でも使用されています。 (使用例については、「ILI9341 320x240 LCD モジュールを備えた PIC での picojpeg ライブラリの使用」を参照してください)。
ソース配布物には、サンプル VS2005 プロジェクトと、解凍に picojpeg を使用して JPG を TGA ファイルに変換するプリコンパイルされた Win32/Win64 コマンド ライン実行可能ファイルが含まれています。 Sean Barrett のパブリック ドメイン stb_image.c モジュールは、TGA ファイルの書き込みに使用されます。
picojpeg は元々、私の jpgd デコンプレッサー C++ クラスをベースにしていました。これは (最新の CPU 上では) picojpeg.c よりも高速かつ高機能ですが、より多くのメモリを使用し、int が 32 ビットであることを前提としています。
これは、gcc6809 を使用してコンパイルされた 6809 CPU (Tandy Color Computer 3) で動作する picojpeg です: picojpeg: Decoding Lena on a Tandy Color Computer 3。
v1.1 - 2020 年 3 月 23 日: マクロの未署名/署名の問題を修正し、非常に大きな JPEG のデコードを妨げるデコーダのオーバーフロー問題を修正しました。
v1.1 - 2013 年 2 月 19 日: パブリック ドメインと (パブリック ドメインが受け入れられない場合は) MIT ライセンスの両方としてデュアル ライセンスが付与されました。ソースドロップについては私に連絡してください。
v1.1 - 2013 年 2 月 9 日: DC 成分のみがゼロ以外の場合に完全な逆変換を回避するために IDCT 行/列ループを最適化し、高速 1/8 解像度デコードのための「リデュース」モードを追加し、エラー処理を改善しました。 H2V1/H1V2 クロマ サブサンプリング係数のサポートを追加し、jpg2tga.cpp を jpg2jpg.c に移植しました (そのため、すべてのモジュールはプレーン C で書かれています)今)、テスト/検証のために picojpeg のデコードされた出力と stb_image'c を比較するコードを追加しました。
v1.0 - 2010 年 11 月 10 日: 初期リリース。 PIC18F シリーズ CPU でテストされたオリジナル バージョンから派生しました。
picojpeg の開発に貢献してくれた Daniel Swenson [email protected] と、MSP430 パッチを提供してくれた Chris Phoenix [email protected] に感謝します。
このモジュールに関する質問や問題がある場合は、Rich Geldreich (richgel99 (gmail.com))までご連絡ください。ここが私のツイッターページです。