AR# 70645

|

Zynq UltraScale+ MPSoC - Video Codec Unit (VCU) - GStreamer でサポートされているビデオ フォーマット

説明

GStreamer ではどのビデオ フォーマットがサポートされていますか。

ソリューション

この質問には、ハードウェア、ソフトウェア、ZCU106 VCU TRD など、いくつかの要因が関係しています。


ハードウェア:

まず、純粋にハードウェアの面から言うと、VCU では 4:2:2 および 4:2:0 の 8 ビットと 10 ビット データをサポートしています。 

これは、『H.264/H.265 Video Codec Unit (VCU) 製品ガイド』(PG252) の「Features (機能)」セクションにリストされています。

データのパッキングは、「Source Frame Format (ソース フレームのフォーマット)」セクションで説明されています。

図 3-2 では、輝度 (Y) の後にインターリーブされた彩度 (UV) ピクセルが続いているパッキングがわかりやすく示されています。



ソフトウェア:

2017.4 リリースでは、ソフトウェアのみにて、NV12 まで一致する 4:2:0 8 ビットをサポートしています。

2018.1 以降のリリースでは、4:2:2 10 ビットのサポートが追加されています。

GStreamer および OpenMAX:

GStreamer プラグインの omxh264enc/omxh264dec および omxh264enc/omxh265dec では、受信ビデオのフォーマットがセミプレーナーであることを期待しています。

NV12 およびその他のフォーマットの説明は、『H.264/H.265 Video Codec Unit (VCU) 製品ガイド』の「GStreamer」セクションに記載されています。

I420 フォーマットのフレームを GStreamer に渡そうとすると、セミプレーナー フォーマットではないためにエラーが発生します。  

パックされた i420 からセミプレーナーの NV12 に変換するには、GStreamer ビデオ変換ブロックのようなフォーマット コンバーター プラグインを使用できます。  

パフォーマンス情報について、下の「注意」セクションも参照してください。


VCU Control Software:

VCU Control Software には、パックされたフォーマットから VCU でサポートされているセミプレーナー フォーマットに変換する変換ライブラリが含まれています。 

NV12 およびその他のフォーマットの説明は、『H.264/H.265 Video Codec Unit (VCU) 製品ガイド』の「VCU Control Software Encoder Parameters (VCU Control Software のエンコーダー パラメーター)」セクションの表「Encoder Input Parameters (エンコーダーの Input セクションのパラメーター)」に記載されています。

パックされた i420 フォーマットを制御ソフトウェアで使用しようとすると、セミプレーナーの NV12 フォーマットに変換されて VCU へ渡されます。  

パフォーマンス情報について、下の「注意」セクションも参照してください。



ZCU106 VCU TRD:

VCU TRD はデモ用プラットフォームで、VCU だけでなく複数の IP が含まれています。

2017.4 の VCU TRD はソフトウェア サポートによって制限されており、4:2:0 8 ビット データのみがサポートされています。

2018.3 の VCU TRD には、4:2:2 10 ビット データのサポートが追加されています。

VCU TRD では、上述のとおり、VCU でサポートされているフォーマットでデータがパックされる必要があることを想定しています。

ビデオ データはセミプレーナーの NV12 フォーマット (または VCU でサポートされている別のフォーマット) に変換される必要があります。


注意:

ファイル ソース (filesrc) を使用する場合は DMA バッファーが使用されなくなり、パックされた i420 からセミプレーナーの NV12 フォーマットにビデオ変換するために GStreamer または VCU Control Software を使用しようとするとパフォーマンス問題が発生する可能性があります。(変換はソフトウェアで行われている)

ライブ インターフェイスを使用する場合は、データをメモリに書き込むときにライブ フォーマットをセミプレーナーの NV12 フォーマットに変換する Video Frame Buffer IP をパスに使用する必要があります。

これは、メモリからの読み出し時に VCU で正しいフォーマットのデータが使用されるようにするためです。(変換はハードウェアで行われている)

アンサー レコード リファレンス

マスター アンサー レコード

Answer Number アンサータイトル 問題の発生したバージョン 修正バージョン
66763 LogiCORE H.264/H.265 Video Codec Unit (VCU) - Vivado ツール 2017.3 バージョン以降のリリース ノートおよび既知の問題 N/A N/A

関連アンサー レコード

Answer Number アンサータイトル 問題の発生したバージョン 修正バージョン
70845 ZCU106 VCU TRD - LogiCORE H.264/H.265 Video Codec Unit (VCU) - Zynq UltraScale+ MPSoC VCU で GStreamer Appsrc および Appsink を使用する例 N/A N/A
AR# 70645
日付 12/19/2018
ステータス アクティブ
種類 一般
デバイス
ツール
IP
Boards & Kits
People Also Viewed