Media-ctl: entity、pad和link
Entity在Media Controller中,表示一个节点。它包含一个或多个的输入输出pads。Link表示一条链接,它连接多个不同的pad。多个link组成了一条完整的pipeline。
Entity的名称可以从拓扑结构中查看,pad由数字表示,一个entity中可以包含多个pad,既可以有Source,也可以有Sink。Link连接两个“entity”:
pad。以下代码块为昉·惊鸿-7110 Media
device中entity、pad和link的详细信息。
# media-ctl -p -d /dev/media0 Media controller API version 5.15.0 Media device information ------------------------ driver jh7110-vin model Starfive Camera Subsystem serial 0123456789ABCDEF bus info platform:19800000.vin_sysctl hw revision 0x1 driver version 5.15.0 Device topology - entity 1: stf_dvp0 (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:RGB565_2X8_LE/1920x1080 field:none colorspace:srgb] pad1: Source [fmt:RGB565_2X8_LE/1920x1080 field:none colorspace:srgb] -> "stf_vin0_wr":0 [] -> "stf_isp0":0 [] - entity 4: stf_csiphy0 (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/1920x1080 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range] <- "imx219 6-0010":0 [ENABLED,IMMUTABLE] pad1: Source [fmt:SRGGB10_1X10/1920x1080 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range] -> "stf_csi0":0 [ENABLED,IMMUTABLE] - entity 7: stf_csi0 (2 pads, 3 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev2 pad0: Sink [fmt:SRGGB10_1X10/1920x1080 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range] <- "stf_csiphy0":1 [ENABLED,IMMUTABLE] pad1: Source [fmt:SRGGB10_1X10/1920x1080 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range] -> "stf_vin0_wr":0 [] -> "stf_isp0":0 [ENABLED] - entity 10: stf_isp0 (8 pads, 7 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev3 pad0: Sink [fmt:SRGGB10_1X10/1920x1080 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range crop.bounds:(0,0)/1920x1080 crop:(0,0)/1920x1080 compose.bounds:(0,0)/1920x1080 compose:(0,0)/1920x1080] <- "stf_dvp0":1 [] <- "stf_csi0":1 [ENABLED] pad1: Source [fmt:Y12_1X12/1920x1080 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range crop.bounds:(0,0)/1920x1080 crop:(0,0)/1920x1080 compose.bounds:(0,0)/1920x1080 compose:(0,0)/1920x1080] -> "stf_vin0_isp0":0 [] pad2: Source [fmt:Y12_1X12/1920x1080 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range crop.bounds:(0,0)/1920x1080 crop:(0,0)/1920x1080 compose.bounds:(0,0)/1920x1080 compose:(0,0)/1920x1080] -> "stf_vin0_isp0_ss0":0 [] pad3: Source [fmt:Y12_1X12/1920x1080 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range crop.bounds:(0,0)/1920x1080 crop:(0,0)/1920x1080 compose.bounds:(0,0)/1920x1080 compose:(0,0)/1920x1080] -> "stf_vin0_isp0_ss1":0 [] pad4: Source [fmt:SRGGB10_1X10/1920x1080 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range crop.bounds:(0,0)/1920x1080 crop:(0,0)/1920x1080 compose.bounds:(0,0)/1920x1080 compose:(0,0)/1920x1080] pad5: Source [fmt:SRGGB10_1X10/1920x1080 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range crop.bounds:(0,0)/1920x1080 crop:(0,0)/1920x1080 compose.bounds:(0,0)/1920x1080 compose:(0,0)/1920x1080] pad6: Source [fmt:SRGGB12_1X12/1920x1080 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range crop.bounds:(0,0)/1920x1080 crop:(0,0)/1920x1080] -> "stf_vin0_isp0_raw":0 [] pad7: Source [fmt:SRGGB12_1X12/1920x1080 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range crop.bounds:(0,0)/1920x1080 crop:(0,0)/1920x1080] -> "stf_vin0_isp0_scd_y":0 [ENABLED] - entity 19: stf_vin0_wr (2 pads, 3 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev4 pad0: Sink [fmt:RGB565_2X8_LE/1920x1080 field:none colorspace:srgb] <- "stf_dvp0":1 [] <- "stf_csi0":1 [] pad1: Source [fmt:RGB565_2X8_LE/1920x1080 field:none colorspace:srgb] -> "stf_vin0_wr_video0":0 [ENABLED,IMMUTABLE] - entity 22: stf_vin0_wr_video0 (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "stf_vin0_wr":1 [ENABLED,IMMUTABLE] - entity 28: stf_vin0_isp0 (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev5 pad0: Sink [fmt:Y12_1X12/1920x1080 field:none colorspace:srgb] <- "stf_isp0":1 [] pad1: Source [fmt:Y12_1X12/1920x1080 field:none colorspace:srgb] -> "stf_vin0_isp0_video1":0 [ENABLED,IMMUTABLE] - entity 31: stf_vin0_isp0_video1 (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "stf_vin0_isp0":1 [ENABLED,IMMUTABLE] - entity 37: stf_vin0_isp0_ss0 (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev6 pad0: Sink [fmt:Y12_1X12/1920x1080 field:none colorspace:srgb] <- "stf_isp0":2 [] pad1: Source [fmt:Y12_1X12/1920x1080 field:none colorspace:srgb] -> "stf_vin0_isp0_ss0_video2":0 [ENABLED,IMMUTABLE] - entity 40: stf_vin0_isp0_ss0_video2 (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "stf_vin0_isp0_ss0":1 [ENABLED,IMMUTABLE] - entity 46: stf_vin0_isp0_ss1 (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev7 pad0: Sink [fmt:Y12_1X12/1920x1080 field:none colorspace:srgb] <- "stf_isp0":3 [] pad1: Source [fmt:Y12_1X12/1920x1080 field:none colorspace:srgb] -> "stf_vin0_isp0_ss1_video3":0 [ENABLED,IMMUTABLE] - entity 49: stf_vin0_isp0_ss1_video3 (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Sink <- "stf_vin0_isp0_ss1":1 [ENABLED,IMMUTABLE] - entity 55: stf_vin0_isp0_raw (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev8 pad0: Sink [fmt:SBGGR12_1X12/1920x1080 field:none colorspace:srgb] <- "stf_isp0":6 [] pad1: Source [fmt:SBGGR12_1X12/1920x1080 field:none colorspace:srgb] -> "stf_vin0_isp0_raw_video6":0 [ENABLED,IMMUTABLE] - entity 58: stf_vin0_isp0_raw_video6 (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video6 pad0: Sink <- "stf_vin0_isp0_raw":1 [ENABLED,IMMUTABLE] - entity 64: stf_vin0_isp0_scd_y (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev9 pad0: Sink [fmt:SRGGB12_1X12/1920x1080 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range] <- "stf_isp0":7 [ENABLED] pad1: Source [fmt:SRGGB12_1X12/1920x1080 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range] -> "stf_vin0_isp0_scd_y_video7":0 [ENABLED,IMMUTABLE] - entity 67: stf_vin0_isp0_scd_y_video7 (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video7 pad0: Sink <- "stf_vin0_isp0_scd_y":1 [ENABLED,IMMUTABLE] - entity 93: imx219 6-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev10 pad0: Source [fmt:SRGGB10_1X10/1920x1080@1/30 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range crop.bounds:(8,8)/3280x2464 crop:(688,700)/1920x1080] -> "stf_csiphy0":0 [ENABLED,IMMUTABLE]