📄 cameradata.h
字号:
//===============================================================================
// File Name : camdata.h
// Function : data for initializing camera module
// The originator : 2004.01.16:draft ver 0.0
// Upgrade : Shin, On Pil (SOP)
// Upgrade Date : 11/22/2005
// Version : 0.0
// History
// 07/06/2005 : SOP, Program Upgrade Start
// 09/09/2005 : SOP, Code optimizing started
//Copyright (c) 2005 SAMSUNG Electronics.
//However, Anybody can use this code without our permission.
//================================================================================
#ifndef __CAMDATA_H__
#define __CAMDATA_H__
#ifdef __cplusplus
extern "C"{
#endif
//=============================================================================
const char S5K3AA_YCbCr8bit_VGA[][2] = // Meritech MMT507B Board
{
//*************************************************************//
{0xec,0x00},
{0x02,0x01}, /* 0x0 : SXGA, 0x01 : VGA, 0x02:QVGA */
{0x72,0xF0}, //MCLK is 48MHz
{0x74,0x08}, //50Hz Flicker avoidance
{0x76,0xb0}, //brightness
{0x77,0xd0}, //color
{0x79,0x05}, //brightness
{0x7a,0x03}, //color
{0xec,0x01},
{0x8b,0x03},
//{0x69,0x04},
};
const char S5K3AA_YCbCr8bit_SXGA_656[][2] = // Meritech MMT507B Board
{
//+daedoo 3AA ITU-656 SETTING
// Lens Shading
{0xec, 0x05},
{0x00, 0x0f}, //0x0d : Shading Old(Y shading) ON & Shading New(RGB Shading) ON
{0x25, 0x02}, //0x02 : Horizontal Center Value For Shading H
{0x26, 0x80}, //0x80 : Vertical Center Value For Shading L
{0x27, 0x02}, //0x02 : Vertical Center Value For Shading H
{0x28, 0x00}, //0x00 : Vertical Center Value For Shading L
{0x29, 0x00}, //0x00 : Horizontal Counter End Value for Shading L
{0x2a, 0x05}, //0x05 : Horizontal Counter End Value for Shading H
{0x2b, 0x00}, //0x00 : Vertical Counter End Value for Shading L
{0x2c, 0x04}, //0x04 : Vertical Counter End Value for Shading H
// Global GAIN
{0xec, 0x02},
{0x1f, 0x12}, //0x1f : [4:0] Global gain
// DBPRM(Bad pixel replacement)
{0xec, 0x00},
{0x08, 0x03}, //0x03 : Shutter Max High for 60Hz flicker & flicker off
{0x09, 0xfe}, //0xff : Shutter Max Low for 60Hz flicker & flicker off
{0x7e, 0x86}, //0x80 : Digital Bprm,Noise Filter,cintr max rom table from< 0.08h,0.09h or 0.29h,0.2Ah on flicker mode >,Color Gain Suppress,Ygain,Digital Clamp 328 //Color Suppress On, Y gain On, Digital clamp On, DBPRM On
{0x86, 0x40}, //0x20 : Minimum AGC value for digital BPRM
{0x87, 0x00}, //0x30 : Minimum DBPRM Threshold for DBPRM_AGCMAX
{0xec, 0x07},
{0x21, 0x90}, //0x90 : Maximum DBPRM Threshold for DBPRM AGC Min
{0x22, 0x50}, //0x20 : Maximum AGC value for digital BPRM
{0x9d, 0x10}, //0x00 : AGC Minimum value to Start ISP BPRM
// Edge Enhancement
{0xec, 0x01},
{0x21, 0x5a}, //0x50 : [6:5]High Frequency Edge Enhancement Filter(HHAP) Gain Coefficient, [4:0]Horizontal Positive Edge Enhancement Gain Coefficient (X0~X1)
{0x22, 0x5a}, //0x50 : [6:5]Low Frequency Edge Enhancement Filter(HLAP) Gain Coefficient, [4:0]Vertical Positive Edge Enhancement Gain Coefficient (X0~X1)
{0x23, 0x16}, //0x10 : [7:5]Horizontal Edge Enhancement Filter Selection,[4:0]Horizontal Negative Edge Enhancement Gain ( X0 ~ X1 )
{0x24, 0x16}, //0x10 ; [4:0]Vertical Negative Edge Enhancement Gain ( X0 ~ X1 )
// Snapshot Mode change
{0xec, 0x00},
{0x73, 0x00}, //0x00 : FrameRate
{0x74, 0x00}, //flicker off
{0x7b, 0xff}, //0x00 : 00h(Fastest) ~ FEh(Slowest) FFh : AE, AWB Stop
{0x02, 0x00}, //SXGA scale down
{0xec, 0x01},
{0x6a,0x05}
};
//=============================================================================
const unsigned char S5K3BAFB_YCbCr8bit_QCIF[][2] = // //UXGA, Meritech SMT604A Board, 2Mpixel Camera
{
// PLL SETTING Input = 25Mhz, Output = 64Mhz, UXGA (2Mpixel)
// 1. initial setting
{0xfc, 0x01},
{0x04, 0x03}, //ARM Clock divider(1/4)
//In case of PCLK = 64MHz
{0xfc, 0x02},
{0x52, 0x80}, //PLL M
{0xfc, 0x02},
{0x50, 0x19}, //PLL S,P
{0xfc, 0x07},
{0x58, 0x10},
{0x59, 0x00},
{0x5A, 0x00},
{0x5B, 0x6c},
{0xfc, 0xf0},
{0x00, 0x40},
{0xfc, 0x00},
{0x62, 0x02},
{0xbc, 0xe0}, // AWB_AE_DIFF
{0xfc, 0x03},
{0x2d, 0x02},
{0xfc, 0x01},
{0x02, 0x02}, // YCbCr Order
{0xfc, 0x02},
{0x4a, 0xc1}, // SC type selection
{0x37, 0x18}, //16 // SC type global gain
{0x47, 0xc4}, // r-ramp by chin
{0xfc, 0x01}, //AWB Window Area (except sky)
{0xc4, 0x01},
{0xc5, 0x4e},
{0xc7, 0x6e},
{0xfc, 0x02},
{0x30, 0x84}, //Analog offset
{0xfc, 0x00},
{0x3d, 0x10}, //AWB Low Y limit
{0xfc, 0x02},
{0x3d, 0x06}, //ADLC OFF
{0x44, 0x5b}, //clamp enable
{0x55, 0x03},
{0xfc, 0x06},
{0x0c, 0x01},
{0x0d, 0x4e},
{0x0f, 0x6e},
{0xfc, 0x00},
{0x78, 0x58}, //AGC MAX (30lux_Micron灌扁Y=60code)
{0xfc, 0x02},
{0x45, 0x8c}, //CDS timing_历炼档 greenish 秦搬(15fps)
{0x49, 0x80}, // APS Current 2uA
{0xfc, 0x01},
{0x25, 0x14}, //10 //Digital Clamp
{0xfc, 0x00},
{0x6c, 0xac}, //AE target (Macbeth white=240)
{0x6d, 0x00},
// 2. ISP tuning
// ISP_tuning
{0xfc, 0x00},
{0x01, 0x00}, // I2C hold mode off
{0xfc, 0x01},
{0x00, 0x00}, // ISP BPR Off
{0x0c, 0x02}, // Full YC
{0xc8, 0x19}, // AWB Y Max
{0xfc, 0x00},
{0x81, 0x00}, // AWB G gain suppress disable
{0x29, 0x04},
{0x2a, 0x00},
{0x2b, 0x04}, // color level
{0x2c, 0x00},
{0xfc, 0x07},
{0x11, 0x00}, // G offset
{0x37, 0x00}, // Flicker Add
{0xfc, 0x00},
{0x72, 0xa0}, // Flicker for 32MHz
{0x74, 0x18}, // Flicker
{0x73, 0x00}, // Frame AE
{0xfc, 0x05},
{0x64, 0x00}, // Darkslice R
{0x65, 0x00}, // Darkslice G
{0x66, 0x00}, // Darkslice B
//Edge
{0xfc, 0x05},
{0x2c, 0x0a}, //14 // positive gain
{0x30, 0x0a}, //10 // negative edge gain
{0x34, 0x1a}, // APTCLP
{0x35, 0x10}, //0a // APTSC
{0x36, 0x0b}, // ENHANCE
{0x3f, 0x00}, // NON-LIN
{0x45, 0x30}, // EGREF
{0x47, 0x00}, // LLREF
{0x48, 0x08}, // by chin
{0x49, 0x39}, // CSSEL EGSEL CS_DLY by
{0x40, 0x41}, // Y delay
{0xfc, 0x00},
{0x7e, 0xfc},
// s7e8c //NR GrGb off
// [7]: BPR [6]:Noise Filter(1D/NR) [4]: GrGb Enable [3]:BPR Data Threshold
// [2]: color suppress [1]: Y gain suppress [0]: Digital Clamp
// GrGb Correction setting
{0xfc, 0x01},
{0x44, 0x0c},
//s4400
/// [4]: GrGb full [3]: GrGb On
/// [2]: GrGb Rb On
{0xfc, 0x0b},
{0x21, 0x00}, // Start AGC
{0x22, 0x10}, // AGCMIN
{0x23, 0x50}, // AGCMAX
{0x24, 0x18}, // G Th AGCMIN(23d)
{0x25, 0x52}, // G Th AGCMAX(50d)
{0x26, 0x38}, // RB Th AGCMIN
{0x27, 0x52}, // RB Th AGCMAX
// GrGb Correction setting End
///////////////////////////////////
// BPR Setting
{0xfc, 0x01},
{0x3f, 0x00}, // setting because S/W bug
{0xfc, 0x0b},
{0x0b, 0x00}, // ISP BPR On Start
{0x0c, 0x00}, // Th13 AGC Min
{0x0d, 0x5a}, // Th13 AGC Max
{0x0e, 0x01}, //00 // Th1 Max H for AGCMIN
{0x0f, 0xff}, //c0 // Th1 Max L for AGCMIN
{0x10, 0x00}, // Th1 Min H for AGCMAX
{0x11, 0x10}, //00 // Th1 Min L for AGCMAX
{0x12, 0xff}, // Th3 Max H for AGCMIN
{0x13, 0xff}, // Th3 Max L for AGCMIN
{0x14, 0xff}, // Th3 Min H for AGCMAX
{0x15, 0xff}, // Th3 Min L for AGCMAX
// NR Setting
{0xfc, 0x01},
{0x4b, 0x01}, // NR Enable
// s4b00 // NR Enable
{0xfc, 0x0b},
{0x28, 0x00}, //NR Start AGC
{0x29, 0x00}, // SIG Th AGCMIN H
{0x2a, 0x0a}, //14 // SIG Th AGCMIN L
{0x2b, 0x00}, // SIG Th AGCMAX H
{0x2c, 0x0a}, //14 // SIG Th AGCMAX L
{0x2d, 0x00}, // PRE Th AGCMIN H
{0x2e, 0xc0}, //64 // PRE Th AGCMIN L(100d)
{0x2f, 0x01}, // PRE Th AGCMAX H(300d)
{0x30, 0x2c}, // PRE Th AGCMAX L
{0x31, 0x00}, // POST Th AGCMIN H
{0x32, 0xe0}, //64 // POST Th AGCMIN L(100d)
{0x33, 0x01}, // POST Th AGCMAX H(300d)
{0x34, 0x2c}, // POST Th AGCMAX L
// NR Setting End
// Color suppress setting
{0xfc, 0x0b},
{0x08, 0x50}, // C suppress AGC MIN
{0x09, 0x03}, // C suppress MIN H
{0x0a, 0x80}, // C suppress MIN L
// C Suppress Setting End
{0xfc, 0x05},
{0x4a, 0x00}, //01 // Edge Color Suppress, 9/13
// 1D Y LPF Filter
{0xfc, 0x01},
// s05e0 // Default s60
{0x05, 0x60}, // Default s60
// [7]: Y LPF filter On [6]: Clap On
{0xfc, 0x0b},
{0x35, 0x00}, // YLPF Start AGC
{0x36, 0x50}, // YLPF01 AGCMIN
{0x37, 0x50}, // YLPF01 AGCMAX
{0x38, 0x00}, // YLPF SIG01 Th AGCMINH
{0x39, 0x90}, //00 // YLPF SIG01 Th AGCMINL
{0x3a, 0x01}, // YLPF SIG01 Th AGCMAXH
{0x3b, 0xa0}, // YLPF SIG01 Th AGCMAXL
{0x3c, 0x50}, // YLPF02 AGCMIN
{0x3d, 0x50}, // YLPF02 AGCMAX
{0x3e, 0x00}, // YLPF SIG02 Th AGCMINH
{0x3f, 0xa0}, //00 // YLPF SIG02 Th AGCMINL
{0x40, 0x01}, // YLPF SIG02 Th AGCMAXH s73
{0x41, 0xb0}, // YLPF SIG02 Th AGCMAXL
// Y LPF Filter setting End
// SET EDGE COLOR SUPPRESS AND Y-LPF
{0xfc, 0x05},
{0x42, 0x1F},
{0x43, 0x1F},
{0x44, 0x0E},
{0x45, 0x8C}, //
{0x46, 0x7A},
{0x47, 0x60},
{0x48, 0x0C},
{0x49, 0x39},
{0x4A, 0x01},
{0x4B, 0xB1},
{0x4C, 0x3B},
{0x4D, 0x14},
// NR Setting
{0xfc, 0x01},
{0x4b, 0x01}, // NR Enable
// Set multipliers (which are not suppressed)
{0xfc, 0x01},
{0x48, 0x11},
// Suppressed parameters
{0xfc, 0x0B},
{0x21, 0x00},
{0x22, 0x10},
{0x23, 0x60},
{0x24, 0x10},
{0x25, 0x28},
{0x26, 0x08},
{0x27, 0x20},
{0x28, 0x00}, //NR Start AGC
{0x29, 0x00}, // SIG Th AGCMIN H
{0x2A, 0x02}, // SIG Th AGCMIN L
{0x2B, 0x00}, // SIG Th AGCMAX H
{0x2C, 0x14}, // SIG Th AGCMAX L
{0x2D, 0x03}, // PRE Th AGCMIN H
{0x2E, 0x84}, // PRE Th AGCMIN L
{0x2F, 0x03}, // PRE Th AGCMAX H
{0x30, 0x84}, // PRE Th AGCMAX L
{0x31, 0x00}, // POST Th AGCMIN H
{0x32, 0x00}, // POST Th AGCMIN L
{0x33, 0x00}, // POST Th AGCMAX H
{0x34, 0xC8}, // POST Th AGCMAX L
{0x35, 0x00}, // 1D Y filter setting
{0x36, 0x10},
{0x37, 0x50},
{0x38, 0x00},
{0x39, 0x14},
{0x3A, 0x00},
{0x3B, 0x50},
{0x3C, 0x10},
{0x3D, 0x50},
{0x3E, 0x00},
{0x3F, 0x28},
{0x40, 0x00},
{0x41, 0xA0},
// To avoid AWB tracking @ max AGC gain even though AE is unstable state
{0xfc, 0x00},
{0xba, 0x50}, // AE Target minus AE Average
{0xbb, 0x00},
{0xbc, 0x00},
// 3. AE weight & etc linear
// AE Window Weight linear(EVT1)0929
{0xfc, 0x20}, // upper window weight zero
{0x60, 0x11},
{0x61, 0x11},
{0x62, 0x11},
{0x63, 0x11},
{0x64, 0x11},
{0x65, 0x11},
{0x66, 0x11},
{0x67, 0x11},
{0x68, 0x11},
{0x69, 0x11},
{0x6a, 0x11},
{0x6b, 0x11},
{0x6c, 0x11},
{0x6d, 0x11},
{0x6e, 0x11},
{0x6f, 0x11},
{0x70, 0x11},
{0x71, 0x11},
{0x72, 0x11},
{0x73, 0x11},
{0x74, 0x11},
{0x75, 0x11},
{0x76, 0x11},
{0x77, 0x11},
{0x78, 0x11},
{0x79, 0x11},
{0x7a, 0x11},
{0x7b, 0x11},
{0x7c, 0x11},
{0x7d, 0x11},
{0x7e, 0x11},
{0x7f, 0x11},
// AE window Weight setting End
//hue gain linear
{0xfc, 0x00},
{0x48, 0x40},
{0x49, 0x40},
{0x4a, 0x00},
{0x4b, 0x00},
{0x4c, 0x40},
{0x4d, 0x40},
{0x4e, 0x00},
{0x4f, 0x00},
{0x50, 0x40},
{0x51, 0x40},
{0x52, 0x00},
{0x53, 0x00},
{0x54, 0x40},
{0x55, 0x40},
{0x56, 0x00},
{0x57, 0x00},
{0x58, 0x40},
{0x59, 0x40},
{0x5a, 0x00},
{0x5b, 0x00},
{0x5c, 0x40},
{0x5d, 0x40},
{0x5e, 0x00},
{0x5f, 0x00},
{0x62, 0x00}, //hue enable OFF
// 4. shading (Flex氢 3000K manual shading)
{0xfc, 0x09},
// DSP9_SH_WIDTH_H
{0x01, 0x06},
{0x02, 0x40},
// DSP9_SH_HEIGHT_H
{0x03, 0x04},
{0x04, 0xB0},
{0x05, 0x03},
{0x06, 0x13},
{0x07, 0x02},
{0x08, 0x5A},
{0x09, 0x03},
{0x0A, 0x15},
{0x0B, 0x02},
{0x0C, 0x5B},
{0x0D, 0x03},
{0x0E, 0x0D},
{0x0F, 0x02},
{0x10, 0x5D},
{0x1D, 0x80},
{0x1E, 0x00},
{0x1F, 0x80},
{0x20, 0x00},
{0x23, 0x80},
{0x24, 0x00},
{0x21, 0x80},
{0x22, 0x00},
{0x25, 0x80},
{0x26, 0x00},
{0x27, 0x80},
{0x28, 0x00},
{0x2B, 0x80},
{0x2C, 0x00},
{0x29, 0x80},
{0x2A, 0x00},
{0x2D, 0x80},
{0x2E, 0x00},
{0x2F, 0x80},
{0x30, 0x00},
{0x33, 0x80},
{0x34, 0x00},
{0x31, 0x80},
{0x32, 0x00},
// DSP9_SH_VAL_R0H
{0x35, 0x01},
{0x36, 0x00},
{0x37, 0x01},
{0x38, 0x0F},
{0x39, 0x01},
{0x3A, 0x42},
{0x3B, 0x01},
{0x3C, 0x9C},
{0x3D, 0x01},
{0x3E, 0xD0},
{0x3F, 0x02},
{0x40, 0x0F},
{0x41, 0x02},
{0x42, 0x3D},
{0x43, 0x02},
{0x44, 0x5E},
{0x45, 0x01},
{0x46, 0x00},
{0x47, 0x01},
{0x48, 0x0A},
{0x49, 0x01},
{0x4A, 0x2E},
{0x4B, 0x01},
{0x4C, 0x66},
{0x4D, 0x01},
{0x4E, 0x89},
{0x4F, 0x01},
{0x50, 0xB7},
{0x51, 0x01},
{0x52, 0xD8},
{0x53, 0x01},
{0x54, 0xFA},
// DS9_SH_VAL_B0H
{0x55, 0x01},
{0x56, 0x00},
{0x57, 0x01},
{0x58, 0x0A},
{0x59, 0x01},
{0x5A, 0x28},
{0x5B, 0x01},
{0x5C, 0x59},
{0x5D, 0x01},
{0x5E, 0x7A},
{0x5F, 0x01},
{0x60, 0xA1},
{0x61, 0x01},
{0x62, 0xC0},
{0x63, 0x01},
{0x64, 0xDC},
// DSP9_SH_M_R2_R1H
{0x65, 0x00},
{0x66, 0x9F},
{0x67, 0xE6},
{0x68, 0x02},
{0x69, 0x7F},
{0x6A, 0x9B},
{0x6B, 0x05},
{0x6C, 0x9F},
{0x6D, 0x1E},
{0x6E, 0x07},
{0x6F, 0xA6},
{0x70, 0xCC},
{0x71, 0x09},
{0x72, 0xFE},
{0x73, 0x6E},
{0x74, 0x0C},
{0x75, 0xA6},
{0x76, 0x04},
{0x77, 0x0F},
{0x78, 0x9D},
{0x79, 0x8C},
// DSP9_SH_M_R2_G1H
{0x7A, 0x00},
{0x7B, 0x9F},
{0x7C, 0x95},
{0x7D, 0x02},
{0x7E, 0x7E},
{0x7F, 0x54},
{0x80, 0x05},
{0x81, 0x9C},
{0x82, 0x3E},
{0x83, 0x07},
{0x84, 0xA2},
{0x85, 0xE3},
{0x86, 0x09},
{0x87, 0xF9},
{0x88, 0x53},
{0x89, 0x0C},
{0x8A, 0x9F},
{0x8B, 0x8D},
{0x8C, 0x0F},
{0x8D, 0x95},
{0x8E, 0x91},
// DSP9_SH_M_R2_B1H
{0x8F, 0x00},
{0x90, 0xA1},
{0x91, 0xFF},
{0x92, 0x02},
{0x93, 0x87},
{0x94, 0xFD},
{0x95, 0x05},
{0x96, 0xB1},
{0x97, 0xFA},
{0x98, 0x07},
{0x99, 0xC0},
{0x9A, 0x79},
{0x9B, 0x0A},
{0x9C, 0x1F},
{0x9D, 0xF6},
{0x9E, 0x0C},
{0x9F, 0xD0},
{0xA0, 0x74},
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -