17 #define CAM_INPUT_FORMAT_YUV422_YUYV 0 18 #define CAM_INPUT_FORMAT_YUV422_YVYU 1 19 #define CAM_INPUT_FORMAT_YUV422_UYVY 2 20 #define CAM_INPUT_FORMAT_YUV422_VYUY 3 21 #define CAM_INPUT_FORMAT_GRAY 4 22 #define CAM_INPUT_FORMAT_RGB565 5 23 #define CAM_INPUT_FORMAT_BGR565 6 24 #define CAM_INPUT_FORMAT_RGB888 7 25 #define CAM_INPUT_FORMAT_BGR888 8 33 #define CAM_OUTPUT_FORMAT_AUTO 0 34 #define CAM_OUTPUT_FORMAT_YUV422 1 35 #define CAM_OUTPUT_FORMAT_GRAY 2 36 #define CAM_OUTPUT_FORMAT_YUV422_UV 3 37 #define CAM_OUTPUT_FORMAT_YUV420_UV 4 38 #define CAM_OUTPUT_FORMAT_RGB565_OR_BGR565 5 39 #define CAM_OUTPUT_FORMAT_RGB888_OR_BGR888 6 41 #define CAM_OUTPUT_FORMAT_RGB888_TO_RGB565 7 42 #define CAM_OUTPUT_FORMAT_RGB888_TO_BGR565 8 43 #define CAM_OUTPUT_FORMAT_RGB888_TO_RGBA8888 9 54 #define CAM_INTSTS_NORMAL (1 << 0) 55 #define CAM_INTSTS_MEMORY_OVERWRITE (1 << 2) 56 #define CAM_INTSTS_FRAME_OVERWRITE (1 << 4) 57 #define CAM_INTSTS_FIFO_OVERWRITE (1 << 6) 58 #define CAM_INTSTS_HSYNC_MISMATCH (1 << 8) 59 #define CAM_INTSTS_VSYNC_MISMATCH (1 << 9) 61 #define CAM_INTSTS_NORMAL (1 << 12) 62 #define CAM_INTSTS_MEMORY_OVERWRITE (1 << 13) 63 #define CAM_INTSTS_FRAME_OVERWRITE (1 << 14) 64 #define CAM_INTSTS_FIFO_OVERWRITE (1 << 15) 65 #define CAM_INTSTS_HSYNC_MISMATCH (1 << 21) 66 #define CAM_INTSTS_VSYNC_MISMATCH (1 << 22) 76 #define CAM_INTMASK_NORMAL (1 << 0) 77 #define CAM_INTMASK_MEMORY_OVERWRITE (1 << 2) 78 #define CAM_INTMASK_FRAME_OVERWRITE (1 << 3) 79 #define CAM_INTMASK_FIFO_OVERWRITE (1 << 4) 80 #define CAM_INTMASK_HSYNC_MISMATCH (1 << 5) 81 #define CAM_INTMASK_VSYNC_MISMATCH (1 << 6) 83 #define CAM_INTMASK_NORMAL (1 << 8) 84 #define CAM_INTMASK_MEMORY_OVERWRITE (1 << 9) 85 #define CAM_INTMASK_FRAME_OVERWRITE (1 << 10) 86 #define CAM_INTMASK_FIFO_OVERWRITE (1 << 11) 87 #define CAM_INTMASK_HSYNC_MISMATCH (1 << 6) 88 #define CAM_INTMASK_VSYNC_MISMATCH (1 << 7) 97 #define CAM_INTCLR_NORMAL (1 << 4) 98 #define CAM_INTCLR_MEMORY_OVERWRITE (1 << 5) 99 #define CAM_INTCLR_FRAME_OVERWRITE (1 << 6) 100 #define CAM_INTCLR_FIFO_OVERWRITE (1 << 7) 101 #define CAM_INTCLR_HSYNC_MISMATCH (1 << 8) 102 #define CAM_INTCLR_VSYNC_MISMATCH (1 << 9) 110 #define CAM_POLARITY_ACTIVE_LOW 0 111 #define CAM_POLARITY_ACTIVE_HIGH 1 119 #define CAM_INPUT_SOURCE_DVP 0 121 #define CAM_INPUT_SOURCE_CSI 1 130 #define CAM_BURST_INCR1 0 131 #define CAM_BURST_INCR4 1 132 #define CAM_BURST_INCR8 2 133 #define CAM_BURST_INCR16 3 135 #define CAM_BURST_INCR32 5 136 #define CAM_BURST_INCR64 6 145 #define CAM_CMD_SET_VSYNC_POLARITY 1 146 #define CAM_CMD_SET_HSYNC_POLARITY 2 147 #define CAM_CMD_SET_BURST 3 149 #define CAM_CMD_SET_RGBA8888_ALPHA 4 150 #define CAM_CMD_GET_FRAME_ID 5 152 #define CAM_CMD_WRAP_MODE 6 153 #define CAM_CMD_COUNT_TRIGGER_NORMAL_INT 7 155 #define CAM_CMD_FRAME_ID_RESET 8 156 #define CAM_CMD_INVERSE_VSYNC_POLARITY 9 157 #define CAM_CMD_INVERSE_HSYNC_POLARITY 10 uint32_t bflb_cam_get_frame_info(struct bflb_device_s *dev, uint8_t **pic)
Get frame information.
void bflb_cam_swap_input_yu_order(struct bflb_device_s *dev, bool enable)
Swap input order of y and uv.
uint32_t bflb_cam_get_intstatus(struct bflb_device_s *dev)
Get interrupt status.
void bflb_cam_crop_vsync(struct bflb_device_s *dev, uint16_t start_line, uint16_t end_line)
Crop vsync.
void bflb_cam_init(struct bflb_device_s *dev, const struct bflb_cam_config_s *config)
Initialize cam.
void bflb_cam_int_mask(struct bflb_device_s *dev, uint32_t int_type, bool mask)
Mask or unmask cam interrupt.
void bflb_cam_pop_one_frame(struct bflb_device_s *dev)
Pop one frame.
uint8_t bflb_cam_get_frame_count(struct bflb_device_s *dev)
Get frame count.
void bflb_cam_stop(struct bflb_device_s *dev)
Disable cam.
void bflb_cam_int_clear(struct bflb_device_s *dev, uint32_t int_type)
Clear cam interrupt.
void bflb_cam_crop_hsync(struct bflb_device_s *dev, uint16_t start_pixel, uint16_t end_pixel)
Crop hsync.
void bflb_cam_filter_frame_period(struct bflb_device_s *dev, uint8_t frame_count, uint32_t frame_valid)
Set frame filter, if frame_count = 3, frame_valid = 101b, second frame will be dropped every 3 frames...
int bflb_cam_feature_control(struct bflb_device_s *dev, int cmd, size_t arg)
Control cam feature.
CAM configuration structure.
void bflb_cam_start(struct bflb_device_s *dev)
Enable cam.