Media Control for Capture Link Up

Multimedia User Guide (UG1449)

Document ID
UG1449
Release Date
2022-04-21
Revision
1.4 English

The media-ctl application from the v4l-utils package is a userspace application that uses the Linux Media Controller API to configure video pipeline entities.

Run the following command to check the link up status and formats set for each of the source and sink pads.
$ media-ctl -d /dev/mediaX -p     -> Replace X with the corresponding media node
		                Media controller API version 5.4.0
If the capture device is connected, then the preceding command generates the following media graph:
Media controller API version 5.10.0

Media device information
------------------------
driver          xilinx-video
model           Xilinx Video Composite Device
serial          
bus info        
hw revision     0x0
driver version  5.10.0

Device topology
- entity 1: vcapaxis_broad_out1hdmi_input_a (1 pad, 1 link)
            type Node subtype V4L flags 0
            device node name /dev/video0
	pad0: Sink
		<- "amba_pl@0:axis_broadcasterhdmi_":1 [ENABLED]

- entity 5: vcapaxis_broad_out1hdmi_input_a (1 pad, 1 link)
            type Node subtype V4L flags 0
            device node name /dev/video1
	pad0: Sink
		<- "amba_pl@0:axis_broadcasterhdmi_":2 [ENABLED]

- entity 9: vcapaxis_broad_out1hdmi_input_a (1 pad, 1 link)
            type Node subtype V4L flags 0
            device node name /dev/video2
	pad0: Sink
		<- "amba_pl@0:axis_broadcasterhdmi_":3 [ENABLED]

