Commit Graph

84 Commits

Author SHA1 Message Date
Adeeb Shihadeh c9531b463a Revert "ui: single-threaded CameraView (#32291)"
This reverts commit dd6e2a400b.
2024-05-18 16:34:03 -07:00
Dean Lee dd6e2a400b ui: single-threaded CameraView (#32291)
single thread cameraview
2024-05-17 20:18:41 -07:00
Adeeb Shihadeh d56f188854 Revert "ui/cameraview: merge EGL Image Clearing code into clearEGLImages() (#32292)"
This reverts commit 7e6dda546e.
2024-04-25 11:14:03 -07:00
Dean Lee 7e6dda546e ui/cameraview: merge EGL Image Clearing code into clearEGLImages() (#32292) 2024-04-25 11:05:45 -07:00
Dean Lee 77bbeb442e ui/cameraview: fix accessing uninitialized variable (#31951) 2024-03-21 11:40:01 -07:00
Adeeb Shihadeh c155749b29 Reapply "ui: brighten cameraview (#29744)" (#31846)
This reverts commit 023792c431.
2024-03-12 14:27:12 -07:00
Adeeb Shihadeh 073fc89ad4 Revert "UI: single-threaded CameraView (#30397)"
This reverts commit 17ac1d3c7b.
2024-01-07 14:54:39 -08:00
Dean Lee 17ac1d3c7b UI: single-threaded CameraView (#30397)
* single-threaded CameraView

* updateFrame

* inherit from CameraWidget

* clear frame on offroadTransition

* check frame_id

* optional

* unique_ptr

* CameraView

* cleanup

* cleanup

* log skipping frame

* fix driverview

* disconnectVipc

* debug inconsistent frame

* skip frame if uiPlan is outdate

* cleanup

* set connected = false

* support camerad reboot&seeking in replay

* cleanup

* qDebug

* use deque

* cleanup

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-01-03 13:14:29 -08:00
Dean Lee dbda641cee ui: destroy egl_images in main thread (#30253)
* call eglDestroyImageKHR in ui thread

* assert
2023-12-13 20:18:45 -08:00
Justin Newberry 4b0d0b0f1e cleanup cameraview shader (#30520)
cleanup shader

Co-authored-by: Comma Device <device@comma.ai>
2023-11-24 20:17:51 -08:00
Adeeb Shihadeh 023792c431 Revert "ui: brighten cameraview (#29744)"
This reverts commit a08cdfdda7.
2023-09-30 15:14:48 -07:00
Dean Lee a1306114bc ui/CameraView: fix divide by zero issue (#29770) 2023-09-06 13:25:40 -07:00
ZwX1616 a08cdfdda7 ui: brighten cameraview (#29744)
* test

* test2

* Revert "test2"

This reverts commit 22e38f82ae81f625f00179413f4c5f869a6de23e.

* Revert "test"

This reverts commit 717490c1bcddcd5339aed85d4716a58495a5c52c.

* looks fine

* mid

* description

---------

Co-authored-by: Comma Device <device@comma.ai>
2023-09-05 10:59:58 -07:00
Dean Lee 2d99521e75 cpplint: build/include_what_you_use (#29556)
* include_what_you_use

* remove comments

* include <memory>

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2023-08-23 13:25:17 -07:00
Dean Lee 32c5e6aafb modeldata.h: convert constants to uppercase (#28769) 2023-07-01 08:26:21 +01:00
Shane Smiskol 21f88f997d Revert "ui: smooth wide cam transition" (#28298)
Revert "ui: smooth wide cam transition (#28277)"

This reverts commit 26064196d0.
2023-05-25 19:23:50 -07:00
Shane Smiskol 26064196d0 ui: smooth wide cam transition (#28277)
* horribly messy

* bit simpler

* is this right?

* simpler and should work?

* used to be int/frames, but added easing so treat as float

* end slow (start fast)

* little faster

* clean up

* not needed

* try ease in/ease out and fix

* remove debugging print

* fix

* revert to previous curve

* based on speed

* not right

* fix

* fix

* this kinda works

* Revert zoom by speed

Revert "this kinda works"

This reverts commit 48aa30b945148b8eb79fbe33eb58e3fc3a6a7009.

Revert "fix"

This reverts commit 4ff2d33486231727d7cd68d366342c2273e3a315.

Revert "fix"

This reverts commit 15b22f8e8284eb017000856abb05b5e8973a6c0e.

Revert "not right"

This reverts commit 378b9965e14250c57ed39e1976de60d89054c2c8.

Revert "based on speed"

This reverts commit 1f7bfa5d73a2dee3740096da64eda24b33288b51.

Revert "Revert "not right""

This reverts commit 1beeb402534a755208d19771eb4a2afdc69b8739.

* better curve

* revert

* use constants and fixes

* up here too

* feels more intuitive to make zoom_transition=1 be zoomed in

* rm line

* fix

* cmt

* better handling

* better name

* zoom if ANY other stream is requested

* Update selfdrive/ui/qt/widgets/cameraview.cc
2023-05-24 17:28:33 -07:00
Angus Gratton fbcd0821c9 cabana/cameraview: Scale the glViewPort by devicePixelRatio() (#27941)
* cameraview: Scale the glViewPort by devicePixelRatio()

This fixes an issue seen in Cabana on a "hidpi" system with Wayland where
devicePixelRatio() != 1 and the video doesn't take up the full widget area.

On the recommended Ubuntu 20.04 install I wasn't able to reproduce, because
devicePixelRatio() was always equal to 1 even with scaling to 200% or 300%. It
might be different if "Fractional Scaling" is enabled in GNOME (I couldn't make
that option work in mv WM.)

Was going to enable just for Linux, but it appears to also be recommended for
Retina MacOS:
https://doc.qt.io/qt-5/scalability.html#high-dpi-scaling-on-macos-and-ios

... so have worked from the assumption that glViewport() always takes dimensions
in device pixels, never the "device independent pixels" of Qt.

* Update selfdrive/ui/qt/widgets/cameraview.cc

* Update selfdrive/ui/qt/widgets/cameraview.cc

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2023-04-19 11:06:54 -07:00
Adeeb Shihadeh 9a6bcba741 UI: remove spammy CameraView log 2023-03-15 14:34:33 -07:00
Dean Lee d5375af2f5 ui: auto detect available streams (#27470)
* auto detect available streams

* no switch if wide cam not available

* clear frames before getAvailableStreams

* warning

* clear at same time

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2023-03-14 13:59:22 -07:00
Adeeb Shihadeh 1f85f84027 UI: fix old frame shown on startup (#27283)
Co-authored-by: Comma Device <device@comma.ai>
2023-02-09 20:44:29 -08:00
Shane Smiskol c1fcd63bba cameraview: fix spaces in debug print 2023-01-19 18:42:34 -08:00
Dean Lee 1c5c0e723c CameraView: remove double semicolon (#26728)
remove double semicolon
2022-12-08 11:06:38 -08:00
Dean Lee 97a205c94d UI: fix CameraView crash on deleting. (#26390)
* fix crash on delete

* TODO?

* after makeCurrent
2022-11-15 19:07:50 -08:00
Adeeb Shihadeh c171fe9f9a UI: draw onroad objects on right frame (#26306)
* update before draw

* fix a lot of janky

* fix more flicker

* cleanup

* fix flicker when opening settings

* simplify
2022-10-31 23:01:22 -07:00
Dean Lee 602b90f518 UI: reduce frame drops. (#26266)
* reduce frame dropping

* This mode will not draw the same frame twice

* cleanup comment

* use previous texture if update is not triggered by vipc thread and without new frame
2022-10-28 19:05:11 -07:00
HaraldSchafer dbc30c053c UI: fade into wide camera (#26203)
* UI: fade into wide camera

* handle routes with no wide calib

* more cleanup

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2022-10-27 17:27:31 -07:00
Dean Lee 6b6162d2c8 UI: support switching streams in CameraView (#26248) 2022-10-26 19:47:32 -07:00
HaraldSchafer baca1cae1f UI Onroad widget renames (#26124)
Consistent widget naming
2022-10-17 18:18:01 -07:00
Willem Melching ca800da895 cameraview.cc: qInfo -> qDebug 2022-06-30 14:25:32 +02:00
Willem Melching af7d3c115a cameraview.cc: prev_frame_id static -> class member 2022-06-30 14:22:55 +02:00
Willem Melching 338df150d5 ui: disable sync with model until more stable (#24984) 2022-06-28 15:48:57 +02:00
Willem Melching 915b4928ff ui: use current calibration to center vanishing point (#24955)
* compute x and y offsets using calibration

* fix default calibration

* clamp to max values

* only use when valid

* not while calibrating

* less diff

* cleanup zoom
2022-06-27 16:03:26 +02:00
ZwX1616 1f2f9ea9c9 fullframe DM model (#24860)
* Revert "put cereal on master"

This reverts commit a8ccd8f838.

* Revert "Revert fullframe DM model (#24812)"

This reverts commit c646eeee0a.

* revert revert cereal

* clip6

* 0.8 is fair

* Fiction compensation should be based on error

* Update refs

* Add deadzone

* not that

* good mg

* ref

* ref

* ee8f

* minor tweak

* ref

* recompile

* ref

* cereal

* match driverstatus

* new ref

* new ref

* pass token through jenkins credentials

* quote

* fix snpe dead weights

* final ref

Co-authored-by: Harald Schafer <harald.the.engineer@gmail.com>
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2022-06-20 16:24:51 -07:00
Joost Wooning 1221aef233 ui: skip texture frame copy (#24700)
* ui_blit working

* simpler and working

* more believable that it's real

* working on device

* build on pc

* use hardware pc

* reduce cpu usage

* yuv conversion to EGL

* move everything to cameraview

* some cleanup

* more cleanup

* init array

* init images with std::map

* dont destroy images

* do destroy images

Co-authored-by: Comma Device <device@comma.ai>
2022-06-13 12:27:47 +02:00
ZwX1616 c646eeee0a Revert fullframe DM model (#24812)
* Revert "fullframe DM: flip RHD yaw to use matching thresholds"

This reverts commit 2ac6931003.

* Revert "fullframe DM model (#24762)"

This reverts commit d6c07a6b15.

* revert cereal
2022-06-10 16:16:46 -07:00
ZwX1616 d6c07a6b15 fullframe DM model (#24762)
* get log

* simplify two nonsense

* not needed

* libyuv is a joke

* clean up

* try small

* fast but not bad

* working

* clean up driverview

* simplified

* thats mirrored

* smol

* tweak

* ref is screen

* w/ ee

* update camera model

* no if TICI

* start

* update pose thresh

* less cpu more dsp

* new libyuv

* new snpe

* add files

* test

* should be fast

* update out len

* trigger test

* use master snpe

* add cereal

* update cereal

* refactor parsing

* missing ;

* get

* wrong type

* test model

* use driver data

* 10829278-72fe-4283-a118-2cef959ce174/1550

* no pf

* adapt driverview

* ;

* rhd learner

* update libyuv buildi x64

* ad4337ea

* remove blink slack

* test

* no

* use toggle

* b16

* fix for nv12

* 5b02cff5 both

* update test

* update cereal

* update cereal

* update cereal

* v2 packets

* revert libyuv

* no /

* update snpemodel

* ;

* memcpy

* fix test

* use toggle in driverview

* update power

* update replay

* Revert "update replay"

This reverts commit 1d0979ca59dbc89bc5890656e9501e83f0556d50.

* update model ref

* halve cpu

* fake 8bit onnx runner

* same thresh as report

* cereal master

Co-authored-by: Comma Device <device@comma.ai>
2022-06-08 20:13:46 -07:00
Willem Melching f49a9c9fd2 less TICI when not needed (#24698)
* less TICI when not needed

* fix process replay

* move reading voltages into hw abstraction layer

* Update selfdrive/hardware/tici/hardware.h

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>

* Update selfdrive/hardware/hw.h

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>

* Update selfdrive/hardware/base.h

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>

* rename init function

* Update selfdrive/athena/athenad.py

Co-authored-by: Robbe Derks <robbe.derks@gmail.com>

* Update selfdrive/boardd/boardd.cc

* Apply suggestions from code review

* Update selfdrive/thermald/thermald.py

* update ref

* fix alert width if all cameras are bad

* add ecam to test_loggerd

* bump cereal

* bump cereal

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
Co-authored-by: Robbe Derks <robbe.derks@gmail.com>
2022-06-02 15:20:51 +02:00
George Hotz ea5b8cdfb1 nv12: encoderd avoids a full frame copy (#24519)
* rgb to nv12

* nv12 works (w memcpy)

* correct now

* no copy

* fix nv12 with fast debayer

* reverts of unused stuff

* ui use nv12

* comment out thumbnails for now

* rebase fix

* dm read nv12

* model read nv12

* fix ffmpeg encoder

* thumbnails from nv12

* replay to nv12

* python framereader support nv12

* remove hardcoded frame/buffer sizes

* fix build

* ffmpeg encoder fix buffers

* small cleanup

* reduce power usage test

* fix cpu usage test

* fix snapshot

* fix loggerd test

* bump cereal

Co-authored-by: Comma Device <device@comma.ai>
Co-authored-by: Joost Wooning <jwooning@gmail.com>
2022-06-01 17:18:28 +02:00
Shane Smiskol c10a2ef2e4 UI: draw camera on same frame from modelV2 (#24335)
* draw camera on same frame from modelV2

* fix reversing

* optimze

* sleep shorter

* heavy debugging

* clean up

* fix ui hang

* try this

* more generic implementation

* add unused flag back

* draw latest frames when camerad is coming up with no modeld

* only get modelV2 once

* fix drawing

* conflate, reduce buffer, and remove special case when starting

* make tests pass

* remove comments

* frame_id is a uint32_t

* not sure why passing to cameraview causes overflow

* ternary, not too complicated

* change to size

* rename to frame

* use unique_ptr

* Revert "use unique_ptr"

This reverts commit 955842d9511a26468d4deedd1807f096540cb40c.

* Assert buffer size

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>

* use one deque with pairs and uint32_t

* formatting

* frame offset

* Revert "frame offset"

This reverts commit a2cff8a2d57a02f314d9f6adb7221b193a150e4c.

* use array

* add prints

* Revert "add prints"

This reverts commit d6978746e5c316fb2d5a619091c9aaf849c31967.

* clean up

* this handles all cases

* we want to clip

* fixes going backwards when replay or modeld lags multiple frames, then skips multiple frames

fixes going backwards when replay or modeld lags multiple frames, then skips multiple frames

* fix rare case where camera is behind model

simpler comment

* draw latest frames if we start with no model, then hang on current frame until model catches up

fix

* store if it's updated

* accurate comment

* reset to latest on connect and showevent

* better order

* use quint32 for sending signal function

* use empty

* draft

* kinda works

* works

* one line

* debug

* clean up

* revert this

* to preserve behavior, think we need to poll these

* revert

* no timeout when modeld is not alive

* Update selfdrive/ui/qt/onroad.cc

* changes from other PR

* see if we're drawing dup model or camera frames

* looks good, just need to clean up

* debug

* clean up

* clean up

* revert these changes

* fix

* pretty simple, test on device

* clean up

* revert this

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2022-05-24 17:08:06 -07:00
Willem Melching aac7248a01 ui: fix cameraview widget on MacOS after YUV changes (#24506) 2022-05-12 17:16:30 +02:00
Willem Melching 3fc01ec15a cameraview.cc: set alignment to 1 when copying texture (#24418) 2022-05-04 11:44:16 +02:00
Joost Wooning 7ac92938d2 UI: remove unused lock and fence (#24355) 2022-05-01 18:57:39 -07:00
Willem Melching a3cfa444d3 ui: combine OnroadHud into NvgWindow (#24369)
* ui: combine OnroadHUD and NVGWindow

* draw hud first

* cleanup

* removed commented line

* fix text rendering

* increase cpu usage
2022-04-29 10:55:44 -07:00
Joost Wooning f84fdc86bb UI: remove memcpy on frame receive (#24318)
* UI: remove frame memcpy

* fix freezing

* fix onroad test
2022-04-25 13:45:55 -07:00
Joost Wooning 43f43b1c64 UI: use YUV stream instead of RGB (#24317)
* UI: use YUV stream instead of RGB

* cleanup

* cleanup
2022-04-25 21:07:08 +02:00
Adeeb Shihadeh 13e1c0b339 Revert "UI: remove RGB buffer usage (#24298)"
This reverts commit b9907e86b2.
2022-04-24 11:56:30 -07:00
Joost Wooning b9907e86b2 UI: remove RGB buffer usage (#24298)
* ui: use yuv buffer

* cleanup

* fix watch3

* replay always send yuv

* fix drawing of path

* fix onroad test

Co-authored-by: Willem Melching <willem.melching@gmail.com>
2022-04-22 12:55:37 -07:00
Adeeb Shihadeh 5c48e7bc86 remove comma two support (#24248)
* remove comma two support

* cleanup release files

* little more

* more libs

* no more gralloc

* add snpe back
2022-04-18 17:55:23 -07:00
Gijs Koning 57b6fdc17a 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>
2022-03-14 14:03:54 -07:00