Rename RGB vision streams to match YUV streams (#23961)
* Renaming VISION_STREAM_RGB_.. to match yuv names like VISION_STREAM_ROAD VISION_STREAM_RGB_BACK -> VISION_STREAM_RGB_ROAD VISION_STREAM_RGB_FRONT -> VISION_STREAM_RGB_DRIVER * little more Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>pull/23967/head
parent
08c2d066cf
commit
57b6fdc17a
2
cereal
2
cereal
|
@ -1 +1 @@
|
||||||
Subproject commit 84a1793eb4d09821f23613b98d80e2ce4ee57b9c
|
Subproject commit e2a813144f93dc58a6cc15627915b23fbfa04d0d
|
|
@ -211,12 +211,12 @@ void cameras_init(VisionIpcServer *v, MultiCameraState *s, cl_device_id device_i
|
||||||
/*fps*/ 20,
|
/*fps*/ 20,
|
||||||
#endif
|
#endif
|
||||||
device_id, ctx,
|
device_id, ctx,
|
||||||
VISION_STREAM_RGB_BACK, VISION_STREAM_ROAD);
|
VISION_STREAM_RGB_ROAD, VISION_STREAM_ROAD);
|
||||||
|
|
||||||
camera_init(v, &s->driver_cam, CAMERA_ID_OV8865, 1,
|
camera_init(v, &s->driver_cam, CAMERA_ID_OV8865, 1,
|
||||||
/*pixel_clock=*/72000000, /*line_length_pclk=*/1602,
|
/*pixel_clock=*/72000000, /*line_length_pclk=*/1602,
|
||||||
/*max_gain=*/510, 10, device_id, ctx,
|
/*max_gain=*/510, 10, device_id, ctx,
|
||||||
VISION_STREAM_RGB_FRONT, VISION_STREAM_DRIVER);
|
VISION_STREAM_RGB_DRIVER, VISION_STREAM_DRIVER);
|
||||||
|
|
||||||
s->sm = new SubMaster({"driverState"});
|
s->sm = new SubMaster({"driverState"});
|
||||||
s->pm = new PubMaster({"roadCameraState", "driverCameraState", "thumbnail"});
|
s->pm = new PubMaster({"roadCameraState", "driverCameraState", "thumbnail"});
|
||||||
|
|
|
@ -743,12 +743,12 @@ void CameraState::camera_open() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void cameras_init(VisionIpcServer *v, MultiCameraState *s, cl_device_id device_id, cl_context ctx) {
|
void cameras_init(VisionIpcServer *v, MultiCameraState *s, cl_device_id device_id, cl_context ctx) {
|
||||||
s->driver_cam.camera_init(s, v, CAMERA_ID_AR0231, 2, 20, device_id, ctx, VISION_STREAM_RGB_FRONT, VISION_STREAM_DRIVER);
|
s->driver_cam.camera_init(s, v, CAMERA_ID_AR0231, 2, 20, device_id, ctx, VISION_STREAM_RGB_DRIVER, VISION_STREAM_DRIVER);
|
||||||
printf("driver camera initted \n");
|
printf("driver camera initted \n");
|
||||||
if (!env_only_driver) {
|
if (!env_only_driver) {
|
||||||
s->road_cam.camera_init(s, v, CAMERA_ID_AR0231, 1, 20, device_id, ctx, VISION_STREAM_RGB_BACK, VISION_STREAM_ROAD); // swap left/right
|
s->road_cam.camera_init(s, v, CAMERA_ID_AR0231, 1, 20, device_id, ctx, VISION_STREAM_RGB_ROAD, VISION_STREAM_ROAD); // swap left/right
|
||||||
printf("road camera initted \n");
|
printf("road camera initted \n");
|
||||||
s->wide_road_cam.camera_init(s, v, CAMERA_ID_AR0231, 0, 20, device_id, ctx, VISION_STREAM_RGB_WIDE, VISION_STREAM_WIDE_ROAD);
|
s->wide_road_cam.camera_init(s, v, CAMERA_ID_AR0231, 0, 20, device_id, ctx, VISION_STREAM_RGB_WIDE_ROAD, VISION_STREAM_WIDE_ROAD);
|
||||||
printf("wide road camera initted \n");
|
printf("wide road camera initted \n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -98,9 +98,9 @@ void process_road_camera(MultiCameraState *s, CameraState *c, int cnt) {
|
||||||
|
|
||||||
void cameras_init(VisionIpcServer *v, MultiCameraState *s, cl_device_id device_id, cl_context ctx) {
|
void cameras_init(VisionIpcServer *v, MultiCameraState *s, cl_device_id device_id, cl_context ctx) {
|
||||||
camera_init(v, &s->road_cam, CAMERA_ID_LGC920, 20, device_id, ctx,
|
camera_init(v, &s->road_cam, CAMERA_ID_LGC920, 20, device_id, ctx,
|
||||||
VISION_STREAM_RGB_BACK, VISION_STREAM_ROAD, get_url(road_camera_route, "fcamera", 0));
|
VISION_STREAM_RGB_ROAD, VISION_STREAM_ROAD, get_url(road_camera_route, "fcamera", 0));
|
||||||
// camera_init(v, &s->driver_cam, CAMERA_ID_LGC615, 10, device_id, ctx,
|
// camera_init(v, &s->driver_cam, CAMERA_ID_LGC615, 10, device_id, ctx,
|
||||||
// VISION_STREAM_RGB_FRONT, VISION_STREAM_DRIVER, get_url(driver_camera_route, "dcamera", 0));
|
// VISION_STREAM_RGB_DRIVER, VISION_STREAM_DRIVER, get_url(driver_camera_route, "dcamera", 0));
|
||||||
s->pm = new PubMaster({"roadCameraState", "driverCameraState", "thumbnail"});
|
s->pm = new PubMaster({"roadCameraState", "driverCameraState", "thumbnail"});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -141,9 +141,9 @@ void driver_camera_thread(CameraState *s) {
|
||||||
|
|
||||||
void cameras_init(VisionIpcServer *v, MultiCameraState *s, cl_device_id device_id, cl_context ctx) {
|
void cameras_init(VisionIpcServer *v, MultiCameraState *s, cl_device_id device_id, cl_context ctx) {
|
||||||
camera_init(v, &s->road_cam, CAMERA_ID_LGC920, 20, device_id, ctx,
|
camera_init(v, &s->road_cam, CAMERA_ID_LGC920, 20, device_id, ctx,
|
||||||
VISION_STREAM_RGB_BACK, VISION_STREAM_ROAD);
|
VISION_STREAM_RGB_ROAD, VISION_STREAM_ROAD);
|
||||||
camera_init(v, &s->driver_cam, CAMERA_ID_LGC615, 10, device_id, ctx,
|
camera_init(v, &s->driver_cam, CAMERA_ID_LGC615, 10, device_id, ctx,
|
||||||
VISION_STREAM_RGB_FRONT, VISION_STREAM_DRIVER);
|
VISION_STREAM_RGB_DRIVER, VISION_STREAM_DRIVER);
|
||||||
s->pm = new PubMaster({"roadCameraState", "driverCameraState", "thumbnail"});
|
s->pm = new PubMaster({"roadCameraState", "driverCameraState", "thumbnail"});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,9 +17,9 @@ from selfdrive.manager.process_config import managed_processes
|
||||||
LM_THRESH = 120 # defined in selfdrive/camerad/imgproc/utils.h
|
LM_THRESH = 120 # defined in selfdrive/camerad/imgproc/utils.h
|
||||||
|
|
||||||
VISION_STREAMS = {
|
VISION_STREAMS = {
|
||||||
"roadCameraState": VisionStreamType.VISION_STREAM_RGB_BACK,
|
"roadCameraState": VisionStreamType.VISION_STREAM_RGB_ROAD,
|
||||||
"driverCameraState": VisionStreamType.VISION_STREAM_RGB_FRONT,
|
"driverCameraState": VisionStreamType.VISION_STREAM_RGB_DRIVER,
|
||||||
"wideRoadCameraState": VisionStreamType.VISION_STREAM_RGB_WIDE,
|
"wideRoadCameraState": VisionStreamType.VISION_STREAM_RGB_WIDE_ROAD,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -159,7 +159,7 @@ def replay_cameras(lr, frs):
|
||||||
args=(s, stream, dt, vs, frames, size)))
|
args=(s, stream, dt, vs, frames, size)))
|
||||||
|
|
||||||
# hack to make UI work
|
# hack to make UI work
|
||||||
vs.create_buffers(VisionStreamType.VISION_STREAM_RGB_BACK, 4, True, eon_f_frame_size[0], eon_f_frame_size[1])
|
vs.create_buffers(VisionStreamType.VISION_STREAM_RGB_ROAD, 4, True, eon_f_frame_size[0], eon_f_frame_size[1])
|
||||||
vs.start_listener()
|
vs.start_listener()
|
||||||
return vs, p
|
return vs, p
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@ DriverViewWindow::DriverViewWindow(QWidget* parent) : QWidget(parent) {
|
||||||
layout = new QStackedLayout(this);
|
layout = new QStackedLayout(this);
|
||||||
layout->setStackingMode(QStackedLayout::StackAll);
|
layout->setStackingMode(QStackedLayout::StackAll);
|
||||||
|
|
||||||
cameraView = new CameraViewWidget("camerad", VISION_STREAM_RGB_FRONT, true, this);
|
cameraView = new CameraViewWidget("camerad", VISION_STREAM_RGB_DRIVER, true, this);
|
||||||
layout->addWidget(cameraView);
|
layout->addWidget(cameraView);
|
||||||
|
|
||||||
scene = new DriverViewScene(this);
|
scene = new DriverViewScene(this);
|
||||||
|
|
|
@ -20,7 +20,7 @@ OnroadWindow::OnroadWindow(QWidget *parent) : QWidget(parent) {
|
||||||
|
|
||||||
QStackedLayout *road_view_layout = new QStackedLayout;
|
QStackedLayout *road_view_layout = new QStackedLayout;
|
||||||
road_view_layout->setStackingMode(QStackedLayout::StackAll);
|
road_view_layout->setStackingMode(QStackedLayout::StackAll);
|
||||||
nvg = new NvgWindow(VISION_STREAM_RGB_BACK, this);
|
nvg = new NvgWindow(VISION_STREAM_RGB_ROAD, this);
|
||||||
road_view_layout->addWidget(nvg);
|
road_view_layout->addWidget(nvg);
|
||||||
hud = new OnroadHud(this);
|
hud = new OnroadHud(this);
|
||||||
road_view_layout->addWidget(hud);
|
road_view_layout->addWidget(hud);
|
||||||
|
@ -97,7 +97,7 @@ void OnroadWindow::offroadTransition(bool offroad) {
|
||||||
|
|
||||||
// update stream type
|
// update stream type
|
||||||
bool wide_cam = Hardware::TICI() && Params().getBool("EnableWideCamera");
|
bool wide_cam = Hardware::TICI() && Params().getBool("EnableWideCamera");
|
||||||
nvg->setStreamType(wide_cam ? VISION_STREAM_RGB_WIDE : VISION_STREAM_RGB_BACK);
|
nvg->setStreamType(wide_cam ? VISION_STREAM_RGB_WIDE_ROAD : VISION_STREAM_RGB_ROAD);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OnroadWindow::paintEvent(QPaintEvent *event) {
|
void OnroadWindow::paintEvent(QPaintEvent *event) {
|
||||||
|
|
|
@ -123,7 +123,7 @@ void CameraViewWidget::initializeGL() {
|
||||||
GLint frame_pos_loc = program->attributeLocation("aPosition");
|
GLint frame_pos_loc = program->attributeLocation("aPosition");
|
||||||
GLint frame_texcoord_loc = program->attributeLocation("aTexCoord");
|
GLint frame_texcoord_loc = program->attributeLocation("aTexCoord");
|
||||||
|
|
||||||
auto [x1, x2, y1, y2] = stream_type == VISION_STREAM_RGB_FRONT ? std::tuple(0.f, 1.f, 1.f, 0.f) : std::tuple(1.f, 0.f, 1.f, 0.f);
|
auto [x1, x2, y1, y2] = stream_type == VISION_STREAM_RGB_DRIVER ? std::tuple(0.f, 1.f, 1.f, 0.f) : std::tuple(1.f, 0.f, 1.f, 0.f);
|
||||||
const uint8_t frame_indicies[] = {0, 1, 2, 0, 2, 3};
|
const uint8_t frame_indicies[] = {0, 1, 2, 0, 2, 3};
|
||||||
const float frame_coords[4][4] = {
|
const float frame_coords[4][4] = {
|
||||||
{-1.0, -1.0, x2, y1}, // bl
|
{-1.0, -1.0, x2, y1}, // bl
|
||||||
|
@ -171,12 +171,12 @@ void CameraViewWidget::hideEvent(QHideEvent *event) {
|
||||||
|
|
||||||
void CameraViewWidget::updateFrameMat(int w, int h) {
|
void CameraViewWidget::updateFrameMat(int w, int h) {
|
||||||
if (zoomed_view) {
|
if (zoomed_view) {
|
||||||
if (stream_type == VISION_STREAM_RGB_FRONT) {
|
if (stream_type == VISION_STREAM_RGB_DRIVER) {
|
||||||
frame_mat = matmul(device_transform, get_driver_view_transform(w, h, stream_width, stream_height));
|
frame_mat = matmul(device_transform, get_driver_view_transform(w, h, stream_width, stream_height));
|
||||||
} else {
|
} else {
|
||||||
auto intrinsic_matrix = stream_type == VISION_STREAM_RGB_WIDE ? ecam_intrinsic_matrix : fcam_intrinsic_matrix;
|
auto intrinsic_matrix = stream_type == VISION_STREAM_RGB_WIDE_ROAD ? ecam_intrinsic_matrix : fcam_intrinsic_matrix;
|
||||||
float zoom = ZOOM / intrinsic_matrix.v[0];
|
float zoom = ZOOM / intrinsic_matrix.v[0];
|
||||||
if (stream_type == VISION_STREAM_RGB_WIDE) {
|
if (stream_type == VISION_STREAM_RGB_WIDE_ROAD) {
|
||||||
zoom *= 0.5;
|
zoom *= 0.5;
|
||||||
}
|
}
|
||||||
float zx = zoom * 2 * intrinsic_matrix.v[2] / width();
|
float zx = zoom * 2 * intrinsic_matrix.v[2] / width();
|
||||||
|
|
|
@ -32,9 +32,9 @@ protected:
|
||||||
void cameraThread(Camera &cam);
|
void cameraThread(Camera &cam);
|
||||||
|
|
||||||
Camera cameras_[MAX_CAMERAS] = {
|
Camera cameras_[MAX_CAMERAS] = {
|
||||||
{.type = RoadCam, .rgb_type = VISION_STREAM_RGB_BACK, .yuv_type = VISION_STREAM_ROAD},
|
{.type = RoadCam, .rgb_type = VISION_STREAM_RGB_ROAD, .yuv_type = VISION_STREAM_ROAD},
|
||||||
{.type = DriverCam, .rgb_type = VISION_STREAM_RGB_FRONT, .yuv_type = VISION_STREAM_DRIVER},
|
{.type = DriverCam, .rgb_type = VISION_STREAM_RGB_DRIVER, .yuv_type = VISION_STREAM_DRIVER},
|
||||||
{.type = WideRoadCam, .rgb_type = VISION_STREAM_RGB_WIDE, .yuv_type = VISION_STREAM_WIDE_ROAD},
|
{.type = WideRoadCam, .rgb_type = VISION_STREAM_RGB_WIDE_ROAD, .yuv_type = VISION_STREAM_WIDE_ROAD},
|
||||||
};
|
};
|
||||||
std::atomic<int> publishing_ = 0;
|
std::atomic<int> publishing_ = 0;
|
||||||
std::unique_ptr<VisionIpcServer> vipc_server_;
|
std::unique_ptr<VisionIpcServer> vipc_server_;
|
||||||
|
|
|
@ -20,14 +20,14 @@ int main(int argc, char *argv[]) {
|
||||||
QHBoxLayout *hlayout = new QHBoxLayout();
|
QHBoxLayout *hlayout = new QHBoxLayout();
|
||||||
layout->addLayout(hlayout);
|
layout->addLayout(hlayout);
|
||||||
hlayout->addWidget(new CameraViewWidget("navd", VISION_STREAM_RGB_MAP, false));
|
hlayout->addWidget(new CameraViewWidget("navd", VISION_STREAM_RGB_MAP, false));
|
||||||
hlayout->addWidget(new CameraViewWidget("camerad", VISION_STREAM_RGB_BACK, false));
|
hlayout->addWidget(new CameraViewWidget("camerad", VISION_STREAM_RGB_ROAD, false));
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
QHBoxLayout *hlayout = new QHBoxLayout();
|
QHBoxLayout *hlayout = new QHBoxLayout();
|
||||||
layout->addLayout(hlayout);
|
layout->addLayout(hlayout);
|
||||||
hlayout->addWidget(new CameraViewWidget("camerad", VISION_STREAM_RGB_FRONT, false));
|
hlayout->addWidget(new CameraViewWidget("camerad", VISION_STREAM_RGB_DRIVER, false));
|
||||||
hlayout->addWidget(new CameraViewWidget("camerad", VISION_STREAM_RGB_WIDE, false));
|
hlayout->addWidget(new CameraViewWidget("camerad", VISION_STREAM_RGB_WIDE_ROAD, false));
|
||||||
}
|
}
|
||||||
|
|
||||||
return a.exec();
|
return a.exec();
|
||||||
|
|
|
@ -99,7 +99,7 @@ def ui_thread(addr):
|
||||||
|
|
||||||
draw_plots = init_plots(plot_arr, name_to_arr_idx, plot_xlims, plot_ylims, plot_names, plot_colors, plot_styles)
|
draw_plots = init_plots(plot_arr, name_to_arr_idx, plot_xlims, plot_ylims, plot_names, plot_colors, plot_styles)
|
||||||
|
|
||||||
vipc_client = VisionIpcClient("camerad", VisionStreamType.VISION_STREAM_RGB_BACK, True)
|
vipc_client = VisionIpcClient("camerad", VisionStreamType.VISION_STREAM_RGB_ROAD, True)
|
||||||
while 1:
|
while 1:
|
||||||
list(pygame.event.get())
|
list(pygame.event.get())
|
||||||
|
|
||||||
|
|
|
@ -67,7 +67,7 @@ class Camerad:
|
||||||
self.vipc_server = VisionIpcServer("camerad")
|
self.vipc_server = VisionIpcServer("camerad")
|
||||||
|
|
||||||
# TODO: remove RGB buffers once the last RGB vipc subscriber is removed
|
# TODO: remove RGB buffers once the last RGB vipc subscriber is removed
|
||||||
self.vipc_server.create_buffers(VisionStreamType.VISION_STREAM_RGB_BACK, 4, True, W, H)
|
self.vipc_server.create_buffers(VisionStreamType.VISION_STREAM_RGB_ROAD, 4, True, W, H)
|
||||||
self.vipc_server.create_buffers(VisionStreamType.VISION_STREAM_ROAD, 40, False, W, H)
|
self.vipc_server.create_buffers(VisionStreamType.VISION_STREAM_ROAD, 40, False, W, H)
|
||||||
self.vipc_server.start_listener()
|
self.vipc_server.start_listener()
|
||||||
|
|
||||||
|
@ -97,7 +97,7 @@ class Camerad:
|
||||||
eof = self.frame_id * 0.05
|
eof = self.frame_id * 0.05
|
||||||
|
|
||||||
# TODO: remove RGB send once the last RGB vipc subscriber is removed
|
# TODO: remove RGB send once the last RGB vipc subscriber is removed
|
||||||
self.vipc_server.send(VisionStreamType.VISION_STREAM_RGB_BACK, img.tobytes(), self.frame_id, eof, eof)
|
self.vipc_server.send(VisionStreamType.VISION_STREAM_RGB_ROAD, img.tobytes(), self.frame_id, eof, eof)
|
||||||
self.vipc_server.send(VisionStreamType.VISION_STREAM_ROAD, yuv.data.tobytes(), self.frame_id, eof, eof)
|
self.vipc_server.send(VisionStreamType.VISION_STREAM_ROAD, yuv.data.tobytes(), self.frame_id, eof, eof)
|
||||||
|
|
||||||
dat = messaging.new_message('roadCameraState')
|
dat = messaging.new_message('roadCameraState')
|
||||||
|
|
Loading…
Reference in New Issue