📄 camera_para.c
字号:
/*****************************************************************************
* Copyright Statement:
* --------------------
* This software is protected by Copyright and the information contained
* herein is confidential. The software may not be copied and the information
* contained herein may not be used or disclosed except with the written
* permission of MediaTek Inc. (C) 2005
*
* BY OPENING 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. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
*
*****************************************************************************/
/*****************************************************************************
****************************************************************************/
#if !defined(ISP_SUPPORT)
// DO NOT delete this section!!!
// When ISP_SUPPORT is not defined, NVRAM still need the dummy structure
// and default value to initialize NVRAM_EF_CAMERA_PARA_LID.
#include "camera_para.h"
const nvram_camera_para_struct CAMERA_PARA_DEFAULT_VALUE={0};
#else
#include "drv_comm.h"
#include "stdio.h"
#include "isp_if.h"
#include "image_sensor.h"
#include "sccb.h"
#include "ae_awb.h"
#include "camera_para.h"
nvram_camera_para_struct camera_para;
nvram_camera_gamma_struct camera_gamma;
nvram_camera_defect_struct camera_defect;
// _Camera_Parameter_Structure_START_
const nvram_camera_defect_struct CAMERA_DEFECT_DEFAULT_VALUE={0xFFFFFFFF};
/* STRUCT: nvram_camera_para_struct */
const nvram_camera_para_struct CAMERA_PARA_DEFAULT_VALUE=
{
/* STRUCT: ISP */
{
/* ARRAY: ISP.reg[144] */
{ //camera_para_to_isp()camera_para.ISP.reg[]
/*0x00_000*/0xA3020074, //0000h, ISP_TG_PHASE_COUNTER_REG
/*0x01_001*/0x0FFF0FFF, //0004h, ISP_CMOS_SENSOR_SIZE_CONFIG_REG
/*0x02_002*/0x006302E6, //0008h, ISP_TG_GRAB_RANGE_PIXEL_CONFIG_REG
/*0x03_003*/0x00310212, //000Ch, ISP_TG_GRAB_RANGE_LINE_CONFIG_REG
/*0x04_004*/0x00000001, //0010h, ISP_CMOS_SENSOR_MODE_CONFIG_REG
/*0x05_005*/0x90909090,//0014h, ISP_RGB_OFFSET_ADJUS_REG
/*0x06_006*/0x00000040, //0018h, ISP_VIEW_FINDER_MODE_CTRL_REG
/*0x07_007*/0x0000000F, //001Ch, ISP_INT_ENABLE_REG
/*0x08_008*/0x00000000, //0020h, ISP_INT_STATUS_REG
/*0x09_009*/0x00000000, //0024h, ISP_PATH_CONFIG_REG
/*0x0A_010*/0x00000000, //0028h, ISP_INPUT_ADDR_REG
/*0x0B_011*/0x00000000, //002Ch, ISP_OUTPUT_ADDR_REG
/*0x0C_012*/0x80A02100, //0030h, ISP_PREPROCESS_CTRL1_REG
/*0x0D_013*/0x00800080, //0034h, ISP_RGB_GAIN_CTRL1_REG
/*0x0E_014*/0x00800080,//0038h, ISP_RGB_GAIN_CTRL2_REG
/*0x0F_015*/0x03070BF8,//003Ch, ISP_HISTOGRAM_BOUNDARY_CTRL1_REG
/*0x10_016*/0xFF000000,//0040h, ISP_HISTOGRAM_BOUNDARY_CTRL2_REG
/*0x11_017*/0x00610940,//0044h, ISP_PREPROCESS_CTRL2_REG
/*0x12_018*/0x000D0009,//0048h, ISP_AE_WINDOW1_REG
/*0x13_019*/0x0D1A0009,//004Ch, ISP_AE_WINDOW2_REG
/*0x14_020*/0x1A270009,//0050h, ISP_AE_WINDOW3_REG
/*0x15_021*/0x000D0912,//0054h, ISP_AE_WINDOW4_REG
/*0x16_022*/0x0D1A0912,//0058h, ISP_AE_WINDOW5_REG
/*0x17_023*/0x1A270912,//005Ch, ISP_AE_WINDOW6_REG
/*0x18_024*/0x000D121B,//0060h, ISP_AE_WINDOW7_REG
/*0x19_025*/0x0D1A121B,//0064h, ISP_AE_WINDOW8_REG
/*0x1A_026*/0x1A27121B,//0068h, ISP_AE_WINDOW9_REG
/*0x1B_027*/0x082C0721,//006Ch, ISP_AWB_WINDOW_REG
/*0x1C_028*/0x00000001,//0070h, ISP_COLOR_PROCESS_STAGE_CTRL1_REG
/*0x1D_029*/0x0A041910,//0074h, ISP_INTERPOLATION1_REG
/*0x1E_030*/0x00000514,//0078h, ISP_INTERPOLATION2_REG
/*0x1F_031*/0x061FC810,//007Ch, ISP_EDGE_CORE_REG
/*0x20_032*/0x01080802,//0080h, ISP_EDGE_GAIN1_REG
/*0x21_033*/0x02020002,//0084h, ISP_EDGE_GAIN2_REG
/*0x22_034*/0x24800F0F,//0088h, ISP_EDGE_THRESHOLD_REG
/*0x23_035*/0x101F8224,//008Ch, ISP_EDGE_VERTICAL_CTRL_REG
/*0x24_036*/0x003F353C,//0090h, ISP_AXIS_RGB_GAIN_REG
/*0x25_037*/0x841C1804,//0094h, ISP_OPD_CONFIG_REG
/*0x26_038*/0x271B0A0A,//0098h, ISP_OPD_COMP_PARAMETER_REG
#if 1 //normal saturation
/*0x27_039*/0x00378F87,//009Ch, ISP_COLOR_MATRIX1_REG
/*0x28_040*/0x0089388F,//00A0h, ISP_COLOR_MATRIX2_REG
/*0x29_041*/0x00829436,//00A4h, ISP_COLOR_MATRIX3_REG
#else// high saturation
/*0x27_039*/0x004E9F8F,//009Ch, ISP_COLOR_MATRIX1_REG
/*0x28_040*/0x0093519E,//00A0h, ISP_COLOR_MATRIX2_REG
/*0x29_041*/0x0085A84D,//00A4h, ISP_COLOR_MATRIX3_REG
#endif
/*0x2A_042*/0x00202020,//00A8h, ISP_COLOR_MATRIX_RGB_GAIN_REG
/*0x2B_043*/0x00000068,//00ACh, ISP_COLOR_PROCESS_STAGE_CTRL2_REG
/*0x2C_044*/0x00858585,//00B0h, ISP_AWB_GAIN_REG
/*0x2D_045*/0x008A8A8A,//00B4h, ISP_GAMMA_RGB_FLARE_REG
/*0x2E_046*/0x00408030,//00B8h, ISP_Y_CH_CONFIG_REG
/*0x2F_047*/0x20200000,//00BCh, ISP_UV_CH_CONFIG_REG
/*0x30_048*/0x00FF91B8,//00C0h, ISP_SPACE_CONVERT_YUV1_REG
/*0x31_049*/0x00018080,//00C4h, ISP_SPACE_CONVERT_YUV2_REG
/*0x32_050*/0x284E6778,//00C8h, ISP_GAMMA_OPERATION1_REG
/*0x33_051*/0x91A8C0D7,//00CCh, ISP_GAMMA_OPERATION2_REG
/*0x34_052*/0xE1EBF500,//00D0h, ISP_GAMMA_OPERATION3_REG
/*0x35_053*/0x00000000, //00D4h, ISP_OPD_Y_RESULT_REG
/*0x36_054*/0x00000000, //00D8h, ISP_OPD_MG_RESULT_REG
/*0x37_055*/0x00000000, //00DCh, ISP_OPD_RB_RESULT_REG
/*0x38_056*/0x00000000, //00E0h, ISP_OPD_PIXEL_COUNT_REG
/*0x39_057*/0x00000000, //00E4h, ISP_AE_WINDOW1_RESULT_REG
/*0x3A_058*/0x00000000, //00E8h, ISP_AE_WINDOW2_RESULT_REG
/*0x3B_059*/0x00000000, //00ECh, ISP_AE_WINDOW3_RESULT_REG
/*0x3C_060*/0x00000000, //00F0h, ISP_AE_WINDOW4_RESULT_REG
/*0x3D_061*/0x00000000, //00F4h, ISP_AE_WINDOW5_RESULT_REG
/*0x3E_062*/0x00000000, //00F8h, ISP_AE_WINDOW6_RESULT_REG
/*0x3F_063*/0x00000000, //00FCh, ISP_AE_WINDOW7_RESULT_REG
/*0x40_064*/0x00000000, //0100h, ISP_AE_WINDOW8_RESULT_REG
/*0x41_065*/0x00000000, //0104h, ISP_AE_WINDOW9_RESULT_REG
/*0x42_066*/0x00000000, //0108h, ISP_AE_A_NUMBER_RESULT_REG
/*0x43_067*/0x00000000, //010Ch, ISP_AE_B_NUMBER_RESULT_REG
/*0x44_068*/0x00000000, //0110h, ISP_AE_C_NUMBER_RESULT_REG
/*0x45_069*/0x00000000, //0114h, ISP_AE_D_NUMBER_RESULT_REG
/*0x46_070*/0x00000000, //0118h, ISP_AE_E_NUMBER_RESULT_REG
/*0x47_071*/0x00008000,//011Ch, ISP_LPF_CTRL_REG
/*0x48_072*/0x245C5C24,//0120h, ISP_Y_LPF_CTRL_REG
/*0x49_073*/0x245C5C24,//0124h, ISP_CBCR_LPF_CTRL_REG
/*0x4A_074*/0x11DC01DC,//0128h, ISP_VERTICAL_SUB_SAMPLE_CTRL_REG
/*0x4B_075*/0x12800280,//012Ch, ISP_HORIZONTAL_SUB_SAMPLE_CTRL_REG
/*0x4C_076*/0x001E3B59,//0130h, ISP_SENSOR_GAMMA_R0_REG
/*0x4D_077*/0x7B909FAE,//0134h, ISP_SENSOR_GAMMA_R1_REG
/*0x4E_078*/0xCDCDE5EC,//0138h, ISP_SENSOR_GAMMA_R2_REG
/*0x4F_079*/0x1E3B5C7A,//013Ch, ISP_SENSOR_GAMMA_G0_REG
/*0x50_080*/0x8F9FAEBE,//0140h, ISP_SENSOR_GAMMA_G1_REG
/*0x51_081*/0xCFDFF000,//0144h, ISP_SENSOR_GAMMA_G2_REG
/*0x52_082*/0x1E3C5D7B,//0148h, ISP_SENSOR_GAMMA_B0_REG
/*0x53_083*/0x91A0AFC3,//014Ch, ISP_SENSOR_GAMMA_B1_REG
/*0x54_084*/0xCEE0EF00,//0150h, ISP_SENSOR_GAMMA_B2_REG
/*0x55_085*/0x00000000,//0154h, ISP_DEFECT_PIXEL_CONFIG_REG
/*0x56_086*/0x00358124,//0158h, ISP_DEFECT_PIXEL_TABLE_ADDR_REG
/*0x57_087*/0x00000000,//015Ch, ISP_DEFECT_PIXEL_TABLE_DEBUG_REG
/*0x58_088*/0x1E3C5C7A,//0160h,
/*0x59_089*/0x8F9FAEBE,//0164h,
/*0x5A_090*/0xCFDFF000,//0168h,
/*0x5B_091*/0x00800080,//016Ch, //cct_raw_backup1
/*0x5C_092*/0x00800080,//0170h, //cct_raw_backup1
/*0x5D_093*/0x00000077,//0174h, //MT6219?
/*0x5E_094*/0x000000A0,//0178h, //MT6219?
/*0x5F_095*/0x00000000,
/*0x60_096*/0x00000000,
/*0x61_097*/0x00000000,
/*0x62_098*/0x00000000,
/*0x63_099*/0x00000000,
/*0x64_100*/0x00000000,
/*0x65_101*/0x00000000,
/*0x66_102*/0x00000000,
/*0x67_103*/0x00000000,
/*0x68_104*/0x00000000,
/*0x69_105*/0x00000000,
/*0x6A_106*/0x00000000,
/*0x6B_107*/0x00000000,
/*0x6C_108*/0x00000000,
/*0x6D_109*/0x00000000,//01D4h, FLASH_CTRL
/*0x6E_110*/0x00000000,
/*0x6F_111*/0x00000000,
/*0x70_112*/0x60708090,//01E0h, HISTOGRAM_BOUNDARY_CTRL3
/*0x71_113*/0xA0B0C0D0,//01E4h, HISTOGRAM_BOUNDARY_CTRL4
/*0x72_114*/0xE0F00000,//01E8h, HISTOGRAM_BOUNDARY_CTRL5
/*0x73_115*/0x00000000,
/*0x74_116*/0x00000000,
/*0x75_117*/0x00000000,
/*0x76_118*/0x00000000,
/*0x77_119*/0x00000000,
/*0x78_120*/0x00000000,
/*0x79_121*/0x00000000,
/*0x7A_122*/0x00000000,
/*0x7B_123*/0x00000000,
/*0x7C_124*/0x00000000,
/*0x7D_125*/0x11E03280,//21Ch, ISP_SHADING_R_CURVE1_REG
/*0x7E_126*/0x69414600,//220h, ISP_SHADING_R_CURVE2_REG
/*0x7F_127*/0x02204060,//224h, ISP_SHADING_R_CURVE3_REG
/*0x80_128*/0x8090A0B0,//228h, ISP_SHADING_G_CURVE1_REG
/*0x81_129*/0xC0D0E0F0,//22Ch, ISP_SHADING_G_CURVE2_REG
/*0x82_130*/0x20406080,//230h, ISP_SHADING_G_CURVE3_REG
/*0x83_131*/0x90A0B0C0,//234h, ISP_SHADING_B_CURVE1_REG
/*0x84_132*/0xD0E0F000,//238h, ISP_SHADING_B_CURVE2_REG
/*0x85_133*/0x20406080,//23Ch, ISP_SHADING_B_CURVE3_REG
/*0x86_134*/0x90A0B0C0,
/*0x87_135*/0xD0E0F000,
/*0x88_136*/0x00000000,
/*0x89_137*/0x00000000,
/*0x8A_138*/0x00000000,
/*0x8B_139*/0x00000000,//024Ch, ISP_ATF_WINDOW1_REG
/*0x8C_140*/0x00000000,//0250h, ISP_ATF_WINDOW2_REG
/*0x8D_141*/0x00000000,//0254h, ISP_ATF_WINDOW3_REG
/*0x8E_142*/0x00000000,//0258h, ISP_ATF_WINDOW4_REG
/*0x8F_143*/0x00000000 //025Ch, ISP_ATF_WINDOW5_REG
}
},
/* STRUCT: PREDGAMMA */
{
/* PREDGAMMA.gamma_select */ 0x00, /* ARRAY: PREDGAMMA.gamma[9][11] */
{
/* ARRAY: PREDGAMMA.gamma[0][11] */
{
0x28, 0x4E, 0x67, 0x78, 0x91, 0xA8, 0xC0, 0xD7,
0xE1, 0xEB, 0xF5
},
/* ARRAY: PREDGAMMA.gamma[1][11] */
{
0x20, 0x3C, 0x55, 0x69, 0x8D, 0xA8, 0xC0, 0xD7,
0xE1, 0xEB, 0xF5
},
/* ARRAY: PREDGAMMA.gamma[2][11] */
{
0x14, 0x28, 0x46, 0x64, 0x91, 0xB4, 0xCE, 0xE0,
0xE8, 0xF0, 0xF8
},
/* ARRAY: PREDGAMMA.gamma[3][11] */
{
0x49, 0x64, 0x78, 0x88, 0xA4, 0xBA, 0xCE, 0xE0,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -