⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 camera_para.c

📁 原相摄像头驱动代码
💻 C
📖 第 1 页 / 共 3 页
字号:
/*****************************************************************************
*  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 + -