一、 计算需要的插值

如果原有的插值列表没有我们需要的插值的时候,要通过计算算出符合需求的插值,比如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新增差值的更多相关文章

  1. MTK Android Camera运行流程

    Android Camera 运行流程 总体架构1.CameraService服务的注册2.Client端的应用层到JNI层Camera App-JNI3.Client到Service的连接4.HAL ...

  2. MTK Android Driver :Camera

    MTK Android Driver :camera 1.相关代码位置:mediatek\config\XXXX(红色字为具体的项目名) 文件:ProjectConfig.mk CUSTOM_KERN ...

  3. Android 获取当前日期距离过期时间的日期差值的完整方法直接使用

    /*** * 获取当前日期距离过期时间的日期差值 * @param endTime * @return */public String dateDiff(String endTime) { Strin ...

  4. android Camera 中添加一种场景模式

    转自:http://blog.csdn.net/fulinwsuafcie/article/details/8833652 首先,来了解一下什么是场景模式. 最简单的方法当然是google了,这里有一 ...

  5. 【转】android Camera 中添加一种场景模式

    http://blog.csdn.net/fulinwsuafcie/article/details/8833652 首先,来了解一下什么是场景模式. 最简单的方法当然是google了,这里有一篇文章 ...

  6. android camera setParameters failed 类问题分析总结

    在 monkey test 测试中出现了一例 RuntimeException ,即 setParameters failed. LOG显示为:09-01 18:47:17.348 15656 156 ...

  7. Android Camera 相机程序编写

    Android Camera 相机程序编写 要自己写一个相机应用直接使用相机硬件,首先应用需要一个权限设置,在AndroidManifest.xml中加上使用设备相机的权限: <uses-per ...

  8. Android Camera 使用小结

    Android手机关于Camera的使用,一是拍照,二是摄像,由于Android提供了强大的组件功能,为此对于在Android手机系统上进行Camera的开发,我们可以使用两类方法:一是借助Inten ...

  9. Android Camera 流程梳理

    毕业已经快两年了,一直没有写博客的习惯,这是第一篇,以后要慢慢养成这个习惯.毕业之后一直在做相机,先简单的梳理下Android Camera的流程. Android Camera 是一个client/ ...

随机推荐

  1. JavaScript 预编译与作用域

    JavaScript 预编译与作用域 JavaScript 预编译的过程和作用域的分析步骤是 JS 学习中重要的一环,能够帮助我们知道代码的执行顺序,更好理解闭包的概念 预编译 JavaScript ...

  2. 使用Python批量获取学生期末考试成绩

    以下是我们学校对于期末考试成绩临时查询的一个网站 我突发奇想,可不可以通过爬虫的方式批量获取成绩信息 于是说干就干 首先观察网页的请求 通过查看,我们可以很明显看到网站查询是通过对https://wx ...

  3. React利用Antd的Form组件实现表单功能(转载)

    一.构造组件 1.表单一定会包含表单域,表单域可以是输入控件,标准表单域,标签,下拉菜单,文本域等. 这里先引用了封装的表单域 <Form.Item /> 2.使用Form.create处 ...

  4. BNP Paribas Cardif Claims Management

    2月20日: 查看任务介绍,二分类问题,评价标准logloss 下载数据 2月21~27日: 查看数据组成,标识分类变量.离散变量.连续变量. 发现连续数据有大量非随机空缺(占总量一半),主要集中在v ...

  5. 数据库事务练习-Java(新手)

    数据库事务:       一个数据库事务通常包含了一个序列的对数据库的读/写操作.  为数据库操作序列提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法. p ...

  6. java-接口(新手)

    //创建的一个包名. package jiekou; //接口方法. //创建一个接口并且起名字. public interface JK { //抽象的返回值.(具体功能未定义,需要自己定义) ab ...

  7. pycharm+keras+yolo3的使用和自选模型的训练中遇到的坑

    1.TensorFlow版本的问题 报错:RuntimeError: `get_session` is not available when using TensorFlow 2.0. 解决办法:这个 ...

  8. .NetCore 3.1 MVC 发布Linux实操

    记录自己.net Core的学习,现在来发布到Linux系统 第一步:准备一台CentOS 7 X64服务器 .net core 3.1项目 第二步:准备服务器.net core环境 1.安装微软官方 ...

  9. 遍历集合的常见方式,排序,用lambda表示是怎样的

       Collection集合的功能:            Object[] toArray() 将集合转成数组            Iterator iterator() 通过方法的调用 获取I ...

  10. angualrjs 总结 随记(三)

    $sanitize和$sce服务的使用方法 $sanitize会把标签的属性都移除,以及绑定在元素上的事件.仅保留了标签和内容 $q服务的使用1. 创建一个Service,去服务器读取数据: 2. 在 ...