天嵌 ARM开发社区

 找回密码
 注册
查看: 4152|回复: 2

V4L2的USB摄像头视频采集与framerbuffer的LCD显示问题!!!!!!

[复制链接]
fengel_锋 发表于 2012-3-10 19:37:22 | 显示全部楼层 |阅读模式
做视频采集课题。
背景:
1.移植内核,配置内核4.3寸屏,也就是LCD驱动配置好了,然后配置USB摄像头驱动配置好了,为zc3xx。使用的摄像头是ZC301p芯片的USB摄像头。
2.自己移植的文件系统,4.1.2的交叉编译器,并带有JPEG库。
3.硬件,4.3寸屏,S3C2440.
过程:
1。应用程序写的是用V4L2视频采集,然后保存到缓存中,然后采集到的JPEG图片为24位,需要转换为16位的RGB格式,转换后用framerbuffer显示。已写好。
2.编译用arm-linux-gcc -l jpeg -g -o v4l2lcd v4l2lcd.c
3.设备名称:dev/video0和dev/fb0
结果:
1.能在lcd屏上显示3.5寸大小的视频图像,注意自己的屏是4.3寸的。
问题:
1.用v4l2采集视频后,调用命令能显示自己视频设备所支持的格式为JPEG格式,那么采集到的视频图像是不是就是JPEG 24位深度的?还是要另写函数把JPEG格式转成RGB888的24位格式后再转成RGB565格式的以便于用framerbuffer在LCD上显示?
2.当我在应用程序中设置v4l2视频采集尺寸的时候,我设置成480×272(4.3寸)为什么就想没有设置一样始终在LCD上只显示3.5寸也就是320×240的?如果设置成比320×240大但是比640×480小的始终显示320×240的,如果设置640×480的后,在LCD上就不显示320×240的了,能正常显示640×480的,虽然提示超出屏幕尺寸(我的屏是4.3的),但是总能全屏显示了。但是我设置比640×480大的尺寸,结果LCD上显示的也总是640×240的(也全屏,我是通过调用函数返回采集视频尺寸是按照640×480采集的而知),这是为什么?
3.宗上所述,我在内核配置4.3寸屏,视频设备驱动是配置内核是完成的。在LCD上只能显示320×240和640×480的图像,就是不管在应用程序上设置什么,那怕不设置,LCD上也只显示320×240和640×480的,这是为什么?
4.后来怀疑是USB摄像头驱动也就是视频设备驱动里面只设置了320×240和640480的,果然打开视频设备驱动zc3xx.c文件,里面果然只有了320×240和640480的设置,然后把320×240的改为480×272的(因为我的目的是在4.3才屏上全屏显示视频数据)后,返回的采集视频尺寸确实也为480272的,framerbuffer显示尺寸也是480272的,可就是显示又不正常了,呈条纹状而且显示了3分之一,并且串口终端显示Corrupt JPEG data:premature end of data segment,这是为什么?

5.有谁知道Corrupt JPEG data:premature end of data segment是什么错误吗?不改USB摄像头驱动源码的时候能正常显示(清晰),也不打印此错误,只是显示尺寸有问题,肯定是我改驱动问题,还要改什么呀,有谁做过?都折腾了快一个月了。
自己对USB摄像头驱动文件zc3xx.c问价又不是很熟悉,看这个驱动源码好痛苦,实在不知道是什么问题了,因为感觉v4l2采集模块没问题,图像转换模块没问题,framerbuffer模块没问题,就是USB摄像头驱动问题,但是自己又整不懂,不知道大家遇到过这样的问题没?
我现在还怀疑是USB摄像头硬件只支持采集320×240和640×480的视频数据?因为zc301p芯片里面还不是有DSP压缩算法,我总不可能改那个吧?另外也想问下精通的大虾们摄像头DSP压缩算法压缩的格式是不是就是我在应用程序调用v4l2中函数返回的视频设备所支持的格式?

 楼主| fengel_锋 发表于 2012-3-11 13:30:40 | 显示全部楼层
自己顶下,大家帮帮忙呀
亚瑟王 发表于 2012-3-12 17:34:46 | 显示全部楼层
fengel_锋 发表于 2012-3-11 13:30
自己顶下,大家帮帮忙呀

亲,不要重复发帖。
http://www.armbbs.net/forum.php? ... amp;page=1#pid75350
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-2 00:11 , Processed in 1.046869 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表