* 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
old-commit-hash: 26064196d0
* 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>
old-commit-hash: fbcd0821c9
* 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>
old-commit-hash: d5375af2f5
* 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
old-commit-hash: 602b90f518
* 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
old-commit-hash: 915b4928ff
* 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>
old-commit-hash: 1221aef233
* 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>
old-commit-hash: ea5b8cdfb1
* 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 955842d951.
* 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 a2cff8a2d5.
* use array
* add prints
* Revert "add prints"
This reverts commit d6978746e5.
* 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>
old-commit-hash: c10a2ef2e4
* CameraView: sync pbo with glFence instead of calling glFinish (#23293)
* Sync pbo with fence
* use std::unique_ptr
* cameraview.cc: call glFlush after creating fence
Co-authored-by: Dean Lee <deanlee3@gmail.com>
old-commit-hash: d77782ea93
* move ui_draw_world to qt
* draw world if world_objects_visible is true
* cleanup
* cleanup includes
* continue
* cleanup
* cleanup
* enable multisampling on all devices
old-commit-hash: 20f571db3c
* navd: render simple map
* render route
* offscreen rendering
* cleanup
* more cleanup
* render into visionIPC
* rename class
* split position update from route update
* stop broadcast if not active
* gate vipc server behind flag
* add python library
* faster
* no vipc from python
* put behind extras
* only send when loaded
* add glFlush just to be sure
* cleanup settings into helper function
* function ordering
* broadcast thumbnails
* put behind param
* adjust zoom level
* add route to python bindings
* revert that freq change
* add logging if map rendering is enabled
* use rlogs if available
* bump cereal
old-commit-hash: 5069852573
* move vipc to thread
* use invokeMethod
* cleanup
* latest_frame = nullptr
* space
* safe quit
* running_-> exit_
* recv timeout 1000
* cleanup
* run in loop
* requestInterruption
* block queue on vipcConnected for thread safety
* cleanup
* remove unused signal updateFrame
* make signals public
* dont emit signal in update
* apply reviews
* cleanup
* little more cleanup
* fix
* use glTexSubImage2D
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 6e5fed63df
* use CameraViewWidget
* no timer, updateFrame after frameSwapped
* use QOpenGLShaderProgram
* merge master
* remove that
* new function setStreamType
* continue
* remove showEvent
* cleanup
* cleanup
* little more
* fix black screen on startup
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: a034926264
* add fit to widget option to camera view
* add clicked signal
* cleanup
* use release for driverview
Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 86a73497de