9

私はAVFoundationを使用してビデオをキャプチャしました.iは(ビデオ設定)を設定し、outputsamplebuffer kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange形式で取得しました。しかし、さらに処理するには YUV420 形式が必要です。

私の疑問は

1.YUV420420YpCbCr8BiPlanarVideoRange,420YpCbCr8BiPlanarFULLRange, 420YpCbCr8PlanarFullRange,420YpCbCr8Planarとの違いは?
2.どうすれば 420YpCbCr8BiPlanarVideoRange を YUV420 に変換できますか?
3. YUV420 を 32BGRA に変換する方法

4)またはこれを行う他の方法??? それは、任意のオープン ソース ライブラリまたは Apple Framework です....

私はアクセラレートフレームワークを通過しました......次の画像変換 planar8,planerF,RGBA8888などがあります...これらのフォーマットと同等にする方法は 32BGRA/YUV420/ 420YpCbCr8BiPlanarVideoRange ありますか?????

前もって感謝します

前もって感謝します

4

1 に答える 1

31

主な違いは次のとおりです。

バイプレーナー形式の場合、Y データ (輝度) と CbCr データ (彩度または色情報) は、プレーンと呼ばれる 2 つの別個のメモリ領域にあります。インデックス 0 を使用CVPixelBufferGetBaseAddressOfPlaneして Y データを取得し、インデックス 1 を使用して CbCr データを取得できます。形式が平面の場合、両方の種類のデータが同じ平面にあります (最初にすべての Y 値、次にすべての Cb 値、最後に Cr 値)。

フル レンジ形式の場合、各輝度値または彩度値に 0 ~ 255 の値が使用されます。ビデオ範囲形式は、16 ~ 235 の値のみを使用します (歴史的な理由により)。

用語420は、フォーマットに含まれるルマおよびクロマ情報の量を示します。基本的には、各ピクセルの輝度情報と各 2x2 ブロックの彩度情報があると言います。

YUV420 は、私が知る限り、正確に指定された形式ではありません。平面 YpCbCr 420 フォーマットによく使用されます。

于 2011-06-11T09:28:39.413 に答える