From 4754da9fbc7e931d96c8f7dd6aacd5f8ee8cd3af Mon Sep 17 00:00:00 2001 From: Dean Lee Date: Mon, 13 Dec 2021 22:07:31 +0800 Subject: [PATCH] common_process_driver_camera: same parameters as process_thread_cb (#23202) old-commit-hash: 5c6229f3df7ab499fa0a6121a327d9d538a2c847 --- selfdrive/camerad/cameras/camera_common.cc | 8 ++++---- selfdrive/camerad/cameras/camera_common.h | 2 +- selfdrive/camerad/cameras/camera_qcom.cc | 6 +----- selfdrive/camerad/cameras/camera_qcom2.cc | 7 +------ 4 files changed, 7 insertions(+), 16 deletions(-) diff --git a/selfdrive/camerad/cameras/camera_common.cc b/selfdrive/camerad/cameras/camera_common.cc index 3581e56ddd..6dcbf18c4b 100644 --- a/selfdrive/camerad/cameras/camera_common.cc +++ b/selfdrive/camerad/cameras/camera_common.cc @@ -408,11 +408,11 @@ static void driver_cam_auto_exposure(CameraState *c, SubMaster &sm) { camera_autoexposure(c, set_exposure_target(b, rect.x1, rect.x2, rect.x_skip, rect.y1, rect.y2, rect.y_skip)); } -void common_process_driver_camera(SubMaster *sm, PubMaster *pm, CameraState *c, int cnt) { +void common_process_driver_camera(MultiCameraState *s, CameraState *c, int cnt) { int j = Hardware::TICI() ? 1 : 3; if (cnt % j == 0) { - sm->update(0); - driver_cam_auto_exposure(c, *sm); + s->sm->update(0); + driver_cam_auto_exposure(c, *(s->sm)); } MessageBuilder msg; auto framed = msg.initEvent().initDriverCameraState(); @@ -421,5 +421,5 @@ void common_process_driver_camera(SubMaster *sm, PubMaster *pm, CameraState *c, if (env_send_driver) { framed.setImage(get_frame_image(&c->buf)); } - pm->send("driverCameraState", msg); + s->pm->send("driverCameraState", msg); } diff --git a/selfdrive/camerad/cameras/camera_common.h b/selfdrive/camerad/cameras/camera_common.h index 20c00c5b5b..9394f90756 100644 --- a/selfdrive/camerad/cameras/camera_common.h +++ b/selfdrive/camerad/cameras/camera_common.h @@ -123,7 +123,7 @@ void fill_frame_data(cereal::FrameData::Builder &framed, const FrameMetadata &fr kj::Array get_frame_image(const CameraBuf *b); float set_exposure_target(const CameraBuf *b, int x_start, int x_end, int x_skip, int y_start, int y_end, int y_skip); std::thread start_process_thread(MultiCameraState *cameras, CameraState *cs, process_thread_cb callback); -void common_process_driver_camera(SubMaster *sm, PubMaster *pm, CameraState *c, int cnt); +void common_process_driver_camera(MultiCameraState *s, CameraState *c, int cnt); void cameras_init(VisionIpcServer *v, MultiCameraState *s, cl_device_id device_id, cl_context ctx); void cameras_open(MultiCameraState *s); diff --git a/selfdrive/camerad/cameras/camera_qcom.cc b/selfdrive/camerad/cameras/camera_qcom.cc index 04dc624e79..5b24b639f2 100644 --- a/selfdrive/camerad/cameras/camera_qcom.cc +++ b/selfdrive/camerad/cameras/camera_qcom.cc @@ -1086,10 +1086,6 @@ static void setup_self_recover(CameraState *c, const uint16_t *lapres, size_t la c->self_recover.store(self_recover); } -void process_driver_camera(MultiCameraState *s, CameraState *c, int cnt) { - common_process_driver_camera(s->sm, s->pm, c, cnt); -} - // called by processing_thread void process_road_camera(MultiCameraState *s, CameraState *c, int cnt) { const CameraBuf *b = &c->buf; @@ -1121,7 +1117,7 @@ void cameras_run(MultiCameraState *s) { std::vector threads; threads.push_back(std::thread(ops_thread, s)); threads.push_back(start_process_thread(s, &s->road_cam, process_road_camera)); - threads.push_back(start_process_thread(s, &s->driver_cam, process_driver_camera)); + threads.push_back(start_process_thread(s, &s->driver_cam, common_process_driver_camera)); CameraState* cameras[2] = {&s->road_cam, &s->driver_cam}; diff --git a/selfdrive/camerad/cameras/camera_qcom2.cc b/selfdrive/camerad/cameras/camera_qcom2.cc index 3ea065ae73..030bbe47e1 100644 --- a/selfdrive/camerad/cameras/camera_qcom2.cc +++ b/selfdrive/camerad/cameras/camera_qcom2.cc @@ -987,11 +987,6 @@ void camera_autoexposure(CameraState *s, float grey_frac) { set_camera_exposure(s, grey_frac); } - -void process_driver_camera(MultiCameraState *s, CameraState *c, int cnt) { - common_process_driver_camera(s->sm, s->pm, c, cnt); -} - // called by processing_thread void process_road_camera(MultiCameraState *s, CameraState *c, int cnt) { const CameraBuf *b = &c->buf; @@ -1016,7 +1011,7 @@ void cameras_run(MultiCameraState *s) { LOG("-- Starting threads"); std::vector threads; threads.push_back(start_process_thread(s, &s->road_cam, process_road_camera)); - threads.push_back(start_process_thread(s, &s->driver_cam, process_driver_camera)); + threads.push_back(start_process_thread(s, &s->driver_cam, common_process_driver_camera)); threads.push_back(start_process_thread(s, &s->wide_road_cam, process_road_camera)); // start devices