问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎么实现Camera镜像

发布网友 发布时间:2022-04-23 01:28

我来回答

1个回答

热心网友 时间:2023-10-10 02:38

 对于普通单拍(非ZSD或其他拍照模式), 需要修改的代码为normalShot.cpp文件中的onCmd_capture()方法,

  将原来的

  bool

  NormalShot::

  onCmd_capture()

  {

  AutoCPTLog cptlog(Event_Shot_capture);

  MBOOL ret = MTRUE;

  NSCamShot::ISingleShot *pSingleShot = NSCamShot::ISingleShot::createInstance(static_cast<EShotMode>(mu4ShotMode), "NormalShot");

  ......

  // shot param

  NSCamShot::ShotParam rShotParam(eImgFmt_YUY2, //yuv format

  mShotParam.mi4PictureWidth, //picutre width

  mShotParam.mi4PictureHeight, //picture height

  mShotParam.mi4Rotation, //picture rotation

  0, //picture flip

  ePostViewFmt, // postview format

  mShotParam.mi4PostviewWidth, //postview width

  mShotParam.mi4PostviewHeight, //postview height

  0, //postview rotation

  0, //postview flip

  mShotParam.mu4ZoomRatio //zoom

  );

  ......

  }

  修改为:

  bool

  NormalShot::

  onCmd_capture()

  {

  AutoCPTLog cptlog(Event_Shot_capture);

  MBOOL ret = MTRUE;

  NSCamShot::ISingleShot *pSingleShot = NSCamShot::ISingleShot::createInstance(static_cast<EShotMode>(mu4ShotMode), "NormalShot");

  ......

  // shot param

  NSCamShot::ShotParam rShotParam(eImgFmt_YUY2, //yuv format

  mShotParam.mi4PictureWidth, //picutre width

  mShotParam.mi4PictureHeight, //picture height

  mShotParam.mi4Rotation, //picture rotation

  (getOpenId()==1? 1:0), //picture flip //此处为修改的代码,将这里的值改为1,底层则会将image做横向的flip, 相当于mirror.

  ePostViewFmt, // postview format

  mShotParam.mi4PostviewWidth, //postview width

  mShotParam.mi4PostviewHeight, //postview height

  0, //postview rotation

  0, //postview flip

  mShotParam.mu4ZoomRatio //zoom

  );

  ......

  }

  主要将参数rShotParam里面的flip值改为1, 值为1表示底层将把image做横向的flip,若为0则不做.

  (上述改动中的getOpenId()==1? 1:0只为测试使用,意为判断当前是否为前置camera, 若为前置camera, 则赋值为1)

  请您注意:

  在实际应用中, 请在Parameters中新增一个Flip参数, 并在app中通过Parameters传递Flip值到HAL层来通知底层做flip. (为避免影响CTS测试和三方应用, 请勿直接将上述的提到的flip值固定写为1.)

  涉及修改的文件主要如下:

  NormalShot.cpp (mediatek\platform\mt6589\hardware\camera\hal\adapter\scenario\shot\normalshot)

  IShot.h (mediatek\platform\mt6589\hardware\camera\hal\adapter\inc\scenario\shot)

  CameraParameters.cpp (frameworks\av\camera)

  CameraParameters.h (frameworks\av\include\camera)

  ParamsManager.update.cpp (mediatek\hardware\camera\common\paramsmgr\params)

  MtkPhotoCamAdapter.Capture.cpp (mediatek\platform\mt6589\hardware\camera\hal\adapter\mtkphoto)

  Camera.java(\frameworks\base\core\java\android\hardware\)
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? htoc老3恶心组合怎么打,对方NS,ND,CJ,武器战,AM,SS。 vivox27怎样把手机录音转为本地音乐? 热舞的英文怎么说? vivoX27怎么把手机里的录音转为本地音乐? 罗斯帝里森德是什么意思? 怎么把唱鸭里的自己唱的歌以音频形式提出来? 动画花样明星~~~急! 中国接头篮球王的名字叫什么? 美式英语和英式英语的区别? 关于cool和hot的说法 ho&#x2006;t是什么意思 如何把手机录音机里自己录的音保存到本地音乐? AutoCAD的全部快捷键? 我的联想笔记本再合上盖再打开以后就黑屏了,怎么办 联想笔记本电脑yoga14s开盖开机正常吗 更换手机后如何恢复微信聊天记录(另一个手机坏了开不了机) 联想笔记本每次合上盖子打开 都会有这个界面 请问怎么关掉 请问3DMAX和MAYA有什么特点和区别啊? 零基础学习python做动画或动漫的书籍有哪些? 新买的联想笔记本电脑,合上盖子再打开后,屏幕就黑了,按任何键都不起效果,当时电池还有很多电。。。 安卓手机全民k歌怎么导出本地录音? 有哪些偶像组合上过改变世界的问答 连系动词有哪些 since是什么意思? vivox23如何将录音转化为本地音乐? 4.3恢复萨满急速为什么要到916? 如何将唱鸭已经发布的录音弄到快手上? 魔兽世界 恢复萨满到底有没有瞬发的治疗技能?如果有请详细说明下。谢谢… 英语高级单词的疑问 英式发音和美式发音的不同 怎样减掉婴儿肥 婴儿肥怎么瘦脸最快? 脸上有婴儿肥怎么去掉 如何轻松快速减掉婴儿肥(图文讲解)? excel怎么在合并单元格里自动添加序号? 怎么减掉婴儿肥 减掉婴儿肥的五个妙招 怎么才能减掉脸上的婴儿肥 六一儿童节玩什么游戏好 脸部婴儿肥怎么去除 六一儿童节班级体的游戏有哪些? 如何减掉婴儿肥?有没有一些简单的方法?