From dfd521325d7fb34c1d05325d0eacad85f4df4d91 Mon Sep 17 00:00:00 2001 From: Willem Melching Date: Wed, 2 Mar 2022 13:56:00 +0100 Subject: [PATCH] camerad: log debayer + yuv processing time (#23894) * camerad: log debayer + yuv processing time * bump cereal old-commit-hash: aabd9a0dff9240fdf2beb2b83b9b35ec0d1bb0b6 --- cereal | 2 +- selfdrive/camerad/cameras/camera_common.cc | 5 +++++ selfdrive/camerad/cameras/camera_common.h | 2 ++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/cereal b/cereal index f16d2a211b..80a5b91e34 160000 --- a/cereal +++ b/cereal @@ -1 +1 @@ -Subproject commit f16d2a211bd5d79b5094ac1abc22d7a5241df101 +Subproject commit 80a5b91e34ecac3e0d504c35f76dd25a34467672 diff --git a/selfdrive/camerad/cameras/camera_common.cc b/selfdrive/camerad/cameras/camera_common.cc index f534cad99c..20edab14ea 100644 --- a/selfdrive/camerad/cameras/camera_common.cc +++ b/selfdrive/camerad/cameras/camera_common.cc @@ -161,6 +161,8 @@ bool CameraBuf::acquire() { cl_mem camrabuf_cl = camera_bufs[cur_buf_idx].buf_cl; cl_event event; + float start_time = millis_since_boot(); + if (debayer) { float gain = 0.0; @@ -181,6 +183,8 @@ bool CameraBuf::acquire() { cur_yuv_buf = vipc_server->get_buffer(yuv_type); rgb2yuv->queue(q, cur_rgb_buf->buf_cl, cur_yuv_buf->buf_cl); + cur_frame_data.processing_time = (millis_since_boot() - start_time) / 1000.0; + VisionIpcBufExtra extra = { cur_frame_data.frame_id, cur_frame_data.timestamp_sof, @@ -219,6 +223,7 @@ void fill_frame_data(cereal::FrameData::Builder &framed, const FrameMetadata &fr framed.setLensPos(frame_data.lens_pos); framed.setLensErr(frame_data.lens_err); framed.setLensTruePos(frame_data.lens_true_pos); + framed.setProcessingTime(frame_data.processing_time); } kj::Array get_frame_image(const CameraBuf *b) { diff --git a/selfdrive/camerad/cameras/camera_common.h b/selfdrive/camerad/cameras/camera_common.h index c2d2904f54..d3cdc67b91 100644 --- a/selfdrive/camerad/cameras/camera_common.h +++ b/selfdrive/camerad/cameras/camera_common.h @@ -75,6 +75,8 @@ typedef struct FrameMetadata { unsigned int lens_pos; float lens_err; float lens_true_pos; + + float processing_time; } FrameMetadata; typedef struct CameraExpInfo {