一、 计算需要的插值

如果原有的插值列表没有我们需要的插值的时候,要通过计算算出符合需求的插值,比如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. 解析Laravel框架下的Contracts契约

    Contracts Laravel 的契约是一组定义框架提供的核心服务的接口, 例如我们在介绍用户认证的章节中到的用户看守器契约IllumninateContractsAuthGuard 和用户提供器 ...

  2. element UI中的tab切换栏

    html代码:(用的是el-tab组件) <el-tabs v-model="activeIndex" type="border-card" @tab-c ...

  3. props watch 接口抖动

    readType (val) { this.innerReadType = '-' this.$nextTick(() => { this.innerReadType = val }) },

  4. Python习题集(十三)

    每天一习题,提升Python不是问题!!有更简洁的写法请评论告知我! https://www.cnblogs.com/poloyy/category/1676599.html 题目 写一个函数,该函数 ...

  5. LeetCode--179场周赛题解

    水题: class Solution { public: string generateTheString(int n) { string s; string a="a",b=&q ...

  6. 【转】深入 ProtoBuf - 简介

    之前在网络通信和通用数据交换等应用场景中经常使用的技术是 JSON 或 XML,而在最近的开发中接触到了 Google 的 ProtoBuf. 在查阅相关资料学习 ProtoBuf 以及研读其源码之后 ...

  7. JS事件冒泡及阻止

    事件冒泡及阻止 当一个元素接收到事件的时候,会把他接收到的事件传给自己的父级,一直到window,当然其传播的是事件,绑定的执行函数并不会传播,如果父级没有绑定事件函数,就算传递了事件,也不会有什么表 ...

  8. hdu1686kmp果题

    kmp字符串匹配原理参考博客:https://blog.csdn.net/bqw18744018044/article/details/90516750 代码如下:(写一遍模板) #include&l ...

  9. NDCG的理解

    2019-05-29 14:15:44

  10. java获取不同时段

    当前时间: long currentime= System.currentTimeMillis(); 本周第一天0时: Long weekstart = current.withDayOfWeek(1 ...