1105722_zh-CN

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

1105722_zh-CN

1105722_zh-CN

如何支持i.MX6 CSI的RGB565门控模式输入<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />


这几天帮一个客户启用LVDS功能。片内外部LVDS与i.MX6 CSI之间的数据格式为RGB565,提供HSYNC、VSYNC信号。因此我们对 i.MX6 CSI 采用门控模式配置。

客户环境:i.MX6 D + Linux LTIB 4.0.0BSP

默认情况下,Linux LTIB 4.0.0 不支持 RGB565 门控模式V4L2 捕获驱动程序,这里总结了我们需要对驱动程序进行哪些更改以支持 RGB565 门控模式。

  • 请应用附加的补丁“0001-ENGR00262270-IPU3-Basic-16-bit-generic-data-support.patch”。通过此补丁,ipu3 驱动程序可以支持 IPU_PIX_FMT_GENERIC_16。
  • 对于 V4L2 捕获设置,文件 linux-3.0.35/drivers/media/video/mxc/capture/mxc_v4l2_capture.c,函数mxc_v4l2_s_fmt(),添加如下代码段:

开关(f->fmt.pix.pixelformat){

                 ............................................................................

案例 V4L2_PIX_FMT_SGRBG8:

尺寸 = f->fmt.pix.宽度 * f->fmt.pix.高度 * 2;

                          bytesperline = f->fmt.pix.width * 2;

                          break;

默认:

                          break;

}

      

对于文件linux-3.0.35/drivers/media/video/mxc/capture/ipu_csi_enc.c,函数csi_enc_setup(),请添加代码段:

否则,如果(cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_SGRBG8)

                           pixel_fmt = IPU_PIX_FMT_GENERIC_16;

通过上述修改,可以为CSI IDMAC通道设置IPU_PIX_FMT_GENERIC_16。

  • 对于传感器驱动程序,请将像素格式设置为IPU_PIX_FMT_GENERIC_16
  • 不要忘记在文件 linux-3.0.35/drivers/media/video/capture/mxc_v4l2_capture.c 中将 CSI 参数设置为 GATED MODE 和 16 位数据,函数mxc_v4l2_s_param

                csi_param.clk_mode = IPU_CSI_CLK_MODE_GATED_CLK;

                csi_param.data_width = IPU_CSI_DATA_WIDTH_16;

  • 请确保选择CSI->MEM IDMAC通道

关键点在于,对于CSI RGB565门控模式支持,IDMAC通道的像素格式应设置为GENERIC 16,而对于CSI端口配置,像素格式为BAYER模式。

回复:如何支持i.mx6 CSI的RGB565门控模式输入<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

与那些与 Hyeran 和我一样遇到同样问题的人分享我的经验,如下所示:

1. 将 mfw_v4lsrc 元素默认颜色格式从 V4L2_PIX_FMT_YUV420 更改为 V4L2_PIX_FMT_SGRBG8

2. 将 mfw_v4lsrc 元素默认大小写从 video/x-raw-yuv 更改为 video/x-raw-rgb,默认 fourcc 代码从 'I' '4' '2' '0' 更改为 'R' 'G' 'B' 'P'

3. 完成这些更改后,运行管道以显示在屏幕上,如下所示:

gst启动mfw_v4lsrc设备=/dev/video0捕获模式=4!mfw_v4lsink 设备=/dev/video16 同步=false

谢谢您!

回复:如何支持i.mx6 CSI的RGB565门控模式输入<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Hi Hyeran & huang:

我遇到了和你类似的问题,我运行 gstreamer 管道来获取捕获结果并显示在屏幕上,管道如下:

gst启动mfw_v4lsrc设备=/dev/video0捕获模式=4!mfw_v4lsink 设备=/dev/video16 同步=false

您能给我一些关于如何修复它的建议吗?谢谢

回复:如何支持i.mx6 CSI的RGB565门控模式输入<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Hi Hyeran.

你的问题解决了吗?

回复:如何支持i.mx6 CSI的RGB565门控模式输入<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

亲爱的朱骏。

我的环境是“i.MX 6D + ov5642并行摄像头”

我应用了您的上述修改,包括补丁。

但叠加预览图像不正常。它的预览图像确实是绿色的(当然,我可以看到轮廓)并且有 4 帧而不是 1 帧。(和滚动)

还有什么地方需要修改吗?

并且,我对您的修改还有其他问题。

对于传感器驱动程序,您提到的是将像素格式更改为IPU_PIX_FMT_GENERC_16。以我拙见,它应该是 V4L2_PIX_FMT_SGRBG8,而不是 IPU_PIX_FMT_GENERIC_16。

请分享您的意见。

谢谢!

BRs。

jessie.lee

タグ(1)
評価なし
バージョン履歴
最終更新日:
‎01-05-2026 11:00 AM
更新者: