#ifndef CAMERA_FRAME_STREAM_H #define CAMERA_FRAME_STREAM_H #include #define CL_USE_DEPRECATED_OPENCL_1_2_APIS #ifdef __APPLE__ #include #else #include #endif #include "common/mat.h" #include "buffering.h" #include "common/visionbuf.h" #include "camera_common.h" #define FRAME_BUF_COUNT 16 #ifdef __cplusplus extern "C" { #endif typedef struct CameraState { int camera_id; CameraInfo ci; int frame_size; VisionBuf *camera_bufs; FrameMetadata camera_bufs_metadata[FRAME_BUF_COUNT]; TBuffer camera_tb; int fps; float digital_gain; float cur_gain_frac; mat3 transform; } CameraState; typedef struct MultiCameraState { int ispif_fd; CameraState rear; CameraState front; } MultiCameraState; void cameras_init(MultiCameraState *s); void cameras_open(MultiCameraState *s, VisionBuf *camera_bufs_rear, VisionBuf *camera_bufs_focus, VisionBuf *camera_bufs_stats, VisionBuf *camera_bufs_front); void cameras_run(MultiCameraState *s); void cameras_close(MultiCameraState *s); void camera_autoexposure(CameraState *s, float grey_frac); #ifdef __cplusplus } // extern "C" #endif #endif