/* ****************************************************************************** * * isp.h * * Hawkview ISP - isp.h module * * Copyright (c) 2016 by Allwinnertech Co., Ltd. http://www.allwinnertech.com * * Version Author Date Description * * 3.0 Yang Feng 2016/05/27 VIDEO INPUT * ***************************************************************************** */ #ifndef _ISP_H_ #define _ISP_H_ #include "include/isp_type.h" #include "include/isp_manage.h" #include "include/isp_tuning.h" #include "isp_version.h" #include "video.h" typedef struct ldci_frame_config { HW_U8 *buf; int size; int width; int height; } ldci_frame_config_t; int media_dev_init(void); void media_dev_exit(void); int isp_ir_reset(int dev_id, int mode_flag); int isp_read_cfg_bin(int dev_id, int mode_flag, char *isp_cfg_bin_path); int isp_reset(int dev_id); int isp_init(int dev_id); int isp_update(int dev_id); int isp_get_imageparams(int dev_id, isp_image_params_t *pParams); int isp_stop(int dev_id); int isp_stop_ldci(int dev_id); int isp_exit(int dev_id); int isp_run(int dev_id); int isp_events_stop(int dev_id); int isp_events_restar(int dev_id); int isp_events_init(int dev_id); int isp_set_sync(int mode); int isp_set_ldci_source(int mode, int width, int height); int isp_set_ldci_frame(int dev_id, ldci_frame_config_t *frame_params); int isp_set_stitch_mode(int isp_id, enum stitch_mode_t stitch_mode); HW_S32 isp_pthread_join(int dev_id); HW_S32 isp_get_cfg(int dev_id, HW_U8 group_id, HW_U32 cfg_ids, void *cfg_data); HW_S32 isp_set_cfg(int dev_id, HW_U8 group_id, HW_U32 cfg_ids, void *cfg_data); HW_S32 isp_stats_req(int dev_id, struct isp_stats_context *stats_ctx); HW_S32 isp_set_fps(int dev_id, int sensor_fps); int isp_get_fps(int dev_id, int *g_fps); int isp_set_ae_roi(int dev_id, struct isp_h3a_coor_win *coor, HW_U16 force_ae_target, HW_U16 enable); HW_S32 isp_set_ae_ev_idx(struct isp_lib_context *isp_gen, int curr_idx); HW_S32 isp_set_attr_cfg(int dev_id, HW_U32 ctrl_id, void *value); HW_S32 isp_get_attr_cfg(int dev_id, HW_U32 ctrl_id, void *value); HW_S32 isp_get_encpp_cfg_ctrl(int dev_id, struct isp_video_device *video, HW_U32 ctrl_id, void *value); HW_S32 isp_set_attr_cfg_ctrl(int dev_id, struct isp_video_device *video, HW_U32 ctrl_id, void *value); HW_S32 isp_get_attr_cfg_ctrl(int dev_id, struct isp_video_device *video, HW_U32 ctrl_id, void *value); HW_S32 isp_set_saved_ctx(int dev_id); HW_S32 isp_get_sensor_info(int dev_id, struct sensor_config *cfg); HW_S32 isp_tdm_map(int dev_id, struct isp_tdm_map_cfg *reg); HW_S32 isp_get_tdm_data(int dev_id, struct vin_isp_tdm_data *data); void isp_register_tdmbuffer_done_callback(int dev_id, void *func); int isp_return_tdmbuffer(int dev_id, struct vin_isp_tdm_event_status *status); HW_S32 isp_get_info_length(HW_S32* i3a_length, HW_S32* debug_length); HW_S32 isp_get_version(char* version); HW_S32 isp_get_awb_gain_ir(int dev_id, HW_S32 *rgain_ir, HW_S32 *bgain_ir); HW_S32 isp_get_ae_info(int dev_id, isp_3a_info_ae *ae_info); HW_S32 isp_get_awb_info(int dev_id, isp_3a_info_awb *awb_info); HW_S32 isp_set_ae_flicker_comp(int dev_id, HW_S16 enable); HW_S32 isp_set_d3d_lbc_ratio(struct isp_video_device *video, HW_U32 d3d_lbc_ratio); HW_S32 isp_set_bk_buffer_align(struct isp_video_device *video, struct bk_buffer_align *bk_align); HW_S32 isp_set_bk_width_stride(struct isp_video_device *video, HW_U8 enable); HW_S32 isp_sensor_mipi_switch_comp_process(int dev_id, struct isp_lib_context *ctx, struct sensor_mipi_switch_entity *sensor_mipi_switch_info); HW_S32 isp_sensor_mipi_switch_ctrl(int dev_id, struct isp_video_device *switch_video, struct sensor_mipi_switch_entity *sensor_mipi_switch_info); int isp_set_stitch_mode(int isp_id, enum stitch_mode_t stitch_mode); /*******************isp for video buffer*********************/ int isp_get_temp(int dev_id); HW_S32 isp_get_lv(int dev_id); HW_S32 isp_get_ev_lv_adj(int dev_id); HW_S32 isp_get_encpp_cfg(int dev_id, HW_U32 ctrl_id, void *value); HW_S32 isp_get_debug_msg(int dev_id, void* msg); HW_S32 isp_get_3a_parameters(int dev_id, void* params); void* isp_get_ctx_addr(int dev_id); HW_S32 isp_get_yuv_ystat(struct isp_size pic_size, struct isp_h3a_coor_win target_area, void* VirAddr); HW_S32 isp_get_awb_stats_avg(int dev_id, HW_U32 *awb_stats_ravg, HW_U32 *awb_stats_gavg, HW_U32 *awb_stats_bavg); HW_S32 isp_get_ae_weight_lum(int dev_id); HW_S32 isp_save_debug_info(int dev_id, int is_save_buf, const char *file_name, char *isp_info_param); HW_S32 isp_print_out_af(int dev_id); #endif /*_ISP_H_*/