You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
imx291/imx291sub_mipi_raw/Scene_Capture/imx291submipiraw_Scene_Capt...

2189 lines
104 KiB
C++

/* Copyright Statement:
*
* This software/firmware and related documentation ("MediaTek Software") are
* protected under relevant copyright laws. The information contained herein
* is confidential and proprietary to MediaTek Inc. and/or its licensors.
* Without the prior written permission of MediaTek inc. and/or its licensors,
* any reproduction, modification, use or disclosure of MediaTek Software,
* and information contained herein, in whole or in part, shall be strictly prohibited.
*/
/* MediaTek Inc. (C) 2020. All rights reserved.
*
* BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER ON
* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND RECEIVER AGREES TO LOOK ONLY TO SUCH
* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. RECEIVER EXPRESSLY ACKNOWLEDGES
* THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES
* CONTAINED IN MEDIATEK SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK
* SOFTWARE RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR
* STANDARD OR OPEN FORUM. RECEIVER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND
* CUMULATIVE LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY RECEIVER TO
* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
*
* The following software/firmware and/or related documentation ("MediaTek Software")
* have been modified by MediaTek Inc. All revisions are subject to any receiver's
* applicable license agreements with MediaTek Inc.
*/
/********************************************************************************************
* LEGAL DISCLAIMER
*
* (Header of MediaTek Software/Firmware Release or Documentation)
*
* BY OPENING OR USING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE") RECEIVED
* FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON AN "AS-IS" BASIS
* ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES, EXPRESS OR IMPLIED,
* INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR
* A PARTICULAR PURPOSE OR NONINFRINGEMENT. NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY
* WHATSOEVER WITH RESPECT TO THE SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY,
* INCORPORATED IN, OR SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK
* ONLY TO SUCH THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S SPECIFICATION
* OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
*
* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE LIABILITY WITH
* RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE, AT MEDIATEK'S OPTION,
* TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE, OR REFUND ANY SOFTWARE LICENSE
* FEES OR SERVICE CHARGE PAID BY BUYER TO MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
*
* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE WITH THE LAWS
* OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF LAWS PRINCIPLES.
************************************************************************************************/
#include "camera_custom_nvram.h"
#include "imx291submipiraw_Scene_Capture.h"
const NVRAM_LENS_DATA_PARA_STRUCT imx291submipiraw_AF_0000 = {
//File Path
{
__FILE__
},
// AF NVRAM
{
//============================================================================================//
// Section: Auto Focus Table
// Description: This section store AF table calibration result and basic search behavior
//============================================================================================//
// name: af_table_offset
// range: generated by AF table calibration tool
//
// name: af_table_num
// range: number of af_table, generated by AF table calibration tool
//
// name: af_table_num2
// range: same as af_table_num
//
// name: af_table_inf_idx
// name: af_table_mac_idx
// range: 0 <= af_table_inf_idx <= af_table_num
// default: [inf]1 [mac]2
// effect: config witch af table index is infinity and macro position
//
// name: main_threshold
// name: sub_threshold
// range: >0
// default: [main]15 [sub]10
// constraints: main > sub
// effect: increased main and sub threshold to prevent search stop at local maximal. decreased
// threshold to improve search smooth.
//
// name: afc_fail_count
// range: >0
// default: 2
// effect: increased this value to allow af search change direction times
//
// name: af_fail_position
// range: integer
// default: 0
// effect: config the position the lens will move to when AF search fail. lens move position
// will be af table index[0] + af_fail_position
//
// name: frame_wait_table
// range: >=0
// default: {500, 500, 500, 500, 500}
//--------------------------------------------------------------------------------------------//
{
{
165, //af_table_offset
14, //af_table_num
14, //af_table_num2
2, //af_table_inf_idx
2, //af_table_mac_idx
//af_table
{
0, 64, 128, 194, 260, 325, 391, 455, 531, 608,
686, 757, 811, 865, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}
},
15, //main_threshold
10, //sub_threshold
1, //afc_fail_count
0, //af_fail_position
4, //Reserved
{500, 500, 500, 500, 500}, //frame_wait_table
0, //Reserved
},
//============================================================================================//
// Section: Focus Value Threshold
// Description: This section store FV value calibration result.
//
//============================================================================================//
// -------------------- sAF_TH ---------------------
{
8, // i4ISONum
{100, 150, 200, 300, 400, 600, 800, 1600},
// SGG1~7
{
{20, 20, 20, 19, 19, 18, 17, 9},
{30, 29, 29, 29, 28, 27, 27, 16},
{43, 43, 42, 42, 41, 41, 40, 28},
{62, 62, 61, 61, 60, 60, 59, 47},
{89, 89, 88, 88, 87, 87, 86, 74},
{127, 126, 126, 126, 126, 125, 125, 115},
{180, 180, 180, 180, 180, 179, 179, 173}
},
// horizontal FV min. threshold
{2000, 2000, 2000, 1000, 1000, 1000, 800, 800},
// horizontal FV threshold
{2, 2, 2, 2, 2, 2, 3, 4},
// horizontal FV min. threshold
{2000, 2000, 2000, 1000, 1000, 1000, 800, 800},
// horizontal FV threshold
{2, 2, 2, 2, 2, 2, 3, 4},
// vertical FV min. threshold
{2000, 2000, 2000, 1000, 1000, 1000, 800, 800},
// vertical FV threshold
{2, 2, 2, 2, 2, 2, 3, 4},
},
//============================================================================================//
// Section: General AutoFocus Parameter (I)
// Description: This section is common use parameter
//
//============================================================================================//
//====================================================================================//
// name: read_otp
// range: 0 or 1
// default: 1
// constraints: module OTP must have data
// effect: set 1 enable read OTP function, AF focus range will mapping by OTP infinity
// and macro position
//------------------------------------------------------------------------------------//
1, // read_otp
//====================================================================================//
3, // Reserved
0, // Reserved
//====================================================================================//
// name: inf_mode_pos
// range: 0~1023
// effect: when AF mode set to infinity mode, move lens to this position.
//------------------------------------------------------------------------------------//
228, // inf_mode_pos
//====================================================================================//
// name: frame_time
// range: >0
// default: 33 ms
// effect: setup basic frame time (ms) per frame
//------------------------------------------------------------------------------------//
33, // frame_time
//====================================================================================//
// Section: back jump
// Description: back jump function prevent lens direct move to infinity and hit lens
// holder.
//
// name: back_jump_table
// default: {0, 50, 150, 250, 350}
// constraints: value of index 0 must be 0
// effect: each index correspond to how large jump DAC will split to how many [index]
// step.
//
// name: back_jump_pos
// default: 400
// effect: increased this value to enlarge back jump function cover region.
// ex: back_jumps_pos=400,
// move lens from 500 -> 200 will use back jump,
// move lens from 500 -> 401 not use.
//------------------------------------------------------------------------------------//
{0, 100, 200, 350, 500}, // back_jump_table
500, // back_jump_pos
//====================================================================================//
20, // Reserved
//====================================================================================//
// name: win_spot_percent_w
// name: win_spot_percent_h
// range: >0
// default: w x h = 18 x 24
// effect: enlarge to increase FV value stability, reduced to focus at small object
//------------------------------------------------------------------------------------//
12, // win_spot_percent_w
16, // win_spot_percent_h
//====================================================================================//
0, 1, 4, 4, 5, // Reserved
//====================================================================================//
// Section: first AF
// Description: When first time enter camera APP, AF will wait scene stable to
// start AF search
//
// name: fv_1st_stable_thr
// range: >0
// default: 12
// effect: larger to more quick stable
//
// name: fv_1st_stable_offset
// range: >0
// default: 100
//
// name: fv_1st_stable_num
// name: fv_1st_stable_cnt
// range: >0
// default: 6,6
// effect: lower will reduce stable time but more sensitive
//------------------------------------------------------------------------------------//
12, // fv_1st_stable_thr
10000, // fv_1st_stable_offset
6, // fv_1st_stable_num
6, // fv_1st_stable_cnt
//====================================================================================//
50, 30000, 5, 20, 5, // Reserved
//====================================================================================//
// Section: Face AF
//
// name: fd_win_percent
// range: >0
// default: 100 %
// effect: use small ROI to do AF prevent face ROI contain background
// content
//
// name: fd_size_diff (no-used)
// range: >0
// default: 40
// effect: decreased this value will let face af re-trigger sensitivity
// when face size change.
//
// name: fd_detect_cnt (no-used)
// range: > 0
// default: 5
// effect: decreased this value Face AF will trigger more sensitive,
// increased to improve stability
//
// name: fd_none_cnt (no-used)
// range: >0
// default: 5
// effect: decreased this value will trigger AF when face disappear more sensitivity,
// increased to improve stability.
//------------------------------------------------------------------------------------//
100,// fd_win_percent
40, // fd_size_diff (no-used)
15, // fd_detect_cnt (no-used)
5, // fd_none_cnt (no-used)
//====================================================================================//
// name: left_search_enable
// range: 0 or 1
// default: 1
// effect: set 1 to enable left search function. If disable, AF search direction will
// always right (inf to macro)
//
// name: left_jump_step
// range: >= 0
// default: 0
// effect: when disable left search, jump 3 + left_jump_step to start right search.
//------------------------------------------------------------------------------------//
1, //left_search_enable
0, //left_jump_step
//====================================================================================//
0, // Reserved
//====================================================================================//
// name: af_done_delay
// range: >=0
// default: 0 frame
// effect: set this value to let AF search done flag rise delay
//------------------------------------------------------------------------------------//
0, // af_done_delay
//====================================================================================//
// name: af_win_zoom_change
// range: 0 or 1
// default: 0
// effect: enable AF window change with Zoom-in
//------------------------------------------------------------------------------------//
0, // af_win_zoom_change
//====================================================================================//
// name: af_ext_sensor_enable
// range: 0 or 1
// default: 1
// effect: enable AF use Gyro and ACCE sensor
//------------------------------------------------------------------------------------//
1, // af_ext_sensor_enable
//====================================================================================//
// name: posture_comp
// range: integer
// default: 0
// effect: horizontal and vertical posture compensation
//------------------------------------------------------------------------------------//
0, // posture_comp
//============================================================================================//
// Section: Scene Change and Stable
// Description: This section adjusts Autofocus trigger sensitivity and stability.
//
//============================================================================================//
//====================================================================================//
// name: scene_monitor_level
// range: 1~3
// default: 2
// effect: set scene change enhancement level, 1~3:from stable to sensitive.
//------------------------------------------------------------------------------------//
2, // scene_monitor_level
{
//================================================================================//
// Section: Scene change use Focus Value
//--------------------------------------------------------------------------------//
// name: fv_scene_enable
// range: 1 or 0
// default: 1
// constraints: valid on MT6755,MT6750,MT6735 series and older
// effect: set 1 to enable fv scene change function.
//
// name: fv_change_type
// range: 0~2
// default: 0
// effect: [Type 0][Type 1] low light speed up.
// [Type 2] keep change time at all condition
//
// name: fv_change_min_thr
// range: >=0
// default: 100
// effect:
//
// name: fv_change_thr{lv0, lv1, lv2}
// range: >0 %
// default: {40,40,30}
// effect: lower to sensitive, bigger to stable,
// lv0~lv2 correspond to scene_monitor_level.
//
// name: fv_change_num{lv0, lv1, lv2}
// range: >0
// default:{13,10,10}
// effect: lower to sensitive, bigger to stable
// lv0~lv2 correspond to scene_monitor_level.
//
// name: fv_stable_type
// range: 0~2
// default: 0
// effect: check fv_change_type
//
// name: fv_stable_min_thr
// range: >=0
// default: 5000
// effect:
//
// name: fv_stable_thr{lv0, lv1, lv2}
// range: >0
// default: {15,15,15}
// effect: check fv_change_thr
//
// name: fv_stable_num{lv0, lv1, lv2}
// range: >0
// default: {20,15,10}
// effect: check fv_change_num
//--------------------------------------------------------------------------------//
1, //fv_scene_enable
0, //fv_change_type
100000, //fv_change_min_thr
{ 30, 30, 20}, //fv_change_thr
{ 12, 7, 7}, //fv_change_num
1, //fv_stable_type
50000, //fv_stable_min_thr
{ 25, 25, 25}, //fv_stable_thr
{ 10, 7, 5} //fv_stable_num
},
{
//================================================================================//
// Section: Scene change use G channel sum
//--------------------------------------------------------------------------------//
1, //gs_scene_enable
0, //gs_change_type
15, //gs_change_min_thr
{ 20, 20, 15}, //gs_change_thr
{ 15, 10, 10}, //gs_change_num
1, //gs_stable_type
5, //gs_stable_min_thr
{ 5, 10, 10}, //gs_stable_thr
{ 10, 7, 5} //gs_stable_num
},
{
//================================================================================//
// Section: Scene change use AE block
//--------------------------------------------------------------------------------//
1, //aeb_scene_enable
0, //aeb_change_type
15, //aeb_change_min_thr
{ 30, 30, 25}, //aeb_change_thr
{ 33, 30, 30}, //aeb_change_num
1, //aeb_stable_type
5, //aeb_stable_min_thr
{ 10, 10, 10}, //aeb_stable_thr
{ 10, 7, 5} //aeb_stable_num
},
{
//================================================================================//
// Section: Scene change use Gyro sensor
//--------------------------------------------------------------------------------//
1, //gyro_scene_enable
0, //gyro_change_type
0, //gyro_change_min_thr for gyro use, must be 0
{ 80, 80, 60}, //gyro_change_thr
{ 5, 3, 3}, //gyro_change_num
1, //gyro_stable_type
0, //gyro_stable_min_thr for gyro use, must be 0
{ 10, 10, 10}, //gyro_stable_thr
{ 10, 7, 5} //gyro_stable_num
},
{
//================================================================================//
// Section: Scene change use ACCE sensor
//--------------------------------------------------------------------------------//
1, //acce_scene_enable
0, //acce_change_type
0, //acce_change_min_thr for acce use, must be 0
{ 80, 110, 60}, //acce_change_thr
{ 15, 8, 12}, //acce_change_num
1, //acce_stable_type
0, //acce_stable_min_thr for acce use, must be 0
{ 50, 100, 50}, //acce_stable_thr
{ 10, 7, 5} //acce_stable_num
},
//============================================================================================//
// Section: General AutoFocus Parameter (II)
// Description:
//
//============================================================================================//
//====================================================================================//
// name: face_fv_extract_enable
// range: 0 or 1
// default: 1
// effect: enable face accurate mode
//
// name: face_fv_extract_thr
// default: 40
//------------------------------------------------------------------------------------//
1, //face_fv_extract_enable
50, //face_fv_extract_thr
//====================================================================================//
// name: damping_comp_enable
// range: 0 or 1
// default: 1
// effect: enable//disable damping compensation
//
// name: damping_step_table
// range: generated by damping calibration tool
// constraints: maximal 15 step
//------------------------------------------------------------------------------------//
1, //damping_comp_enable
{9, 18, 26, 35, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, //damping_step_table
//====================================================================================//
// name: start_dir_select_enable
// range: 0 or 1
// default: 1
// effect: set 1 to enable initial search direction select function
//
// name: start_dir_inf
// name: start_dir_mid
// name: start_dir_mac
// range: 1, -1, 2, 0
// default: inf:-1 mid:-1 mac:-1
// effect: 1: right direction, -1: left direction, 2:current reverse direction,
// 0: keep direction.
//
// name: start_dir_ratio_inf
// name: start_dir_ratio_mac
// range: 0~100%
// default: inf:40 mac:70
// constraints: start_dir_ratio_mac > start_dir_ratio_inf
// effect: position at below [start_dir_ratio_inf]% of af table is INF region,
// position at above [start_dir_ratio_mac]% of af table is MAC region,
// the others is Mid region, each region can setup a initial direction when af
// search start. see [start_dir_inf][start_dir_mid][start_dir_mac].
//------------------------------------------------------------------------------------//
0, // start_dir_select_enable
-1, // start_dir_inf
-1, // start_dir_mid
-1, // start_dir_mac
40, // start_dir_ratio_inf
70, // start_dir_ratio_mac
//====================================================================================//
// name: start_boundry_enable
// range: 0 or 1
// default: 0
// effect: set 1 to enable search start from boundary.
//
// name: start_boundry_idx_caf
// name: start_boundry_mac_taf
// range: -1 or 0 ~ total af num
// effect: set -1 to always search start from infinity. set other af table index value
// to let AF search start from boundary if current position is close to boundry
// [start_boundry_idx_caf][start_boundry_mac_taf] steps.
//------------------------------------------------------------------------------------//
0, //start_boundry_enable
3, //start_boundry_idx_caf
3, //start_boundry_mac_taf
//====================================================================================//
// name: fps_remap_table_enable
// range: 0 or 1
// default: 0
// effect: set 1 to enable remapping af table by fps.
//
// name: fps_remap_thr[2]
// range: > 0
// default: {10, 12} fps
// effect: setup 2 level fps threshold will remapping af table. by following
// configuration.
//
// name: fps_remap_clip_point[2]
// range: >= 0
// default: {1, 0}
// effect: config how many step at macro will clip when remapping
//
// name: fps_remap_percent[2]
// range: 0~100 %
// default: {80, 90}
// effect: config percentage of new table length. Small value speed up af time
//------------------------------------------------------------------------------------//
1, // fps_remap_table_enable
{10, 12}, // fps_remap_thr[2]
{0, 0}, // fps_remap_clip_point[2]
{80, 90}, // fps_remap_percent[2]
//================================================================================//
// Section: Easytuning
// Description: Reserved
//
//------------------------------------------------------------------------------------//
{0}, // i4EasyTuning[100]
//============================================================================================//
// Section: Damping Calibration
// Description: This section store the data generated by damping calibration tool
//
//============================================================================================//
// i4DampingTbls[500]
{
12,
120,
10,
30, 70, 100,
1, 100, 100, 100,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2, 100, 100, 100,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3, 100, 100, 100,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4, 100, 100, 100,-1, -3, -5, -7, -10, -10, -10, -10, -10, -10, 2, 3, 5, 8, 10, 10, 10, 10, 10, 10,
5, 100, 100, 100,-1, -3, -5, -7, -10, -10, -10, -10, -10, -10, 2, 3, 5, 8, 10, 10, 10, 10, 10, 10,
6, 100, 100, 100,-1, -3, -5, -7, -10, -10, -10, -10, -10, -10, 2, 3, 5, 8, 10, 10, 10, 10, 10, 10,
7, 100, 100, 100,-1, -3, -5, -7, -10, -10, -10, -10, -10, -10, 2, 3, 5, 8, 10, 10, 10, 10, 10, 10,
8, 100, 100, 100,-1, -3, -5, -7, -10, -10, -10, -10, -10, -10, 2, 3, 5, 8, 10, 10, 10, 10, 10, 10,
9, 100, 100, 100,-1, -3, -5, -7, -10, -10, -10, -10, -10, -10, 2, 3, 5, 8, 10, 10, 10, 10, 10, 10,
10, 100, 100, 100,-1, -3, -5, -7, -10, -10, -10, -10, -10, -10, 2, 3, 5, 8, 10, 10, 10, 10, 10, 10,
11, 100, 100, 100,-1, -3, -5, -7, -10, -10, -10, -10, -10, -10, 2, 3, 5, 8, 10, 10, 10, 10, 10, 10,
12, 100, 100, 100,-1, -3, -5, -7, -10, -10, -10, -10, -10, -10, 2, 3, 5, 8, 10, 10, 10, 10, 10, 10,
},
//============================================================================================//
// Section: General AutoFocus Parameter (III)
// Description:
//
//============================================================================================//
{
// i4Coefs[100]
//====================================================================================//
// name: InclineReject
// range: 0 or 1
// default: 1
// effect: Move to hyperfocus if fv curve is abnormal.
//------------------------------------------------------------------------------------//
1, // [0] InclineReject
0, // [1] Reserved
//====================================================================================//
// name: enter_cam_stable_timeout
// range: >= 0
// default: 10
// effect: AF algorithm will wait stable to start search when first time enter camera
// app, this value set a timeout frame. When timeout occur, start AF search
// directly.
//------------------------------------------------------------------------------------//
0, // [2] enter_cam_stable_timeout
},
//============================================================================================//
// Section: Advance Scene Change and Stable
// Description: This section adjusts Autofocus trigger sensitivity and stability.
//
//============================================================================================//
{
//i4AFv3Config[64]
//====================================================================================//
// Section: Scene Change at AF v3.0
// Description: this section parameter is valid on MT6755,MT6750,MT6735 series and later
//
//------------------------------------------------------------------------------------//
// [0]name: scene_reliable_thr
// range: >0
// default: 20000
// effect: increased this value if noise level is large.
//
// [2]name: scene_frame_time_thr
// range: >0
// default: 66 ms
// effect: setup threshold for long frame time
//------------------------------------------------------------------------------------//
20000, // [0]scene_reliable_thr
50, // [1]Reserved
66, // [2]scene_frame_time_thr
//====================================================================================//
//[3]name: g_sum_change_thr
// range: >=0
// default: 18
// effect: increased value to more stability, reduce to sensitivity
//
//[4]name: g_sum_change_num_high
//[5]name: g_sum_change_num_low
// range: >=0
// default: [4]4 [5]3
// effect: set both [4][5] to disable g sum scene change. if current frame time less
// than [2]scene_frame_time_thr, It will use [4] as change number, use [5] if
// low frame time. increased this value to improve stability but enlarge
// trigger time.
//------------------------------------------------------------------------------------//
18, // [3] g_sum_change_thr
2, // [4] g_sum_change_num_high
2, // [5] g_sum_change_num_low
//====================================================================================//
//[6]name: g_sum_stable_thr
// range: >=0
// default: 6
// effect: see [3]name: g_sum_change_thr
//
//[7]name: g_sum_stable_num_high
//[8]name: g_sum_stable_num_low
// range: >=0
// default: [7]4 [8]3
// effect: see [4]name: g_sum_change_num_high and [5]name: g_sum_change_num_low
//------------------------------------------------------------------------------------//
10, // [6]g_sum_stable_thr
3, // [7]g_sum_stable_num_high
3, // [8]g_sum_stable_num_low
//====================================================================================//
//[9] name: fv_change_up_ratio
//[10]name: fv_change_down_ratio
// range: >0
// default: [9]160 [10]65
// effect: reduce [9] or enlarge [10] will trigger AF more sensitivity. vice versa.
//
//[11]name: fv_change_num_high
//[12]name: fv_change_num_low
// range: >0
// default: [11]4 [12]3
// effect: see [4]name: g_sum_change_num_high and [5]name: g_sum_change_num_low
//------------------------------------------------------------------------------------//
230, // [9] fv_change_up_ratio
35, // [10] fv_change_down_ratio
5, // [11] fv_change_num_high
3, // [12] fv_change_num_low
//====================================================================================//
//[13]name: fv_stable_thr
// range: >=0
// default: 18
// effect: see [3]name: g_sum_change_thr
//
//[14]name: fv_stable_num_high
//[15]name: fv_stable_num_low
// range: >=0
// default: [14]4 [15]3
// effect: see [4]name: g_sum_change_num_high and [5]name: g_sum_change_num_low
//------------------------------------------------------------------------------------//
30, // [13]fv_stable_thr
2, // [14]fv_stable_num_high
2, // [15]fv_stable_num_low
//====================================================================================//
15, 5, 3, 3, 10, 5, 230, 30, 5, 3, 8, 10, 5, 0, 0, // [16]~[30] Reserved
//====================================================================================//
//[31]name: g_hist_change_thr
// range: >=0
// default: 0
// effect: see [3]name: g_sum_change_thr
//
//[32]name: g_hist_change_num_high
//[33]name: g_hist_change_num_low
// range: >=0
// default: [32]4 [33]3
// effect: see [4]name: g_sum_change_num_high and [5]name: g_sum_change_num_low
//------------------------------------------------------------------------------------//
0, // [31]g_hist_change_thr
0, // [32]g_hist_change_num_high
0, // [33]g_hist_change_num_low
//====================================================================================//
//[34]name: g_hist_stable_thr
// range: >=0
// default: 0
// effect: see [3]name: g_sum_change_thr
//
//[35]name: g_hist_stable_num_high
//[36]name: g_hist_stable_num_low
// range: >=0
// default: [35]4 [36]3
// effect: see [4]name: g_sum_change_num_high and [5]name: g_sum_change_num_low
//------------------------------------------------------------------------------------//
0, //[34]g_hist_stable_thr
0, //[35]g_hist_stable_num_high
0, //[36]g_hist_stable_num_low
//====================================================================================//
//[37]name:fv_stable_sum
//
//------------------------------------------------------------------------------------//
1, //[37]name:fv_stable_sum
//====================================================================================//
//[38]name: adaptive_comp_en
// range: 1 or 0
// default: 1
// effect: improve AF accuracy and mutual with damping compensation
//
//[39]name: lens_moving_time
// range: 5000~20000
// default: 12000
// effect: From calibration or module house
//------------------------------------------------------------------------------------//
1, //[38]ENABLE_ADAPTIVE_COMP
12000, //[39]m_i4LensMovTime
0, 0, 0, // [40~42] Ghist stable thr, h_cnt, l_cnt (video)
0,0,0,
0,0,0,0, // [43~49] reserved
80,50 // [50]SharpDecreaseTH [51]ShortDirchgReduceRatio
},
//============================================================================================//
// Section: Point Light AF
// Description: This section define the parameter of Autofocus when scene contain point light
//
//============================================================================================//
//====================================================================================//
//
// [0] name: af_enable_pl
// description: To enable PLAF or not.
// default: 1 (enable)
// data range: 0 or 1
// constraints: 0 or 1
// effect: 1 to enable PLAF.
//
//
// [1]~[5] pl_tuning_point (*)
//
// Ratio
// ^
// |
// R_top *(0, R_top)
// |\
// | \
// | \ PL scenes
// | \
// | \(A_s, R_s)
// R_s + *------------
// | |(A_b, R_b)
// R_b + Non-PL scenes *------------
// |
// |-----+-----------+---------------> Area
// 0 A_s A_b
//
// [1] name: pl_tuning_point_r_top
// default: 2500
// data range: pl_tuning_point_r_s to 2500
// [2] name: pl_tuning_point_a_s
// default: 2000000
// data range: 0 to pl_tuning_point_a_b
// [3] name: pl_tuning_point_r_s
// default: 300
// data range: pl_tuning_point_r_b to pl_tuning_point_r_top
// [4] name: pl_tuning_point_a_b
// default: 8000000
// data range: pl_tuning_point_a_s to 4294967295 (0xffffffff)
// [5] name: pl_tuning_point_r_b
// default: 140
// data range: 120 to pl_tuning_point_r_s
//
//
// *corner case
// ___________________________
// | * | * | * |
// |_ _|_ _ _ _ _ _ _ _ _ _|_ _|
// | | <-------->| |
// | * | pl_bound_limit| * |
// | | | |
// |_ _|_ _ _ _ _ _ _ _ _ _|_ _|
// | * | * | * |
// |___|___________________|___|
//
// [6] name: pl_bound_limit
// description: Define boundary for corner case.
// PLAF will have no effect when af window in corner case.
// default: 70
// data range: 40 to 100
// effect: The bigger the value is, the less corner cases happen.
//
//
// [7] name: pl_control_bit
// bit[0..7]
// description:
// - bit[0..3] ISO threshold for TAF. (x100)
// - bit[4..7] ISO threshold for CAF. (x100)
// PLAF will have no effect if ISO value is smaller than ISO threshold.
// default: 3 (means ISO 300)
// data range: 0 to 0xF
// effect: The bigger the value is, the less possibility to do PLAF.
//
// bit[8..11]
// - bit8
// description: To enable PL extract method.
// default: 0 (disable)
// data range: 0 or 1
// - bit9
// description: Move to infinity directly if detect PL.
// default: 0 (disable)
// data range: 0 or 1
// - bit10
// description: PLAF will have no effect when flash on.
// default: 1 (enable)
// data range: 0 or 1
// - bit11
// description: To enable new HW or not.
// version: PL 4.0
// default: 1 (enable)
// data range: 0 or 1
//
// bit[12..15]
// description: If the angle threshold is satisfied, this value determine how many
// times for raising PL detect line.
// default: 3 (means 1.3x)
// data range: 0 to 0xF = 1x, 1.1x, 1.2x, ...2.5x.
//
// bit[16..19]
// description: Camera angle of depression threshold. x(-10)
// default: 4 (means -40)
// data range: 0 to 0xF = 0, -10, -20, ... -150.
//
//
// [8] name: pl_temperature_error
// description: To compensate OTP infinity error if OTP infinity is always not
// accurate.
// default: 40
// data range: -250 to 250
//
//------------------------------------------------------------------------------------//
{
// i4PLAFCoefs[64]
1, // [0] af_enable_pl
2500, // [1] pl_tuning_point_r_top
2000000, // [2] pl_tuning_point_a_s
300, // [3] pl_tuning_point_r_s
8000000, // [4] pl_tuning_point_a_b
140, // [5] pl_tuning_point_r_b
70, // [6] pl_bound_limit
0x00033C11, // [7] pl_control_bit
40, // [8] pl_temperature_error
},
//============================================================================================//
// Section: Hybrid AF
// Description: The following parameter is use for hybrid AF, It's mean auto focus assist by
// extra source. ex: Phase Difference, Laser Distance, Stereo Depth ...etc
//
//============================================================================================//
{
//i4HybridAFCoefs[128]
//================================================================================//
//[0] name: hybrid_default_param
// range: 0 or 1
// default: 1
// constraints: none
// effect: set 0 will use default value pre-define in algorithm, the following
// parameter will be invalid.
//--------------------------------------------------------------------------------//
1, //[0] hybrid_default_param
//================================================================================//
// Section: Hybrid AF window config
// Description: this section control AF ROI and how many sub PD block use in the ROI.
//
//[1] name: tracking_width
//[2] name: tracking_height
// range: 1 ~ 100 (%)
// default: [1]37 [2]39
// constraints:
// effect: set how many percent image width and height to be hybrid af ROI at
// continue mode.
//[3] name: max_pd_win_x
//[4] name: max_pd_win_y
// range: 1~3
// default: [3]3 [4]3
// effect: maximal number of sub PD block use in the tracking_width and
// tracking_height. default using 3x3 window.
//--------------------------------------------------------------------------------//
37, //[1] tracking_width
47, //[2] tracking_height
3, //[3] max_pd_win_x
3, //[4] max_pd_win_y
//================================================================================//
0,0,0,0,0, //[5][6][7][8][9] Reserved
//================================================================================//
// Section: Hybrid AF fine search smooth
// Description: this section configuration fine search step size
// and smooth move to peak function.
//[10] name: finesearch_smooth_peak
// range: 0~999 (frame)
// default: 0
// constraints:
// effect: move to peak position with small step to get smooth effect. Increased
// this value to get stronger smooth effect but enlarge focus time. set 0
// to disable this function.
//
//[11] name: finesearch_step_caf_inf
//[12] name: finesearch_step_caf_mac
//[13] name: finesearch_step_fd_inf
//[14] name: finesearch_step_fd_mac
//[15] name: finesearch_step_taf_inf
//[16] name: finesearch_step_taf_mac
// range: 1~100 (%)
// default: [11]70 [12]50 [13]90 [14]80 [15]100 [16]100
// constraints:
// effect: set how many percent of AF table as fine search step at CAF, TAF and
// Face AF case. the larger this value, the large step used at fine
// search. inf and mac mean value at infinity and macro position,
// interpolated value at position between inf and mac.
//
//--------------------------------------------------------------------------------//
0, //[10] finesearch_smooth_peak
60, //[11] finesearch_step_caf_inf
50, //[12] finesearch_step_caf_mac
90, //[13] finesearch_step_fd_inf
80, //[14] finesearch_step_fd_mac
100, //[15] finesearch_step_taf_inf
100, //[16] finesearch_step_taf_mac
//================================================================================//
0,0,0, //[17][18][19] Reserved
//================================================================================//
// Section: Hybrid AF Mark Control
// Description: This section control AF mark (focusing window at UI)
// display or not in some condition.
//[20] name: af_mark_confidence
// range: 0~100
// default: 20
// constraints:
// effect: this parameter control the threshold between show AF mark (contrast AF)
// and no show (hybrid AF). increased this value will increased
// probability the AF mark display.
//
//[21] name: af_mark_fps
// range: >= 0
// default: 15
// constraints:
// effect: display af mark when fps is lower than this parameter. At low light
// condition, force show af mark to prevent user take picture before
// AF search done.
//--------------------------------------------------------------------------------//
20, //[20] af_mark_confidence
15, //[21] af_mark_fps
//================================================================================//
0, //[22] Reserved
//================================================================================//
// Section: Trigger Sensitivity
//[23] name: trigger_sensitivity_caf
//[24] name: trigger_sensitivity_taf
// range: >=0
// default: [23]3 [24]3
// constraints:
// effect: Increased this value will let AF trigger more stability but trigger
// time will longer.
//--------------------------------------------------------------------------------//
2, //[23] trigger_sensitivity_caf
3, //[24] trigger_sensitivity_taf
//================================================================================//
// Section: Timeout
// Description: Timeout and special condition handle
//[25] name: move_source_invalid_timeout
// range: >= 0
// default: 5
// constraints:
// effect: timeout frame when hybrid source is invalid. It will switch to
// contrast AF when timeout occur.
//
//[26] name: move_timeout
// range: >= 0
// default: 40
// constraints:
// effect: timeout frame under moving lens by hybrid source.
//
//[27] name: fine_search_timeout
// range: >= 0
// default: 12
// constraints:
// effect: timeout frame when fine search. fine search will force finish when
// exceed this value.
//--------------------------------------------------------------------------------//
5, //[25] move_source_invalid_timeout
40, //[26] move_timeout
12, //[27] fine_search_timeout
//================================================================================//
0,0,0,0,0,//[28][29][30][31][32] Reserved
//================================================================================//
// Description: Move and Finesearch Behavior Control Bit
// [33] name: mov_fs_behavior
// default: 0xF4 (1111 0100)
// effect:
// [b0]: reserved
// [b1]: reserved
// [b2]: lock AE when fine search
// [b3]: reserved
// [b4]: [ON]do CAF when fine search timeout [OFF]stop at last position
// [b5]: [ON]fine search using sub win ROI [OFF]use whole tracking ROI
// [b6]: reserved
// [b7]: [ON]do fine search when moving timeout [OFF]stop at last position
//--------------------------------------------------------------------------------//
0x000000DF, //[33] mov_fs_behavior
//================================================================================//
// Description: frame control
// [34] name: fs_frame_control
// default: 0
// effect: [0] move lens per-frame when fine search
// [1] move lens each 2 frame when fine search
//--------------------------------------------------------------------------------//
0, //[34] fs_frame_control
0, //[35] keep default
//================================================================================//
321,321,123,// [36][37][38] keep default
//================================================================================//
0, //[39]Reserved
//================================================================================//
// Section: Scene Stable for Fine Search
// Description: configuration for scene stable before fine search
//
//[40] name: fine_search_scene_stable_mask
// range: 0x1F or 0x18
// default: 0x1F
// constraints:
// effect:
//[41] name: fine_search_stable_fv
//[42] name: fine_search_stable_gs
//[43] name: fine_search_stable_gh
//[44] name: fine_search_stable_acce
//[45] name: fine_search_stable_gyro
// range: >= 0
// default: [41]2 [42]2 [43]2 [44]3 [45]3
// constraints:
// effect: decreased this value will reduce wait scene stable time before fine
// search but also decrease stability
//--------------------------------------------------------------------------------//
0x0000001E,//[40] fine_search_scene_stable_mask
1, //[41] fine_search_stable_fv
2, //[42] fine_search_stable_gs
2, //[43] fine_search_stable_gh
2, //[44] fine_search_stable_acce
2, //[45] fine_search_stable_gyro
//================================================================================//
0, //[46]
0, //[47] fine_search_dir_chg_mode
10000, //[48] keep default
30, //[49] keep default
0, //[50]
1, //[51] fs_pl_check
100, // [52] fs_pl_gsum_th
150, // [53] fs_pl_scnt_th
300, // [54] fs_pl_scnt_min_th
220, // [55] fs_pl_hw_th
150, //[56] fs_pl_abnormal_gsum_th
150, // [57] fs_pl_abnormal_scnt_th
3, // [58] fs_pl_sample_count
//[59] Reserved
0,
1, // [60] HbMovingLowConfFirst
30, // [61] HbReverse_check
15, // [62] HbReverse_check
// [63~128] Reserved
},
//====================================================================================//
// Section: PD Source
// Description: The following parameter is use for hybrid AF with PD source
//
//====================================================================================//
{
//i4PDAFCoefs[64]
//================================================================================//
//[0] name: pd_default_param
// range: 0 or 1
// default: 1
// constraints: none
// effect: set 0 will use default value pre-define in algorithm, the following
// parameter will be invalid.
//--------------------------------------------------------------------------------//
1, //[0] pd_default_param
//================================================================================//
//[1] name: pd_enable
// range: 0 or 1
// default: 1
// constraints: none
// effect: set 1 to enable PD source, set 0 OFF
//--------------------------------------------------------------------------------//
1, //[1] pd_enable
//================================================================================//
// Section: PD Confidence Behavior
// Description: this section will define the PDAF behavior on difference confidence
// level.
//
//[2] name: pd_weak_caf
//[3] name: pd_strong_caf
//[4] name: pd_weak_taf
//[5] name: pd_strong_taf
// range: >= 0
// default: [2]50 [3]110 [4]50 [5]110
// constraints: strong threshold must > weak threshold
// effect: Do contrast AF when confidence below weak threshold. Direct jump to
// target(no fine search) when confidence large than strong threshold.
// Do normal PDAF when confidence between weak and strong.
//
//[6] name: pd_weak_multi_source
//[7] name: pd_strong_multi_source
// range: >= 0
// default: [6]50 [7]70
// constraints: strong threshold must > weak threshold
// effect:
//--------------------------------------------------------------------------------//
50, //[2] pd_weak_caf
110, //[3] pd_strong_caf
50, //[4] pd_weak_taf
110, //[5] pd_strong_taf
50, //[6] pd_weak_multi_source
70, //[7] pd_strong_multi_source
//================================================================================//
5,1,0, //[8][9][10] keep default
//================================================================================//
// Section: PD moving speed and behavior
//[11] name: pd_move_mode_inf
//[12] name: pd_move_speed_inf
//[13] name: pd_move_mode_mac
//[14] name: pd_move_speed_mac
// range: [11][13]1~4 [12][14]0~100
// default: [11]3 [12]66 [13]3 [14]66
// constraints:
// effect: mode 1&3: move approach target by [12][14]% of distance
// mode 2&4: move to target by [12][14]% of AF table step
// ex: current VCM position is 100, PD target is 500, assume af table size is 50.
// mode 1&3: 100 -> 364(66%) -> 453(66%) -> 500
// mode 2&4: 100 -> 250(300%) -> 400(300%) -> 500
//[15] name: pd_move_ext_inf
//[16] name: pd_move_ext_mac
//
//--------------------------------------------------------------------------------//
1, //[11] pd_move_mode_inf
66, //[12] pd_move_speed_inf
1, //[13] pd_move_mode_mac
66, //[14] pd_move_speed_mac
120, //[15] pd_move_ext_inf
120, //[16] pd_move_ext_mac
//================================================================================//
65, //[17] touch speed-up
//================================================================================//
//Section: PD converge threshold
//[18] name: pd_converge_threshold_inf
//[19] name: pd_converge_threshold_mac
// range: >= 0
// default: 150 %
// constraints:
// effect:
//--------------------------------------------------------------------------------//
120, //[18] pd_converge_threshold_inf
120, //[19] pd_converge_threshold_mac
//================================================================================//
0, //[20] reserved
//================================================================================//
// Section: PD scene change
// Description: this section define how to use PD target as scene change source.
//
//[21] name: pd_scene_enable
// range: 0 or 1
// default: 0
// effect: set 1 to let PD target change as scene change.
//[22] name: pd_change_frame
// range: >0
// default: 10
// effect: increased this value to improve PDAF trigger stability decreased to
// improve sensitivity.
//[23] name: pd_change_thr
// range: >= 0
// default: 90
// effect: increased this value to improve PDAF trigger stability decreased to
// improve sensitivity.
//[24] name: pd_stable_frame
// range: >0
// default: 10
//[25] name: pd_stable_thr
// range: >0
// default: 90
//[26] name: pd_valid_confidence
// range: 0~100
// default: 70
// effect: set what's confidence level data will use for PD scene change.
//--------------------------------------------------------------------------------//
1, //[21] pd_scene_enable
5, //[22] pd_change_frame
150, //[23] pd_change_thr
5, //[24] pd_stable_frame
150, //[25] pd_stable_thr
60, //[26] pd_valid_confidence
//================================================================================//
0,0,//[27][28] Reserved
//================================================================================//
//Section: PD trigger threshold
//[29] name: pd_trigger_threshold_inf
//[30] name: pd_trigger_threshold_mac
// range: >= 0
// default: 150 %
// constraints:
// effect: set how may target DAC change will trigger PDAF.
// ex: Let af table size at inf side is 30 and [18]=150, PDAF will trigger when
// PD target DAC change large than 30 x 150% = 45 DAC
//--------------------------------------------------------------------------------//
150, //[29] pd_trigger_threshold_inf
150, //[30] pd_trigger_threshold_mac
//================================================================================//
0, //[31] Reserved
200,200,1, //[32][33][34] keep default
//[35]~[63] reserved
},
//====================================================================================//
// Section: LD Source
// Description: The following parameter is use for hybrid AF with Laser source, check
// corresponding field at PD Source section.
//
//====================================================================================//
{
//i4LDAFCoefs[64]
1, //[0] ld_default_param
0, //[1] ld_enable
50, //[2] ld_weak_caf
110, //[3] ld_strong_caf
50, //[4] ld_weak_taf
110, //[5] ld_strong_taf
50, //[6] ld_weak_multi_source
70, //[7] ld_strong_multi_source
5,0,0, //[8][9][10] keep default
1, //[11] ld_move_mode_inf
66, //[12] ld_move_speed_inf
1, //[13] ld_move_mode_mac
66, //[14] ld_move_speed_mac
100, //[15] ld_move_ext_inf
100, //[16] ld_move_ext_mac
65, //[17] touch speed-up
150, //[18] ld_converge_threshold_inf
150, //[19] ld_converge_threshold_mac
0, //[20] reserved
0, //[21] ld_scene_enable
10, //[22] ld_change_frame
90, //[23] ld_change_thr
10, //[24] ld_stable_frame
90, //[25] ld_stable_thr
70, //[26] ld_valid_confidence
0,0, //[27][28] Reserved
150, //[29] ld_trigger_threshold_inf
150, //[30] ld_trigger_threshold_mac
//[31]~[64] reserved
},
//====================================================================================//
// Section: SD Source
// Description: The following parameter is use for hybrid AF with Stereo Depth source,
// check corresponding field at PD Source section
//
//====================================================================================//
{
//i4SDAFCoefs[64]
1, //[0] sd_default_param
0, //[1] sd_enable
50, //[2] sd_weak_caf
110, //[3] sd_strong_caf
50, //[4] sd_weak_taf
110, //[5] sd_strong_taf
50, //[6] sd_weak_multi_source
70, //[7] sd_strong_multi_source
5,0,0, //[8][9][10] keep default
1, //[11] sd_move_mode_inf
66, //[12] sd_move_speed_inf
1, //[13] sd_move_mode_mac
66, //[14] sd_move_speed_mac
100, //[15] sd_move_ext_inf
100, //[16] sd_move_ext_mac
65, //[17] touch speed-up
150, //[18] sd_converge_threshold_inf
150, //[19] sd_converge_threshold_mac
0, //[20] reserved
0, //[21] sd_scene_enable
10, //[22] sd_change_frame
90, //[23] sd_change_thr
10, //[24] sd_stable_frame
90, //[25] sd_stable_thr
70, //[26] sd_valid_confidence
0,0, //[27][28] Reserved
150, //[29] sd_trigger_threshold_inf
150, //[30] sd_trigger_threshold_mac
//[31]~[64] reserved
},
//============================================================================================//
// Section: FDAF v4.0
// Description: The following parameters for Face AF tuning
//
//============================================================================================//
{
//i4FaceAFCoefs[64]
//================================================================================//
// [0] name: face_af_enable
// range: 0 or 1
// default: keep 1
// effect: enable FaceAF v4.0
// [1] name: face_af_tracking_enable
// range: 0 or 1
// default: keep 0
// effect: enable pd tracking for FaceAF
//--------------------------------------------------------------------------------//
1, //[0] face_af_enable
0, //[1] face_af_tracking_enable
//================================================================================//
// [2] name: face_reliable_weight
// range: 0 ~ 3
// default: 1
// effect: add more detect cnt for reliable FD result
// [3] name: face_detect_num
// range: 2 ~ 30
// default: 5
// effect: face detected cnt > face_detect_num and stable, FD status = 1
// [4] name: face_none_num
// range: 2 ~ 30
// default: 5
// effect: face not detected cnt > face_none_num and stable, FD status = 0
// [5] name: face_no_input_num
// range: 2 ~ 30
// default: 10
// effect: face no input cnt > face_no_input_num, FD status = 0
// [6~10] reserved 5 fields
//--------------------------------------------------------------------------------//
1, //[2] face_reliable_weight
5, //[3] face_detect_num
5, //[4] face_none_num
10,//[5] face_no_input_num
0,0,0,0,0, //[6]~[10] reserved 5 fields
//================================================================================//
// Section: Face AF trigger control
// [11] name: change_mode
// range: 0 or 1
// default: 0
// effect: set 1 for horizontal face movement AF re-trigger
// [12] name: change_threshold
// range: 1 ~ 99 (%)
// default: 70
// effect: face change when ratio < change_threshold
// [13] name: change_range
// range: 3 ~ 20
// default: 5
// effect: face change check range, should >= change_num
// [14] name: change_num
// range: 3 ~ 20
// default: 5
// effect: face change check number, should <= change_range
//--------------------------------------------------------------------------------//
// [15] name: stable_mode
// range: 0
// default: 0
// effect: reserved
// [16] name: stable_threshold
// range: 1 ~ 99 (%)
// default: 80
// effect: face stable when ratio > stable_threshold
// [17] name: stable_range
// range: 3 ~ 20
// default: 7
// effect: face stable check range, should >= stable_num
// [18] name: stable_num
// range: 3 ~ 20
// default: 7
// effect: face stable check number, should <= stable_range
//--------------------------------------------------------------------------------//
// [19] name: timeout_num
// range: 3 ~ 60
// default: 30
// effect: when face unstable count > timeout_num, then re-trigger AF
// [20~24] reserved 5 fields
// [25~30] reserved 6 fields
//--------------------------------------------------------------------------------//
0, //[11] change_mode
50,//[12] change_threshold
5, //[13] change_range
5, //[14] change_num
0, //[15] stable_mode
65,//[16] stable_threshold
7, //[17] stable_range
7, //[18] stable_num
30,//[19] timeout_num
0,0,0,0,0, //[20~24] reserved 5 fields
0,0,0,0,0,0,//[25~30] reserved 6 fields
//================================================================================//
// Section: OT AF trigger control
// [31] name: change_mode
// [32] name: change_threshold
// [33] name: change_range
// [34] name: change_num
//--------------------------------------------------------------------------------//
// [35] name: stable_mode
// [36] name: stable_threshold
// [37] name: stable_range
// [38] name: stable_num
//--------------------------------------------------------------------------------//
// [39] name: timeout_num
// [40~44] reserved 5 fields
// [45~50] reserved 6 fields
//--------------------------------------------------------------------------------//
0, //[31] change_mode
40,//[32] change_threshold
5, //[33] change_range
5, //[34] change_num
0, //[35] stable_mode
70,//[36] stable_threshold
10,//[37] stable_range
10,//[38] stable_num
30,//[39] timeout_num
0,0,0,0,0, //[40~44] reserved 5 fields
0,0,0,0,0,0,//[45~50] reserved 6 fields
},
//============================================================================================//
// Section: 3DAF
// Description: Reserved
//
//============================================================================================//
{
//i43DAFCoefs[64]
0
},
//============================================================================================//
// Section: Multi-Zone AF
// Description: The following parameter is use for multi-zone AF
//
//============================================================================================//
{
//i4MultiAFCoefs[64]
//================================================================================//
// Section: Multi-zone AF area size
// Description: This section define multi-zone AF focus area.
// [0] name: MZ_size_width
// [1] name: MZ_size_height
// range: 15~50
// default: width=37 height=38
// constraints:
// effect: Larger ROI means more stability but low ability for focus on main object
// In general, this parameters need match with customer's UI
//--------------------------------------------------------------------------------//
37, //[0] MZ_size_width
38, //[1] MZ_size_height
//================================================================================//
// Section: Multi-zone AF normal peak threshold
// Description: This section define normal peak in multi-zone AF.
//
// [2] name: MZ_nor_main_TH
// [3] name: MZ_nor_sub_TH
// range: 3~40
// default: main=10 sub=7
// constraints:
// effect: Higher threshold means more stable result, more overshoot, more AF time
//--------------------------------------------------------------------------------//
10, //[2] MZ_nor_main_TH
7, //[3] MZ_nor_sub_TH
//================================================================================//
// Section: Multi-zone AF strong peak threshold
// Description: This section define strong peak in multi-zone AF. Strong peak lead
// search converge or reverse early.
//
// [4] name: MZ_str_main_TH
// [5] name: MZ_str_sub_TH
// range: 15~60
// default: main=30 sub=20
// constraints:
// effect: Higher threshold means more stable result, more overshoot, more AF time
//--------------------------------------------------------------------------------//
30, //[4] MZ_str_main_TH
20, //[5] MZ_str_sub_TH
//================================================================================//
// Section: Multi-zone AF long sample number threshold
// Description: This section define long sample in multi-zone AF. Long curve need
// more ratio for judge peak.
//
// [6] name: MZ_long_sample_num_TH
// range: 4~8
// default: 6
// constraints:
// effect: Higher threshold let peak judge by smaller ratio means more unstable
// result but less overshoot and AF time.
//--------------------------------------------------------------------------------//
6, //[6] MZ_long_sample_num_TH
//================================================================================//
// Section: Multi-zone AF long sample peak threshold
// Description: This section define long sample peak ratio in multi-zone AF. Long
// sample curve need more ratio for judge peak.
//
// [7] name: MZ_long_main_TH
// [8] name: MZ_long_sub_TH
// range: 8~45
// default: main=15 sub=10
// constraints: Must larger than [2] MZ_nor_main_TH [3] MZ_nor_sub_TH
// effect: Higher threshold means more stable result, more overshoot, more AF time
//--------------------------------------------------------------------------------//
15, //[7]MZ_long_main_TH
10, //[8]MZ_long_sub_TH
//================================================================================//
// Section: Multi-zone AF extreme long sample number threshold
// Description: This section define extreme long sample in multi-zone AF. Extreme
// long curve need more ratio for judge peak.
//
// [9] name: MZ_ext_long_sample_num_TH
// range: 8~15
// default: 10
// constraints: Must larger than [6] MZ_long_sample_num_TH
// effect: Higher threshold let peak judge by smaller ratio means more unstable
// result but less overshoot and AF time.
//--------------------------------------------------------------------------------//
10, //[9] MZ_ext_long_sample_num_TH
//================================================================================//
// Section: Multi-zone AF extreme long sample peak threshold
// Description: This section define extreme long sample peak ratio in multi-zone
// AF. Extreme long curve need more ratio for judge peak.
//
// [10] name: MZ_ext_long_main_TH
// [11] name: MZ_ext_long_sub_TH
// range: 15~60
// default: main=50 sub=40
// constraints: Must larger than [7]MZ_long_main_TH [8]MZ_long_sub_TH
// effect: Higher threshold means more stable result, more overshoot, more AF time
//--------------------------------------------------------------------------------//
50, //[10] MZ_ext_long_main_TH
40, //[11] MZ_ext_long_sub_TH
//================================================================================//
// Section: Multi-zone AF normal and strong increase//decrease ratio threshold
// Description: This section define normal and strong increase//decrease curve.
// Increase//decrease curve dominate search strategy.
//
// [12] name: MZ_nor_inc_ratio_TH
// [13] name: MZ_str_inc_ratio_TH
// range: 5~20
// default: normal=7 str=10
// constraints: Normal TH < Strong TH
// effect: Higher threshold means more stable result, more overshoot, more AF time
//--------------------------------------------------------------------------------//
7, //[12] MZ_nor_inc_ratio_TH
10, //[13] MZ_str_inc_ratio_TH
//================================================================================//
// Section: Multi-zone AF flat status define
// Description: This section define flat curve. If sample > TH && Ratio < TH means
// flat curve.
//
// [14] name: MZ_flat_ratio_TH
// [15] name: MZ_flat_num_TH
// range: [14]5~15 [15]3~8
// default: [14]ratio TH=10 [15]num TH=4
// constraints:
// effect: Higher threshold means more stable result, more overshoot, more AF time
//--------------------------------------------------------------------------------//
10, //[14] MZ_flat_ratio_TH
4, //[15] MZ_flat_num_TH
//================================================================================//
// Section: Multi-zone AF abnormal curve define
// Description: This section define abnormal curve. If curve of G-sum & saturation
// count change ratio over TH we mark as abnormal. But we do not judge
// abnormal by only S-cnt because of some bright object make S-cnt
// change so we need one more smaller G sum TH when S-cnt change over TH
//
// [16] name: MZ_abGsum_ratio_TH
// [17] name: MZ_abScnt_ratio_TH
// [18] name: MZ_abGsumOnabScnt_ratio_TH
// range: [16]3~20 [17]10~40 [18]2~10
// default: G-sum=10 S-cnt=20 G-sum on abnormal S-cnt= 2
// constraints: [16] > [18]
// effect: Higher threshold means AF easier focus on low contrast object but
// unstable result.
//--------------------------------------------------------------------------------//
10, //[16] MZ_abGsum_ratio_TH
20, //[17] MZ_abScnt_ratio_TH
2, //[18] MZ_abGsumOnabScnt_ratio_TH
//================================================================================//
// Section: Multi-zone S-cnt reliable define
// Description: S-cnt lower than TH make ratio has no reference value
// [19] name: MZ_Scnt_reliable_TH
// range: [19]50~500
// default: 100
// constraints:
// effect: Higher threshold means S-cnt may not referenced
//--------------------------------------------------------------------------------//
100, //[19] MZ_Scnt_reliable_TH
//================================================================================//
// Section: Multi-zone concave curve define
// Description: This section define concave curve by downward ratio (percentage)
// [20] name: MZ_concave_ratio_TH
// range: 2~10
// default: 5
// constraints:
// effect: Higher threshold means AF easier focus on low contrast object but
// unstable result.
//--------------------------------------------------------------------------------//
5, //[20] MZ_concave_ratio_TH
//================================================================================//
// Section: Multi-zone unknown curve define
// Description: This section define unknown curve by sample number
// [21] name: MZ_unknown_num_TH
// range: 3~5
// default: 3
// constraints:
// effect: This threshold means AF at least search such sample number
//--------------------------------------------------------------------------------//
3, //[21] MZ_unknown_num_TH
//================================================================================//
// Section: Multi-zone FV reliable define
// Description: Which zone has FV lower than TH has no reference value
// [22] name: MZ_FV_reliable_TH
// range: 5000~50000
// default: 20000
// constraints:
// effect: Higher threshold means AF easier focus on low contrast object but
// unstable result.
//--------------------------------------------------------------------------------//
20000, //[22] MZ_FV_reliable_TH
//================================================================================//
0,1,2,4,50, //[23]~[27] preserve
//================================================================================//
// Section: Multi-zone UI control
// Description: This section define tolerance of UI which should show green bracket
// or not.
//
// [28] name: MZ_macro_tol_TH
// [29] name: MZ_inf_tol_TH
// range: 10~200
// default: macro = 30 inf =20
// constraints:
// effect: Higher threshold means more green bracket
//--------------------------------------------------------------------------------//
30, //[28] MZ_macro_tol_TH
20, //[29] MZ_inf_tol_TH
//================================================================================//
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, //[30]~[47]Reserve
//================================================================================//
// Section: Multi-zone overlap ratio define
// Description: This section define overlap ratio between zone and zone
// [48] name: MZ_FV_overlap_ratio
// range: 100~200
// default: 130
// constraints:
// effect: Higher overlap ratio means AF more stable but weak ability of focus on
// main object.
//--------------------------------------------------------------------------------//
130, //[48] MZ_FV_overlap_ratio
//================================================================================//
// Section: Multi-zone Saturation level define
// Description: This section define saturation level
// [49] name: MZ_FV_overlap_ratio
// range: 180~254
// default: 230
// constraints:
// effect: Higher threshold means bright pixels may not calculated
//--------------------------------------------------------------------------------//
230, //[49] MZ_FV_overlap_ratio
//================================================================================//
// Section: Multi-zone search strategy
// Description: This section define how many sample backward for start search.
// Back from current position or PD target.
//
// [50] name: MZ_BK_sample_num
// range: 1~5
// default: 3
// constraints:
// effect: Higher sample means less reverse at start but may search more samples
//--------------------------------------------------------------------------------//
3, // [50] MZ_BK_sample_num
//================================================================================//
// Section: Multi-zone fail position
// Description: This section define the final position index of failed zone
// [51] name: MZ_fail_posidx
// range: 0~8
// default: 3
// constraints: Should smaller than total sample
// effect: Higher index means AF result closer to macro when AF fail
//--------------------------------------------------------------------------------//
3, //[51] MZ_fail_posidx
//================================================================================//
// Section: Multi-zone trigger strategy
// Description: This section define multi-zone AF triggered by focused zone or all
// zone.
// [52] name: MZ_trigger_focused
// range: 0~1
// default: 0 ( all zone )
// constraints:
// effect: As description
//--------------------------------------------------------------------------------//
0, // [52] MZ_trigger_focused
},
//============================================================================================//
// Section:
// Description:
//
//============================================================================================//
{
//i4TempErr[64]
0
},
//============================================================================================//
// Section: Zoom Effect
// Description:The following parameter is use for zoom effect control
//
//============================================================================================//
{
//==========================================================================//
// Section: Zoom effect ROI compensation
// Description: Enable//disable ROI compensation
// [0] name: ZE_ROI_comp_enable
// range: 0~1
// default: 1
// constraints: Need tuning data [5] MZ_ZE_ratio or do not compensate
// effect: As description
//--------------------------------------------------------------------------//
1,
//==========================================================================//
// Section: Zoom effect extract method
// Description: Extract stable area for reduce affect by zoom effect.
// The curve extract with hand shake images may worse than original so we have a threshold for gyro thrshold for abort extract.
// [1] name: ZE_ext_enable
// [2] name: ZE_Gyro_TH
// [3] name: ZE_Gsum_TH
// [4] name: ZE_Scnt_TH
// range: [1]0~1 [2]5~20 [3] 16~48 [4] 30~80
// default: [1]1 [2]10 [3] 24 [4] 48
// constraints:
// effect: [1]Enable//disable zoom effect extract method
// [2]Higher TH means less abort while hand shake
// [3][4]Higher TH means extract more
//--------------------------------------------------------------------------//
1,
10,
24,
48,
//==========================================================================//
// Section: Zoom effect ROI compensation tuning data
// Description: Zoom effect scale ratio. This parameters generated by tuning tool
// [5] name: ZE_ratio
// range: 400~800
// default: 618
// constraints:
// effect: Need generate by tuning tool
//--------------------------------------------------------------------------//
550,
},//i4ZoEffect[64]
//============================================================================================//
// Section: Dual Camera
// Description:
//
//============================================================================================//
{0},//i4DualAFCoefs[512]
//=====================================================================================//
{0} //reserved[256]
},
//PD_NVRAM_T
{
// rCaliData
{
// uData
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0
},
0 // i4Size
},
// rTuningData
{
96, // i4FocusPDSizeX
64, // i4FocusPDSizeY
// i4ConfIdx1
{
10, 30, 50, 70, 100
},
// i4ConfIdx2
{
384, 410, 435, 461, 486
},
// i4ConfTbl
{
{
0, 0, 0, 0, 0, 0
},
{
0, 0, 0, 0, 0, 0
},
{
0, 20, 20, 20, 20, 20
},
{
0, 20, 60, 60, 60, 60
},
{
0, 20, 60, 60, 60, 60
},
{
0, 20, 60, 60, 60, 100
}
},
240, // i4SaturateLevel
1, // i4SaturateThr
1, // i4ConfThr
// i4Reserved
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
// i4V5Config
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0
}
}
},
//DUALCAM_NVRAM_T
{
0, // i4BufferState
0, // i4PosStatCnt
// i4PosData
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0
}
},
};