from sensorinfo

pull/32112/head
ZwX1616 1 year ago
parent c55f78416c
commit 360b38fb7b
  1. 9
      system/camerad/cameras/camera_common.cc
  2. 1
      system/camerad/cameras/real_debayer.cl
  3. 1
      system/camerad/sensors/ar0231.cc
  4. 4
      system/camerad/sensors/os04c10.cc
  5. 1
      system/camerad/sensors/ox03c10.cc
  6. 2
      system/camerad/sensors/sensor.h

@ -27,13 +27,14 @@ public:
"-cl-fast-relaxed-math -cl-denorms-are-zero "
"-DFRAME_WIDTH=%d -DFRAME_HEIGHT=%d -DFRAME_STRIDE=%d -DFRAME_OFFSET=%d "
"-DRGB_WIDTH=%d -DRGB_HEIGHT=%d -DYUV_STRIDE=%d -DUV_OFFSET=%d "
"-DIS_OX=%d -DIS_OS=%d -DIS_10BIT -DIS_HDR -DIS_BGGR=%d -DCAM_NUM=%d%s",
"-DIS_OX=%d -DIS_OS=%d -DIS_10BIT=%d -DIS_HDR=%d -DHDR_OFFSET=%d -DIS_BGGR=%d -DVIGNETTING=%d ",
ci->frame_width, ci->frame_height, ci->frame_stride * 2, ci->frame_offset,
b->rgb_width, b->rgb_height, buf_width, uv_offset,
ci->image_sensor == cereal::FrameData::ImageSensor::OX03C10,
ci->image_sensor == cereal::FrameData::ImageSensor::OS04C10,
ci->image_sensor == cereal::FrameData::ImageSensor::OS04C10,
s->camera_num, s->camera_num==1 ? " -DVIGNETTING" : "");
ci->mipi_format == CAM_FORMAT_MIPI_RAW_10,
ci->hdr_offset > 0, ci->hdr_offset / 2, ci->bggr,
s->camera_num == 1);
const char *cl_file = "cameras/real_debayer.cl";
cl_program prg_debayer = cl_program_from_file(context, device_id, cl_file, args);
krnl_ = CL_CHECK_ERR(clCreateKernel(prg_debayer, "debayer10", &err));
@ -78,7 +79,7 @@ void CameraBuf::init(cl_device_id device_id, cl_context context, CameraState *s,
LOGD("allocated %d CL buffers", frame_buf_count);
rgb_width = ci->frame_width;
rgb_height = 1520;//ci->frame_height;
rgb_height = ci->hdr_offset > 0 ? (ci->frame_height - ci->hdr_offset) / 2 : ci->frame_height;
int nv12_width = VENUS_Y_STRIDE(COLOR_FMT_NV12, rgb_width);
int nv12_height = VENUS_Y_SCANLINES(COLOR_FMT_NV12, rgb_height);

@ -1,6 +1,5 @@
#define UV_WIDTH RGB_WIDTH / 2
#define UV_HEIGHT RGB_HEIGHT / 2
#define HDR_OFFSET 68
#define RGB_TO_Y(r, g, b) ((((mul24(b, 13) + mul24(g, 65) + mul24(r, 33)) + 64) >> 7) + 16)
#define RGB_TO_U(r, g, b) ((mul24(b, 56) - mul24(g, 37) - mul24(r, 19) + 0x8080) >> 8)

@ -83,6 +83,7 @@ float ar0231_parse_temp_sensor(uint16_t calib1, uint16_t calib2, uint16_t data_r
AR0231::AR0231() {
image_sensor = cereal::FrameData::ImageSensor::AR0231;
bggr = false;
data_word = true;
frame_width = 1928;
frame_height = 1208;

@ -25,10 +25,12 @@ const int os04c10_driver_ae_xywh[] = {44, 180, 2600, 1340};
OS04C10::OS04C10() {
image_sensor = cereal::FrameData::ImageSensor::OS04C10;
bggr = true;
data_word = false;
hdr_offset = 64 * 2 + 8; // stagger
frame_width = 2688;
frame_height = 1520 * 2 + 136; // stagger 64*2 + 8
frame_height = 1520 * 2 + hdr_offset;
frame_stride = (frame_width * 10 / 8); // no alignment
extra_height = 0;

@ -27,6 +27,7 @@ const uint32_t VS_TIME_MAX_OX03C10 = 34; // vs < 35
OX03C10::OX03C10() {
image_sensor = cereal::FrameData::ImageSensor::OX03C10;
bggr = false;
data_word = false;
frame_width = 1928;
frame_height = 1208;

@ -28,6 +28,8 @@ public:
uint32_t extra_height = 0;
int registers_offset = -1;
int stats_offset = -1;
int hdr_offset = -1;
bool bggr;
int exposure_time_min;
int exposure_time_max;

Loading…
Cancel
Save