The HDR10 pipeline supports the reception and insertion of HDR10 static metadata. This HDR10 metadata contains critical information needed to support HDR and throughout the pipeline - from the source to the sink.
Run the following gst-launch-1.0 command to display the XV20 HDR10 video on HDMI-Tx using the GStreamer pipeline (capture (HDR10) → encode → decode → display(HDR10)):
gst-launch-1.0 v4l2src device=/dev/video0
io-mode=4 ! video/x-raw, width=3840, height=2160,
format=NV16_10LE32, framerate=60/1 ! omxh265enc qp-mode=auto
gop-mode=basic gop-length=60 b-frames=0 target-bitrate=60000
num-slices=8 control-rate=constant prefetch-buffer=true
low-bandwidth=false filler-data=true cpb-size=1000
initial-delay=500 ! video/x-h265, profile=main-422-10,
alignment=au ! queue ! omxh265dec internal-entropy-buffers=5
low-latency=0 ! queue max-size-bytes=0 ! fpsdisplaysink
text-overlay=false
video-sink="kmssink bus-id="a00c0000.v_mix show-preroll-frame=false"
plane-id=34 sync=true" sync=true
Run the following
gst-launch-1.0
command to record XV20 HDR10
video using the GStreamer
pipeline:gst-launch-1.0 v4l2src device=/dev/video0 io-mode=4
num-buffers=3600 ! video/x-raw, width=3840, height=2160,
format=NV16_10LE32, framerate=60/1 ! omxh265enc qp-mode=auto
gop-mode=basic gop-length=60 b-frames=0 target-bitrate=60000
num-slices=8 control-rate=constant prefetch-buffer=true
low-bandwidth=false filler-data=true cpb-size=1000
initial-delay=500 ! video/x-h265, profile=main-422-10,
alignment=au ! h265parse ! queue ! mpegtsmux alignment=7
name=mux ! filesink location="/run/test.ts"
For more information, see H.264/H.265 Video Codec Unit LogiCORE IP Product Guide (PG252) and PL DDR HDR10 HDMI Video Capture and Display.