1

Delphi 6 用の使いやすい JPEG コンバーター(ソース コード)はありますか TBitmap と組み合わせてデフォルトの JPEG ユニットを回避しようとしています。これは、変換ごとに新しいビットマップを割り当て、各操作に他の初期化/破棄操作も含まれるためです。

RTP サーバーから JPEG フレームを受け取ります。これをビットマップに変換し、DirectShow フィルターの FillBuffer() 呼び出しを介してプッシュする必要があります。各フレームは、プリセット設定を使用してビデオ キャプチャ デバイスからストリーミングされるため、まったく同じサイズと形式になります。したがって、ビットマップを 1 回だけ割り当てて、各受信 JPEG フレームを既存のビットマップ メモリ領域に変換できれば、メモリのチャンクを 1 秒間に 25 回再割り当てすることと、Delphi が関与するその他の補助データ オブジェクトのオーバーヘッドを回避できます。 TBitmap とともに JPEG ユニットで使用される変換プロセスで。

CPU 使用率の観点からは、超高速である必要はありません。640 x 480 の JPEG フレーム変換を 1/25 秒未満 (安全のために 1/15) で処理するのに十分な速さです。

4

1 に答える 1

1

メモリ使用量についてはわかりませんが、自分で簡単に変更できるソース付きの非常に小さな JPEG デコーダーは NanoJPEG です: http://keyj.emphy.de/nanojpeg/

ここでの Delphi 変換: http://www.emix8.org/static.php?page=nanoJpeg

于 2011-12-26T10:32:31.960 に答える