- entity 13: vcapaxis_broad_out1hdmi_input_a (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video3
	pad0: Sink
		<- "amba_pl@0:axis_broadcasterhdmi_":4 [ENABLED]

- entity 17: vcapaxis_broad_out1hdmi_input_a (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video4
	pad0: Sink
		<- "amba_pl@0:axis_broadcasterhdmi_":5 [ENABLED]

- entity 21: vcapaxis_broad_out1hdmi_input_a (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video5
	pad0: Sink
		<- "amba_pl@0:axis_broadcasterhdmi_":6 [ENABLED]

- entity 25: vcapaxis_broad_out1hdmi_input_a (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video6
	pad0: Sink
		<- "amba_pl@0:axis_broadcasterhdmi_":7 [ENABLED]

- entity 29: amba_pl@0:axis_broadcasterhdmi_ (8 pads, 8 links)
             type V4L2 subdev subtype Unknown flags 0
             device node name /dev/v4l-subdev15
	pad0: Sink
		[fmt:VYYUYY8_1X24/3840x2160 field:none]
		<- "a0080000.v_proc_ss":1 [ENABLED]
	pad1: Source
		[fmt:VYYUYY8_1X24/3840x2160 field:none]
		-> "vcapaxis_broad_out1hdmi_input_a":0 [ENABLED]
	pad2: Source
		[fmt:VYYUYY8_1X24/3840x2160 field:none]
		-> "vcapaxis_broad_out1hdmi_input_a":0 [ENABLED]
	pad3: Source
		[fmt:VYYUYY8_1X24/3840x2160 field:none]
		-> "vcapaxis_broad_out1hdmi_input_a":0 [ENABLED]
	pad4: Source
		[fmt:VYYUYY8_1X24/3840x2160 field:none]
		-> "vcapaxis_broad_out1hdmi_input_a":0 [ENABLED]
	pad5: Source
		[fmt:VYYUYY8_1X24/3840x2160 field:none]
		-> "vcapaxis_broad_out1hdmi_input_a":0 [ENABLED]
	pad6: Source
		[fmt:VYYUYY8_1X24/3840x2160 field:none]
		-> "vcapaxis_broad_out1hdmi_input_a":0 [ENABLED]
	pad7: Source
		[fmt:VYYUYY8_1X24/3840x2160 field:none]
		-> "vcapaxis_broad_out1hdmi_input_a":0 [ENABLED]

- entity 38: a0080000.v_proc_ss (2 pads, 2 links)
             type V4L2 subdev subtype Unknown flags 0
             device node name /dev/v4l-subdev16
	pad0: Sink
		[fmt:RBG888_1X24/3840x2160 field:none]
		<- "a0000000.v_hdmi_rx_ss":0 [ENABLED]
	pad1: Source
		[fmt:VYYUYY8_1X24/3840x2160 field:none]
		-> "amba_pl@0:axis_broadcasterhdmi_":0 [ENABLED]

- entity 41: a0000000.v_hdmi_rx_ss (1 pad, 1 link)
             type V4L2 subdev subtype Unknown flags 0
             device node name /dev/v4l-subdev17
	pad0: Source
		[fmt:RBG888_1X24/3840x2160 field:none]
		[dv.caps:BT.656/1120 min:0x0@25000000 max:4096x2160@297000000 stds:CEA-861,DMT,CVT,GTF caps:progressive,reduced-blanking,custom]
		[dv.detect:BT.656/1120 3840x2160p60 (4400x2250) stds:CEA-861 flags:CE-video]
		-> "a0080000.v_proc_ss":0 [ENABLED]

If a source is not connected to the HDMI-Rx port, then the media-ctl utility generates the following media graph:

Media controller API version 5.10.0

Media device information
------------------------
driver          xilinx-video
model           Xilinx Video Composite Device
serial          
bus info        
hw revision     0x0
driver version  5.10.0

Device topology
- entity 1: vcapaxis_broad_out1hdmi_input_a (1 pad, 1 link)
            type Node subtype V4L flags 0
            device node name /dev/video0
	pad0: Sink
		<- "amba_pl@0:axis_broadcasterhdmi_":1 [ENABLED]

- entity 5: vcapaxis_broad_out1hdmi_input_a (1 pad, 1 link)
            type Node subtype V4L flags 0
            device node name /dev/video1
	pad0: Sink
		<- "amba_pl@0:axis_broadcasterhdmi_":2 [ENABLED]

- entity 9: vcapaxis_broad_out1hdmi_input_a (1 pad, 1 link)
            type Node subtype V4L flags 0
            device node name /dev/video2
	pad0: Sink
		<- "amba_pl@0:axis_broadcasterhdmi_":3 [ENABLED]

- entity 13: vcapaxis_broad_out1hdmi_input_a (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video3
	pad0: Sink
		<- "amba_pl@0:axis_broadcasterhdmi_":4 [ENABLED]

- entity 17: vcapaxis_broad_out1hdmi_input_a (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video4
	pad0: Sink
		<- "amba_pl@0:axis_broadcasterhdmi_":5 [ENABLED]

- entity 21: vcapaxis_broad_out1hdmi_input_a (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video5
	pad0: Sink
		<- "amba_pl@0:axis_broadcasterhdmi_":6 [ENABLED]

- entity 25: vcapaxis_broad_out1hdmi_input_a (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video6
	pad0: Sink
		<- "amba_pl@0:axis_broadcasterhdmi_":7 [ENABLED]

- entity 29: amba_pl@0:axis_broadcasterhdmi_ (8 pads, 8 links)
             type V4L2 subdev subtype Unknown flags 0
             device node name /dev/v4l-subdev15
	pad0: Sink
		[fmt:VYYUYY8_1X24/3840x2160 field:none]
		<- "a0080000.v_proc_ss":1 [ENABLED]
	pad1: Source
		[fmt:VYYUYY8_1X24/3840x2160 field:none]
		-> "vcapaxis_broad_out1hdmi_input_a":0 [ENABLED]
	pad2: Source
		[fmt:VYYUYY8_1X24/3840x2160 field:none]
		-> "vcapaxis_broad_out1hdmi_input_a":0 [ENABLED]
	pad3: Source
		[fmt:VYYUYY8_1X24/3840x2160 field:none]
		-> "vcapaxis_broad_out1hdmi_input_a":0 [ENABLED]
	pad4: Source
		[fmt:VYYUYY8_1X24/3840x2160 field:none]
		-> "vcapaxis_broad_out1hdmi_input_a":0 [ENABLED]
	pad5: Source
		[fmt:VYYUYY8_1X24/3840x2160 field:none]
		-> "vcapaxis_broad_out1hdmi_input_a":0 [ENABLED]
	pad6: Source
		[fmt:VYYUYY8_1X24/3840x2160 field:none]
		-> "vcapaxis_broad_out1hdmi_input_a":0 [ENABLED]
	pad7: Source
		[fmt:VYYUYY8_1X24/3840x2160 field:none]
		-> "vcapaxis_broad_out1hdmi_input_a":0 [ENABLED]

- entity 38: a0080000.v_proc_ss (2 pads, 2 links)
             type V4L2 subdev subtype Unknown flags 0
             device node name /dev/v4l-subdev16
	pad0: Sink
		[fmt:RBG888_1X24/3840x2160 field:none]
		<- "a0000000.v_hdmi_rx_ss":0 [ENABLED]
	pad1: Source
		[fmt:VYYUYY8_1X24/3840x2160 field:none]
		-> "amba_pl@0:axis_broadcasterhdmi_":0 [ENABLED]

- entity 41: a0000000.v_hdmi_rx_ss (1 pad, 1 link)
             type V4L2 subdev subtype Unknown flags 0
             device node name /dev/v4l-subdev17
	pad0: Source
		[fmt:RBG888_1X24/3840x2160 field:none]
		[dv.caps:BT.656/1120 min:0x0@25000000 max:4096x2160@297000000 stds:CEA-861,DMT,CVT,GTF caps:progressive,reduced-blanking,custom]
		[dv.query:no-link]
		-> "a0080000.v_proc_ss":0 [ENABLED]
Note: Media Graph and Entity Name can vary as per design. For exact media graph of specific design, refer to the relevant design wiki pages of the desired release.