lens_para_bu64297af
#include <utils/Log.h>
#include <fcntl.h>
#include <math.h>
#include "camera_custom_nvram.h"
#include "camera_custom_lens.h"
const NVRAM_LENS_PARA_STRUCT bu64297af_LENS_PARA_DEFAULT_VALUE =
{
//Version
NVRAM_CAMERA_LENS_FILE_VERSION,
// Focus Range NVRAM
{0, 1023},
// AF NVRAM
{
// ------------------------------ sAF_Coef -----------------------------------------
{
{
410, // i4Offset
10, // i4NormalNum
10, // i4MacroNum
1, // i4InfIdxOffset
14, // i4MacroIdxOffset
{
0, 26, 52, 78, 104, 130, 156, 192, 238, 265,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}
},
15, // i4THRES_MAIN
6, // i4THRES_SUB
1, // i4AFC_FAIL_CNT
0, // i4FAIL_POS
4, // i4INIT_WAIT
{500, 500, 500, 500, 500}, // i4FRAME_WAIT
0, // i4DONE_WAIT
},
// ------------------------------ sVAFC_Coef -----------------------------------------
{
{
410, // i4Offset
10, // i4NormalNum
10, // i4MacroNum
1, // i4InfIdxOffset
14, // i4MacroIdxOffset
{
0, 26, 52, 78, 104, 130, 156, 192, 238, 265,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}
},
15, // i4THRES_MAIN
6, // i4THRES_SUB
1, // i4AFC_FAIL_CNT
0, // i4FAIL_POS
4, // i4INIT_WAIT
{500, 500, 500, 500, 500}, // i4FRAME_WAIT
0, // i4DONE_WAIT
},
// -------------------- sAF_TH ---------------------
{
8, // i4ISONum;
{100, 150, 200, 300, 400, 600, 800, 1600},
// SGG1~7
{
{21, 21, 21, 20, 20, 20, 20, 19},
{30, 30, 30, 30, 30, 29, 29, 28},
{44, 44, 43, 43, 43, 43, 43, 42},
{63, 62, 62, 62, 62, 62, 62, 61},
{89, 89, 89, 89, 89, 89, 88, 88},
{127, 127, 127, 127, 127, 126, 126, 126},
{180, 180, 180, 180, 180, 180, 180, 180},
},
// horizontal FV baseline
{0, 0, 0, 0, 0, 0, 0, 0},
// horizontal FV min. threshold
{2000, 2000, 2000, 1000, 1000, 1000, 800, 800},
// horizontal FV threshold
{1, 1, 1, 2, 2, 2, 2, 2},
// vertical FV baseline
{0, 0, 0, 0, 0, 0, 0, 0},
// vertical FV min. threshold
{0, 0, 0, 0, 0, 0, 0, 0},
// vertical FV threshold
{1, 1, 1, 2, 2, 2, 2, 2},
},
// -------------------- sZSD_AF_TH ---------------------
{
8, // i4ISONum;
{100, 150, 200, 300, 400, 600, 800, 1600},
// SGG1~7
{
{20, 19, 19, 18, 18, 17, 17, 15},
{29, 29, 28, 28, 27, 26, 26, 25},
{42, 42, 42, 41, 41, 40, 39, 38},
{61, 61, 61, 60, 60, 59, 58, 57},
{88, 88, 88, 87, 87, 86, 86, 84},
{126, 126, 126, 125, 125, 124, 124, 123},
{180, 180, 180, 179, 179, 179, 179, 178},
},
// horizontal FV baseline
{0, 0, 0, 0, 0, 0, 0, 0},
// horizontal FV min. threshold
{2000, 2000, 2000, 1000, 1000, 1000, 800, 800},
// horizontal FV threshold
{2, 2, 2, 2, 2, 3, 3, 4},
// vertical FV baseline
{0, 0, 0, 0, 0, 0, 0, 0},
// vertical FV min. threshold
{0, 0, 0, 0, 0, 0, 0, 0},
// vertical FV threshold
{2, 2, 2, 2, 2, 3, 3, 4},
},
// ------------------- sVID_AF_TH -----------------------------------
{
8, // i4ISONum;
{100, 150, 200, 300, 400, 600, 800, 1600},
// SGG1~7
{
{20, 19, 19, 18, 18, 17, 17, 15},
{29, 29, 28, 28, 27, 26, 26, 25},
{43, 42, 42, 41, 41, 40, 39, 38},
{62, 61, 61, 60, 60, 59, 59, 57},
{88, 88, 88, 87, 87, 86, 86, 84},
{126, 126, 126, 125, 125, 125, 124, 123},
{180, 180, 180, 180, 179, 179, 179, 178},
},
{0, 0, 0, 0, 0, 0, 0, 0}, // i4FV_DC[ISO_MAX_NUM];
{2000, 2000, 100, 100, 100, 100, 800, 800},// i4MIN_TH[ISO_MAX_NUM];
{2, 2, 2, 2, 2, 3, 3, 4}, // i4HW_TH[ISO_MAX_NUM];
{0, 0, 0, 0, 0, 0, 0, 0}, // i4FV_DC2[ISO_MAX_NUM];
{0, 0, 0, 0, 0, 0, 0, 0}, // i4MIN_TH2[ISO_MAX_NUM];
{2, 2, 2, 2, 2, 3, 3, 4} // i4HW_TH2[ISO_MAX_NUM];
},
// -------------------- sVID1_AF_TH ---------------------
{
8, // i4ISONum;
{100,150,200,300,400,600,800,1600}, // i4ISO[ISO_MAX_NUM];
// SGG1~7
{
{20, 19, 19, 18, 18, 17, 17, 15},
{29, 29, 28, 28, 27, 26, 26, 25},
{43, 42, 42, 41, 41, 40, 39, 38},
{62, 61, 61, 60, 60, 59, 59, 57},
{88, 88, 88, 87, 87, 86, 86, 84},
{126, 126, 126, 125, 125, 125, 124, 123},
{180, 180, 180, 180, 179, 179, 179, 178},
},
{0, 0, 0, 0, 0, 0, 0, 0}, // i4FV_DC[ISO_MAX_NUM];
{2000, 2000, 100, 100, 100, 100, 800, 800},// i4MIN_TH[ISO_MAX_NUM];
{2, 2, 2, 2, 2, 3, 3, 4}, // i4HW_TH[ISO_MAX_NUM];
{0, 0, 0, 0, 0, 0, 0, 0}, // i4FV_DC2[ISO_MAX_NUM];
{0, 0, 0, 0, 0, 0, 0, 0}, // i4MIN_TH2[ISO_MAX_NUM];
{2, 2, 2, 2, 2, 3, 3, 4} // i4HW_TH2[ISO_MAX_NUM];
},
// -------------------- sVID2_AF_TH ---------------------
{
8, // i4ISONum;
{100,150,200,300,400,600,800,1600}, // i4ISO[ISO_MAX_NUM];
// SGG1~7
{
{20, 19, 19, 18, 18, 17, 17, 15},
{29, 29, 28, 28, 27, 26, 26, 25},
{43, 42, 42, 41, 41, 40, 39, 38},
{62, 61, 61, 60, 60, 59, 59, 57},
{88, 88, 88, 87, 87, 86, 86, 84},
{126, 126, 126, 125, 125, 125, 124, 123},
{180, 180, 180, 180, 179, 179, 179, 178},
},
{0, 0, 0, 0, 0, 0, 0, 0}, // i4FV_DC[ISO_MAX_NUM];
{2000, 2000, 100, 100, 100, 100, 800, 800},// i4MIN_TH[ISO_MAX_NUM];
{2, 2, 2, 2, 2, 3, 3, 4}, // i4HW_TH[ISO_MAX_NUM];
{0, 0, 0, 0, 0, 0, 0, 0}, // i4FV_DC2[ISO_MAX_NUM];
{0, 0, 0, 0, 0, 0, 0, 0}, // i4MIN_TH2[ISO_MAX_NUM];
{2, 2, 2, 2, 2, 3, 3, 4} // i4HW_TH2[ISO_MAX_NUM];
},
// -------------------- sIHDR_AF_TH ---------------------
{
0, // i4ISONum;
{0,0,0,0,0,0,0,0}, // i4ISO[ISO_MAX_NUM];
// SGG1~7
{
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
},
{0, 0, 0, 0, 0, 0, 0, 0}, // i4FV_DC[ISO_MAX_NUM];
{0, 0, 0, 0, 0, 0, 0, 0},// i4MIN_TH[ISO_MAX_NUM];
{0, 0, 0, 0, 0, 0, 0, 0}, // i4HW_TH[ISO_MAX_NUM];
{0, 0, 0, 0, 0, 0, 0, 0}, // i4FV_DC2[ISO_MAX_NUM];
{0, 0, 0, 0, 0, 0, 0, 0}, // i4MIN_TH2[ISO_MAX_NUM];
{0, 0, 0, 0, 0, 0, 0, 0} // i4HW_TH2[ISO_MAX_NUM];
},
// -------------------- sREV1_AF_TH ---------------------
{
0, // i4ISONum;
{0,0,0,0,0,0,0,0}, // i4ISO[ISO_MAX_NUM];
// SGG1~7
{
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
},
{0, 0, 0, 0, 0, 0, 0, 0}, // i4FV_DC[ISO_MAX_NUM];
{0, 0, 0, 0, 0, 0, 0, 0},// i4MIN_TH[ISO_MAX_NUM];
{0, 0, 0, 0, 0, 0, 0, 0}, // i4HW_TH[ISO_MAX_NUM];
{0, 0, 0, 0, 0, 0, 0, 0}, // i4FV_DC2[ISO_MAX_NUM];
{0, 0, 0, 0, 0, 0, 0, 0}, // i4MIN_TH2[ISO_MAX_NUM];
{0, 0, 0, 0, 0, 0, 0, 0} // i4HW_TH2[ISO_MAX_NUM];
},
// -------------------- sREV2_AF_TH ---------------------
{
0, // i4ISONum;
{0,0,0,0,0,0,0,0}, // i4ISO[ISO_MAX_NUM];
// SGG1~7
{
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
},
{0, 0, 0, 0, 0, 0, 0, 0}, // i4FV_DC[ISO_MAX_NUM];
{0, 0, 0, 0, 0, 0, 0, 0},// i4MIN_TH[ISO_MAX_NUM];
{0, 0, 0, 0, 0, 0, 0, 0}, // i4HW_TH[ISO_MAX_NUM];
{0, 0, 0, 0, 0, 0, 0, 0}, // i4FV_DC2[ISO_MAX_NUM];
{0, 0, 0, 0, 0, 0, 0, 0}, // i4MIN_TH2[ISO_MAX_NUM];
{0, 0, 0, 0, 0, 0, 0, 0} // i4HW_TH2[ISO_MAX_NUM];
},
// -------------------- sREV3_AF_TH ---------------------
{
0, // i4ISONum;
{0,0,0,0,0,0,0,0}, // i4ISO[ISO_MAX_NUM];
// SGG1~7
{
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
},
{0, 0, 0, 0, 0, 0, 0, 0}, // i4FV_DC[ISO_MAX_NUM];
{0, 0, 0, 0, 0, 0, 0, 0},// i4MIN_TH[ISO_MAX_NUM];
{0, 0, 0, 0, 0, 0, 0, 0}, // i4HW_TH[ISO_MAX_NUM];
{0, 0, 0, 0, 0, 0, 0, 0}, // i4FV_DC2[ISO_MAX_NUM];
{0, 0, 0, 0, 0, 0, 0, 0}, // i4MIN_TH2[ISO_MAX_NUM];
{0, 0, 0, 0, 0, 0, 0, 0} // i4HW_TH2[ISO_MAX_NUM];
},
// -------------------- sREV4_AF_TH ---------------------
{
0, // i4ISONum;
{0,0,0,0,0,0,0,0}, // i4ISO[ISO_MAX_NUM];
// SGG1~7
{
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
},
{0, 0, 0, 0, 0, 0, 0, 0}, // i4FV_DC[ISO_MAX_NUM];
{0, 0, 0, 0, 0, 0, 0, 0},// i4MIN_TH[ISO_MAX_NUM];
{0, 0, 0, 0, 0, 0, 0, 0}, // i4HW_TH[ISO_MAX_NUM];
{0, 0, 0, 0, 0, 0, 0, 0}, // i4FV_DC2[ISO_MAX_NUM];
{0, 0, 0, 0, 0, 0, 0, 0}, // i4MIN_TH2[ISO_MAX_NUM];
{0, 0, 0, 0, 0, 0, 0, 0} // i4HW_TH2[ISO_MAX_NUM];
},
// -------------------- sREV5_AF_TH ---------------------
{
0, // i4ISONum;
{0,0,0,0,0,0,0,0}, // i4ISO[ISO_MAX_NUM];
// SGG1~7
{
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
},
{0, 0, 0, 0, 0, 0, 0, 0}, // i4FV_DC[ISO_MAX_NUM];
{0, 0, 0, 0, 0, 0, 0, 0},// i4MIN_TH[ISO_MAX_NUM];
{0, 0, 0, 0, 0, 0, 0, 0}, // i4HW_TH[ISO_MAX_NUM];
{0, 0, 0, 0, 0, 0, 0, 0}, // i4FV_DC2[ISO_MAX_NUM];
{0, 0, 0, 0, 0, 0, 0, 0}, // i4MIN_TH2[ISO_MAX_NUM];
{0, 0, 0, 0, 0, 0, 0, 0} // i4HW_TH2[ISO_MAX_NUM];
},
// --- Common use ---
1, // i4ReadOTP; // 0: disable, 1:enable
3, // i4StatGain;
20, // i4LV_THRES;
417, // i4InfPos;
33, // i4FRAME_TIME;
{0, 30, 100, 350, 500}, // back jump
200,//i4BackJumpPos
20, // i4AFC_STEP_SIZE
18, // i4SPOT_PERCENT_W; // AFC window location
24, // i4SPOT_PERCENT_H; // AFC window location
0, // i4CHANGE_CNT_DELTA
1, // i4AFS_STEP_MIN_ENABLE
4, // i4AFS_STEP_MIN_NORMAL
4, // i4AFS_STEP_MIN_MACRO
5, // i4FIRST_FV_WAIT
10, // i4FV_1ST_STABLE_THRES
10000, // i4FV_1ST_STABLE_OFFSET
6, // i4FV_1ST_STABLE_NUM
6, // i4FV_1ST_STABLE_CNT
50, // i4FV_SHOCK_THRES
30000, // i4FV_SHOCK_OFFSET
5, // i4FV_VALID_CNT
20, // i4FV_SHOCK_FRM_CNT
5, // i4FV_SHOCK_CNT
// --- FaceAF ---
70, // i4FDWinPercent
30, // i4FDSizeDiff
3, // i4FD_DETECT_CNT
10, // i4FD_NONE_CNT
// --- AFv1.1/AFv1.2 ---
1, // i4LeftSearchEnable
1, // i4LeftJumpStep
0, // No use
0, // i4AfDoneDelay
0, // i4VdoAfDoneDelay
0, // i4ZoomInWinChg
1, // i4SensorEnable
39, // i4PostureComp
3, // i4SceneMonitorLevel
1, // i4VdoSceneMonitorLevel
// Scene Monitor
// {Type, Off, Thr{by level}, Cnt{by level}}
// Type: 1 is &&, 0 is ||
// Off : value, min=0 is more sensitive
// Thr : percentage(value for gyro/acce), min=0 is more sensitive
// Cnt : value, max=30 is more stable
// preview params
{1, // FV 0:disable, 1:enable
0, 100, { 40, 40, 30}, { 13, 10, 6}, // chg; chgT lower to sensitive, chgN bigger to stable
1, 2000, { 15, 15, 15}, { 20, 15, 3} }, // stb; stbT should fix, stbN bigger to stable
{1, // GS 0:disable, 1:enable
0, 15, { 20, 20, 15}, { 28, 25, 25}, // chg; chgT lower to sensitive, chgN bigger to stable
1, 5, { 5, 5, 5}, { 15, 13, 10} }, // stb; stbT should fix, stbN bigger to stable
{1, // AEB 0:disable, 1:enable
0, 15, { 30, 30, 25}, { 33, 30, 15}, // chg; chgT lower to sensitive, chgN bigger to stable
1, 5, { 10, 10, 10}, { 12, 10, 3} }, // stb; stbT should fix, stbN bigger to stable
{1, // GYRO 0:disable, 1:enable
0, 0, { 40, 40, 20}, { 5, 3, 3}, // chg; off=0, chgT lower to sensitive, chgN bigger to stable
1, 0, { 10, 10, 10}, { 12, 10, 3} }, // stb; off=0, stbT should fix, stbN bigger to stable
{1, // ACCE 0:disable, 1:enable
0, 0, { 150, 130, 120}, { 18, 16, 12}, // chg; off=0, chgT lower to sensitive, chgN bigger to stable
1, 0, { 50, 50, 50}, { 12, 10, 5} }, // stb; off=0, stbT should fix, stbN bigger to stable
{1, // 0:disable, 1:enable
0, 100, { 40, 40, 30}, { 13, 10, 6}, // chg; chgT lower to sensitive, chgN bigger to stable
1, 2000, { 15, 15, 15}, { 20, 15, 3} }, // stb; stbT should fix, stbN bigger to stable
{1, // 0:disable, 1:enable
0, 15, { 20, 20, 15}, { 28, 25, 25}, // chg; chgT lower to sensitive, chgN bigger to stable
1, 5, { 5, 5, 5}, { 15, 13, 10} }, // stb; stbT should fix, stbN bigger to stable
{1, // 0:disable, 1:enable
0, 15, { 30, 30, 25}, { 33, 30, 15}, // chg; chgT lower to sensitive, chgN bigger to stable
1, 5, { 10, 10, 10}, { 15, 13, 10} }, // stb; stbT should fix, stbN bigger to stable
{1, // 0:disable, 1:enable
0, 0, { 40, 40, 20}, { 5, 3, 3}, // chg; chgT lower to sensitive, chgN bigger to stable
1, 0, { 10, 10, 10}, { 12, 10, 3} }, // stb; stbT should fix, stbN bigger to stable
{1, // 0:disable, 1:enable
0, 0, { 150, 130, 120}, { 18, 16, 12}, // chg; chgT lower to sensitive, chgN bigger to stable
1, 0, { 50, 50, 50}, { 12, 10, 5} }, // stb; stbT should fix, stbN bigger to stable
// --- AFv2.0 ---
1, // i4FvExtractEnable; // 0:disable, 1:enable (for faceAF)
30, // i4FvExtractThr // percentage, fixed
1, // i4DampingCompEnable; // 0:disable, 1:enable
{7, 13, 20, 27, 33, 40, 47, 53, 60, 67, 0, 0, 0, 0, 0, }, // { step1, step2, ... , step 15(atmost) }
{
{ 0, -3, -5, -7, -10, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, },// prerun0:{rComp1, rComp2, ..., rComp15(atmost)}
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, } // prerun1:{rComp1, rComp2, ..., rComp15(atmost)}
},
{
{ 0, 3, 5, 7, 10, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, },// prerun0:{rComp1, rComp2, ..., rComp15(atmost)}
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, } // prerun1:{rComp1, rComp2, ..., rComp15(atmost)}
},
1, // i4DirSelectEnable; // 0:disable, 1:enable
-1, // i4InfDir; // 1:right, -1:left, 2:reverse, 0:keep
-1, // i4MidDir; //
-1, // i4MacDir; //
40, // i4RatioInf; // below % of tableLength belongs to INF
70, // i4RatioMac; // above % of tableLength belongs to MAC ; should be larger than i4RatioInf
1, // i4StartBoundEnable; // 0:disable, 1:enable
4, // i4StartCamCAF; // 0:keep current, -1:force to INF, X:set to boundary if within X steps
4, // i4StartCamTAF; //
0, // i4StartVdoCAF; //
0, // i4StartVdoTAF; //
1, // i4FpsRemapTblEnable; // 0:disable, 1:enable
{10, 12}, // i4FpsThres[2]; // two fps threshold {very-low, low}
{0, 0}, // i4TableClipPt[2]; // clip pts at macro side
{80, 90}, // i4TableRemapPt[2]; // percentage of new/org table length
// --- Easytuning ---
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
},// i4EasyTuning[100]
// --- DepthAF ---
{
12, 120, 10, 30, 70, 100, 1, 100, 100, 100, 0, 2, 1, 2, 3, 5, 7, 2, 14, 19,
-1, -3, -1, -3, -5, -5, -7, -3, -6, -20, 2, 100, 100, 100, 2, 1, -1, 2, 11, 8,
2, 4, 6, 7, 0, -2, 0, -2, -4, -3, -4, 1, 27, -7, 3, 100, 100, 100, -2, -2,
1, 4, -8, -4, -4, -34, -5, -23, 0, 1, 1, 8, 8, 0, 25, -6, 10, 23, 4, 100,
100, 100, -1, -3, -9, -13, -5, -10, -9, -31, -10, -29, -2, 7, 7, 11, 4, 2, 24, 11,
6, 29, 5, 100, 100, 100, 0, -2, -7, -10, -4, -8, -7, -24, -8, -23, -1, 5, 5, 8,
3, 1, 19, 8, 4, 23, 6, 100, 100, 100, 0, -1, -5, -8, -3, -6, -5, -20, -6, -19,
0, 4, 4, 6, 2, 0, 15, 6, 3, 19, 7, 100, 100, 100, 0, 0, -4, -6, -2, -5,
-4, -17, -5, -16, 0, 3, 3, 5, 1, 0, 12, 5, 2, 16, 8, 100, 100, 100, 0, 0,
-3, -5, -1, -4, -3, -14, -4, -14, 0, 2, 2, 4, 0, 0, 10, 4, 1, 14, 9, 100,
100, 100, 0, 0, -2, -4, 0, -3, -2, -12, -3, -12, 0, 1, 1, 3, 0, 0, 8, 3,
0, 12, 10, 100, 100, 100, 0, 0, -1, -3, 0, -2, -1, -10, -2, -10, 0, 0, 0, 2,
0, 0, 7, 2, 0, 10, 11, 100, 100, 100, 0, 0, 0, -2, 0, -1, 0, -9, -1, -9,
0, 0, 0, 1, 0, 0, 6, 1, 0, 9, 12, 100, 100, 100, 0, 0, 0, -1, 0, 0,
0, -8, 0, -8, 0, 0, 0, 0, 0, 0, 5, 0, 0, 8, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}, // i4DepthAF[500]
// --- reserved ---
{
// i4Coefs[0] inclinePeak rejection; 0: is disable, 1: is enable
// i4Coefs[1] fdOffMaxCnt; fd turnOff maxCnt for exiting faceAF, 0: use default value 10
// i4Coefs[41] isPLenable; 0: is disable, 1: is enable
// i4Coefs[42] plFlashReject; 0: is default, 1: is reject PL when flash
// i4Coefs[43] plThresNsLv; lv for night scene
// i4Coefs[44] plThresIdLv; lv for indoor
// i4Coefs[45] plRatioNs; ratio 0~100, from detect rate high to false alarm low
// i4Coefs[46] plRatioId; ratio 0~100, from detect rate high to false alarm low
// i4Coefs[47] plRev1;
// i4Coefs[48] plRev2;
// i4Coefs[49] plRev3;
// i4Coefs[50] plRev4;
0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // [0]~[10]
1,10, 40, 5, 100, 50, 150, 10, 0, 0, // [11]~[20] for SDAF
1,40, 70, 5, 100, 50, 150, 1040040, 70, 70, // [21]~[30] for PDAF
37,38, 2, 1014, 80030, 5005, 5, 1001, 70, 14, // [31]~[40] for DAF
1,1024, 170000, 200, 2000000, 120, 0, 0, 100, 16995942, // [41]~[50] for PL detect
0,0, 0, 0, 0, 0, 0, 0, 0, 0, // [51]~[60]
0,0, 0, 0, 0, 0, 0, 0, 0, 0, // [61]~[70] for LaserAF
0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // [71]~[85] for LaserAF CalibData
0, 0, // [86]~[87] for LaserAF CalibData Offset, XTalk; Value = Enable * 10000 + CalibData
} // i4Coefs[100];
},
{//PD_NVRAM_T
{//PD_CALIBRATION_DATA_T
{0},
0,
},
{//PD_ALGO_TUNING_T
32,
8,
{30, 100, 200, 300, 400},
{384, 410, 435, 461, 486},
{
{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},
},
230,
8,
10,
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
},
},
{0}
};
UINT32 bu64297af_getDefaultData(VOID *pDataBuf, UINT32 size)
{
UINT32 dataSize = sizeof(NVRAM_LENS_PARA_STRUCT);
if ((pDataBuf == NULL) || (size < dataSize))
{
return 1;
}
// copy from Buff to global struct
memcpy(pDataBuf, &bu64297af_LENS_PARA_DEFAULT_VALUE, dataSize);
return 0;
}
PFUNC_GETLENSDEFAULT pbu64297af_getDefaultData = bu64297af_getDefaultData;