9 #ifndef TY_COLOR_ISP_H_ 10 #define TY_COLOR_ISP_H_ 13 #define TYISP_CAPI TY_CAPI 15 typedef void* TY_ISP_HANDLE;
18 TY_ISP_FEATURE_CAM_MODEL = 0x000000,
22 TY_ISP_FEATURE_WHITEBALANCE_GAIN = 0x000200,
23 TY_ISP_FEATURE_ENABLE_AUTO_WHITEBALANCE = 0x000300,
24 TY_ISP_FEATURE_SHADING = 0x000400,
25 TY_ISP_FEATURE_SHADING_CENTER = 0x000500,
30 TY_ISP_FEATURE_BAYER_PATTERN = 0x000800,
31 TY_ISP_FEATURE_DEMOSAIC_METHOD = 0x000900,
32 TY_ISP_FEATURE_GAMMA = 0x000A00,
33 TY_ISP_FEATURE_DEFECT_PIXEL_LIST = 0x000B00,
34 TY_ISP_FEATURE_CCM = 0x000C00,
36 TY_ISP_FEATURE_BRIGHT = 0x000D00,
37 TY_ISP_FEATURE_CONTRAST = 0x000E00,
38 TY_ISP_FEATURE_AUTOBRIGHT = 0x000F00,
39 TY_ISP_FEATURE_INPUT_RESAMPLE_SCALE = 0x001000,
40 TY_ISP_FEATURE_ENABLE_AUTO_EXPOSURE_GAIN = 0x001100,
53 TY_ISP_BAYER_AUTO = 0xff,
54 }TY_ISP_BAYER_PATTERN;
57 TY_DEMOSAIC_METHOD_SIMPLE = 0,
58 TY_DEMOSAIC_METHOD_BILINEAR = 1,
59 TY_DEMOSAIC_METHOD_HQLINEAR = 2,
60 TY_DEMOSAIC_METHOD_EDGESENSE = 3,
67 const char * value_type;
71 TYISP_CAPI TYISPCreate(TY_ISP_HANDLE *handle);
72 TYISP_CAPI TYISPRelease(TY_ISP_HANDLE *handle);
73 TYISP_CAPI TYISPLoadConfig(TY_ISP_HANDLE handle,
const uint8_t *config, uint32_t config_size);
77 TYISP_CAPI TYISPSetFeature(TY_ISP_HANDLE handle,
TY_ISP_FEATURE_ID feature_id,
const uint8_t *data, int32_t size);
78 TYISP_CAPI TYISPGetFeature(TY_ISP_HANDLE handle,
TY_ISP_FEATURE_ID feature_id, uint8_t *data_buff, int32_t buff_size);
79 TYISP_CAPI TYISPGetFeatureSize(TY_ISP_HANDLE handle,
TY_ISP_FEATURE_ID feature_id, int32_t *size);
82 TYISP_CAPI TYISPGetFeatureInfoList(TY_ISP_HANDLE handle,
TY_ISP_FEATURE_INFO *info_buffer,
int buffer_size);
83 TYISP_CAPI TYISPGetFeatureInfoListSize(TY_ISP_HANDLE handle, int32_t *buffer_size);
88 static inline TY_STATUS TYISPSetFeature(TY_ISP_HANDLE handle,
TY_ISP_FEATURE_ID feature_id,
int value){
89 return TYISPSetFeature(handle, feature_id, (uint8_t*)&(value),
sizeof(
int));
93 static inline TY_STATUS TYISPGetFeature(TY_ISP_HANDLE handle,
TY_ISP_FEATURE_ID feature_id,
int *value){
94 return TYISPGetFeature(handle, feature_id, (uint8_t*)value,
sizeof(
int));
97 static inline TY_STATUS TYISPSetFeature(TY_ISP_HANDLE handle,
TY_ISP_FEATURE_ID feature_id,
float value){
98 return TYISPSetFeature(handle, feature_id, (uint8_t*)&(value),
sizeof(
float));
102 static inline TY_STATUS TYISPGetFeature(TY_ISP_HANDLE handle,
TY_ISP_FEATURE_ID feature_id,
float *value){
103 return TYISPGetFeature(handle, feature_id, (uint8_t*)value,
sizeof(
float));
gain range ,default no limit
to set different gain for each image column
device handle for device control
update device exposure interval , default 5 frame
TYISP_CAPI TYISPUpdateDevice(TY_ISP_HANDLE handle)
called by main thread to update & control device status for ISP
display detail log information
exposure range ,default no limit
to set different black level for each image column
TYISP_CAPI TYISPProcessImage(TY_ISP_HANDLE handle, const TY_IMAGE_DATA *image_bayer, TY_IMAGE_DATA *image_out)
convert bayer raw image to rgb image,output buffer is allocated by invoker
TYApi.h includes camera control and data receiving interface, which supports configuration for image ...