TYCamport3  3
TyIsp.h
Go to the documentation of this file.
1 
9 #ifndef TY_COLOR_ISP_H_
10 #define TY_COLOR_ISP_H_
11 #include "TYApi.h"
12 
13 #define TYISP_CAPI TY_CAPI
14 
15 typedef void* TY_ISP_HANDLE;
16 
17 typedef enum{
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, //<set this if bayer image resampled before softisp process.
40  TY_ISP_FEATURE_ENABLE_AUTO_EXPOSURE_GAIN = 0x001100,
44  TY_ISP_FEATURE_DEBUG_LOG = 0xff000000,
45 
47 
48 typedef enum{
49  TY_ISP_BAYER_GB = 0,
50  TY_ISP_BAYER_BG = 1,
51  TY_ISP_BAYER_RG = 2,
52  TY_ISP_BAYER_GR = 3,
53  TY_ISP_BAYER_AUTO = 0xff,
54 }TY_ISP_BAYER_PATTERN;
55 
56 typedef enum{
57  TY_DEMOSAIC_METHOD_SIMPLE = 0,
58  TY_DEMOSAIC_METHOD_BILINEAR = 1,
59  TY_DEMOSAIC_METHOD_HQLINEAR = 2,
60  TY_DEMOSAIC_METHOD_EDGESENSE = 3,
61 } TY_DEMOSAIC_METHOD;
62 
63 typedef struct{
65  int32_t size;
66  const char * name;
67  const char * value_type;
68  TY_ACCESS_MODE mode;
70 
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);
75 TYISP_CAPI TYISPUpdateDevice(TY_ISP_HANDLE handle);
76 
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);
80 
81 TYISP_CAPI TYISPHasFeature(TY_ISP_HANDLE handle, TY_ISP_FEATURE_ID feature_id);
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);
85 TYISP_CAPI TYISPProcessImage(TY_ISP_HANDLE handle,const TY_IMAGE_DATA *image_bayer, TY_IMAGE_DATA *image_out);
86 
87 #ifdef __cplusplus
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));
90 }
91 
92 
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));
95 }
96 
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));
99 }
100 
101 
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));
104 }
105 
106 #endif
107 
108 #endif
109 
ENABLE CCM.
Definition: TyIsp.h:35
global black level
Definition: TyIsp.h:26
global pixel gain
Definition: TyIsp.h:28
gain range ,default no limit
Definition: TyIsp.h:42
to set different gain for each image column
Definition: TyIsp.h:29
TY_ISP_FEATURE_ID
Definition: TyIsp.h:17
the component to control
Definition: TyIsp.h:20
device handle for device control
Definition: TyIsp.h:19
image size width&height
Definition: TyIsp.h:21
update device exposure interval , default 5 frame
Definition: TyIsp.h:43
TYISP_CAPI TYISPUpdateDevice(TY_ISP_HANDLE handle)
called by main thread to update & control device status for ISP
display detail log information
Definition: TyIsp.h:44
exposure range ,default no limit
Definition: TyIsp.h:41
to set different black level for each image column
Definition: TyIsp.h:27
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 ...