MTK Android Camera新增差值
一、 计算需要的插值
如果原有的插值列表没有我们需要的插值的时候,要通过计算算出符合需求的插值,比如2700W的插值。
具体计算方法如下:
假设像素的长宽分别为X,Y,则插值为XY。由于MTK规定各参数必须是16的倍数,所以有如下公式:
1、16:9的插值:
X = 16*16*n
Y = 16*9*n
XY = 16*16*n *16*9*n
n 为调整插值大小的参数,通过增大或者减小n的值来算出不同的插值XY,例:
15M的n为20,X = 16*16*20 = 5120 Y = 16*9*20 =2880
所以15M的插值为 5120x2880
同理 4:3的插值公式如下:
X = 16*4*n
Y = 16*3*n
XY = 16*4*n *16*3*n
n 为调整插值大小的参数,通过增大或者减小n的值来算出不同的插值XY,例:
15M的n为71,X = 16*4*71 = 4544 Y = 16*3* 71 =3408
所以15M的插值为 4544x3408
二、 增加计算出的插值
1、 在摄像头对应的插值文件中添加插值。
例如5040,修改config.ftbl.hm5040_mipi_raw.h文件
2、 在对应camera的SettingDataBase.java 、arrays.xml 、strings.xml文件中添加插值:
① packages/apps/PrizeCamera3/res/values/arrays.xml
在pref_camera_picturesize_entryvalues和pref_camera_picturesize_entries数组对应的16:9或者4:3位置按顺序加入插值,要确保两个数组的新增参数位置一致。
具体代码如下截图:


② packages/apps/PrizeCamera3/res/values/strings.xml
在这个文件加入相应的显示字段,与数组pref_camera_picturesize_entries新增的字段相对应,截图如下:

③ packages/apps/PrizeCamera3/src/com/mediatek/camera/setting/SettingDataBase.java
在此文件的String[] PICTURE_SIZE_4_3 和 String[] PICTURE_SIZE_16_9两个数组中分别加入对应的4:3和16:9的新增插值,截图如下:

还有在String[] PICTURE_SIZE中加入所有新增的4:3和16:9的插值,即刚刚在4:3和16:9分别添加的插值都要在这里加一遍。
截图如下:

④ packages/apps/PrizeCamera3/src/com/mediatek/camera/v2/setting/SettingDataBase.java
此文件的修改和第③点类似。
在此文件的String[] PICTURE_SIZE_4_3 和 String[] PICTURE_SIZE_16_9两个数组中分别加入对应的4:3和16:9的新增插值,截图如下:

MTK Android Camera新增差值的更多相关文章
- MTK Android Camera运行流程
Android Camera 运行流程 总体架构1.CameraService服务的注册2.Client端的应用层到JNI层Camera App-JNI3.Client到Service的连接4.HAL ...
- MTK Android Driver :Camera
MTK Android Driver :camera 1.相关代码位置:mediatek\config\XXXX(红色字为具体的项目名) 文件:ProjectConfig.mk CUSTOM_KERN ...
- Android 获取当前日期距离过期时间的日期差值的完整方法直接使用
/*** * 获取当前日期距离过期时间的日期差值 * @param endTime * @return */public String dateDiff(String endTime) { Strin ...
- android Camera 中添加一种场景模式
转自:http://blog.csdn.net/fulinwsuafcie/article/details/8833652 首先,来了解一下什么是场景模式. 最简单的方法当然是google了,这里有一 ...
- 【转】android Camera 中添加一种场景模式
http://blog.csdn.net/fulinwsuafcie/article/details/8833652 首先,来了解一下什么是场景模式. 最简单的方法当然是google了,这里有一篇文章 ...
- android camera setParameters failed 类问题分析总结
在 monkey test 测试中出现了一例 RuntimeException ,即 setParameters failed. LOG显示为:09-01 18:47:17.348 15656 156 ...
- Android Camera 相机程序编写
Android Camera 相机程序编写 要自己写一个相机应用直接使用相机硬件,首先应用需要一个权限设置,在AndroidManifest.xml中加上使用设备相机的权限: <uses-per ...
- Android Camera 使用小结
Android手机关于Camera的使用,一是拍照,二是摄像,由于Android提供了强大的组件功能,为此对于在Android手机系统上进行Camera的开发,我们可以使用两类方法:一是借助Inten ...
- Android Camera 流程梳理
毕业已经快两年了,一直没有写博客的习惯,这是第一篇,以后要慢慢养成这个习惯.毕业之后一直在做相机,先简单的梳理下Android Camera的流程. Android Camera 是一个client/ ...
随机推荐
- JavaScript 预编译与作用域
JavaScript 预编译与作用域 JavaScript 预编译的过程和作用域的分析步骤是 JS 学习中重要的一环,能够帮助我们知道代码的执行顺序,更好理解闭包的概念 预编译 JavaScript ...
- 使用Python批量获取学生期末考试成绩
以下是我们学校对于期末考试成绩临时查询的一个网站 我突发奇想,可不可以通过爬虫的方式批量获取成绩信息 于是说干就干 首先观察网页的请求 通过查看,我们可以很明显看到网站查询是通过对https://wx ...
- React利用Antd的Form组件实现表单功能(转载)
一.构造组件 1.表单一定会包含表单域,表单域可以是输入控件,标准表单域,标签,下拉菜单,文本域等. 这里先引用了封装的表单域 <Form.Item /> 2.使用Form.create处 ...
- BNP Paribas Cardif Claims Management
2月20日: 查看任务介绍,二分类问题,评价标准logloss 下载数据 2月21~27日: 查看数据组成,标识分类变量.离散变量.连续变量. 发现连续数据有大量非随机空缺(占总量一半),主要集中在v ...
- 数据库事务练习-Java(新手)
数据库事务: 一个数据库事务通常包含了一个序列的对数据库的读/写操作. 为数据库操作序列提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法. p ...
- java-接口(新手)
//创建的一个包名. package jiekou; //接口方法. //创建一个接口并且起名字. public interface JK { //抽象的返回值.(具体功能未定义,需要自己定义) ab ...
- pycharm+keras+yolo3的使用和自选模型的训练中遇到的坑
1.TensorFlow版本的问题 报错:RuntimeError: `get_session` is not available when using TensorFlow 2.0. 解决办法:这个 ...
- .NetCore 3.1 MVC 发布Linux实操
记录自己.net Core的学习,现在来发布到Linux系统 第一步:准备一台CentOS 7 X64服务器 .net core 3.1项目 第二步:准备服务器.net core环境 1.安装微软官方 ...
- 遍历集合的常见方式,排序,用lambda表示是怎样的
Collection集合的功能: Object[] toArray() 将集合转成数组 Iterator iterator() 通过方法的调用 获取I ...
- angualrjs 总结 随记(三)
$sanitize和$sce服务的使用方法 $sanitize会把标签的属性都移除,以及绑定在元素上的事件.仅保留了标签和内容 $q服务的使用1. 创建一个Service,去服务器读取数据: 2. 在 ...