AR# 73023

2019.2 Zynq UltraScale+ MPSoC VCU - ザイリンクス低レイテンシ モードを使用して 4Kp30 ストリームから 4Kp60 ストリームに切り替えようとすると、「VCU: unavailable resource error」というエラー メッセージが表示される

説明

ザイリンクス低レイテンシ モード (Low Latency Phase 2 または LLP2 と呼ばれることもある) モードを使用して 4Kp30 ストリームから 4Kp60 ストリームに切り替えようとすると、「VCU: unavailable resource error」というエラー メッセージが表示される理由を教えてください。

パイプラインの例:

gst-launch-1.0 -v v4l2src io-mode=dmabuf-import device=/dev/video0 ! video/x-raw, width=3840, height=2160, format=NV12, framerate=30/1 ! omxh264enc control-rate=low-latency target-bitrate=20000 filler-data=0 prefetch-buffer=TRUE num-slices=16 ! video/x-h264, alignment=nal ! queue max-size-buffers=0 ! omxh264dec low-latency=1 ! queue max-size-bytes=0 ! fpsdisplaysink name=fpssink text-overlay=false 'video-sink=kmssink bus-id=a0070000.v_mix plane-id=30 hold-extra-sample=1 show-preroll=false sync=true' sync=true -v

killall -9 gst-launch-1.0

gst-launch-1.0 -v v4l2src io-mode=dmabuf-import device=/dev/video0 ! video/x-raw, width=3840, height=2160, format=NV12, framerate=60/1 ! omxh264enc control-rate=low-latency target-bitrate=20000 filler-data=0 prefetch-buffer=TRUE num-slices=16 ! video/x-h264, alignment=nal ! queue max-size-buffers=0 ! omxh264dec low-latency=1 ! queue max-size-bytes=0 ! fpsdisplaysink name=fpssink text-overlay=false 'video-sink=kmssink bus-id=a0070000.v_mix plane-id=30 hold-extra-sample=1 show-preroll=false sync=true' sync=true -v

ソリューション

これは、Zynq UltraScale+ MPSoC - LogiCORE H.264/H.265 Video Codec Unit (VCU) での既知の問題で、kill -9 (SIGKILL) を使用して GStreamer パイプラインを試行して閉じると発生することがあります。

この問題は、SIGKILL を受信するとソフトウェアで正しくクリーンアップされないために発生します。

この問題を回避するには、kill -2 (SIGINT) または Ctrl + C を使用して GStreamer パイプラインを閉じます。

これにより、プロセスが正しく終了するようになります。

GStreamer パイプラインを閉じるのに SIGKILL を使用する必要がある場合は、VCU カーネル モジュールをアンロードして再ロードするとこの問題を解決できます。

この問題は現在調査中ですが、今後のリリースで修正される予定です。

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

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

AR# 73023
日付 12/19/2019
ステータス アクティブ
種類 一般
ツール
IP