GigE YUV ビデオ ストリームを読み取り、画面に表示するアプリケーションがあります。プロファイリングにより、各フレームを YUV (UYVY) から RGB24 に変換する関数が、カメラからスクリーンへのパイプラインの他のどの部分よりも少なくとも 1 桁多くの時間と CPU を消費していることがわかりました。
私たちが使用している変換関数は、GigE ソフトウェア ベンダー ( Pleora ) によって提供されており、独自の「単純な」(最適化されていない) 実装よりもわずかに高速です。残りのパイプラインには DirectShow を使用しています。「タスク マネージャー ベンチマーク」は、1080p 30fps ストリームの場合、変換をスキップすると (もちろん画像が文字化けします) 4 ~ 5% の CPU 使用率を示し、変換関数を呼び出すと 15 ~ 19% の CPU 使用率を示します。
質問は次のとおりです。
- サードパーティの SDK や独自の (CPU ベースのシリアル) 変換関数に頼るのではなく、できればよりパフォーマンスの高い方法で、この変換を行う DirectShow フィルターはありますか?
- この変換は CPU で行う必要がありますか、それとも並列処理のために何らかの方法で GPU にオフロードできますか?
ありがとう!エリック。