程序运行几秒钟后,产生错误 -6504,dmesg :cim ipi0 width error 。hbplayer 能看见图像,但是图像有明显的错位。颜色也不对。如果把绿线左边的移动到图片最右边,图像应该就正确了。求助:如何检测实际接收到的width值? imx390 厂家确定是 1920*1080

程序运行几秒钟后,产生错误 -6504,dmesg :cim ipi0 width error 。hbplayer 能看见图像,但是图像有明显的错位。颜色也不对。如果把绿线左边的移动到图片最右边,图像应该就正确了。求助:如何检测实际接收到的width值? imx390 厂家确定是 1920*1080






我分别接RX0 和RX3,分别运行
cat /sys/devices/platform/soc/47010000.cam_sys/47060000.cim/regdump && dmesg -c |grep DUMP |grep IMG |grep IPI
cat /sys/devices/platform/soc/47010000.cam_sys/47180000.cim_dma/regdump && dmesg -c |grep DUMP |grep DBG |grep IPI
横坐标 最大值都是 0x781,也就是1921 ,这里会不会有问题?我看文档embeded 的时候会比实际值多1,会不会与embeded 有关系呢 ?
您好,
上面你看都是配置的信息,实际上接收的数据cim通路只能通过ISP来查看的,
ISP查看需要确认你的设备接入通路和ISP的通路,还是麻烦提供下这些参数,方便给你提供对应的寄存器来查看

谢谢!由于模组自带isp 输出的是yuv422,所有我就认为可以不用isp,不知道这么理解对不对?以下是cim配置:
{
"pipeline0":{
"cim": {
"input": {
"mipi":
{
"enable": 1,
"width": 1920,
"height": 1080,
"format": 30,
"rx_index": 0,
"vc_index": 0,
"channels": 1,
"raw16_splict": 0,
"dbg_clear": 0,
"y_uv_swap": 0,
"tag_enable": 0,
"function": {
"enable_frame_id": 1,
"enable_bypass": 0,
"enable_pattern": 0,
"hdr_mode": 0,
"set_init_frame_id": 1,
"set_bypass_channels": 1
}
}
},
"output": {
"pym": {
"pym0_en": 1,
"pym1_en": 0
},
"isp0": {
"isp_ch0": 0,
"isp_ch1": 0,
"isp_ch2": 0,
"isp_ch3": 0
},
"isp1":{
"isp_ch0": 0,
"isp_ch1": 0,
"isp_ch2": 0,
"isp_ch3": 0
}
}
}
}
}
还是说必须加上ISP0?