GK SDK 源码库: XMIPCLinuxV100R005C00SPC030 (kernel/tools/open_source excluded)

This commit is contained in:
lai
2026-09-06 03:52:57 +08:00
commit b1928b41c0
21813 changed files with 4413081 additions and 0 deletions
+5
View File
@@ -0,0 +1,5 @@
ifneq ($(MCU), )
include Makefile.riscv
else
include Makefile.linux
endif
@@ -0,0 +1,21 @@
ISP_DIR := $(shell cd ../.. && /bin/pwd)
SDK_DIR ?= $(shell cd $(ISP_DIR)/../../../.. && /bin/pwd)
include $(SDK_DIR)/build/base.mk
include $(ISP_DIR)/sensor/plat.mk
LIB_NAME := libsns_os04j10
SRCS := $(wildcard *.c)
SDK_USR_CFLAGS += -I$(GMP_DIR)/include
SDK_USR_CFLAGS += -I$(GMP_DIR)/usr/include
SDK_USR_CFLAGS += -I$(ISP_DIR)/include
SDK_USR_CFLAGS += -I$(ISP_DIR)/../include
SDK_USR_CFLAGS += -I.
AT := @
$(info SRCS=$(SRCS))
include $(SDK_DIR)/build/sdk_lib_rules.mk
@@ -0,0 +1,2 @@
SRCS-y += os04j10.c
SRCS-y += os04j10_ctrl.c
File diff suppressed because it is too large Load Diff
+66
View File
@@ -0,0 +1,66 @@
#ifndef __OS04J10_H__
#define __OS04J10_H__
#include "sns_comm.h"
#ifdef __cplusplus
extern "C" {
#endif
#define OS04J10_VMAX_4M_LINEAR 1489
#define OS04J10_VMAX_4M_WDR 1489
#define OS04J10_REG_ADDR_PAGE 0xFD
#define OS04J10_REG_ADDR_TRIG 0xFE
#define OS04J10_REG_ADDR_EXP_H 0x0E
#define OS04J10_REG_ADDR_EXP_L 0x0F
#define OS04J10_REG_ADDR_AGAIN 0x24
#define OS04J10_REG_ADDR_SCG_EN 0xED
#define OS04J10_REG_ADDR_DGAIN_H 0x1F
#define OS04J10_REG_ADDR_DGAIN_L 0x20
#define OS04J10_REG_ADDR_HMAX_H 0x2A
#define OS04J10_REG_ADDR_HMAX_L 0x2B
#define OS04J10_REG_ADDR_VBLANK_H 0x14
#define OS04J10_REG_ADDR_VBLANK_L 0x15
#define OS04J10_REG_ADDR_S_EXP_H 0x1A
#define OS04J10_REG_ADDR_S_EXP_L 0x1B
#define OS04J10_REG_ADDR_S_AGAIN 0xE7
#define OS04J10_REG_ADDR_S_DGAIN_H 0xE4
#define OS04J10_REG_ADDR_S_DGAIN_L 0xE5
#define OS04J10_REG_ADDR_STANDBY 0x09
#define OS04J10_EXP_OFFSET 8
typedef enum {
OS04J10_REG_PAGE = 0,
OS04J10_REG_EXP_H,
OS04J10_REG_EXP_L,
OS04J10_REG_DGAIN_H,
OS04J10_REG_DGAIN_L,
OS04J10_REG_AGAIN,
OS04J10_REG_SCG_EN,
OS04J10_REG_VBLANK_H,
OS04J10_REG_VBLANK_L,
OS04J10_REG_TRIG,
OS04J10_REG_L_MAX_NUM,
// short frame reg info from here
OS04J10_REG_S_EXP_H = OS04J10_REG_L_MAX_NUM,
OS04J10_REG_S_EXP_L,
OS04J10_REG_S_DGAIN_H,
OS04J10_REG_S_DGAIN_L,
OS04J10_REG_S_AGAIN,
OS04J10_REG_MAX_NUM
} os04a10_reg_info;
#define OS04J10_FULL_LINES_MAX 0xFFFF
xmedia_void os04j10_set_dcg_ratio(xmedia_u32 dev, xmedia_u32 dcg_ratio);
#ifdef __cplusplus
}
#endif
#endif // __OS04J10_H__
+427
View File
@@ -0,0 +1,427 @@
#include <stdio.h>
#include <string.h>
#include "i2c_dev.h"
#include "os04j10.h"
#include "os04j10_ctrl.h"
SENSOR_PRIORITY_DATA static xmedia_s32 g_os04j10_i2c_fd[XMEDIA_SENSOR_DEV_MAX_NUM] =
{ [0 ...(XMEDIA_SENSOR_DEV_MAX_NUM - 1)] = SENSOR_I2C_INVALID };
SENSOR_PRIORITY_DATA static xmedia_s32 g_os04j10_i2c_addr[XMEDIA_SENSOR_DEV_MAX_NUM] =
{ [0 ...(XMEDIA_SENSOR_DEV_MAX_NUM - 1)] = SENSOR_I2C_INVALID };
SENSOR_PRIORITY_FUNC void delay_ms(int ms)
{
sleep_us(ms * 1000);
}
SENSOR_PRIORITY_FUNC static xmedia_s32 os04j10_4lane_linear_2560x1440_init(xmedia_u32 dev)
{
xmedia_s32 ret = XMEDIA_SUCCESS;
xmedia_u32 dcg_ratio = 0;
ret |= os04j10_write_reg(dev, 0xfc, 0x01);
delay_ms(8);
ret |= os04j10_write_reg(dev, 0xfd, 0x00);
ret |= os04j10_write_reg(dev, 0x09, 0x06);
ret |= os04j10_write_reg(dev, 0x09, 0x00);
ret |= os04j10_write_reg(dev, 0x14, 0xde);
ret |= os04j10_write_reg(dev, 0x23, 0x74);
ret |= os04j10_write_reg(dev, 0x24, 0x45);
ret |= os04j10_write_reg(dev, 0x25, 0x21);
ret |= os04j10_write_reg(dev, 0x30, 0x0a);
ret |= os04j10_write_reg(dev, 0x31, 0x08);
ret |= os04j10_write_reg(dev, 0x32, 0x05);
ret |= os04j10_write_reg(dev, 0x33, 0xa8);
ret |= os04j10_write_reg(dev, 0x3d, 0x03);
ret |= os04j10_write_reg(dev, 0x39, 0x2c);
ret |= os04j10_write_reg(dev, 0x47, 0x00);
ret |= os04j10_write_reg(dev, 0x53, 0x00);
ret |= os04j10_write_reg(dev, 0x58, 0xd0);
ret |= os04j10_write_reg(dev, 0x5a, 0x0d);
ret |= os04j10_write_reg(dev, 0x6b, 0x01);
ret |= os04j10_write_reg(dev, 0x60, 0x04);
ret |= os04j10_write_reg(dev, 0x61, 0xa8);
ret |= os04j10_write_reg(dev, 0x62, 0xbc);
ret |= os04j10_write_reg(dev, 0x63, 0xf8);
ret |= os04j10_write_reg(dev, 0x64, 0x07);
ret |= os04j10_write_reg(dev, 0x65, 0xae);
ret |= os04j10_write_reg(dev, 0x0a, 0x23);
ret |= os04j10_write_reg(dev, 0x0b, 0xf4);
ret |= os04j10_write_reg(dev, 0xa1, 0x16);
ret |= os04j10_write_reg(dev, 0xa2, 0xca);
ret |= os04j10_write_reg(dev, 0xa4, 0x3f);
ret |= os04j10_write_reg(dev, 0xa8, 0x48);
ret |= os04j10_write_reg(dev, 0xaa, 0x0b);
ret |= os04j10_write_reg(dev, 0xb2, 0x01);
ret |= os04j10_write_reg(dev, 0xb4, 0x00);
ret |= os04j10_write_reg(dev, 0xb5, 0xdf);
ret |= os04j10_write_reg(dev, 0xb8, 0xdd);
ret |= os04j10_write_reg(dev, 0xb9, 0x0f);
ret |= os04j10_write_reg(dev, 0xab, 0x07);
ret |= os04j10_write_reg(dev, 0xac, 0x06);
ret |= os04j10_write_reg(dev, 0xad, 0x0f);
ret |= os04j10_write_reg(dev, 0xaf, 0xd9);
ret |= os04j10_write_reg(dev, 0xb0, 0xcb);
ret |= os04j10_write_reg(dev, 0xb1, 0x00);
ret |= os04j10_write_reg(dev, 0xbf, 0x2e);
ret |= os04j10_write_reg(dev, 0xc0, 0x5d);
ret |= os04j10_write_reg(dev, 0xc1, 0xc1);
ret |= os04j10_write_reg(dev, 0xc2, 0xc0);
ret |= os04j10_write_reg(dev, 0xc3, 0x04);
ret |= os04j10_write_reg(dev, 0xc4, 0x0a);
ret |= os04j10_write_reg(dev, 0xc5, 0x1a);
ret |= os04j10_write_reg(dev, 0xc6, 0x26);
ret |= os04j10_write_reg(dev, 0xd8, 0x20);
ret |= os04j10_write_reg(dev, 0xd9, 0x00);
ret |= os04j10_write_reg(dev, 0xc7, 0x40);
ret |= os04j10_write_reg(dev, 0xc8, 0xf8);
ret |= os04j10_write_reg(dev, 0xc9, 0x00);
ret |= os04j10_write_reg(dev, 0xca, 0xb0);
ret |= os04j10_write_reg(dev, 0xcb, 0x77);
ret |= os04j10_write_reg(dev, 0xcc, 0x67);
ret |= os04j10_write_reg(dev, 0xcd, 0x44);
ret |= os04j10_write_reg(dev, 0xce, 0x34);
ret |= os04j10_write_reg(dev, 0xcf, 0xa9);
ret |= os04j10_write_reg(dev, 0xd0, 0xea);
ret |= os04j10_write_reg(dev, 0xd2, 0xda);
ret |= os04j10_write_reg(dev, 0xe0, 0xff);
ret |= os04j10_write_reg(dev, 0xe6, 0x00);
ret |= os04j10_write_reg(dev, 0xeb, 0x55);
ret |= os04j10_write_reg(dev, 0xec, 0x55);
ret |= os04j10_write_reg(dev, 0xed, 0x0a);
ret |= os04j10_write_reg(dev, 0xfd, 0x01);
ret |= os04j10_write_reg(dev, 0x0e, 0x02);//exp 8msb
ret |= os04j10_write_reg(dev, 0x0f, 0xe4);//exp 8lsb
ret |= os04j10_write_reg(dev, 0x15, 0x08);//vb
ret |= os04j10_write_reg(dev, 0x19, 0x00);//linear mode
ret |= os04j10_write_reg(dev, 0x1f, 0x00);//dig gain 3msb
ret |= os04j10_write_reg(dev, 0x20, 0x40);//dig gain 8lsb
ret |= os04j10_write_reg(dev, 0x22, 0x01);//rpc en, rpc map2(ramp gain)
ret |= os04j10_write_reg(dev, 0x23, 0x00);//ana gain 2msb
ret |= os04j10_write_reg(dev, 0x24, 0x10);//ana gain 8lsb
ret |= os04j10_write_reg(dev, 0x50, 0xff);
ret |= os04j10_write_reg(dev, 0x53, 0xff);
ret |= os04j10_write_reg(dev, 0x55, 0xff);
ret |= os04j10_write_reg(dev, 0x58, 0xff);
ret |= os04j10_write_reg(dev, 0x5c, 0x14);
ret |= os04j10_write_reg(dev, 0x5d, 0x1c);
ret |= os04j10_write_reg(dev, 0x5e, 0x13);
ret |= os04j10_write_reg(dev, 0x66, 0x14);
ret |= os04j10_write_reg(dev, 0x69, 0x13);
ret |= os04j10_write_reg(dev, 0x6d, 0x7c);
ret |= os04j10_write_reg(dev, 0x6e, 0x20);
ret |= os04j10_write_reg(dev, 0x74, 0x01);
ret |= os04j10_write_reg(dev, 0x7b, 0x20);
ret |= os04j10_write_reg(dev, 0x82, 0x12);
ret |= os04j10_write_reg(dev, 0x83, 0x06);
ret |= os04j10_write_reg(dev, 0x8e, 0x32);
ret |= os04j10_write_reg(dev, 0x8f, 0x06);
ret |= os04j10_write_reg(dev, 0x90, 0x75);
ret |= os04j10_write_reg(dev, 0x91, 0x20);
ret |= os04j10_write_reg(dev, 0x92, 0x60);
ret |= os04j10_write_reg(dev, 0x93, 0x40);
ret |= os04j10_write_reg(dev, 0x95, 0xf2);
ret |= os04j10_write_reg(dev, 0xb0, 0x15);
ret |= os04j10_write_reg(dev, 0xb1, 0x08);
ret |= os04j10_write_reg(dev, 0xb6, 0x02);
ret |= os04j10_write_reg(dev, 0xb7, 0x11);
ret |= os04j10_write_reg(dev, 0xfd, 0x02);
ret |= os04j10_write_reg(dev, 0x11, 0x16);
ret |= os04j10_write_reg(dev, 0x12, 0xbc);
ret |= os04j10_write_reg(dev, 0x13, 0x55);
ret |= os04j10_write_reg(dev, 0x14, 0x6f);
ret |= os04j10_write_reg(dev, 0x17, 0xf2);
ret |= os04j10_write_reg(dev, 0x20, 0x2a);
ret |= os04j10_write_reg(dev, 0x21, 0x32);
ret |= os04j10_write_reg(dev, 0x22, 0x32);
ret |= os04j10_write_reg(dev, 0x23, 0x44);
ret |= os04j10_write_reg(dev, 0x1b, 0x44);
ret |= os04j10_write_reg(dev, 0x28, 0x2c);
ret |= os04j10_write_reg(dev, 0x29, 0x30);
ret |= os04j10_write_reg(dev, 0x2a, 0x30);
ret |= os04j10_write_reg(dev, 0x2b, 0x42);
ret |= os04j10_write_reg(dev, 0x1d, 0x42);
ret |= os04j10_write_reg(dev, 0x2e, 0x2f);
ret |= os04j10_write_reg(dev, 0x2f, 0x33);
ret |= os04j10_write_reg(dev, 0x30, 0x33);
ret |= os04j10_write_reg(dev, 0x31, 0x45);
ret |= os04j10_write_reg(dev, 0x1e, 0x45);
ret |= os04j10_write_reg(dev, 0x2c, 0x3f);
ret |= os04j10_write_reg(dev, 0x37, 0x15);
ret |= os04j10_write_reg(dev, 0x38, 0x15);
ret |= os04j10_write_reg(dev, 0xfd, 0x03);
ret |= os04j10_write_reg(dev, 0x0d, 0x40);
ret |= os04j10_write_reg(dev, 0x9a, 0x00);
ret |= os04j10_write_reg(dev, 0xfd, 0x04);
ret |= os04j10_write_reg(dev, 0x1b, 0x01);
ret |= os04j10_write_reg(dev, 0x9b, 0x01);
ret |= os04j10_write_reg(dev, 0x05, 0x01);
ret |= os04j10_write_reg(dev, 0x0b, 0x0c);
ret |= os04j10_write_reg(dev, 0x0c, 0x0f);
ret |= os04j10_write_reg(dev, 0xfd, 0x05);
ret |= os04j10_write_reg(dev, 0x10, 0xd0);
ret |= os04j10_write_reg(dev, 0x17, 0x08);
ret |= os04j10_write_reg(dev, 0x42, 0x00);//blc_k_b
ret |= os04j10_write_reg(dev, 0x43, 0x85);//blc_k_b
ret |= os04j10_write_reg(dev, 0x44, 0x00);//blc_k_gb
ret |= os04j10_write_reg(dev, 0x45, 0x85);//blc_k_gb
ret |= os04j10_write_reg(dev, 0x46, 0x00);//blc_k_gr
ret |= os04j10_write_reg(dev, 0x47, 0x85);//blc_k_gr
ret |= os04j10_write_reg(dev, 0x48, 0x00);//blc_k_r
ret |= os04j10_write_reg(dev, 0x49, 0x85);//blc_k_r
ret |= os04j10_write_reg(dev, 0xb0, 0x01);
ret |= os04j10_write_reg(dev, 0xb3, 0x01);
ret |= os04j10_write_reg(dev, 0xb4, 0xff);
ret |= os04j10_write_reg(dev, 0xfd, 0x03);
ret |= os04j10_write_reg(dev, 0x16, 0x00);
ret |= os04j10_write_reg(dev, 0x17, 0x04);
ret |= os04j10_write_reg(dev, 0x18, 0x0a);//2560
ret |= os04j10_write_reg(dev, 0x19, 0x00);
ret |= os04j10_write_reg(dev, 0x1a, 0x00);
ret |= os04j10_write_reg(dev, 0x1b, 0x04);
ret |= os04j10_write_reg(dev, 0x1c, 0x05);//1440
ret |= os04j10_write_reg(dev, 0x1d, 0xa0);
ret |= os04j10_write_reg(dev, 0x1d, 0xa0);
ret |= os04j10_write_reg(dev, 0xfd, 0x00);
ret |= os04j10_write_reg(dev, 0x30, 0x0a);
ret |= os04j10_write_reg(dev, 0x31, 0x00);
ret |= os04j10_write_reg(dev, 0x32, 0x05);
ret |= os04j10_write_reg(dev, 0x33, 0xa0);
ret |= os04j10_write_reg(dev, 0xfd, 0x05);
ret |= os04j10_write_reg(dev, 0xc5, 0x06);
ret |= os04j10_write_reg(dev, 0xc9, 0x06);
ret |= os04j10_write_reg(dev, 0xcd, 0x06);
ret |= os04j10_write_reg(dev, 0xc6, 0x13);
ret |= os04j10_write_reg(dev, 0xca, 0x13);
ret |= os04j10_write_reg(dev, 0xce, 0x13);
ret |= os04j10_write_reg(dev, 0xc3, 0x05);
ret |= os04j10_write_reg(dev, 0xc7, 0x05);
ret |= os04j10_write_reg(dev, 0xcb, 0x05);
ret |= os04j10_write_reg(dev, 0xc4, 0x04);
ret |= os04j10_write_reg(dev, 0xc8, 0x04);
ret |= os04j10_write_reg(dev, 0xcc, 0x04);
ret |= os04j10_write_reg(dev, 0xcf, 0x04);
ret |= os04j10_write_reg(dev, 0xd3, 0x04);
ret |= os04j10_write_reg(dev, 0xd7, 0x04);
ret |= os04j10_write_reg(dev, 0xd0, 0x08);
ret |= os04j10_write_reg(dev, 0xd4, 0x08);
ret |= os04j10_write_reg(dev, 0xd8, 0x08);
ret |= os04j10_write_reg(dev, 0xbb, 0x00);
ret |= os04j10_write_reg(dev, 0xd1, 0x01);
ret |= os04j10_write_reg(dev, 0xd5, 0x01);
ret |= os04j10_write_reg(dev, 0xd9, 0x01);
ret |= os04j10_write_reg(dev, 0xd2, 0x0A);
ret |= os04j10_write_reg(dev, 0xd6, 0x0A);
ret |= os04j10_write_reg(dev, 0xda, 0x0A);
ret |= os04j10_write_reg(dev, 0xbc, 0x3F);
ret |= os04j10_write_reg(dev, 0xfd, 0x09);
ret |= os04j10_write_reg(dev, 0x9d, 0xc1);//otp isp en
ret |= os04j10_write_reg(dev, 0x83, 0x08);//04
ret |= os04j10_write_reg(dev, 0x8b, 0x17);//04
ret |= os04j10_write_reg(dev, 0xc1, 0x18);
ret |= os04j10_write_reg(dev, 0xc3, 0x18);
ret |= os04j10_write_reg(dev, 0xfd, 0x00);
ret |= os04j10_write_reg(dev, 0x59, 0x00);
ret |= os04j10_write_reg(dev, 0x2c, 0x01);//mipi en
ret |= os04j10_write_reg(dev, 0x57, 0x10);//otp soft rst
ret |= os04j10_write_reg(dev, 0xfb, 0x03);
ret |= os04j10_write_reg(dev, 0xfd, 0x09);
ret |= os04j10_write_reg(dev, 0x9a, 0x00);
ret |= os04j10_write_reg(dev, 0x9d, 0x00);
ret |= os04j10_write_reg(dev, 0x88, 0x00);
ret |= os04j10_write_reg(dev, 0x89, 0x00);
ret |= os04j10_write_reg(dev, 0x8a, 0x00);
ret |= os04j10_write_reg(dev, 0x8b, 0x17);
ret |= os04j10_write_reg(dev, 0x84, 0x40);
ret |= os04j10_write_reg(dev, 0x81, 0x01);
ret |= os04j10_write_reg(dev, 0xfd, 0x0c);
ret |= os04j10_read_reg(dev, 0x00, &dcg_ratio);
dcg_ratio = dcg_ratio / 0x20;
os04j10_set_dcg_ratio(dev, dcg_ratio);
SENSOR_PRINT("====-OV OS04J10_dcg_ratio 0x%x--===\n", dcg_ratio);
if (ret != XMEDIA_SUCCESS) {
SENSOR_TRACE(MODULE_DBG_ERR, "os04j10_write_reg failed\n");
return XMEDIA_FAILURE;
}
SENSOR_PRINT("=======================================================================================\n");
SENSOR_PRINT("==== OS04J10_24MInput_MIPI_4lane_12bit_linear_2560x1440_30fps init success!====\n");
SENSOR_PRINT("=======================================================================================\n");
return XMEDIA_SUCCESS;
}
SENSOR_PRIORITY_FUNC static xmedia_s32 os04j10_4lane_wdr_2560x1440_init(xmedia_u32 dev)
{
return XMEDIA_ERRCODE_NOT_SUPPORT;
}
SENSOR_PRIORITY_FUNC xmedia_s32 os04j10_init_image(xmedia_u32 dev, xmedia_u8 image_mode)
{
xmedia_s32 ret = XMEDIA_SUCCESS;
switch(image_mode) {
case OS04J10_4M_LINEAR_MODE:
ret = os04j10_4lane_linear_2560x1440_init(dev);
break;
case OS04J10_4M_WDR_MODE:
ret = os04j10_4lane_wdr_2560x1440_init(dev);
break;
default:
SENSOR_TRACE(MODULE_DBG_ERR, "Not support, please check image mode!\n");
return XMEDIA_ERRCODE_NOT_SUPPORT;
}
return ret;
}
SENSOR_PRIORITY_FUNC xmedia_s32 os04j10_set_slave_addr(xmedia_u32 dev, xmedia_u32 slave_addr)
{
xmedia_s32 ret;
if (g_os04j10_i2c_fd[dev] < 0) {
SENSOR_PRINT("Sensor dev [%d], i2c not open. please init i2c at first.\n", dev);
return XMEDIA_ERRCODE_NOT_INIT;
}
ret = i2c_set_slave_addr(g_os04j10_i2c_fd[dev], slave_addr);
if (ret < 0) {
SENSOR_TRACE(MODULE_DBG_ERR, "i2c_set_slave_addr error!\n");
i2c_close(g_os04j10_i2c_fd[dev]);
g_os04j10_i2c_fd[dev] = SENSOR_I2C_INVALID;
return XMEDIA_FAILURE;
}
g_os04j10_i2c_addr[dev] = slave_addr;
SENSOR_PRINT("Sensor dev [%d] set slave addr 0x%x success.\n", dev, slave_addr);
return XMEDIA_SUCCESS;
}
SENSOR_PRIORITY_FUNC xmedia_s32 os04j10_i2c_init(xmedia_u32 dev, xmedia_s8 i2c_dev, xmedia_u32 i2c_addr)
{
xmedia_s32 ret;
if (g_os04j10_i2c_fd[dev] >= 0) {
SENSOR_PRINT("====== Sensor dev [%d], i2c already init !=======\n", dev);
return XMEDIA_SUCCESS;
}
if (i2c_dev == SENSOR_I2C_INVALID) {
SENSOR_TRACE(MODULE_DBG_ERR, "Sensor i2c dev invalid! Please set i2c dev at first!\n");
return XMEDIA_ERRCODE_NOT_CONFIG;
}
g_os04j10_i2c_fd[dev] = i2c_open(i2c_dev);
if (g_os04j10_i2c_fd[dev] < 0) {
SENSOR_TRACE(MODULE_DBG_ERR, "Open /dev/i2c_drv-%u error!\n", i2c_dev);
return XMEDIA_ERRCODE_OPEN_FAILED;
}
ret = os04j10_set_slave_addr(dev, i2c_addr);
SENSOR_CHECK_RET_RETURN(ret);
SENSOR_PRINT("====== i2c[%d] init success!=======\n", i2c_dev);
return XMEDIA_SUCCESS;
}
SENSOR_PRIORITY_FUNC xmedia_s32 os04j10_i2c_exit(xmedia_u32 dev)
{
xmedia_s32 ret;
ret = i2c_close(g_os04j10_i2c_fd[dev]);
if(ret < 0 ) {
SENSOR_TRACE(MODULE_DBG_ERR, "sensor dev[%d] close i2c failed!\n", dev);
return ret;
}
g_os04j10_i2c_fd[dev] = SENSOR_I2C_INVALID;
return XMEDIA_SUCCESS;
}
SENSOR_PRIORITY_FUNC xmedia_s32 os04j10_read_reg(xmedia_u32 dev, xmedia_u32 addr, xmedia_u32 *data)
{
xmedia_s32 ret;
xmedia_u8 buf[OS04J10_DATA_BYTE];
if (g_os04j10_i2c_fd[dev] < 0) {
SENSOR_TRACE(MODULE_DBG_ERR, "sensor dev[%d]'s i2c is not init!\n", dev);
return XMEDIA_ERRCODE_NOT_INIT;
}
ret = i2c_read(g_os04j10_i2c_fd[dev], g_os04j10_i2c_addr[dev], addr, OS04J10_ADDR_BYTE, buf, OS04J10_DATA_BYTE);
if (ret < 0) {
SENSOR_TRACE(MODULE_DBG_ERR, "sensor dev[%d] read i2c addr [0x%X] failed!\n", dev, addr);
return ret;
}
*data = buf[0]; //OS04J10_DATA_BYTE == 1
return XMEDIA_SUCCESS;
}
SENSOR_PRIORITY_FUNC xmedia_s32 os04j10_write_reg(xmedia_u32 dev, xmedia_u32 addr, xmedia_u32 data)
{
xmedia_u32 idx = 0;
xmedia_s32 ret;
xmedia_u8 buf[8];
if (g_os04j10_i2c_fd[dev] < 0) {
SENSOR_TRACE(MODULE_DBG_ERR, "sensor dev[%d]'s i2c is not init!\n", dev);
return XMEDIA_ERRCODE_NOT_INIT;
}
buf[idx] = addr & 0xff;
idx++;
buf[idx] = data & 0xff;
ret = i2c_write(g_os04j10_i2c_fd[dev], g_os04j10_i2c_addr[dev], buf, OS04J10_ADDR_BYTE + OS04J10_DATA_BYTE);
if (ret < 0) {
SENSOR_TRACE(MODULE_DBG_ERR, "i2c_write error!\n");
return XMEDIA_FAILURE;
}
return XMEDIA_SUCCESS;
}
SENSOR_PRIORITY_FUNC xmedia_s32 os04j10_set_mirror_flip(xmedia_u32 dev, xmedia_bool mirror_en, xmedia_bool flip_en)
{
xmedia_s32 ret;
xmedia_u32 mirror_flip_type;
os04j10_write_reg(dev, 0xfd, 0x01);
os04j10_read_reg(dev, 0x12, &mirror_flip_type);
if (mirror_en){
mirror_flip_type |= 0x0a;
} else {
mirror_flip_type &= 0xf5;
}
if (flip_en){
mirror_flip_type |= 0x05;
} else {
mirror_flip_type &= 0xfa;
}
ret = os04j10_write_reg(dev, 0x12, mirror_flip_type);
if (ret != XMEDIA_SUCCESS) {
SENSOR_TRACE(MODULE_DBG_ERR, "os04j10_write_reg failed\n");
}
return XMEDIA_SUCCESS;
}
@@ -0,0 +1,30 @@
#ifndef __OS04J10_CTRL_H__
#define __OS04J10_CTRL_H__
#include "sns_comm.h"
#ifdef __cplusplus
extern "C" {
#endif
#define OS04J10_I2C_ADDR 0x78
#define OS04J10_ADDR_BYTE 1
#define OS04J10_DATA_BYTE 1
#define OS04J10_4M_LINEAR_MODE 1
#define OS04J10_4M_WDR_MODE 2
xmedia_s32 os04j10_i2c_init(xmedia_u32 dev, xmedia_s8 i2c_dev, xmedia_u32 i2c_addr);
xmedia_s32 os04j10_i2c_exit(xmedia_u32 dev);
xmedia_s32 os04j10_read_reg(xmedia_u32 dev, xmedia_u32 addr, xmedia_u32 *data);
xmedia_s32 os04j10_write_reg(xmedia_u32 dev, xmedia_u32 addr, xmedia_u32 data);
xmedia_s32 os04j10_set_mirror_flip(xmedia_u32 dev, xmedia_bool mirror_en, xmedia_bool flip_en);
xmedia_s32 os04j10_init_image(xmedia_u32 dev, xmedia_u8 img_mode);
xmedia_s32 os04j10_set_slave_addr(xmedia_u32 dev, xmedia_u32 slave_addr);
void delay_ms(int ms);
#ifdef __cplusplus
}
#endif
#endif //__OS04J10_CTRL_H__
+807
View File
@@ -0,0 +1,807 @@
#ifndef __OS04J10_EX_H__
#define __OS04J10_EX_H__
#ifdef __cplusplus
extern "C" {
#endif
// Piris attr
static const xmedia_isp_piris_attr g_os04j10_piris_attr = {
0,
1,
94,
62,
// Step-F number mapping table. Must be from small to large. F1.0 is 1024 and F32.0 is 1
{ 30, 35, 40, 45, 50, 56, 61, 67, 73, 79, 85, 92, 98, 105, 112, 120, 127, 135, 143, 150, 158,
166, 174, 183, 191, 200, 208, 217, 225, 234, 243, 252, 261, 270, 279, 289, 298, 307, 316, 325, 335, 344,
353, 362, 372, 381, 390, 399, 408, 417, 426, 435, 444, 453, 462, 470, 478, 486, 493, 500, 506, 512 },
XMEDIA_ISP_IRIS_F_NO_1_4,
XMEDIA_ISP_IRIS_F_NO_5_6
};
static const xmedia_isp_awb_ccm g_os04j10_awb_ccm = {
4,
{
{
6800,
{
0x01AD, 0x80D0, 0x0023,
0x8034, 0x013A, 0x8006,
0x000B, 0x80A4, 0x0199
},
},
{
4900,
{
0x0296, 0x8126, 0x8070,
0x804D, 0x01AD, 0x8060,
0x801E, 0x80DF, 0x01FD
},
},
{
3750,
{
0x0220, 0x80E1, 0x803F,
0x805E, 0x0198, 0x803A,
0x8006, 0x80E1, 0x01E7
},
},
{
2650,
{
0x0179, 0x805A, 0x801F,
0x8063, 0x018E, 0x802B,
0x8002, 0x8139, 0x023B
},
},
},
};
static const xmedia_isp_awb_agc_table g_os04j10_awb_agc_table = {
// bvalid
1,
// 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768
// saturation
{ 128, 128, 128, 128, 124, 120, 116, 112, 108, 104, 100, 94, 90, 90, 90, 90 }
};
static const xmedia_isp_awb_ccm g_os04j10_awb_ccm_wdr = {
4,
{
{
6175,
{ 440, 32967, 15, 32852, 424, 32852, 11, 33014, 491 },
},
{
4990,
{ 443, 32969, 14, 32860, 423, 32843, 13, 33044, 519 },
},
{
3865,
{ 450, 32973, 11, 32857, 407, 32830, 18, 33031, 501 },
},
{
2450,
{ 458, 32977, 7, 32853, 389, 32816, 24, 33018, 482 },
},
},
};
static const xmedia_isp_awb_agc_table g_os04j10_awb_agc_table_wdr = {
// bvalid
1,
// saturation
{ 115, 110, 100, 95, 90, 85, 80, 80, 75, 75, 70, 70, 70, 70, 65, 60 }
};
static const xmedia_isp_blc_attr g_os04j10_blc = {
0, // op_type;
{{256,256,256,256,}}, // manual_attr;
{
10,// iso_num;
{100,200,400,800,1600,3200,6400,12800,25600,51200,},// iso_level[XMEDIA_ISP_ISO_MAX_COUNT];
{
{256,256,256,256},
{256,256,256,256},
{256,256,256,256},
{256,256,256,256},
{256,256,256,256},
{256,256,256,256},
{256,256,256,256},
{256,256,256,256},
{256,256,256,256},
{256,256,256,256},
{256,256,256,256},
},// black_level[XMEDIA_ISP_ISO_MAX_COUNT][XMEDIA_ISP_BAYER_PATTERN_NUM];
} // auto_attr;
};
static const xmedia_isp_bnr_attr g_os04j10_bnr={
1,// enable;
0,// ainr_pos_switch;
0,// coring_pos_switch;
0,// noise_reserve_enable;
{102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,103,104,105,106,107,108,108,108,108,108,108,108,108,108,108,108,115,115,115,115,123,123,123,123,131,131,131,131,138,138,138,138,146,146,146,146,154,154,154,154,161,161} ,// noise_reserve_lut[XMEDIA_ISP_BNR_POINT_MAX_COUNT];
6200,// noise_profile_thd;
{0.000132002854, 0.025081475142, 0.000000027260, 0.000024358414, -0.004540460850}, // noise_profile_coef0[XMEDIA_ISP_BNR_CALIB_POINT_MAX_COUNT]; // low_iso_noise_coef
{0.000131794734, -0.000000019901, 0.000000030969, 0.000000000008, -0.000000472919}, // noise_profile_coef1[XMEDIA_ISP_BNR_CALIB_POINT_MAX_COUNT]; // high_iso_noise_coef
0,// snr_wdr_comp_en;
1,// tnr_enable;
1,// tnr_luma_comp_enable;
0,// tnr_wdr_comp_enable; // 7605V2
0,// op_type;
{
16,// iso_num;
{100, 200, 400, 800, 1600, 3200, 6400, 12800, 25600, 51200, 102400, 204800, 409600, 819200, 1638400, 3276800},// iso_level[XMEDIA_ISP_ISO_MAX_COUNT];
{
{256,256,256,256},
{282,282,282,282},
{307,307,307,307},
{333,333,333,333},
{358,358,358,358},
{358,358,358,358},
{333,333,333,333},
{358,358,358,358},
{358,358,358,358},
{358,358,358,358},
{384,384,384,384},
{384,384,384,384},
{384,384,384,384},
{384,384,384,384},
{384,384,384,384},
{384,384,384,384}
},// snr_coarse_str[XMEDIA_ISP_ISO_MAX_COUNT][XMEDIA_ISP_BAYER_PATTERN_NUM];
{128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128},// snr_coring_wgt[XMEDIA_ISP_ISO_MAX_COUNT];
{
{
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128
},
{
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128
},
{
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128
},
{
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128
},
{
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128
},
{
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128
},
{
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128
},
{
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128
},
{
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128
},
{
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128
},
{
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128
},
{
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128
},
{
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128
},
{
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128
},
{
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128
},
{
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128
}
},// snr_luma_nr_str[XMEDIA_ISP_ISO_MAX_COUNT][XMEDIA_ISP_BNR_POINT_MAX_COUNT];
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, // snr_center_luma_mode[XMEDIA_ISP_ISO_MAX_COUNT];
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, // snr_center_tnr_luma_mode[XMEDIA_ISP_ISO_MAX_COUNT]; // 7605V2
{512,512,512,512,512,512,512,512,512,512,512,512,512,512,512,512}, // snr_wdr_comp_scl[XMEDIA_ISP_ISO_MAX_COUNT];
// Bayer3D param
{256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256}, // tnr_noise_min[XMEDIA_ISP_ISO_MAX_COUNT];
{256,256,256,256,256,320,384,448,512,512,512,576,576,576,576,576}, // tnr_bayer_str[XMEDIA_ISP_ISO_MAX_COUNT];
{48,48,48,48,48,48,32,32,32,32,32,32,32,32,32,32}, // tnr_md_thd_low[XMEDIA_ISP_ISO_MAX_COUNT];
{96,96,96,96,96,96,64,64,64,64,64,64,64,64,64,64}, // tnr_md_thd_high[XMEDIA_ISP_ISO_MAX_COUNT];
{512,512,512,512,512,512,512,512,512,512,512,512,512,512,512,512}, // tnr_wgt_min[XMEDIA_ISP_ISO_MAX_COUNT];
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, // tnr_min_ratio[XMEDIA_ISP_ISO_MAX_COUNT]; // 7605V2
{120,112,104,96,88,48,40,32,16,8,8,8,8,8,8,8}, // tnr_mot_bld_thd_low[XMEDIA_ISP_ISO_MAX_COUNT];
{240,224,208,192,176,96,80,64,32,16,16,16,16,16,16,16}, // tnr_mot_bld_thd_high[XMEDIA_ISP_ISO_MAX_COUNT];
{120,112,104,96,88,48,40,32,32,32,32,32,32,32,32,32}, // tnr_edge_md_thd_low[XMEDIA_ISP_ISO_MAX_COUNT];
{240,224,208,192,176,96,80,64,64,64,64,64,64,64,64,64}, // tnr_edge_md_thd_high[XMEDIA_ISP_ISO_MAX_COUNT];
{256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256}, // tnr_flat_md_scl[XMEDIA_ISP_ISO_MAX_COUNT];
{256,256,256,256,256,256,256,256,192,160,160,160,160,160,160,160}, // tnr_edge_md_scl[XMEDIA_ISP_ISO_MAX_COUNT];
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, // tnr_md_mode[XMEDIA_ISP_ISO_MAX_COUNT];
{1024,1024,1024,1024,1024,1024,1024,1024,1024,1024,1024,1024,1024,1024,1024,1024}, // tnr_luma_md_thd_low[XMEDIA_ISP_ISO_MAX_COUNT];
{2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048}, // tnr_luma_md_thd_high[XMEDIA_ISP_ISO_MAX_COUNT];
{256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256}, // tnr_dark_md_scl[XMEDIA_ISP_ISO_MAX_COUNT];
{256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256}, // tnr_bright_md_scl[XMEDIA_ISP_ISO_MAX_COUNT];
{
{176,176,176},
{176,176,176},
{160,160,160},
{160,160,160},
{160,160,160},
{160,160,160},
{160,160,160},
{160,160,160},
{160,160,160},
{160,160,160},
{160,160,160},
{160,160,160},
{160,160,160},
{160,160,160},
{160,160,160},
{160,160,160}
},// tnr_mot_scl[XMEDIA_ISP_ISO_MAX_COUNT][XMEDIA_ISP_BNR_COLOR_NUM_MAX_COUNT];
{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}, // tnr_var_scl[XMEDIA_ISP_ISO_MAX_COUNT];
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, // tnr_mot_noise_luma_thd_low[XMEDIA_ISP_ISO_MAX_COUNT];
{256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256}, // tnr_mot_noise_luma_thd_high[XMEDIA_ISP_ISO_MAX_COUNT];
{256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256}, // tnr_mot_noise_dark_scl[XMEDIA_ISP_ISO_MAX_COUNT];
{256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256}, // tnr_mot_noise_bright_scl[XMEDIA_ISP_ISO_MAX_COUNT];
{128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128}, // tnr_mot_dpc_str[XMEDIA_ISP_ISO_MAX_COUNT];
{
{360,512,1280,2048},
{360,512,1280,2048},
{360,512,1280,2048},
{360,512,1280,2048},
{360,512,1280,2048},
{360,512,1280,2048},
{360,512,1280,2048},
{360,512,1280,2048},
{360,512,1280,2048},
{360,512,1280,2048},
{360,512,1280,2048},
{360,512,1280,2048},
{360,512,1280,2048},
{360,512,1280,2048},
{360,512,1280,2048},
{360,512,1280,2048}
},// tnr_mot_convg_thd[XMEDIA_ISP_ISO_MAX_COUNT][XMEDIA_ISP_BNR_THD_MAX_COUNT];
{256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256}, // tnr_mot_noise_scl[XMEDIA_ISP_ISO_MAX_COUNT];
{256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256}, // tnr_mot_noise_scl_high[XMEDIA_ISP_ISO_MAX_COUNT];
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, // tnr_dpc_en[XMEDIA_ISP_ISO_MAX_COUNT];
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, // tnr_dp_mode[XMEDIA_ISP_ISO_MAX_COUNT];
{384,384,384,384,384,384,384,384,384,384,384,384,384,384,384,384}, // tnr_dp_thd_rb[XMEDIA_ISP_ISO_MAX_COUNT];
{512,512,512,512,512,512,448,448,384,384,384,384,384,384,384,384}, // tnr_dp_thd_g[XMEDIA_ISP_ISO_MAX_COUNT];
{128,128,512,512,512,128,128,128,128,128,128,128,128,128,128,128}, // tnr_dp_luma_thd_low[XMEDIA_ISP_ISO_MAX_COUNT];
{256,256,1024,1024,1024,256,256,256,256,256,256,256,256,256,256,256}, // tnr_dp_luma_thd_high[XMEDIA_ISP_ISO_MAX_COUNT];
{256,256,256,256,256,256,256,256,224,192,128,128,128,128,128,128}, // tnr_dp_thd_low_dark_scl[XMEDIA_ISP_ISO_MAX_COUNT];
{256,256,256,256,256,256,256,256,224,192,170,170,170,170,170,170}, // tnr_dp_thd_high_dark_scl[XMEDIA_ISP_ISO_MAX_COUNT];
{
{
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128
},
{
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128
},
{
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128
},
{
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128
},
{
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128
},
{
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128
},
{
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128
},
{
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128
},
{
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128
},
{
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128
},
{
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128
},
{
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128
},
{
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128
},
{
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128
},
{
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128
},
{
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128
}
},// tnr_luma_ratio[XMEDIA_ISP_ISO_MAX_COUNT][XMEDIA_ISP_BNR_POINT_MAX_COUNT];
{1023,1023,1023,1023,1023,1023,1023,1023,1023,1023,1023,1023,1023,1023,1023,1023},// tnr_wdr_comp_scl[XMEDIA_ISP_ISO_MAX_COUNT]; // 7605V2
},// auto_attr;
{
{256,256,256,256},// snr_coarse_str[XMEDIA_ISP_BAYER_PATTERN_NUM];
128,// snr_coring_wgt;
{
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128
},// snr_luma_nr_str[XMEDIA_ISP_BNR_POINT_MAX_COUNT];
0,// snr_center_luma_mode;
0,// snr_center_tnr_luma_mode;
512,// snr_wdr_comp_scl;
256,// tnr_noise_min;
256,// tnr_bayer_str;
48,// tnr_md_thd_low;
96,// tnr_md_thd_high;
512,// tnr_wgt_min;
256,// tnr_min_ratio; // 7605V2
120,// tnr_mot_bld_thd_low;
240,// tnr_mot_bld_thd_high;
120,// tnr_edge_md_thd_low;
240,// tnr_edge_md_thd_high;
256,// tnr_flat_md_scl;
256,// tnr_edge_md_scl;
0,// tnr_md_mode;
1024,// tnr_luma_md_thd_low;
2048,// tnr_luma_md_thd_high;
256,// tnr_dark_md_scl;
256,// tnr_bright_md_scl;
{160,160,160,},// tnr_mot_scl[XMEDIA_ISP_BNR_COLOR_NUM_MAX_COUNT];
32,// tnr_var_scl;
0,// tnr_mot_noise_luma_thd_low;
256,// tnr_mot_noise_luma_thd_high;
256,// tnr_mot_noise_dark_scl;
256,// tnr_mot_noise_bright_scl;
64,// tnr_mot_dpc_str;
{360,512,1280,1536},// tnr_mot_convg_thd[XMEDIA_ISP_BNR_THD_MAX_COUNT];
256,// tnr_mot_noise_scl;
256,// tnr_mot_noise_scl_high;
1,// tnr_dpc_en;
1,// tnr_dp_mode;
68,// tnr_dp_thd_rb;
105,// tnr_dp_thd_g;
128,// tnr_dp_luma_thd_low;
256,// tnr_dp_luma_thd_high;
256,// tnr_dp_thd_low_dark_scl;
256,// tnr_dp_thd_high_dark_scl;
{
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128
},// tnr_luma_ratio[XMEDIA_ISP_BNR_POINT_MAX_COUNT];
0,// tnr_wdr_comp_scl;
},// manual_attr;
{{64,64}},// wdr;
};
static const xmedia_isp_cr_attr g_os04j10_crosstalk={
1,// enable;
0,// op_type;
{
31,// slope;
100,// threshold;
16,// np_offset;
},// manual_attr;
{
16,// iso_num;
{100, 200, 400, 800, 1600, 3200, 6400, 12800, 25600, 51200, 102400, 204800, 409600, 819200, 1638400, 3276800},// iso_level[XMEDIA_ISP_ISO_MAX_COUNT];
{31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31}, // slope[XMEDIA_ISP_ISO_MAX_COUNT];
{100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100}, // threshold[XMEDIA_ISP_ISO_MAX_COUNT];
{16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16}, // np_offset[XMEDIA_ISP_ISO_MAX_COUNT];
},//auto_attr;
};
static const xmedia_isp_csc_attr g_os04j10_csc={
1,// enable;
1,// color_gamut;
50,// hue;
50,// luma;
50,// contrast;
50,// saturation;
0,// limited_range_en;
1,// ext_csc_en;
1,// ct_mode_en;
{
{0,0,0},// csc_idc[XMEDIA_ISP_CSC_INPUT_DC_NUM];
{0,128,128},// csc_odc[XMEDIA_ISP_CSC_OUTPUT_DC_NUM];
{213,715,72,-117,-394,511,511,-464,-47}
},// csc_matrix;
};
static const xmedia_isp_demosaic_attr g_os04j10_demosaic={
1,// enable;
0,// op_type;
{
16,// iso_num;
{100, 200, 400, 800, 1600, 3200, 6400, 12800, 25600, 51200, 102400, 204800, 409600, 819200, 1638400, 3276800},// iso_level[XMEDIA_ISP_ISO_MAX_COUNT];
{64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64}, // mf_de_str[XMEDIA_ISP_ISO_MAX_COUNT];
{128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128} , // mf_de_osh_str[XMEDIA_ISP_ISO_MAX_COUNT];
{128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128} , // mf_de_ush_str[XMEDIA_ISP_ISO_MAX_COUNT];
{128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128} , // hf_de_str[XMEDIA_ISP_ISO_MAX_COUNT];
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, // hf_smooth_range[XMEDIA_ISP_ISO_MAX_COUNT];
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, // detail_smooth_str[XMEDIA_ISP_ISO_MAX_COUNT];
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, // detail_mf_de_bias[XMEDIA_ISP_ISO_MAX_COUNT];
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, // detail_hf_de_bias[XMEDIA_ISP_ISO_MAX_COUNT];
},// auto_attr;
{
64,// mf_de_str;
128,// mf_de_osh_str;
128,// mf_de_ush_str;
128,// hf_de_str;
1,// hf_smooth_range;
1,// detail_smooth_str;
0,// detail_mf_de_bias;
0,// detail_hf_de_bias;
},// manual_attr;
};
static const xmedia_isp_dehaze_attr g_os04j10_dehaze={
1,// enable;
0,// userlut_enable;
{0},// dehaze_lut[XMEDIA_ISP_DEHAZE_LUT_NUM];
0,// op_type;
{
100,// strength;
{361, 350, 341, 330, 320, 311, 300, 291, 280, 271, 265, 258, 255, 255, 255, 256, 256},// bmap_curve[XMEDIA_ISP_DEHAZE_MAP_LENGTH];
{256, 256, 256, 256, 256, 256, 257, 258, 260, 263, 266, 269, 273, 276, 278, 280, 256},// dmap_curve[XMEDIA_ISP_DEHAZE_MAP_LENGTH];
},// manual_attr;
{
16,
{100,200,400,800,1600,3200,6400,12800,25600, 51200, 102400, 204800, 409600, 819200, 1638400, 3276800},
{100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100},
{
{256, 256, 256, 256, 256, 256, 257, 258, 260, 263, 266, 269, 273, 276, 278, 280, 256},
{256, 260, 264, 268, 270, 272, 274, 276, 278, 280, 280, 280, 280, 280, 280, 280, 256},
{256, 260, 264, 268, 270, 272, 274, 276, 278, 280, 280, 280, 280, 280, 280, 280, 256},
{256, 260, 264, 268, 270, 272, 274, 276, 278, 280, 280, 280, 280, 280, 280, 280, 256},
{256, 260, 264, 268, 270, 272, 274, 276, 278, 280, 280, 280, 280, 280, 280, 280, 256},
{256, 258, 260, 262, 264, 266, 268, 270, 272, 272, 272, 272, 272, 272, 272, 272, 256},
{256, 258, 260, 262, 264, 266, 268, 270, 272, 272, 272, 272, 272, 272, 272, 272, 256},
{256, 258, 260, 262, 264, 266, 268, 270, 272, 272, 272, 272, 272, 272, 272, 272, 256},
{256, 257, 258, 259, 260, 262, 264, 266, 268, 268, 268, 268, 268, 268, 268, 268, 256},
{256, 257, 258, 259, 260, 262, 264, 266, 268, 268, 268, 268, 268, 268, 268, 268, 256},
{256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256},
{256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256},
{256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256},
{256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256},
{256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256},
{256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256}
},
{
{256, 256, 256, 256, 256, 256, 257, 258, 260, 263, 266, 269, 273, 276, 278, 280, 256},
{256, 260, 264, 268, 270, 272, 274, 276, 278, 280, 280, 280, 280, 280, 280, 280, 256},
{256, 260, 264, 268, 270, 272, 274, 276, 278, 280, 280, 280, 280, 280, 280, 280, 256},
{256, 260, 264, 268, 270, 272, 274, 276, 278, 280, 280, 280, 280, 280, 280, 280, 256},
{256, 260, 264, 268, 270, 272, 274, 276, 278, 280, 280, 280, 280, 280, 280, 280, 256},
{256, 258, 260, 262, 264, 266, 268, 270, 272, 272, 272, 272, 272, 272, 272, 272, 256},
{256, 258, 260, 262, 264, 266, 268, 270, 272, 272, 272, 272, 272, 272, 272, 272, 256},
{256, 258, 260, 262, 264, 266, 268, 270, 272, 272, 272, 272, 272, 272, 272, 272, 256},
{256, 257, 258, 259, 260, 262, 264, 266, 268, 268, 268, 268, 268, 268, 268, 268, 256},
{256, 257, 258, 259, 260, 262, 264, 266, 268, 268, 268, 268, 268, 268, 268, 268, 256},
{256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256},
{256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256},
{256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256},
{256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256},
{256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256},
{256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256}
},
},//auto
0,
0
};
static const xmedia_isp_gamma_attr g_os04j10_gamma={
1,// enable;
3, //curve_type
0, //op_type
{
{
0, 11, 22, 34, 45, 56, 67, 79, 90, 102, 113, 125, 136, 148, 159, 171, 182, 194, 206, 217,
229, 241, 253, 265, 276, 288, 300, 312, 324, 336, 347, 359, 371, 383, 395, 407, 419, 431, 443, 455,
467, 479, 491, 503, 515, 527, 539, 551, 563, 575, 587, 599, 611, 623, 635, 646, 658, 670, 682, 694,
706, 718, 729, 741, 753, 765, 777, 788, 800, 812, 823, 835, 846, 858, 870, 881, 893, 904, 915, 927,
938, 949, 961, 972, 983, 994,1005,1016,1027,1038,1049,1060,1071,1082,1093,1103,1114,1125,1135,1146,
1156,1167,1177,1187,1197,1208,1218,1228,1238,1248,1257,1267,1277,1287,1296,1306,1315,1325,1334,1343,
1352,1361,1370,1379,1388,1397,1406,1414,1423,1431,1440,1448,1457,1465,1473,1481,1489,1497,1505,1513,
1521,1529,1537,1544,1552,1560,1567,1575,1582,1589,1597,1604,1611,1618,1626,1633,1640,1647,1654,1661,
1667,1674,1681,1688,1694,1701,1708,1714,1721,1727,1734,1740,1746,1753,1759,1765,1771,1777,1783,1790,
1796,1802,1808,1813,1819,1825,1831,1837,1843,1848,1854,1860,1865,1871,1876,1882,1887,1893,1898,1904,
1909,1915,1920,1925,1930,1936,1941,1946,1951,1957,1962,1967,1972,1977,1982,1987,1992,1997,2002,2007,
2012,2017,2022,2027,2031,2036,2041,2046,2051,2056,2060,2065,2070,2075,2079,2084,2089,2093,2098,2103,
2107,2112,2117,2121,2126,2131,2135,2140,2144,2149,2154,2158,2163,2167,2172,2176,2181,2186,2190,2195,
2199,2203,2208,2212,2216,2221,2225,2229,2233,2237,2241,2245,2249,2253,2257,2261,2265,2269,2273,2277,
2281,2284,2288,2292,2295,2299,2303,2306,2310,2313,2317,2320,2324,2327,2331,2334,2337,2341,2344,2347,
2351,2354,2357,2360,2364,2367,2370,2373,2376,2379,2383,2386,2389,2392,2395,2398,2401,2404,2407,2410,
2413,2416,2419,2421,2424,2427,2430,2433,2436,2439,2442,2444,2447,2450,2453,2456,2458,2461,2464,2467,
2470,2472,2475,2478,2481,2483,2486,2489,2492,2494,2497,2500,2502,2505,2508,2511,2513,2516,2519,2522,
2524,2527,2530,2533,2535,2538,2541,2544,2546,2549,2552,2555,2558,2560,2563,2566,2569,2572,2575,2577,
2580,2583,2586,2589,2592,2595,2598,2601,2604,2607,2609,2612,2615,2618,2621,2624,2627,2629,2632,2635,
2638,2641,2644,2646,2649,2652,2655,2658,2660,2663,2666,2669,2671,2674,2677,2680,2682,2685,2688,2690,
2693,2696,2699,2701,2704,2707,2709,2712,2715,2717,2720,2723,2725,2728,2731,2733,2736,2738,2741,2744,
2746,2749,2752,2754,2757,2759,2762,2765,2767,2770,2772,2775,2778,2780,2783,2785,2788,2791,2793,2796,
2798,2801,2803,2806,2809,2811,2814,2816,2819,2821,2824,2826,2829,2832,2834,2837,2839,2842,2844,2847,
2849,2852,2854,2857,2860,2862,2865,2867,2870,2872,2875,2877,2880,2882,2885,2888,2890,2893,2895,2898,
2900,2903,2905,2908,2910,2913,2916,2918,2921,2923,2926,2928,2931,2934,2936,2939,2941,2944,2946,2949,
2952,2954,2957,2959,2962,2964,2967,2969,2972,2975,2977,2980,2982,2985,2987,2990,2992,2995,2997,3000,
3003,3005,3008,3010,3013,3015,3018,3020,3023,3025,3028,3030,3033,3035,3038,3040,3043,3046,3048,3051,
3053,3056,3058,3061,3063,3066,3068,3071,3073,3076,3078,3081,3083,3086,3088,3091,3093,3096,3098,3101,
3103,3106,3108,3111,3113,3116,3118,3120,3123,3125,3128,3130,3133,3135,3138,3140,3143,3145,3148,3150,
3153,3155,3158,3160,3162,3165,3167,3170,3172,3175,3177,3180,3182,3185,3187,3189,3192,3194,3197,3199,
3202,3204,3206,3209,3211,3214,3216,3219,3221,3223,3226,3228,3231,3233,3236,3238,3240,3243,3245,3248,
3250,3252,3255,3257,3260,3262,3264,3267,3269,3272,3274,3276,3279,3281,3283,3286,3288,3291,3293,3295,
3298,3300,3302,3305,3307,3310,3312,3314,3317,3319,3321,3324,3326,3328,3331,3333,3335,3338,3340,3342,
3345,3347,3349,3352,3354,3356,3359,3361,3363,3366,3368,3370,3373,3375,3377,3380,3382,3384,3387,3389,
3391,3394,3396,3398,3400,3403,3405,3407,3410,3412,3414,3417,3419,3421,3423,3426,3428,3430,3433,3435,
3437,3440,3442,3444,3446,3449,3451,3453,3456,3458,3460,3462,3465,3467,3469,3472,3474,3476,3478,3481,
3483,3485,3488,3490,3492,3494,3497,3499,3501,3504,3506,3508,3510,3513,3515,3517,3520,3522,3524,3526,
3529,3531,3533,3536,3538,3540,3542,3545,3547,3549,3552,3554,3556,3558,3561,3563,3565,3568,3570,3572,
3574,3577,3579,3581,3584,3586,3588,3590,3593,3595,3597,3600,3602,3604,3607,3609,3611,3613,3616,3618,
3620,3623,3625,3627,3629,3632,3634,3636,3639,3641,3643,3645,3648,3650,3652,3655,3657,3659,3661,3664,
3666,3668,3671,3673,3675,3677,3680,3682,3684,3687,3689,3691,3693,3696,3698,3700,3702,3705,3707,3709,
3711,3714,3716,3718,3720,3723,3725,3727,3729,3732,3734,3736,3738,3741,3743,3745,3747,3750,3752,3754,
3756,3759,3761,3763,3765,3767,3770,3772,3774,3776,3778,3781,3783,3785,3787,3789,3792,3794,3796,3798,
3800,3803,3805,3807,3809,3811,3813,3816,3818,3820,3822,3824,3826,3829,3831,3833,3835,3837,3839,3841,
3844,3846,3848,3850,3852,3854,3856,3858,3860,3862,3864,3867,3869,3871,3873,3875,3877,3879,3881,3883,
3885,3887,3889,3891,3894,3896,3898,3900,3902,3904,3906,3908,3910,3912,3914,3916,3918,3920,3922,3924,
3927,3929,3931,3933,3935,3937,3939,3941,3943,3945,3947,3949,3951,3953,3955,3957,3959,3961,3963,3965,
3967,3969,3971,3973,3975,3977,3979,3981,3983,3986,3988,3990,3992,3994,3996,3998,4000,4002,4004,4006,
4008,4010,4012,4014,4016,4018,4020,4022,4024,4026,4028,4030,4032,4034,4036,4038,4040,4042,4044,4046,
4048,4050,4052,4054,4056,4058,4059,4061,4063,4065,4067,4069,4071,4073,4075,4077,4079,4081,4083,4085,
4087,4089,4091,4093,4095
}, //table[0]
},
{
3,// iso_num;
{100, 3000, 6000},// iso_level[XMEDIA_ISP_ISO_MAX_COUNT];
{
{
0, 11, 22, 34, 45, 56, 67, 79, 90, 102, 113, 125, 136, 148, 159, 171, 182, 194, 206, 217,
229, 241, 253, 265, 276, 288, 300, 312, 324, 336, 347, 359, 371, 383, 395, 407, 419, 431, 443, 455,
467, 479, 491, 503, 515, 527, 539, 551, 563, 575, 587, 599, 611, 623, 635, 646, 658, 670, 682, 694,
706, 718, 729, 741, 753, 765, 777, 788, 800, 812, 823, 835, 846, 858, 870, 881, 893, 904, 915, 927,
938, 949, 961, 972, 983, 994,1005,1016,1027,1038,1049,1060,1071,1082,1093,1103,1114,1125,1135,1146,
1156,1167,1177,1187,1197,1208,1218,1228,1238,1248,1257,1267,1277,1287,1296,1306,1315,1325,1334,1343,
1352,1361,1370,1379,1388,1397,1406,1414,1423,1431,1440,1448,1457,1465,1473,1481,1489,1497,1505,1513,
1521,1529,1537,1544,1552,1560,1567,1575,1582,1589,1597,1604,1611,1618,1626,1633,1640,1647,1654,1661,
1667,1674,1681,1688,1694,1701,1708,1714,1721,1727,1734,1740,1746,1753,1759,1765,1771,1777,1783,1790,
1796,1802,1808,1813,1819,1825,1831,1837,1843,1848,1854,1860,1865,1871,1876,1882,1887,1893,1898,1904,
1909,1915,1920,1925,1930,1936,1941,1946,1951,1957,1962,1967,1972,1977,1982,1987,1992,1997,2002,2007,
2012,2017,2022,2027,2031,2036,2041,2046,2051,2056,2060,2065,2070,2075,2079,2084,2089,2093,2098,2103,
2107,2112,2117,2121,2126,2131,2135,2140,2144,2149,2154,2158,2163,2167,2172,2176,2181,2186,2190,2195,
2199,2203,2208,2212,2216,2221,2225,2229,2233,2237,2241,2245,2249,2253,2257,2261,2265,2269,2273,2277,
2281,2284,2288,2292,2295,2299,2303,2306,2310,2313,2317,2320,2324,2327,2331,2334,2337,2341,2344,2347,
2351,2354,2357,2360,2364,2367,2370,2373,2376,2379,2383,2386,2389,2392,2395,2398,2401,2404,2407,2410,
2413,2416,2419,2421,2424,2427,2430,2433,2436,2439,2442,2444,2447,2450,2453,2456,2458,2461,2464,2467,
2470,2472,2475,2478,2481,2483,2486,2489,2492,2494,2497,2500,2502,2505,2508,2511,2513,2516,2519,2522,
2524,2527,2530,2533,2535,2538,2541,2544,2546,2549,2552,2555,2558,2560,2563,2566,2569,2572,2575,2577,
2580,2583,2586,2589,2592,2595,2598,2601,2604,2607,2609,2612,2615,2618,2621,2624,2627,2629,2632,2635,
2638,2641,2644,2646,2649,2652,2655,2658,2660,2663,2666,2669,2671,2674,2677,2680,2682,2685,2688,2690,
2693,2696,2699,2701,2704,2707,2709,2712,2715,2717,2720,2723,2725,2728,2731,2733,2736,2738,2741,2744,
2746,2749,2752,2754,2757,2759,2762,2765,2767,2770,2772,2775,2778,2780,2783,2785,2788,2791,2793,2796,
2798,2801,2803,2806,2809,2811,2814,2816,2819,2821,2824,2826,2829,2832,2834,2837,2839,2842,2844,2847,
2849,2852,2854,2857,2860,2862,2865,2867,2870,2872,2875,2877,2880,2882,2885,2888,2890,2893,2895,2898,
2900,2903,2905,2908,2910,2913,2916,2918,2921,2923,2926,2928,2931,2934,2936,2939,2941,2944,2946,2949,
2952,2954,2957,2959,2962,2964,2967,2969,2972,2975,2977,2980,2982,2985,2987,2990,2992,2995,2997,3000,
3003,3005,3008,3010,3013,3015,3018,3020,3023,3025,3028,3030,3033,3035,3038,3040,3043,3046,3048,3051,
3053,3056,3058,3061,3063,3066,3068,3071,3073,3076,3078,3081,3083,3086,3088,3091,3093,3096,3098,3101,
3103,3106,3108,3111,3113,3116,3118,3120,3123,3125,3128,3130,3133,3135,3138,3140,3143,3145,3148,3150,
3153,3155,3158,3160,3162,3165,3167,3170,3172,3175,3177,3180,3182,3185,3187,3189,3192,3194,3197,3199,
3202,3204,3206,3209,3211,3214,3216,3219,3221,3223,3226,3228,3231,3233,3236,3238,3240,3243,3245,3248,
3250,3252,3255,3257,3260,3262,3264,3267,3269,3272,3274,3276,3279,3281,3283,3286,3288,3291,3293,3295,
3298,3300,3302,3305,3307,3310,3312,3314,3317,3319,3321,3324,3326,3328,3331,3333,3335,3338,3340,3342,
3345,3347,3349,3352,3354,3356,3359,3361,3363,3366,3368,3370,3373,3375,3377,3380,3382,3384,3387,3389,
3391,3394,3396,3398,3400,3403,3405,3407,3410,3412,3414,3417,3419,3421,3423,3426,3428,3430,3433,3435,
3437,3440,3442,3444,3446,3449,3451,3453,3456,3458,3460,3462,3465,3467,3469,3472,3474,3476,3478,3481,
3483,3485,3488,3490,3492,3494,3497,3499,3501,3504,3506,3508,3510,3513,3515,3517,3520,3522,3524,3526,
3529,3531,3533,3536,3538,3540,3542,3545,3547,3549,3552,3554,3556,3558,3561,3563,3565,3568,3570,3572,
3574,3577,3579,3581,3584,3586,3588,3590,3593,3595,3597,3600,3602,3604,3607,3609,3611,3613,3616,3618,
3620,3623,3625,3627,3629,3632,3634,3636,3639,3641,3643,3645,3648,3650,3652,3655,3657,3659,3661,3664,
3666,3668,3671,3673,3675,3677,3680,3682,3684,3687,3689,3691,3693,3696,3698,3700,3702,3705,3707,3709,
3711,3714,3716,3718,3720,3723,3725,3727,3729,3732,3734,3736,3738,3741,3743,3745,3747,3750,3752,3754,
3756,3759,3761,3763,3765,3767,3770,3772,3774,3776,3778,3781,3783,3785,3787,3789,3792,3794,3796,3798,
3800,3803,3805,3807,3809,3811,3813,3816,3818,3820,3822,3824,3826,3829,3831,3833,3835,3837,3839,3841,
3844,3846,3848,3850,3852,3854,3856,3858,3860,3862,3864,3867,3869,3871,3873,3875,3877,3879,3881,3883,
3885,3887,3889,3891,3894,3896,3898,3900,3902,3904,3906,3908,3910,3912,3914,3916,3918,3920,3922,3924,
3927,3929,3931,3933,3935,3937,3939,3941,3943,3945,3947,3949,3951,3953,3955,3957,3959,3961,3963,3965,
3967,3969,3971,3973,3975,3977,3979,3981,3983,3986,3988,3990,3992,3994,3996,3998,4000,4002,4004,4006,
4008,4010,4012,4014,4016,4018,4020,4022,4024,4026,4028,4030,4032,4034,4036,4038,4040,4042,4044,4046,
4048,4050,4052,4054,4056,4058,4059,4061,4063,4065,4067,4069,4071,4073,4075,4077,4079,4081,4083,4085,
4087,4089,4091,4093,4095
}, //table[0]
{
0,30,60,90,120,145,170,195,220,243,265,288,310,330,350,370,390,410,430,450,
470,488,505,523,540,558,575,593,610,625,640,655,670,685,700,715,730,744,758,772,
786,800,814,828,842,855,868,881,894,907,919,932,944,957,969,982,994,1008,1022,1036,
1050,1062,1073,1085,1096,1107,1117,1128,1138,1148,1158,1168,1178,1188,1198,1208,1218,1227,1236,1245,
1254,1261,1267,1274,1280,1289,1297,1306,1314,1322,1330,1338,1346,1354,1362,1370,1378,1386,1393,1401,
1408,1416,1423,1431,1438,1445,1453,1460,1467,1474,1480,1487,1493,1500,1506,1513,1519,1525,1531,1537,
1543,1549,1556,1562,1568,1574,1580,1586,1592,1598,1604,1609,1615,1621,1627,1632,1638,1644,1650,1655,
1661,1667,1672,1678,1683,1689,1694,1700,1705,1710,1716,1721,1726,1732,1737,1743,1748,1753,1759,1764,
1769,1774,1779,1784,1789,1794,1800,1805,1810,1815,1820,1825,1830,1835,1840,1844,1849,1854,1859,1864,
1869,1874,1879,1883,1888,1893,1898,1902,1907,1912,1917,1921,1926,1931,1936,1940,1945,1950,1954,1959,
1963,1968,1972,1977,1981,1986,1990,1995,1999,2004,2008,2013,2017,2021,2026,2030,2034,2039,2043,2048,
2052,2056,2061,2065,2069,2073,2078,2082,2086,2090,2094,2098,2102,2106,2111,2115,2119,2123,2128,2132,
2136,2140,2144,2148,2152,2156,2160,2164,2168,2172,2176,2180,2184,2188,2192,2196,2200,2204,2208,2212,
2216,2220,2224,2227,2231,2235,2239,2243,2247,2251,2255,2258,2262,2266,2270,2273,2277,2281,2285,2288,
2292,2296,2300,2303,2307,2311,2315,2318,2322,2326,2330,2333,2337,2341,2344,2348,2351,2355,2359,2362,
2366,2370,2373,2377,2380,2384,2387,2391,2394,2398,2401,2405,2408,2412,2415,2419,2422,2426,2429,2433,
2436,2440,2443,2447,2450,2454,2457,2461,2464,2467,2471,2474,2477,2481,2484,2488,2491,2494,2498,2501,
2504,2508,2511,2515,2518,2521,2525,2528,2531,2534,2538,2541,2544,2547,2551,2554,2557,2560,2564,2567,
2570,2573,2577,2580,2583,2586,2590,2593,2596,2599,2603,2606,2609,2612,2615,2618,2621,2624,2628,2631,
2634,2637,2640,2643,2646,2649,2653,2656,2659,2662,2665,2668,2671,2674,2677,2680,2683,2686,2690,2693,
2696,2699,2702,2705,2708,2711,2714,2717,2720,2723,2726,2729,2732,2735,2738,2741,2744,2747,2750,2753,
2756,2759,2762,2764,2767,2770,2773,2776,2779,2782,2785,2788,2791,2794,2797,2799,2802,2805,2808,2811,
2814,2817,2820,2822,2825,2828,2831,2834,2837,2840,2843,2845,2848,2851,2854,2856,2859,2862,2865,2868,
2871,2874,2877,2879,2882,2885,2888,2890,2893,2896,2899,2901,2904,2907,2910,2912,2915,2918,2921,2923,
2926,2929,2932,2934,2937,2940,2943,2945,2948,2951,2954,2956,2959,2962,2964,2967,2969,2972,2975,2977,
2980,2983,2986,2988,2991,2994,2996,2999,3001,3004,3007,3009,3012,3015,3018,3020,3023,3026,3028,3031,
3033,3036,3038,3041,3043,3046,3049,3051,3054,3057,3059,3062,3064,3067,3069,3072,3074,3077,3080,3082,
3085,3088,3090,3093,3095,3098,3100,3103,3105,3108,3110,3113,3115,3118,3120,3123,3125,3128,3130,3133,
3135,3138,3140,3143,3145,3148,3150,3153,3155,3158,3160,3163,3165,3168,3170,3173,3175,3178,3180,3183,
3185,3187,3190,3192,3194,3197,3199,3202,3204,3207,3209,3212,3214,3217,3219,3222,3224,3226,3229,3231,
3233,3236,3238,3241,3243,3245,3248,3250,3252,3255,3257,3260,3262,3264,3267,3269,3271,3274,3276,3279,
3281,3283,3286,3288,3290,3293,3295,3298,3300,3302,3305,3307,3309,3311,3314,3316,3318,3320,3323,3325,
3327,3330,3332,3335,3337,3339,3342,3344,3346,3348,3351,3353,3355,3357,3360,3362,3364,3366,3369,3371,
3373,3375,3378,3380,3382,3384,3387,3389,3391,3393,3396,3398,3400,3402,3405,3407,3409,3411,3414,3416,
3418,3420,3423,3425,3427,3429,3432,3434,3436,3438,3441,3443,3445,3447,3450,3452,3454,3456,3459,3461,
3463,3465,3467,3469,3471,3473,3476,3478,3480,3482,3485,3487,3489,3491,3494,3496,3498,3500,3502,3504,
3506,3508,3511,3513,3515,3517,3519,3521,3523,3525,3528,3530,3532,3534,3536,3538,3540,3542,3545,3547,
3549,3551,3553,3555,3557,3559,3562,3564,3566,3568,3570,3572,3574,3576,3579,3581,3583,3585,3587,3589,
3591,3593,3596,3598,3600,3602,3604,3606,3608,3610,3612,3614,3616,3618,3620,3622,3624,3626,3629,3631,
3633,3635,3637,3639,3641,3643,3645,3647,3649,3651,3653,3655,3657,3659,3661,3663,3665,3667,3670,3672,
3674,3676,3678,3680,3682,3684,3686,3688,3690,3692,3694,3696,3698,3700,3702,3704,3706,3708,3710,3712,
3714,3716,3718,3720,3722,3724,3726,3728,3730,3732,3734,3736,3738,3740,3742,3744,3746,3748,3750,3752,
3754,3756,3758,3760,3762,3764,3766,3767,3769,3771,3773,3775,3777,3779,3781,3783,3785,3787,3789,3791,
3793,3795,3797,3799,3801,3803,3805,3806,3808,3810,3812,3814,3816,3818,3820,3822,3824,3826,3828,3830,
3832,3834,3836,3837,3839,3841,3843,3845,3847,3849,3851,3853,3855,3857,3859,3860,3862,3864,3866,3868,
3870,3872,3874,3875,3877,3879,3881,3883,3885,3887,3889,3890,3892,3894,3896,3898,3900,3902,3904,3905,
3907,3909,3911,3913,3915,3917,3919,3920,3922,3924,3926,3928,3930,3932,3934,3935,3937,3939,3941,3943,
3945,3947,3949,3950,3952,3954,3956,3957,3959,3961,3963,3965,3967,3969,3971,3972,3974,3976,3978,3979,
3981,3983,3985,3987,3989,3991,3993,3994,3996,3998,4000,4001,4003,4005,4007,4008,4010,4012,4014,4016,
4018,4020,4022,4023,4025,4027,4029,4030,4032,4034,4036,4037,4039,4041,4043,4044,4046,4048,4050,4052,
4054,4056,4058,4059,4061,4063,4065,4066,4068,4070,4072,4073,4075,4077,4079,4080,4082,4084,4086,4087,
4089,4091,4092,4094,4095
}, //table[1]
{
0,30,60,90,120,145,170,195,220,243,265,288,310,330,350,370,390,410,430,450,
470,488,505,523,540,558,575,593,610,625,640,655,670,685,700,715,730,744,758,772,
786,800,814,828,842,855,868,881,894,907,919,932,944,957,969,982,994,1008,1022,1036,
1050,1062,1073,1085,1096,1107,1117,1128,1138,1148,1158,1168,1178,1188,1198,1208,1218,1227,1236,1245,
1254,1261,1267,1274,1280,1289,1297,1306,1314,1322,1330,1338,1346,1354,1362,1370,1378,1386,1393,1401,
1408,1416,1423,1431,1438,1445,1453,1460,1467,1474,1480,1487,1493,1500,1506,1513,1519,1525,1531,1537,
1543,1549,1556,1562,1568,1574,1580,1586,1592,1598,1604,1609,1615,1621,1627,1632,1638,1644,1650,1655,
1661,1667,1672,1678,1683,1689,1694,1700,1705,1710,1716,1721,1726,1732,1737,1743,1748,1753,1759,1764,
1769,1774,1779,1784,1789,1794,1800,1805,1810,1815,1820,1825,1830,1835,1840,1844,1849,1854,1859,1864,
1869,1874,1879,1883,1888,1893,1898,1902,1907,1912,1917,1921,1926,1931,1936,1940,1945,1950,1954,1959,
1963,1968,1972,1977,1981,1986,1990,1995,1999,2004,2008,2013,2017,2021,2026,2030,2034,2039,2043,2048,
2052,2056,2061,2065,2069,2073,2078,2082,2086,2090,2094,2098,2102,2106,2111,2115,2119,2123,2128,2132,
2136,2140,2144,2148,2152,2156,2160,2164,2168,2172,2176,2180,2184,2188,2192,2196,2200,2204,2208,2212,
2216,2220,2224,2227,2231,2235,2239,2243,2247,2251,2255,2258,2262,2266,2270,2273,2277,2281,2285,2288,
2292,2296,2300,2303,2307,2311,2315,2318,2322,2326,2330,2333,2337,2341,2344,2348,2351,2355,2359,2362,
2366,2370,2373,2377,2380,2384,2387,2391,2394,2398,2401,2405,2408,2412,2415,2419,2422,2426,2429,2433,
2436,2440,2443,2447,2450,2454,2457,2461,2464,2467,2471,2474,2477,2481,2484,2488,2491,2494,2498,2501,
2504,2508,2511,2515,2518,2521,2525,2528,2531,2534,2538,2541,2544,2547,2551,2554,2557,2560,2564,2567,
2570,2573,2577,2580,2583,2586,2590,2593,2596,2599,2603,2606,2609,2612,2615,2618,2621,2624,2628,2631,
2634,2637,2640,2643,2646,2649,2653,2656,2659,2662,2665,2668,2671,2674,2677,2680,2683,2686,2690,2693,
2696,2699,2702,2705,2708,2711,2714,2717,2720,2723,2726,2729,2732,2735,2738,2741,2744,2747,2750,2753,
2756,2759,2762,2764,2767,2770,2773,2776,2779,2782,2785,2788,2791,2794,2797,2799,2802,2805,2808,2811,
2814,2817,2820,2822,2825,2828,2831,2834,2837,2840,2843,2845,2848,2851,2854,2856,2859,2862,2865,2868,
2871,2874,2877,2879,2882,2885,2888,2890,2893,2896,2899,2901,2904,2907,2910,2912,2915,2918,2921,2923,
2926,2929,2932,2934,2937,2940,2943,2945,2948,2951,2954,2956,2959,2962,2964,2967,2969,2972,2975,2977,
2980,2983,2986,2988,2991,2994,2996,2999,3001,3004,3007,3009,3012,3015,3018,3020,3023,3026,3028,3031,
3033,3036,3038,3041,3043,3046,3049,3051,3054,3057,3059,3062,3064,3067,3069,3072,3074,3077,3080,3082,
3085,3088,3090,3093,3095,3098,3100,3103,3105,3108,3110,3113,3115,3118,3120,3123,3125,3128,3130,3133,
3135,3138,3140,3143,3145,3148,3150,3153,3155,3158,3160,3163,3165,3168,3170,3173,3175,3178,3180,3183,
3185,3187,3190,3192,3194,3197,3199,3202,3204,3207,3209,3212,3214,3217,3219,3222,3224,3226,3229,3231,
3233,3236,3238,3241,3243,3245,3248,3250,3252,3255,3257,3260,3262,3264,3267,3269,3271,3274,3276,3279,
3281,3283,3286,3288,3290,3293,3295,3298,3300,3302,3305,3307,3309,3311,3314,3316,3318,3320,3323,3325,
3327,3330,3332,3335,3337,3339,3342,3344,3346,3348,3351,3353,3355,3357,3360,3362,3364,3366,3369,3371,
3373,3375,3378,3380,3382,3384,3387,3389,3391,3393,3396,3398,3400,3402,3405,3407,3409,3411,3414,3416,
3418,3420,3423,3425,3427,3429,3432,3434,3436,3438,3441,3443,3445,3447,3450,3452,3454,3456,3459,3461,
3463,3465,3467,3469,3471,3473,3476,3478,3480,3482,3485,3487,3489,3491,3494,3496,3498,3500,3502,3504,
3506,3508,3511,3513,3515,3517,3519,3521,3523,3525,3528,3530,3532,3534,3536,3538,3540,3542,3545,3547,
3549,3551,3553,3555,3557,3559,3562,3564,3566,3568,3570,3572,3574,3576,3579,3581,3583,3585,3587,3589,
3591,3593,3596,3598,3600,3602,3604,3606,3608,3610,3612,3614,3616,3618,3620,3622,3624,3626,3629,3631,
3633,3635,3637,3639,3641,3643,3645,3647,3649,3651,3653,3655,3657,3659,3661,3663,3665,3667,3670,3672,
3674,3676,3678,3680,3682,3684,3686,3688,3690,3692,3694,3696,3698,3700,3702,3704,3706,3708,3710,3712,
3714,3716,3718,3720,3722,3724,3726,3728,3730,3732,3734,3736,3738,3740,3742,3744,3746,3748,3750,3752,
3754,3756,3758,3760,3762,3764,3766,3767,3769,3771,3773,3775,3777,3779,3781,3783,3785,3787,3789,3791,
3793,3795,3797,3799,3801,3803,3805,3806,3808,3810,3812,3814,3816,3818,3820,3822,3824,3826,3828,3830,
3832,3834,3836,3837,3839,3841,3843,3845,3847,3849,3851,3853,3855,3857,3859,3860,3862,3864,3866,3868,
3870,3872,3874,3875,3877,3879,3881,3883,3885,3887,3889,3890,3892,3894,3896,3898,3900,3902,3904,3905,
3907,3909,3911,3913,3915,3917,3919,3920,3922,3924,3926,3928,3930,3932,3934,3935,3937,3939,3941,3943,
3945,3947,3949,3950,3952,3954,3956,3957,3959,3961,3963,3965,3967,3969,3971,3972,3974,3976,3978,3979,
3981,3983,3985,3987,3989,3991,3993,3994,3996,3998,4000,4001,4003,4005,4007,4008,4010,4012,4014,4016,
4018,4020,4022,4023,4025,4027,4029,4030,4032,4034,4036,4037,4039,4041,4043,4044,4046,4048,4050,4052,
4054,4056,4058,4059,4061,4063,4065,4066,4068,4070,4072,4073,4075,4077,4079,4080,4082,4084,4086,4087,
4089,4091,4092,4094,4095
}, //table[2]
} ,// table[XMEDIA_ISP_EXP_MAX_COUNT][XMEDIA_ISP_GAMMA_NODE_NUM];
}
};
#ifdef __cplusplus
}
#endif
#endif