使用imx8m plus驱动smartsens sc130gs raw格式摄像头

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

使用imx8m plus驱动smartsens sc130gs raw格式摄像头

Jump to solution
3,829 Views
Versenkt
Contributor II

各位好

在开发相机驱动时,我遇到了如下问题:

相机cmos配置为raw 8bit 320x240 10fps mipi csi 1lane 144M速率(时钟信号频率72M)

imx8mp配置为csi_1 ->isi_1,BSP版本为6.1.55。

一开始,由于和CMOS厂家沟通问题,以为传感器输出的是RGB 8bit格式,于是在驱动程序中,将link freq设为72M,pixel rate计算为72M * 2 / 24 * 1,格式设置为MEDIA_BUS_FMT_RBG888_1X24。

预览图像使用gst-launch-1.0 v4l2src device=/dev/video2 ! 'video/x-raw,format=YUY2,width=320,height=240,framerate=10/1' ! autovideosink,结果输出的是上方缩小的,重复了三次的图像,而下方是全绿色。

Versenkt_0-1715843094704.png

 

后来得知是RAW数据格式后,在社区中看到了这篇帖子:https://community.nxp.com/t5/i-MX-Processors/%E5%85%B3%E4%BA%8E%E5%87%BA%E6%B5%81/m-p/1724275

我按照patch的内容,手动修改了部分isi驱动的源码,并将传感器驱动修改为:pixel rate计算为72M * 2 / 8 * 1,格式设置为MEDIA_BUS_FMT_SBGGR8_1X8。但这样修改之后,预览输出变成了全是绿色,没有有效图像,且使用gstreamer预览命令经常卡住,不出现正常输出时的时间进度,预览界面也没有出现。

卡住时的命令行(请无视分辨率,我尝试将本该消隐的部分显示出来,正常设置为320x240时也一样):

Versenkt_1-1715843663289.png

有输出时的命令行:

Versenkt_2-1715843757351.png

 

请问这可能是那里的问题?最新的BSP要支持RAW格式,还需要做哪些工作?

比较疑惑的地方是,raw8格式被以rgb8格式解码后,会变成图1那样的现象吗?我针对RGB8和RAW8计算的pixel rate是否正确?

@Zhiming_Liu 看到您在链接的帖子中的答复,请问针对我的问题您是否有相关经验?

Tags (1)
0 Kudos
Reply
1 Solution
3,781 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hi @Versenkt 

请把 imx8-mipi-csi2-sam.c的修改也加上去,再试试。不要忽略那个补丁的内容,默认这个文件就是会被编译进去的。

Zhiming_Liu_0-1716195175647.png

 

View solution in original post

0 Kudos
Reply
2 Replies
3,782 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hi @Versenkt 

请把 imx8-mipi-csi2-sam.c的修改也加上去,再试试。不要忽略那个补丁的内容,默认这个文件就是会被编译进去的。

Zhiming_Liu_0-1716195175647.png

 

0 Kudos
Reply
3,779 Views
Versenkt
Contributor II
感谢回复,实际上我似乎已经能够用修改后的驱动取得正确的图像了:v4l2-ctl --stream-mmap --stream-count=1 -d /dev/video2 --set-fmt-video=width=320,height=240,pixelformat='BA81' --stream-to=output22.yuv,然后使用yuv7软件设置为8bpp格式,得到了正常的,不重复扭曲且完整的一帧图像,之前我pixelformat还是填的YUYV。请问gstreamer是否能够实时预览raw8的视频流?我直接使用gst-launch-1.0 v4l2src device=/dev/video2 ! 'video/x-raw,width=320,height=240,framerate=10/1' ! autovideosink来预览的话,会输出input format rgb4, output fmt YUYV,然后卡住没了动静
0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-1866894%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%3EUse%20imx8m%20plus%20to%20drive%20smartsens%20sc130gs%20raw%20format%20camera%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1866894%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%90%84%E4%BD%8D%E5%A5%BD%3C%2FP%3E%3CP%3EWhen%20developing%20the%20camera%20driver%2C%20I%20encountered%20the%20following%20problems%3A%3C%2FP%3E%3CP%3E%E7%9B%B8%E6%9C%BAcmos%E9%85%8D%E7%BD%AE%E4%B8%BAraw%208bit%20320x240%2010fps%20mipi%20csi%201lane%20144M%E9%80%9F%E7%8E%87%EF%BC%88%E6%97%B6%E9%92%9F%E4%BF%A1%E5%8F%B7%E9%A2%91%E7%8E%8772M%EF%BC%89%3C%2FP%3E%3CP%3Eimx8mp%20is%20configured%20as%20csi_1%20-%26gt%3B%20isi_1%2C%20and%20the%20BSP%20version%20is%206.1.55.%3C%2FP%3E%3CP%3EAt%20the%20beginning%2C%20due%20to%20communication%20problems%20with%20the%20CMOS%20manufacturer%2C%20I%20thought%20the%20sensor%20output%20was%20RGB%208-bit%20format%2C%20so%20in%20the%20driver%2C%20I%20set%20the%20link%20freq%20to%2072M%2C%20the%20pixel%20rate%20was%20calculated%20to%2072M%20*%202%20%2F%2024%20*%201%2C%20and%20the%20format%20was%20set%20to%20%3CSPAN%3EMEDIA_BUS_FMT_RBG888_1X24.%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EPreview%20image%20using%20gst-launch-1.0%20v4l2src%20device%3D%2Fdev%2Fvideo2%20!%20'video%2Fx-raw%2Cformat%3DYUY2%2Cwidth%3D320%2Cheight%3D240%2Cframerate%3D10%2F1'%20!%20autovideosink%2C%20the%20output%20is%20the%20image%20above%20which%20is%20scaled%20down%20and%20repeated%20three%20times%2C%20while%20the%20image%20below%20is%20all%20green.%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Versenkt_0-1715843094704.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Versenkt_0-1715843094704.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F279059i744709BF34CA4A24%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Versenkt_0-1715843094704.png%22%20alt%3D%22Versenkt_0-1715843094704.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%3ELater%2C%20I%20learned%20that%20it%20was%20in%20RAW%20data%20format%20and%20saw%20this%20post%20in%20the%20community%3A%20%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fi-MX-Processors%2F%25E5%2585%25B3%25E4%25BA%258E%25E5%2587%25BA%25E6%25B5%2581%2Fm-p%2F1724275%22%20target%3D%22_blank%22%3Ehttps%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fi-MX-Processors%2F%20%25E5%25%2085%20%25B3%25%20E4%20%25BA%25%208E%20%25E5%25%2087%20%25BA%25%20E6%20%25B5%25%2081%2Fmp%2F1724275%3C%2FA%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EI%20manually%20modified%20part%20of%20the%20isi%20driver%20source%20code%20according%20to%20the%20patch%20content%2C%20and%20modified%20the%20sensor%20driver%20to%3A%20pixel%20rate%20calculation%20is%2072M%20*%202%20%2F%208%20*%201%2C%20format%20is%20set%20to%3C%2FSPAN%3E%20%3CSPAN%3EMEDIA_BUS_FMT_SBGGR8_1X8%3C%2FSPAN%3E%20%3CSPAN%3E%3CSPAN%3E.%20But%20after%20this%20modification%2C%20the%20preview%20output%20becomes%20all%20green%2C%20there%20is%20no%20valid%20image%2C%20and%20the%20gstreamer%20preview%20command%20often%20gets%20stuck%2C%20the%20time%20progress%20of%20normal%20output%20does%20not%20appear%2C%20and%20the%20preview%20interface%20does%20not%20appear.%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EThe%20command%20line%20when%20it%20gets%20stuck%20(please%20ignore%20the%20resolution%2C%20I%20tried%20to%20display%20the%20part%20that%20should%20be%20blanked%2C%20and%20the%20same%20is%20true%20when%20the%20normal%20setting%20is%20320x240)%3A%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Versenkt_1-1715843663289.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Versenkt_1-1715843663289.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F279062i0B9FD4986C3C8B21%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Versenkt_1-1715843663289.png%22%20alt%3D%22Versenkt_1-1715843663289.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3EThe%20command%20line%20with%20output%3A%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Versenkt_2-1715843757351.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Versenkt_2-1715843757351.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F279063iCD7DAFDEAEF8E5B0%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Versenkt_2-1715843757351.png%22%20alt%3D%22Versenkt_2-1715843757351.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3EWhat%20could%20be%20the%20problem%20here%3F%20What%20else%20needs%20to%20be%20done%20to%20support%20RAW%20format%20in%20the%20latest%20BSP%3F%3C%2FP%3E%3CP%3EWhat%20I%20am%20more%20confused%20about%20is%2C%20after%20the%20raw8%20format%20is%20decoded%20into%20the%20rgb8%20format%2C%20will%20it%20become%20like%20Figure%201%3F%20Is%20the%20pixel%20rate%20I%20calculated%20for%20RGB8%20and%20RAW8%20correct%3F%3C%2FP%3E%3CP%3E%3CSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F151788%22%20target%3D%22_blank%22%3E%40Zhiming_Liu%3C%2FA%3E%20I%20saw%20your%20reply%20in%20the%20linked%20post.%20Do%20you%20have%20any%20experience%20with%20my%20question%3F%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-1866894%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3Ei.MX%208%20Family%20%7C%20i.MX%208QuadMax%20(8QM)%20%7C%208QuadPlus%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3Ei.MX%208M%20%7C%20i.MX%208M%20Mini%20%7C%20i.MX%208M%20Nano%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3ELinux%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EMultimedia%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EYocto%20Project%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1868750%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%3ERe%3A%20Use%20imx8m%20plus%20to%20drive%20smartsens%20sc130gs%20raw%20format%20camera%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1868750%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%3E%E6%84%9F%E8%B0%A2%E5%9B%9E%E5%A4%8D%EF%BC%8C%E5%AE%9E%E9%99%85%E4%B8%8A%E6%88%91%E4%BC%BC%E4%B9%8E%E5%B7%B2%E7%BB%8F%E8%83%BD%E5%A4%9F%E7%94%A8%E4%BF%AE%E6%94%B9%E5%90%8E%E7%9A%84%E9%A9%B1%E5%8A%A8%E5%8F%96%E5%BE%97%E6%AD%A3%E7%A1%AE%E7%9A%84%E5%9B%BE%E5%83%8F%E4%BA%86%3Av4l2-ctl%20--stream-mmap%20--stream-count%3D1%20-d%20%2Fdev%2Fvideo2%20--set-fmt-video%3Dwidth%3D320%2Cheight%3D240%2Cpixelformat%3D'BA81'%20--stream-to%3Doutput22.yuv%EF%BC%8C%E7%84%B6%E5%90%8E%E4%BD%BF%E7%94%A8yuv7%E8%BD%AF%E4%BB%B6%E8%AE%BE%E7%BD%AE%E4%B8%BA8bpp%E6%A0%BC%E5%BC%8F%EF%BC%8C%E5%BE%97%E5%88%B0%E4%BA%86%E6%AD%A3%E5%B8%B8%E7%9A%84%EF%BC%8C%E4%B8%8D%E9%87%8D%E5%A4%8D%E6%89%AD%E6%9B%B2%E4%B8%94%E5%AE%8C%E6%95%B4%E7%9A%84%E4%B8%80%E5%B8%A7%E5%9B%BE%E5%83%8F%EF%BC%8C%E4%B9%8B%E5%89%8D%E6%88%91pixelformat%E8%BF%98%E6%98%AF%E5%A1%AB%E7%9A%84YUYV%E3%80%82%E8%AF%B7%E9%97%AEgstreamer%E6%98%AF%E5%90%A6%E8%83%BD%E5%A4%9F%E5%AE%9E%E6%97%B6%E9%A2%84%E8%A7%88raw8%E7%9A%84%E8%A7%86%E9%A2%91%E6%B5%81%EF%BC%9F%E6%88%91%E7%9B%B4%E6%8E%A5%E4%BD%BF%E7%94%A8gst-launch-1.0%20v4l2src%20device%3D%2Fdev%2Fvideo2%20!%20'video%2Fx-raw%2Cwidth%3D320%2Cheight%3D240%2Cframerate%3D10%2F1'%20!%20autovideosink%E6%9D%A5%E9%A2%84%E8%A7%88%E7%9A%84%E8%AF%9D%EF%BC%8C%E4%BC%9A%E8%BE%93%E5%87%BAinput%20format%20rgb4%2C%20output%20fmt%20YUYV%EF%BC%8C%E7%84%B6%E5%90%8E%E5%8D%A1%E4%BD%8F%E6%B2%A1%E4%BA%86%E5%8A%A8%E9%9D%99%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1868743%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%3ERe%3A%20Use%20imx8m%20plus%20to%20drive%20smartsens%20sc130gs%20raw%20format%20camera%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1868743%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F225870%22%20target%3D%22_blank%22%3E%40Versenkt%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EPlease%20add%20the%20changes%20of%20imx8-mipi-csi2-sam.c%20and%20try%20again.%20Do%20not%20ignore%20the%20content%20of%20that%20patch%2C%20as%20this%20file%20will%20be%20compiled%20in%20by%20default.%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Zhiming_Liu_0-1716195175647.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Zhiming_Liu_0-1716195175647.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F279591i7AC2095D8AED27F2%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Zhiming_Liu_0-1716195175647.png%22%20alt%3D%22Zhiming_Liu_0-1716195175647.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E