renfei0730 发表于 2015-11-25 23:40:10

关于linux下V4L2 视频显示不能做到最高分辨率问题

    各位大侠,小弟最近在做一个基于linux下V4L2驱动的YUV摄像头采集程序,在ubuntu下开发已经成功,移植到全志A31s下也可以工作,但是有个问题很奇怪,我通过驱动结构读到设备支持的分辨率信息如下,分辨率设置为除1280×720外都能正确的工作,但是设置为1280×720后出现了段错误,很是费解,但是使用ubuntu自带的“茄子”自拍工具可以启动我手上的YUV摄像头工作在1280×720状态下,但是我找不到程序哪里出的错误,请各位大侠知道,附程序源代码。

一下摄像头信息
driver:                uvcvideo
card:                USB2.0 Camera
bus_info:        usb-0000:00:1d.0-1.2
version:        201480
capabili ties:        84200001
Device /dev/video1: supports capture.
Device /dev/video1: supports streaming.
Support format:
        1.MJPEG
        2.YUV 4:2:2 (YUYV)
1280x720
800x600
640x480
352x288
320x240
set fps OK!
get fps OK!
timeperframe.numerator:        1
timeperframe.denominator:        9
run here 0
段错误 (核心已转储)

renfei0730 发表于 2015-11-26 10:00:49

都没有人来看看么?

jzkn 发表于 2015-11-26 11:00:03

这里关于linux讨论的不太多,大部分都是电工,你懂得。。。

renfei0730 发表于 2015-11-29 14:49:16

jzkn 发表于 2015-11-26 11:00
这里关于linux讨论的不太多,大部分都是电工,你懂得。。。

问题已经解决来,有兴趣的可以讨论,正在未YUV转RGB的算法进行优化,提高效率

tarchen 发表于 2015-11-30 13:46:24

楼主的意思说,由于YUV转RGB花的时间比较长,导致没有正常的去读取摄像头传过来的数据?

renfei0730 发表于 2016-5-10 10:53:18

tarchen 发表于 2015-11-30 13:46
楼主的意思说,由于YUV转RGB花的时间比较长,导致没有正常的去读取摄像头传过来的数据?
...

不是,以前就是读取错误,设置到最高分辨率不行。解决后才开始优化yuv 转 rgb 算法问题

wx85105157 发表于 2016-5-10 11:47:27

renfei0730 发表于 2016-5-10 10:53
不是,以前就是读取错误,设置到最高分辨率不行。解决后才开始优化yuv 转 rgb 算法问题 ...

有个讲优化的PDF,转整形+-运算的,然后再转查表。速度飞起。有关代码优化的pdf文档《让你的软件飞起来》google一下就有了。

renfei0730 发表于 2016-5-10 14:40:06

wx85105157 发表于 2016-5-10 11:47
有个讲优化的PDF,转整形+-运算的,然后再转查表。速度飞起。有关代码优化的pdf文档《让你的软件飞起来》 ...

喔,好的,谢谢,我是把小数点乘除转换成移位算法,左移右移办的
页: [1]
查看完整版本: 关于linux下V4L2 视频显示不能做到最高分辨率问题