1 #ifndef _RK_AIQ_UAPI_ADEBAYER_INT_H_ 2 #define _RK_AIQ_UAPI_ADEBAYER_INT_H_ 3 4 #include "base/xcam_common.h" 5 #include "rk_aiq_algo_des.h" 6 #include "rk_aiq_types_adebayer_algo_int.h" 7 //#include "xcam_log.h" 8 9 typedef struct rk_aiq_uapi_sync_s rk_aiq_uapi_sync_t; 10 11 //auto params, change with iso 12 typedef struct adebayer_attrib_auto_s { 13 uint8_t sharp_strength[9]; 14 uint8_t low_freq_thresh; 15 uint8_t high_freq_thresh; 16 } adebayer_attrib_auto_t; 17 18 typedef AdebayerSeletedParamV1_t adebayer_attrib_manual_t; 19 20 typedef struct adebayer_attrib_s { 21 rk_aiq_uapi_sync_t sync; 22 rk_aiq_debayer_op_mode_t mode; 23 24 uint8_t enable; 25 adebayer_attrib_manual_t stManual; 26 adebayer_attrib_auto_t stAuto; 27 28 } adebayer_attrib_t; 29 30 typedef AdebayerSeletedParamV2_t adebayer_attrib_v2_manual_t; 31 typedef CalibDbV2_Debayer_Tuning_t adebayer_attrib_v2_auto_t; 32 33 typedef struct adebayer_v2_attrib_s { 34 rk_aiq_uapi_sync_t sync; 35 rk_aiq_debayer_op_mode_t mode; 36 37 adebayer_attrib_v2_manual_t stManual; 38 adebayer_attrib_v2_auto_t stAuto; 39 40 } adebayer_v2_attrib_t; 41 42 typedef AdebayerSeletedParamV2Lite_t adebayer_attrib_v2lite_manual_t; 43 typedef CalibDbV2_Debayer_Tuning_Lite_t adebayer_attrib_v2lite_auto_t; 44 45 typedef struct adebayer_v2lite_attrib_s { 46 rk_aiq_uapi_sync_t sync; 47 rk_aiq_debayer_op_mode_t mode; 48 49 adebayer_attrib_v2lite_manual_t stManual; 50 adebayer_attrib_v2lite_auto_t stAuto; 51 52 } adebayer_v2lite_attrib_t; 53 54 // need_sync means the implementation should consider 55 // the thread synchronization 56 // if called by RkAiqAdebayerHandleInt, the sync has been done 57 // in framework. And if called by user app directly, 58 // sync should be done in inner. now we just need implement 59 // the case of need_sync == false; need_sync is for future usage. 60 61 XCamReturn 62 rk_aiq_uapi_adebayer_SetAttrib 63 ( 64 RkAiqAlgoContext* ctx, 65 adebayer_attrib_t attr, 66 bool need_sync 67 ); 68 69 XCamReturn 70 rk_aiq_uapi_adebayer_GetAttrib 71 ( 72 RkAiqAlgoContext* ctx, 73 adebayer_attrib_t* attr 74 ); 75 76 XCamReturn 77 rk_aiq_uapi_adebayer_v2_SetAttrib 78 ( 79 RkAiqAlgoContext* ctx, 80 adebayer_v2_attrib_t attr, 81 bool need_sync 82 ); 83 84 XCamReturn 85 rk_aiq_uapi_adebayer_v2_GetAttrib 86 ( 87 RkAiqAlgoContext* ctx, 88 adebayer_v2_attrib_t* attr 89 ); 90 91 XCamReturn 92 rk_aiq_uapi_adebayer_v2lite_SetAttrib 93 ( 94 RkAiqAlgoContext* ctx, 95 adebayer_v2lite_attrib_t attr, 96 bool need_sync 97 ); 98 99 XCamReturn 100 rk_aiq_uapi_adebayer_v2lite_GetAttrib 101 ( 102 RkAiqAlgoContext* ctx, 103 adebayer_v2lite_attrib_t* attr 104 ); 105 106 #endif//_RK_AIQ_UAPI_ADEBAYER_INT_H_ 107