camera问题

yuly888 2009-07-01 03:58:15
我是用MMOverlay来做UI的
1.在preview状态下,调用ICAMERA_Stop会刷白屏,看底层是MDP刷的,能不能让它不刷?

2.如果必须要刷,我想在ICAMERA_GetFrame后,把frame保存起来,使用代码如下,但是发现个问题是,IBITMAP_BltIn这个函数会直接把frame直接刷到屏上去,这样的加上我本来的显示函数,就有两次刷屏的操作了!!


求高手帮忙!!

/**
pFrame参数是用 ICAMERA_GetFrame得到的.
**/
void AfCamera_CpyCamFrame(QCam *pMe,IBitmap *pFrame)
{
int nErr = SUCCESS;
IBitmap * piSrcBitMap = NULL;
IBitmap *piBitMap = NULL;

AEEBitmapInfo stinfo = {0};




do
{
nErr = IDISPLAY_GetDeviceBitmap(pMe->a.m_pIDisplay,&piSrcBitMap);
MSG_HIGH("Evan: IDISPLAY_GetDeviceBitmap nErr= %d",nErr,0,0);
if(nErr != SUCCESS)
{
break;
}
IBitmap_GetInfo(pFrame,&stinfo,sizeof(AEEBitmapInfo));

nErr = IBITMAP_CreateCompatibleBitmap(piSrcBitMap, &piBitMap, stinfo.cx,stinfo.cy);
MSG_HIGH("Evan: IBITMAP_CreateCompatibleBitmap nErr= %d",nErr,0,0);
if(nErr != SUCCESS)
{
break;
}

nErr = IBITMAP_BltIn(piBitMap,
0,
0,
pMe->m_rcPreView.dx,
pMe->m_rcPreView.dy,
pFrame,
0,
0,
AEE_RO_COPY);

MSG_HIGH("Evan: IBITMAP_BltIn nErr= %d",nErr,0,0);

}while(0);

if(piSrcBitMap != NULL)
{
CAM_RELEASEIF(piSrcBitMap);
}

}


...全文
731 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
twoconk 2009-07-23
  • 打赏
  • 举报
回复
呵,楼上说的对!
在调用ICAMERA_Stop时会刷白屏,这是由于mdp_clear_ovimg清屏的动作造成的, 把这个清屏动作去掉就可以了
muwesky 2009-07-22
  • 打赏
  • 举报
回复
因为你CAMERA的图片是通过MDP显示的,在你STOP的时候,底层会去注销这一层,在注销的时候,会默认刷屏,这时就会有白屏的现象。如果要改,就要去掉默认的刷屏动作。
tiancao191 2009-07-15
  • 打赏
  • 举报
回复
呵呵,我也遇到了和你一样的问题,不过你用的是纯brew做的吧?不过我还是不能理解你的问题,既然你用icamera_stop会出现白屏,也就是说没有新的图片buffer往上送,你再用IBITMAP_BltIn来把你保存的最后的图片送上去显示没有任何问题啊,但是还有一个问题,就是你用getframe的时间,你可能得在stop之前先get,不然重新启动camera会消耗很多时间,必然出现白屏问题
  • 打赏
  • 举报
回复
可以使用一下DisplayClone,来弥补一下类似的情况
zsf81 2009-07-02
  • 打赏
  • 举报
回复
mdp刷屏问题
hhygcy 2009-07-01
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 yuly888 的回复:]
谢谢,hhygcy,我主要是要把ICAMERA_Stop刷白屏去掉,不知道有没有别的方案,来显示或去掉白屏?
[/Quote]
很久不搞这个了 关键是现在手边也没有手机 也不知道你说的白屏要持续多久
你尝试自己调用完这个之后马上画个其他图片什么的试试看? 现在我不确定的是. 比如说你有若干帧画出来了, 最后2帧不画, 你自己画个什么图片, 然后再ICAMERA_Stop是不是还会白屏?
你只有多尝试看看了 我没有手机 帮不了你太多了
yuly888 2009-07-01
  • 打赏
  • 举报
回复
谢谢,hhygcy,我主要是要把ICAMERA_Stop刷白屏去掉,不知道有没有别的方案,来显示或去掉白屏?
hhygcy 2009-07-01
  • 打赏
  • 举报
回复
什么手机 很多类似的手机都有, 最后没有解决方案
Android Camera开发入门:目录 第一篇: 前景  一、Android Camera开发前景;      1)camera相关应用的领域      2)相关岗位介绍;      3)市场招聘介绍;      4)发展前景介绍;  二、学习这门课的重要性;      1)适合的人群;      2)熟悉和了解Android Camera 应用开发流程的重要性 第二篇: 开发环境安装  一、jdk、sdk的配置;  二、android studio的安装介绍;  三、adb命令的使用; 第三篇: Camera 常用api和最新框架介绍  一、android camera api介绍      1)camera1、camera2 区别;      2)camera 1、camera2 常用api介绍;      3)android camerax;  二、android camera最新框架介绍 第四篇:Camera api1实现预览、拍照、录像功能  一、预览  二、拍照  三、录像  四、获取实时预览流 第五篇: Camera2相机 打开功能实现第六篇: Camera2相机 预览功能实现  1)surfaceview、textureview 第七篇: Camera2相机 拍照功能实现 1)单拍; 第八篇:Camera2相机 录像功能实现1)正常录像 第九篇:Camera2预览方向、拍照方向设置     1) 预览变形问题如何处理? 第十篇:YUV流处理  1)如何获取实时预览流?  2)  思考:双码流方案如何实现?一边本地录像,一边后台推流 第十一篇:dumpsys media.camera 第十二篇:Camera2 Zoom变焦第十三篇:人脸识别(android 原生 & 三方人脸识别算法)第十四篇:Uvc UsbCamera第十五篇:Android Camera2拍摄RAW图第十六篇: Android Camera2同时打开前后摄 并 录像第十七篇: Android Camera2 视频慢动作  附:1)提供android开发相关资源      软件工具、Android相关学习书籍、学习相关网站博客等链接2)提供课程讲解中设计到的App 源码    * Camera API1使用源码    * Camera API2使用源码    * 调用三方算法人脸识别源码    *  录像慢动作源码    * Uvc UsbCamera相关源码3)课件

955

社区成员

发帖
与我相关
我的任务
社区描述
为开发者提供高通丰富的解决方案及全面技术下载内容。本版以AI人工智能、WoS移动笔记本、XR、IoT 物联网、Auto 汽车、生成式AI等核心板块组成,为开发者提供一个便捷及高效的学习交流平台。
人工智能物联网机器学习 企业社区 北京·东城区
社区管理员
  • Qualcomm开发
  • csdnsqst0050
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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