/* 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 } }, };