ZCU106使用VCU TRD的MIPI的例子
时间:2022-07-22
本文章向大家介绍ZCU106使用VCU TRD的MIPI的例子,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
在ZCU106上,使用VCU TRD的MIPI的例子,可以从MIPI摄像头采取图像数据,并使用GStreamer推送到HDMI显示器上。
echo -e "nnXilinx CSI2 Rx Subsystem Information: "
dmesg | grep -i "Xilinx CSI2 Rx Subsystem"
# echo -e "nnv4l2 Device Information: "
# v4l2-ctl --list-devices
echo -e "nnFind Media Pipeline: "
for m in /dev/media* ; do echo $m ; media-ctl -p -d $m | grep -B 3 /dev/video1 ; echo '-----------' ; done
echo -e "nnDisplay Media Pipeline Information: "
media-ctl -p -d /dev/media7
echo -e "nnFind Controls for MIPI CSI-2 RX: "
yavta -l /dev/v4l-subdev8
echo -e "nnUpdate Controls for MIPI CSI-2 RX: "
yavta -w '0x0098c981 4' /dev/v4l-subdev8
yavta -l /dev/v4l-subdev8
echo -e "nnUpdate the MIPI CSI-2 Rx Pipeline Formats: "
#SONY IMX274 Sensor
# VCU-TRD 2019.2, "IMX274":0
# VCU-TRD 2020.1, "IMX274 3-001a"
media-ctl -d /dev/media7 -V ""IMX274":0 [fmt:SRGGB8_1X8/1920x1080 field:none]"
# VCU-TRD 2020.1, media-ctl -d /dev/media7 -V ""IMX274 3-001a":0 [fmt:SRGGB8_1X8/1920x1080 field:none]"
#MIPI CSI2-Rx Subsystem
media-ctl -d /dev/media7 -V ""a00f0000.mipi_csi2_rx_subsystem":0 [fmt:SRGGB8_1X8/1920x1080 field:none]"
media-ctl -d /dev/media7 -V ""a00f0000.mipi_csi2_rx_subsystem":1 [fmt:SRGGB8_1X8/1920x1080 field:none]"
#Demosaic IP
media-ctl -d /dev/media7 -V ""a0250000.v_demosaic":0 [fmt:SRGGB8_1X8/1920x1080 field:none]"
media-ctl -d /dev/media7 -V ""a0250000.v_demosaic":1 [fmt:RBG888_1X24/1920x1080 field:none]"
#Gamma LUT IP
media-ctl -d /dev/media7 -V ""a0270000.v_gamma_lut":0 [fmt:RBG888_1X24/1920x1080 field:none]"
media-ctl -d /dev/media7 -V ""a0270000.v_gamma_lut":1 [fmt:RBG888_1X24/1920x1080 field:none]"
#VPSS: Color Space Conversion (CSC) Only
media-ctl -d /dev/media7 -V ""a0240000.v_proc_ss":0 [fmt:RBG888_1X24/1920x1080 field:none]"
media-ctl -d /dev/media7 -V ""a0240000.v_proc_ss":1 [fmt:RBG888_1X24/1920x1080 field:none]"
#VPSS: Scaler Only with CSC
media-ctl -d /dev/media7 -V ""a0200000.v_proc_ss":0 [fmt:RBG888_1X24/1920x1080 field:none]"
# VCU-TRD 2019.2, Failed to set VYYUYY8_1X24
# VCU-TRD 2020.1, Success to set VYYUYY8_1X24
media-ctl -d /dev/media7 -V ""a0200000.v_proc_ss":1 [fmt:VYYUYY8_1X24/1920x1080 field:none]"
echo -e "nCheck the MIPI CSI-2 Rx Pipeline Formats: "
media-ctl -p -d /dev/media7
echo -e "nnFind Controls for CSC: "
yavta -l /dev/v4l-subdev11
echo -e "nUpdate CSC Settings to improve colors: "
yavta -w '0x0098c9a1 80' /dev/v4l-subdev11
yavta -w '0x0098c9a2 55' /dev/v4l-subdev11
yavta -w '0x0098c9a3 35' /dev/v4l-subdev11
yavta -w '0x0098c9a4 24' /dev/v4l-subdev11
yavta -w '0x0098c9a5 40' /dev/v4l-subdev11
echo -e "nnVerify Controls for CSC: "
yavta -l /dev/v4l-subdev11
echo -e "nList Video Frames format: "
yavta --enum-formats /dev/video1
echo -e "nUse Yavta to dump frames: "
yavta -n 3 -c10 -f NV12 -s 1920x1080 --skip 7 -F /dev/video1
echo -e "nCheck and set HDMI Monitor: "
ls -l /dev/dri/by-path/ | grep mix
modetest -D a0070000.v_mix | grep -C8 Connectors
modetest -D a0070000.v_mix -s 41:1920x1080-30@BG24
echo -e "nUse GStreamer to send the output to HDIM Tx Subsystem for display on HDMI Monitor: "
gst-launch-1.0 v4l2src device=/dev/video1
! video/x-raw, width=1920, height=1080, framerate=60/1 ! queue
! kmssink bus-id=a0070000.v_mix
echo -e "nDone."
参考文档
Zynq UltraScale+ MPSoC VCU TRD - Debugging - MIPI CSI-2 Rx Capture Pipeline
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/174719104/Zynq+UltraScale+MPSoC+VCU+TRD+-+Debugging+-+MIPI+CSI-2+Rx+Capture+Pipeline
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法