AR# 72605

2019.1 Zynq UltraScale+ MPSoC VCU - Zynq UltraScale+ MPSoC VCU Encoder HEVC EnableSkip 設定により 600 個目のフレーム後にエンコーディングが停止する

説明

Zynq UltraScale+ MPSoC VCU Encoder HEVC EnableSkip 設定により 600 個目のフレーム後にエンコーディングが停止するのはなぜですか。

ソリューション

これは、EnableSkip 設定で HEVC エンコードが使用されているときの Zynq UltraScale+ MPSoC VCU - LogiCORE H.264/H.265 Video Codec Unit (VCU) での既知の問題です。

IDR 画像でより多くのビットが使用されていて、スキップするように選択されているために、この問題が発生します。

HEVC 規格によると、画像のエンコード前に DPB 管理が実行され、IDR 画像によりリストから前の参照がすべて削除されます。

現在の IDR が CPB サイズまたはターゲットのビット レートが低いせいでスキップするように選択されていると、エンコーダーには、次の P フレームをエンコードするための参照フレームがなく、デッドロック状態になります。

次の修正を適用すると、アプリケーションがハングしなくなり、例外を発行して閉じるようになります。

  • 2019.1 - 次のいずれかのオプションを使用して、この問題を回避できます。
    • EnableSkip オプションを使用しない。
    • (Xilinx Answer 72324) から PetaLinux レシピおよびパッチをダウンロードする。
      注記: この修正は、すべての IDR 画像のフレームのスキップを回避させますが、この画像に HRD VBV バッファー オーバーフロー違反を発生させる可能性があります。

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

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

AR# 72605
日付 09/11/2019
ステータス アクティブ
種類 一般
デバイス
ツール
IP