一、 计算需要的插值

如果原有的插值列表没有我们需要的插值的时候,要通过计算算出符合需求的插值,比如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. JS的3种核心设计模式

    一.单例模式 1.保证一个类仅有一个实例,并提供一个访问它的全局访问点 2.设计思路:如果存在,不创建,直接返回,不存在才创建. 在类的constructor方法里添加一个判断条件属性,并且让创建的实 ...

  2. vue的$message(提示框换行)

    之前一直在搜怎么让提示框的文字换行,网上搜到的基本都是使用 ‘ /n ’,使用无效,也试了css换行,本来想用弹窗自己编辑html内容,还好回去官网看了一下: let arr = ['测试一', '测 ...

  3. 【Weiss】【第03章】队列例程

    前几个例程还是相当简单的,把链表即时改了一下就是队列了. 还有想了一下,决定这种例程的代码放法是:先把测试代码默认折叠放在前面,然后把实现代码默认展开放在后面. 测试代码如下: #include &l ...

  4. Java-字节输入输出。(新手)

    参考手册: BufferedInputStream BufferedOutputStream 实例: import java.io.*; /* * 文件的复制方式 * 1 字节流读写单个字节 * 2 ...

  5. python中可变长度参数详解

    1. *args用法:python会将所有位置的参数收集到一个元组中 2. **args用法:python会将关键字参数传递给一个新的字典.**允许将关键字参数转换为字典 用法见如下代码: def f ...

  6. VS2019 C++动态链接库的创建使用(2) - 客户调用接口

    因为动态链接库里的内容是自己定义的,所以在外部程序调用时我们自己知道库里包含哪些变量和函数,如果我们提供库给其他人使用,则最好增加一个头文件,告知库里包含的函数: ①将动态链接库源文件内容增加红色框内 ...

  7. MyBatis框架——单表查询

    Mybatis单表查询,示例 1.创建数据库 /* Navicat MySQL Data Transfer Source Server : localhost Source Server Versio ...

  8. M-Renamer方法名修改器,iOS项目方法名重构,Objective-C/Swift,代码模型预判,减少误改的机率,替换速度更快,可视化操作,傻瓜式操作,一键操作,引用处自动修改,马甲包的福音

    M-Renamer M-Renamer(Method-Name-Renamer)类方法名修改器,采用链式解析头文件,代码模型预判,减少误改的机率,替换速度更快:可以解析整个项目大多数类的方法,可视化操 ...

  9. 【攻防世界】open-source

    难度系数: 3.0 题目来源: Pediy CTF 2018 题目描述:菜鸡发现Flag似乎并不一定是明文比较的 先用:PE查壳,发现没有

  10. MySQL----DDL(操作数据库,表)

    1. 操作数据库:CRUD 1. C(Create):创建 * 创建数据库: * create database 数据库名称; * 创建数据库,判断不存在,再创建: * create database ...