TSF ( 改善Color Shading的问题 )功能的调试和开启

[DESCRIPTION]
针对MT657X和MT6589平台上 Color shading 严重的问题,在MT6582之后的chip上导入了TSF 功能。主要用来改善Color shading问题。
[SOLUTION]
1:如何进入工程模式。在拨号界面输入” *#*#3646633#*#* ”(默认密码)。如果客户有修改进入工程模式输入正确的密码。进入工程模式。选择ISO100, Pure Raw, Capture size 。

如果是AF项目,拍摄RawData 时指定AF的Step。
参考如下操作进行:
(1)AF页面选取Through Focus Dump选项。

(2) 在Through Focus Dump选项中选择子选项Manual configure。

(3) Start position和End position填入指定的Step (找模组厂确认一下这个项目使用的远景3M左右的Step 为 A
,近景10cm左右的Step为B,
则指定的Step为C=(B+A)/2。或者可以使用fullScan自行测试A和B的数值,再计算出C的数值。下面的例子是A为200,B为900,则
指定位置为550 Step拍摄PureRawData) (使用CCT
Gen色温的Previewshading时,请使用MF方式指定550Step做高色温Preview的Calibration)。

(4) 选择Start Preview拍照。

2:提供TSF调试需要的RawData案。
按照第一步的要求进入工程模式, 加上毛玻璃拍摄D65, DNP, CWF, TL84, Alight这五个光源下的PureRawData。为了排除A light的 Banding影响,需要加上ND Filter。
为了使做出来的shading Cover度更高,建议同时提供如下这些色温下加上毛玻璃后的PureRawData。
Sun (加上毛玻璃正对着正午太阳)
Sky(加上毛玻璃正对着没有白云的蓝天)
DF光源(5500K色温)
Horizon光源
D50光源(5000K色温)
D75光源(7500K色温)
假设A light 抓取到的 RawData 命名是Capture04000150ISOAuto__2592x1944_10_0.raw,则重命名为如下格式:
g-A__2592x1944_10_0.raw 蓝色字体 根据不同光源来命名。比如 CWF, D65, DNP
光源下的PureRawData被依次重新命名为: g-CWF__2592x1944_10_0.raw,
gD65__2592x1944_10_0.raw , g-DNP__2592x1944_10_0.raw, 其它光源下的相类似。
3:提供GoldSimple和LimitSimple的PureRawData。
Golden Simple和Limit Simple的挑选,请参考FAQ11709。
Gold
Simple参考上面的命名为g-CWF__2592x1944_10_0.raw或GoldenCWF__2592x1944_10_0.raw。
Limit Simple模组请命名为
UnitCWF__2592x1944_10_0.raw或u-CWF__2592x1944_10_0.raw。如果该模组有烧录OTP,请提交CR时
同步告知。
4:将上面重新命名后的RawData通过CR提供给贵司对应的Tuning Owner,做TSF的Calibration或者提供给Sensor
FAE 直接去我司的lab做TSF的Calibration。生成生成camera_tsf_data.h和camera_tsf_para.h 件。
5:通过CR提供PureRawData的同时,请在CR上同步告知 Sensor 是那一颗?目前使用的OB值是多少?
6:根据Hal目录下对应Sensor使用的camera_info_XXXX.h 文件参考如下命名格式
#define INCLUDE_FILENAME_TSF_PARA "camera_tsf_para_XXXX.h"
#define INCLUDE_FILENAME_TSF_DATA "camera_tsf_data_XXXX.h"
将camera_tsf_data.h 和camera_tsf_para.h 文件 ReName 成该sensor 对应的TSF 文件。
7:对于95之前的Chip,请确认camera_tuning_para_XXXX.cpp 档案中有无增加如下TSF的相关文件导入?
const CAMERA_TSF_TBL_STRUCT CAMERA_TSF_DEFAULT_VALUE =
{
#include INCLUDE_FILENAME_TSF_PARA
#include INCLUDE_FILENAME_TSF_DATA
};
impGetDefaultData(CAMERA_DATA_TYPE_ENUM const CameraDataType, VOID*const
pDataBuf, UINT32 const size) const
{
UINT32 dataSize[CAMERA_DATA_TYPE_NUM] =
{sizeof(NVRAM_CAMERA_ISP_PARAM_STRUCT),
sizeof(NVRAM_CAMERA_3A_STRUCT),
sizeof(NVRAM_CAMERA_SHADING_STRUCT),
sizeof(NVRAM_LENS_PARA_STRUCT),
sizeof(AE_PLINETABLE_T),
0,
sizeof(CAMERA_TSF_TBL_STRUCT)};
if (CameraDataType > CAMERA_DATA_TSF_TABLE || NULL == pDataBuf || (size <dataSize[CameraDataType]))
{
return 1;
}
switch(CameraDataType)
{
case CAMERA_NVRAM_DATA_ISP:
memcpy(pDataBuf,&CAMERA_ISP_DEFAULT_VALUE,sizeof(NVRAM_CAMERA_ISP_PARAM_STRUCT));
break;
case CAMERA_NVRAM_DATA_3A:
memcpy(pDataBuf,&CAMERA_3A_NVRAM_DEFAULT_VALUE,sizeof(NVRAM_CAMERA_3A_STRUCT));
break;
case CAMERA_NVRAM_DATA_SHADING:
memcpy(pDataBuf,&CAMERA_SHADING_DEFAULT_VALUE,sizeof(NVRAM_CAMERA_SHADING_STRUCT));
break;
case CAMERA_DATA_AE_PLINETABLE:
memcpy(pDataBuf,&g_PlineTableMapping,sizeof(AE_PLINETABLE_T));
break;
case CAMERA_DATA_TSF_TABLE:
memcpy(pDataBuf,&CAMERA_TSF_DEFAULT_VALUE,sizeof(CAMERA_TSF_TBL_STRUCT));
break;
default:
break;
}
return 0;[/code]95 之后的平台已默认添加导入TSF相关文件代码块
[code]const CAMERA_TSF_TBL_STRUCT CAMERA_TSF_DEFAULT_VALUE =
{ {
1, // isTsfEn
2, // tsfCtIdx
{20, 2000, -110, -110, 512, 512, 512, 0} // rAWBInput[8]
},
#include INCLUDE_FILENAME_TSF_PARA
#include INCLUDE_FILENAME_TSF_DATA
};
typedef NSFeature::RAWSensorInfo<SENSOR_ID> SensorInfoSingleton_T;
namespace NSFeature {
template <>
UINT32
SensorInfoSingleton_T::
impGetDefaultData(CAMERA_DATA_TYPE_ENUM const CameraDataType, VOID*const
pDataBuf, UINT32 const size) const
{
UINT32 dataSize[CAMERA_DATA_TYPE_NUM] =
{sizeof(NVRAM_CAMERA_ISP_PARAM_STRUCT),
sizeof(NVRAM_CAMERA_3A_STRUCT),
sizeof(NVRAM_CAMERA_SHADING_STRUCT),
sizeof(NVRAM_LENS_PARA_STRUCT),
sizeof(AE_PLINETABLE_T),
0,
sizeof(CAMERA_TSF_TBL_STRUCT),
0,
sizeof(NVRAM_CAMERA_FEATURE_STRUCT)
};
if (CameraDataType > CAMERA_NVRAM_DATA_FEATURE || NULL == pDataBuf ||
(size < dataSize[CameraDataType]))
{
return 1;
}
switch(CameraDataType)
{
case CAMERA_NVRAM_DATA_ISP:
memcpy(pDataBuf,&CAMERA_ISP_DEFAULT_VALUE,sizeof(NVRAM_CAMERA_ISP_PARAM_ST
RUCT));
break;
case CAMERA_NVRAM_DATA_3A:
memcpy(pDataBuf,&CAMERA_3A_NVRAM_DEFAULT_VALUE,sizeof(NVRAM_CAMERA_3A_STRU
CT));
break;
case CAMERA_NVRAM_DATA_SHADING:
memcpy(pDataBuf,&CAMERA_SHADING_DEFAULT_VALUE,sizeof(NVRAM_CAMERA_SHADING_
STRUCT));
break;
case CAMERA_DATA_AE_PLINETABLE:
memcpy(pDataBuf,&g_PlineTableMapping,sizeof(AE_PLINETABLE_T));
break;
case CAMERA_DATA_TSF_TABLE:
memcpy(pDataBuf,&CAMERA_TSF_DEFAULT_VALUE,sizeof(CAMERA_TSF_TBL_STRUCT));
break;
case CAMERA_NVRAM_DATA_FEATURE:
memcpy(pDataBuf,&CAMERA_FEATURE_DEFAULT_VALUE,sizeof(NVRAM_CAMERA_FEATURE_
STRUCT));
break;
default:
return 1;
}
return 0;
}}; // NSFeature
8:开启TSF功能。
MT6595之前的平台(如MT6582、MT6592等)
修改文件
mediatek\custom\[$platform,$project]\hal\camera\camera\tsf_tuning_custom.c
pp中的isEnableTSF函数,返回值修改成MTRUE。如下:
MBOOL isEnableTSF(void)
{
return MTRUE;
}
MT6595之后的平台(如MT6595、MT6752_MT6732等)
修改文件Tuning文件 camera_tuning_para_XXXX.cpp,把isTsfEn改成1
const CAMERA_TSF_TBL_STRUCT CAMERA_TSF_DEFAULT_VALUE =
{ {
1, // isTsfEn
2, // tsfCtIdx
{20, 2000, -110, -110, 512, 512, 512, 0} // rAWBInput[8]
},
#include INCLUDE_FILENAME_TSF_PARA
#include INCLUDE_FILENAME_TSF_DATA
};

待整合参数后,确认参数有无生效 ?请参考 FAQ11142 。
不同chip , TSF 的进阶客制化?请参考FAQ11301 。
Camera加载慢问题分析
[FAQ15082]Camera加载慢问题分析
Camera加载慢问题分析
A开机加载慢
Description:开机进入camera工厂模式很慢 ,或者是开机加载camera很慢
正常情况下search sensor耗时不会很久,大概200多ms的样子,从 mainlog.boot.
可以通过搜索关键字: impsearch, 来查看search时间。
01-01 00:08:56.379 232 232 D ImgSensorDrv: [impSearchSensor]SENSOR search start
01-01 00:08:56.640 232 232 D ImgSensorDrv: [impSearchSensor]SENSOR search end: 0x3
/[0x3087][1]/[0xffffff][255]/[0x5648][0]
出现异常的时候,
mainlog.boot的搜索时间会很久,例如:
01-01 08:11:22.761 263 263 D ImgSensorDrv: [impSearchSensor]SENSOR search start
01-01 08:11:35.176 263 263 D ImgSensorDrv: [impSearchSensor]SENSOR search end: 0x3
/[0x841][0]/[0xffffff][255]/[0x2508][1]
对应到kernellog.boot往往会打印出
Line 14320: 01-01 00:11:24.988 <3>[ 11.732933]<2> (0)[263:mediase

此资料( TSF ( 改善Color Shading的问题 )功能的调试和开启)转载于 一牛网
资料需要自己去下载,有需要的可以去论坛上面自己下载

时间: 2024-10-03 16:29:42

TSF ( 改善Color Shading的问题 )功能的调试和开启的相关文章

YUV422蓝屏显示输出功能辅助调试

YUV422有YUYV,YVYU,UYVY,VYUY四种,以下笔者就就以UYVY为例介绍一下数据构成.因为常常要跟视频输入打交道,所以YUV422这种常见的视频信号是常常碰到的.有时候我们调试一个模块输出YUV422,然后再显示出来.非常多时候,可能没法准确推断你那个模块是不是已经正常跑起来了,跑起来来的情况下,是不是真的有数据输出,有了数据输出后来的数据究竟对不正确. 带着这些疑问,当然有非常多对策,笔者就先把这个事情一分为二,以YUV422数据为界限分两部分,假设怀疑是模块没有输出YUV42

如何启用Open vSwitch的日志功能以便调试和排障

Open vSwitch(OVS)是Linux平台上最流行的开源的虚拟交换机.由于当今的数据中心日益依赖于软件定义网络(SDN)架构,OVS被作为数据中心的SDN部署中的事实标准上的网络元素而得到飞速应用. Open vSwitch具有一个内建的日志机制,它称之为VLOG.VLOG工具允许你在各种网络交换组件中启用并自定义日志,由VLOG生成的日志信息可以被发送到一个控制台.syslog以及一个便于查看的单独日志文件.你可以通过一个名为ovs-appctl的命令行工具在运行时动态配置OVS日志.

Android 5.0新功能详解

2014年10月15日,Google公司发布全新的Android 操作系统Android 5.0 Lollipop(棒棒糖).距离Android系统上一次重大更新还不到一年的时间,Android从4.4 KitKat(巧克力棒)升级到了Lollipop(棒棒糖).和每年的惯例一样,Google惯例推出自家品牌Nexus phone和Nexus tablet的新产品.但最大不同是,Android Lollipop的发布成为Android系统有史以来变化最大的一次升级. 12个独特之处,带你快速了解

Windows Server 2019 -- 新功能预览

就在前不久微软Windows Server团队,宣布Windows Server 2019将在2018年的下半年推出.从现在开始,我们可以通过Insiders程序下载预览版本进行测试. Windows Server 2019中的新增功能 ??????? Windows Server 2019建立在Windows Server 2016的坚实基础之上.Windows Server 2016是迄今为止Windows Server最快采用的版本!基于对于客户需求的了解与未来行业发展与面临的挑战,Win

功能模块LinearMath

.title { text-align: center; margin-bottom: .2em } .subtitle { text-align: center; font-size: medium; font-weight: bold; margin-top: 0 } .todo { font-family: monospace; color: red } .done { font-family: monospace; color: green } .priority { font-fami

Eclipse的调试功能(转)

前言:可以很明确的说明,eclipse没有像vs那样的即时窗口来运行即时代码的功能. 调试的界面如下: 具体的调试步骤: 1.设置断点 在程序里面放置一个断点,也就是双击需要放置断点的程序左边的栏目上. 2.调试 (1)点击"打开透视图"按钮,选择调试透视图,则打开调试透视图界面,然后先设置断点,按调试按钮则可以调试程序. (2)或者直接点击调试按钮,那个虫子样子的按钮,然后就会进入调试透视图的界面.前提你需要是要在程序中设置好断点. (3)或者右键单击该程序,选择debug as(调

HelloXV1.77网络功能简介

HelloXV1.77的网络功能做了较大程度的加强,移植了业界广泛使用的lwIP协议栈,并做了很多优化工作,修正了其中的一些bug.同时,实现了一个network字符界面应用程序,可以对网络功能进行调试.同时实现了一个抽象的以太网管理框架(Ethernet Framework),实现了一套标准的网络驱动程序接口,屏蔽了不同网络驱动程序之间的差异.这样,不同的硬件,其驱动代码是不同的,但是只要遵循这一套标准的接口规范,就可以无缝挂接到HelloX内核中. 下面简要介绍V1.77版的网络调试程序ne

JAVA实现找回密码的详细功能

这里,首先向大家简单介绍一下尚邮绑定邮箱的注意事项: 1.请先确认您的邮箱支持pop3 只要支持pop3或者imap4协议的公众邮箱和企业邮箱都可以使用尚邮. 目前大多数免费公众邮箱都支持pop功能,但是部分需要要手动开启(在本文的后面我们会针对几个常见的公众邮箱开通POP服务以及服务器配置方式进行介绍).确认您的邮箱支持pop3或者imap4协议后您就可以绑定邮箱了. 2.绑定邮箱: 在手机客户端和尚邮网站用户中心的“邮箱管理”中都可以进行绑定邮箱的操作. 绑定邮箱有两个步骤:一,选择公众邮箱

(3)redis队列功能

Redis队列功能介绍 List 常用命令: Blpop删除,并获得该列表中的第一元素,或阻塞,直到有一个可用 Brpop删除,并获得该列表中的最后一个元素,或阻塞,直到有一个可用 Brpoplpush Lindex获取一个元素,通过其索引列表 Linsert在列表中的另一个元素之前或之后插入一个元素 Llen获得队列(List)的长度 Lpop从队列的左边出队一个元素 Lpush从队列的左边入队一个或多个元素 Lpushx当队列存在时,从队到左边入队一个元素 Lrange从列表中获取指定返回的