# ifndef CAMERA_COMMON_H
# define CAMERA_COMMON_H
# include <stdint.h>
# include <stdbool.h>
# include "common/visionipc.h"
# define CAMERA_ID_IMX298 0
# define CAMERA_ID_IMX179 1
# define CAMERA_ID_S5K3P8SP 2
# define CAMERA_ID_OV8865 3
# define CAMERA_ID_IMX298_FLIPPED 4
# define CAMERA_ID_OV10640 5
# define CAMERA_ID_LGC920 6
# define CAMERA_ID_LGC615 7
# define CAMERA_ID_AR0231 8
# define CAMERA_ID_MAX 9
# define LOG_CAMERA_ID_FCAMERA 0
# define LOG_CAMERA_ID_DCAMERA 1
# define LOG_CAMERA_ID_ECAMERA 2
# define LOG_CAMERA_ID_QCAMERA 3
# define LOG_CAMERA_ID_MAX 4
# ifdef __cplusplus
extern " C " {
# endif
typedef struct CameraInfo {
const char * name ;
int frame_width , frame_height ;
int frame_stride ;
bool bayer ;
int bayer_flip ;
bool hdr ;
} CameraInfo ;
typedef struct LogCameraInfo {
const char * filename ;
const char * frame_packet_name ;
const char * encode_idx_name ;
VisionStreamType stream_type ;
int frame_width , frame_height ;
int fps ;
int bitrate ;
bool is_h265 ;
bool downscale ;
bool has_qcamera ;
} LogCameraInfo ;
typedef struct FrameMetadata {
uint32_t frame_id ;
uint64_t timestamp_eof ;
unsigned int frame_length ;
unsigned int integ_lines ;
unsigned int global_gain ;
unsigned int lens_pos ;
float lens_sag ;
float lens_err ;
float lens_true_pos ;
float gain_frac ;
} FrameMetadata ;
extern CameraInfo cameras_supported [ CAMERA_ID_MAX ] ;
# ifdef __cplusplus
}
# endif
# endif