📄 saa7104.h.bak
字号:
#ifndef _SAA7104_LINUX#define _SAA7104_LINUX
//video_mode#define PAL 0#define NTSC 1
typedef struct saa7104_reg_t
{
unsigned int addr;
unsigned int value;
}saa7104_reg;typedef struct subaddInfo_t {
unsigned char subAddr; // Subaddress of saa7104 register
unsigned char value; // Data for this register
} subaddInfo_t;
//SAA7104 SETTING OPERATION#define SAA7104_READ_REG 0x00 //读寄存器#define SAA7104_WRITE_REG 0x01 //写寄存器
#define SAA7104_REG_MODE 0x02 //制式修改
#define SAA7104_REG_DUMP 0x03 //显示所有寄存器值typedef enum saa7104_re_t{ SAA7104_IOCTL_FAIL =-1, SAA7104_IOCTL_OK = 0, SAA7104_READ_REG_FAIL, //读寄存器出错 SAA7104_WRITE_REG_FAIL,}SAA7104Ret;
//define for SAA7104
#define SAA7104_I2C_ADDR 0x88
#define SAA7104_ID 0x1c
/*process of bit*/
#define SET_BIT(x,y) ((x) |= (y))
#define CLEAR_BIT(x,y) ((x) &= ~(y))
#define CHKBIT_SET(x,y) (((x)&(y)) == (y))
#define CHKBIT_CLR(x,y) (((x)&(y)) == 0)
#define BITMSK(x) (int)(1 << (x))
//==================================================================================
//==================================================================================
// SAA7104 initialize table description
//==================================================================================
//==================================================================================
static subaddInfo_t saa7104_720x576x50p_TO_PAL[] = {
{0x01 , 0x00},
{0x02 , 0x00},//
{0x03 , 0x00},
{0x04 , 0x00},
{0x05 , 0x00},
{0x06 , 0x00},
{0x07 , 0x00},
{0x08 , 0x00},
{0x09 , 0x00},//
{0x0a , 0x00},//
{0x0b , 0x00},//
{0x0c , 0x00},//
{0x0d , 0x00},//
{0x0e , 0x00},//
{0x0f , 0x00},//
{0x10 , 0x00},
{0x11 , 0x00},
{0x12 , 0x00},
{0x13 , 0x00},//
{0x14 , 0x00},
{0x15 , 0x00},
{0x16 , 0x06}, //DAC fine adj
{0x17 , 0x1b}, //R DAC coarse
{0x18 , 0x1b}, //G DAC coarse
{0x19 , 0x1b}, //B DAC coarse
{0x1a , 0x46}, //monitor sense threshold
{0x1b , 0x67}, //monitor sense
{0x1c , 0x05},
{0x1d , 0x00},//
{0x1e , 0x00},//
{0x1f , 0x00},//
{0x20 , 0x00},
{0x21 , 0x00},
{0x24 , 0x00},
{0x25 , 0x00},
{0x26 , 0xff}, //WSS
{0x27 , 0x3f}, //WSS
{0x28 , 0x21}, //Burst start
{0x29 , 0x1d}, //Burst end
{0x2a , 0xff}, //CG
{0x2b , 0xff}, //CG
{0x2c , 0x0f}, //CG
{0x2d , 0xb0}, //Output enables
{0x2e , 0x00},//
{0x2f , 0x00},//
{0x30 , 0x00},
{0x31 , 0x00},
{0x32 , 0x00},//
{0x33 , 0x00},
{0x34 , 0x00},//
{0x35 , 0x00},//
{0x36 , 0x00},
{0x37 , 0x00}, //vertical filter
{0x38 , 0x00}, //Gain luma/chroma
{0x39 , 0x00}, //Gain luma/chroma
{0x3a , 0x3d}, //input data control
{0x54 , 0x12},
{0x55 , 0x0f},
{0x56 , 0xc3},
{0x57 , 0x00},
{0x58 , 0x02},
{0x59 , 0x30},
{0x5a , 0x27}, //CHPS color phase
{0x5b , 0x7d},
{0x5c , 0xaf},
{0x5d , 0x2a}, //black level
{0x5e , 0x3f}, //blanking level
{0x5f , 0x3f}, //cross color
{0x60 , 0x72},
{0x61 , 0x16},
{0x62 , 0x2d},
{0x63 , 0xcb},
{0x64 , 0x8a},
{0x65 , 0x09},
{0x66 , 0x2a},
{0x67 , 0x00},
{0x68 , 0x00},
{0x69 , 0x00},
{0x6a , 0x00},
{0x6c , 0x00},
{0x6d , 0x00},
{0x6e , 0x80},
{0x6f , 0x06},
{0x70 , 0x1f},
{0x71 , 0xbf},
{0x72 , 0x61},
{0x73 , 0x61},
{0x74 , 0x43},
{0x75 , 0xb0},
{0x76 , 0x78},
{0x77 , 0xf9},
{0x78 , 0x2a},
{0x79 , 0xfa},
{0x7a , 0x17},
{0x7b , 0x36},
{0x7c , 0x40},
{0x7d , 0x00},
{0x7e , 0x00},
{0x7f , 0x00},
{0x80 , 0x01},
{0x81 , 0x00},
{0x82 , 0x00},
{0x83 , 0x00},
{0x84 , 0x75},
{0x85 , 0x08},
{0x90 , 0x03},
{0x91 , 0xd0},
{0x92 , 0x16},
{0x93 , 0x16},
{0x94 , 0x08},
{0x95 , 0x20},
{0x96 , 0x31},
{0x97 , 0x15},
{0x98 , 0xbf},
{0x99 , 0x06},
{0x9a , 0x00},
{0x9b , 0x00},
{0x9c , 0x08},
{0x9d , 0x64},
{0x9e , 0x64},
{0x9f , 0x00},
{0xa0 , 0x00},
{0xa1 , 0x00},
{0xa2 , 0x10},
{0xa3 , 0x80},
{0xa4 , 0x12},
{0xdc , 0x00}, //HD Path
{0xf0 , 0xff},
{0xf1 , 0xff},
{0xf2 , 0xff},
{0xf3 , 0x00},
{0xf4 , 0x00},
{0xf5 , 0x00},
{0xf6 , 0x00},
{0xf7 , 0x00},
{0xf8 , 0xff},
{0xf9 , 0xaa},
{0xfa , 0x06},
{0xfb , 0x34},
{0xfc , 0x61},
{0xfd , 0xd3}
};
static subaddInfo_t saa7104_720x480x60p_TO_NTSC[] = {
{0x00, 0xa2},
{0x01, 0x00},
{0x03, 0x00},
{0x04, 0x00},
{0x05, 0x00},
{0x06, 0x00},
{0x07, 0x00},
{0x08, 0x00},
{0x10, 0x00},
{0x11, 0x00},
{0x12, 0x00},
{0x14, 0x00},
{0x15, 0x00},
{0x16, 0x0f},
{0x17, 0x1b},
{0x18, 0x1b},
{0x19, 0x1b},
{0x1a, 0x46},
{0x1b, 0x66},
{0x1c, 0x04},
{0x20, 0x00},
{0x21, 0x00},
{0x24, 0x00},
{0x25, 0x00},
{0x26, 0xff},
{0x27, 0x3f},
{0x28, 0x30},
{0x29, 0x1d},
{0x2a, 0xff},
{0x2b, 0xff},
{0x2c, 0x0f},
{0x2d, 0x24},
{0x30, 0x00},
{0x31, 0x00},
{0x33, 0x00},
{0x36, 0x00},
{0x37, 0x00},
{0x38, 0x1a},
{0x39, 0x1a},
{0x3a, 0x20},
{0x54, 0x01},
{0x55, 0x0f},
{0x56, 0xc3},
{0x57, 0x00},
{0x58, 0x02},
{0x59, 0x30},
{0x5a, 0xe8},
{0x5b, 0x8c},
{0x5c, 0xaf},
{0x5d, 0x39},
{0x5e, 0x09},
{0x5f, 0x00},
{0x60, 0x00},
{0x61, 0x01},
{0x62, 0x70},
{0x63, 0x5a},
{0x64, 0x7e},
{0x65, 0xf0},
{0x66, 0x21},
{0x67, 0x00},
{0x68, 0x00},
{0x69, 0x00},
{0x6a, 0x00},
{0x6c, 0x00},
{0x6d, 0x00},
{0x6e, 0x02},
{0x6f, 0x06},
{0x70, 0xb9},
{0x71, 0xac},
{0x72, 0x60},
{0x73, 0x90},
{0x74, 0x04},
{0x75, 0xb0},
{0x76, 0x78},
{0x77, 0xf9},
{0x78, 0x2a},
{0x79, 0xfa},
{0x7a, 0x12},
{0x7b, 0x06},
{0x7c, 0x40},
{0x7d, 0x00},
{0x7e, 0x0c},
{0x7f, 0x0d},
{0x80, 0x01},
{0x81, 0x2e},
{0x82, 0x10},
{0x83, 0x32},
{0x84, 0x75},
{0x85, 0x04},
{0x90, 0x4a},
{0x91, 0x78},
{0x92, 0x26},
{0x93, 0x26},
{0x94, 0x04},
{0x95, 0x56},
{0x96, 0x22},
{0x97, 0x01},
{0x98, 0x2f},
{0x99, 0x04},
{0x9a, 0xe1},
{0x9b, 0xfe},
{0x9c, 0xff},
{0x9d, 0xff},
{0x9e, 0x00},
{0x9f, 0x0f},
{0xa0, 0xff},
{0xa1, 0x0f},
{0xa2, 0x00},
{0xa3, 0x80},
{0xa4, 0x80},
{0xf0, 0xff},
{0xf1, 0xff},
{0xf2, 0xff},
{0xf3, 0x00},
{0xf4, 0x00},
{0xf5, 0x00},
{0xf6, 0x00},
{0xf7, 0x00},
{0xf8, 0xff},
{0xf9, 0x3b},
{0xfa, 0x07},
{0xfb, 0x9d},
{0xfc, 0x03},
{0xfd, 0xd3}
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -