欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

wince 6 使用500w摄像头拍照占用内存过大有关问题

更新时间: 2014-01-05 03:11:09 责任编辑: Author_N1

 

wince 6 使用500W摄像头拍照占用内存过大问题
使用环境:
CPU:6410
RAM: 256M (运行内存150M左右)
系统:WINCE 6.0
摄像头:5M(500万,最大像素2592*1944)

现象描述:
设置摄像头输出为2592*1944,buffer都设到足够大(2592*1944*2),预览设置为2592*1944,使用DSHOW程序控制摄像头。
DSHOW程序中只要设置
CHK(m_pCaptureGraphBuilder->RenderStream( &PIN_CATEGORY_STILL, &MEDIATYPE_Video, m_pVideoCaptureFilter, NULL, m_pImageSinkFilter ));
就会发现占用内存过大(已使用内存超过120M),这时,无法预览成功。屏蔽掉这一句之后可以预览成功,但不能进行拍照。
而我把这个摄像头设置为300W的时候,一切正常,设置到500W就出现这样的问题。设置为300W的时候,已使用的内存达到130多M。
300W和500W占用的内存对比,发现500W的少于300W的,同时从调试信息中看到,500W那个无法预览的时候,申请内存还有一次没有出现。

得出结论:内存不足,无法支持到500W摄像头。

请问各位有没有遇到占用内存过大的问题,有解决的方法吗?
在网上看到有的人说这个是三星camera的bug,不知道是否如此?


我试过预览使用低分辨,拍照那一下才重新配置为500W/300W,拍完之后,再重新配置为低分辨率进行预览。发现情况依旧。
期待各位高手、大大出现
--参考方法--
用rgb方式预览,拍照用sensor直接输出的jpg模式
--参考方法--
首先找fae要配置成jpg输出的寄存器设置,然后在切换到still模式时将这组设置写到sensor里。最后在中断里接收jpg的头和尾,把里面的数据传给应用层,用ijpg模式,这个wince和wm6都是支持的
--参考方法--
请问楼主是什么图像格式输出?YUY2还是MJPG?
MJPG 5M在电脑上也无法预览,因为Dshow自带的MJPG decoder是无法解码5M及5M以上的分辨率!
YUY2格式输出,不存在解码的问题,内存开销也少,处理5M图像一块buffer需要5x2=10M内存。
RGB图像输出一般是由MJPG解码的,RGB图像占用内存也比Yuy2多,一帧需要5x3=15M内存。

--参考方法--
所以输出格式是YUV420!
m_pImageSinkFilter显示图像的时候是否能够支援到2592X1944这么大的分辨率。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 03:11:09
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/19365/
本文WWW.DOC100.NET DOC100.NET版权所有。