linux v4l2 修改分辨率问题

堵刻 2013-01-16 11:16:30
v4l2编程中,视频已经起来了,在做修改分辨率的时候程序就崩了,崩在这个地方ret = ioctl(vd->fd, VIDIOC_S_FMT, &vd->fmt);应该是什么没有关闭吧,改分辨率之前已经关闭码流了,请问下这是什么原因,谁能给个修改分辨率的步骤吗?
...全文
1143 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
mofoyiyeshu 2015-05-18
  • 打赏
  • 举报
回复
楼主怎么解决的,我也是设置分辨率不行。
super晓 2014-09-11
  • 打赏
  • 举报
回复
其实你可以定义一个全局变量 unsigned char RGB[W*H*3]; W H为最大分辨率 的值 一般在堆栈上分别空间最好不要超过1M,不然可能就会崩溃
super晓 2014-09-01
  • 打赏
  • 举报
回复
//设置分辨率 void VideoDev::SetResolution(int w,int h) { if(fd>0) { close(fd); } /* free the mmap buffers */ if(photo_buf != NULL) { VideoDevMnmap(); } /* set the capture size */ if(m_image != NULL) { delete m_image; m_image = NULL; } m_width = w; m_height = h; m_image = new QImage(RGB,m_width,m_height,QImage::Format_RGB888); DeviceConn(); RequestBuf(); OpenStream(); }
猪神川 2014-04-23
  • 打赏
  • 举报
回复
同样遇到这个问题,求解。~
lang0728 2013-09-04
  • 打赏
  • 举报
回复
楼主,请问你那视频是实时显示的吗?如果是,从采集到显示这个过程,你是怎么操作的,能分享下你的经验吗
kickxxx 2013-01-16
  • 打赏
  • 举报
回复
看kernel oops在哪里了,V4l2这种烂架构,出了问题只能从kernel里自己找

23,217

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