Commit Graph

273 Commits

Author SHA1 Message Date
Adeeb Shihadeh 8160cf3c1b camerad: remove camera frame stream (#23045)
* camerad: remove camera frame stream

* fix release files
2021-11-27 21:58:21 -08:00
Dean Lee 5ae5174509 framereader: replace swscale with libyuv, reduce cpu usage by half (#22992)
* use libyuv

* cleanup
2021-11-26 14:41:14 +01:00
Willem Melching 5069852573 navd: render map into VisionIPC (#22800)
* 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
2021-11-26 14:38:02 +01:00
Adeeb Shihadeh 20d5c0c1cb camerad: lower YUV vipc buffer count to 40 on tici 2021-11-22 16:53:59 -08:00
Adeeb Shihadeh 0a1aaaa74c Take camera snapshot using VisionIPC (#22070)
* vipc snapshot

* front and rear need to go

* remove SEND_*

* cleanup

* put that back

* fix duplicate code

* dont start camerad on pc

* fix rgb stride

Co-authored-by: Comma Device <device@comma.ai>
Co-authored-by: Willem Melching <willem.melching@gmail.com>
2021-11-17 15:24:50 +01:00
Dean Lee 3d0246eed5 camera_qcom2: cleanup camera_open (#22085)
* cleanup camera_open

* remove static

* apply review
2021-11-17 12:18:14 +01:00
Willem Melching 45c506bb17 wshadow: fix comma three build 2021-11-02 17:27:34 +01:00
Mayfield 5246f0231e enable wshadow (#22756)
* enable wshadow (#22714)

* fix replay

* more build fixes

Co-authored-by: Willem Melching <willem.melching@gmail.com>
2021-11-02 17:08:53 +01:00
Dean Lee 2b4a477fbc replay: improve segment download and merge (#22654)
* no-cache mode

* fix test cases build error

* space

* don't create cache dir in no-cache mode

* fix errors in test cases

* no_local_cache_

* set the number of connections by chunk_size

* use size_t instead of int64_t

* add test case for no-cache mode

* rename variables

* fix SIGSEGV

* cleanup

* faster decompressBZ2

* always decompress bz2

* add test cases

* prepare for python interface

* fix test cases build error

* continue

* camera_replay: cache remote file

* protected inheritance

* single option name

* TODO

* test_case for LogReader&FrameReader

* fix wrong require

* test case for FileReader

* cleanup test

* test:fix wrong filename

* check cached file's checksum

* fix mkdir permissions err

cleanup filereader

* remove initialize libav network libraries.

dd

* abort all loading if one failed

* cleanup tests

* use threadpool to limit concurrent downloads

* cache more segments

* merge 3 segments for replay

* one segment uses about 100M of memory

* use segments_need_merge.size()

* shutdown

* fix stuck if exit replay  before keyboard thread started

* load one segment at a time

* small cleanup

* cleanup filereader

* space

* tiny cleanup

* merge master

* cleanup test cases

* use util:create_directories

* cleanup framereader
2021-11-01 11:55:56 +01:00
Dean Lee f7461ed9fc camera_common: new class Debayer (#21854)
* new class Debayer

* merge master

* pass in cl_event

* needs define, class is not the same

* match clEnqueueCopyBuffer api

Co-authored-by: Willem Melching <willem.melching@gmail.com>
2021-10-29 16:48:08 +02:00
Dean Lee b8be692c1a config_isp: remove hardcoded buffer size (#22119) 2021-10-29 16:05:19 +02:00
Dean Lee 921600b95c framereader: use swscale to handle the YUV conversion (#22710) 2021-10-29 12:14:14 +02:00
Adeeb Shihadeh 5b331fd6f5 don't set core affinity on PC (#22706) 2021-10-26 21:51:46 -07:00
Willem Melching 89f311714c loggerd: set encodeIdx.valid if frame id is correct (#22634)
* loggerd: set encodeIdx.valid if frame id is correct

* check valid flag in test

* test cleanup

* bump cereal
2021-10-26 16:00:43 +02:00
Adeeb Shihadeh cd5bc565d3 camerad: allow core affinity setting to fail while offroad (#22664)
Co-authored-by: Comma Device <device@comma.ai>
2021-10-22 20:57:21 -07:00
Adeeb Shihadeh 76bd932cf5 loggerd: always run encoders (#22649)
* loggerd: always run encoders

* fix raw logger

* bump loggerd cpu usage
2021-10-21 16:37:03 -07:00
Adeeb Shihadeh e9cb2104e6 fix snapshot camerad crash due to core affinity setting (#22648)
Co-authored-by: Comma Device <device@comma.ai>
2021-10-21 00:26:01 -07:00
Dean Lee 0189a19b8e replay: refactor FrameReader (#22438)
* decode from the previous keyframe after seek

* less memory

* some stream seems to contian no keyframes

* test random seek

* merge master

* continue

update test_cases

use fr

* merge master
2021-10-18 14:19:23 -07:00
Adeeb Shihadeh 84de248fa7 tici: affine loggerd to efficiency cores (#22581) 2021-10-18 13:21:24 -07:00
Dean Lee 1eb79d7a59 c++ replay: publish all frames in CameraServer (#22378)
* cameraserver

* support yuv

* init camera server in start()

* trigger ci
2021-10-04 16:45:28 +02:00
Dean Lee ae9305e7ff fix yuv420_to_jpeg: thumbnail_width & thumbnail_height must be aliged with 16 pixel. (#22287)
* aligned by 16px

* make buf big enough

* comment

* add comment

* comment
2021-09-23 13:20:10 -07:00
Dean Lee 5f9e0f7869 webcam: add /usr/include/opencv4 to CPPPATH (#22320) 2021-09-23 11:43:51 -07:00
Willem Melching 8a836b7e1e Script to extract thumbnails from segment (#22294)
* Script to extract thumnails from segment

* fix name

* whitespace
2021-09-21 10:14:16 -07:00
Dean Lee 9b302488f9 camerad: added replay camera (#21241)
* start refactor

* remove camera_frame_stream from files_common

* rename camera_pc to camera_replay

* continue

* loop one segment

* rename cam_frame_id to stream_frame_id

* apply review

* continue

* more

* publish camera state

* cleanup

* cleanup

* better comment

* delete s->pm in cameras_close()

* add function getFrameCount

* refactor loop

* fix typo

* restore freame stream

* disable roadcam

* dd

* move file

* merge master

* fix test case

* add todo

* white space

* remove from release files

* add files back to relase

* move framereader back to ui/replay

* merge master

test_replay
2021-09-19 14:43:54 -07:00
Dean Lee e0b5b4573e camerad: use the YUV buffer to create the jpeg thumbnail (#21936)
* yuv420_to_jpeg

continue

* add comments

* cleanup

* return ky::array
2021-09-17 17:00:21 -07:00
Dean Lee f02c8d0e2c Handle EINTR for all syscalls that can return it (#21948) 2021-08-31 16:22:56 -07:00
Dean Lee 0d3eec385c camera_qcom2: new functions device_acquire & device_config (#22077)
* new function device_acquire & device_config

* add space

* apply reviews

* use the specified struct for each command

* fix typo

* apply review

* remove static

* revert device_control
2021-08-31 07:21:40 -07:00
Dean Lee ee5ef4dab2 camera_qcom2: use macros for link control operations (#22088) 2021-08-30 22:10:18 -07:00
Dean Lee d9baaf7eb9 loggerd: create encoder threads from cameras_logged (#21875) 2021-08-30 19:33:00 -07:00
Dean Lee cf4ad99554 camera_qcom2: refactor open_v4l_by_name_and_index (#22067)
* refactor

* small cleanup

Co-authored-by: Willem Melching <willem.melching@gmail.com>
2021-08-30 17:12:22 -07:00
Dean Lee 31230e5b60 retry ioctls while errno == EINTR (#22054) 2021-08-30 16:07:34 -07:00
Dean Lee 37dda3d6bf camera_qcom2: remove req_mgr_session_info from CameraState (#22059)
* remove req_mgr_session_info from CameraState

* handle should be int32_t
2021-08-30 15:32:31 -07:00
Dean Lee 7a80bf7fcc camera_qcom2: fix memory leaks in camera_open (#22061) 2021-08-30 14:59:04 -07:00
Dean Lee 862f93f7f1 camera_qcom2.cc : fix wrong LOGD order (#22072) 2021-08-30 09:21:35 -07:00
Dean Lee 0f4227f42b qcom2/enqueue_buffer: use macro CAM_MEM_FLAG_HW_READ_WRITE (#22060) 2021-08-28 17:43:50 -07:00
Dean Lee ffb1dd019e camera_qcom2.cc: use V4L_EVENT_CAM_REQ_MGR_EVENT (#22057) 2021-08-28 14:49:56 -07:00
Dean Lee df6432c8cd camera_qcom2: remove unused variables from MultiCameraState (#22058) 2021-08-28 14:44:30 -07:00
Adeeb Shihadeh 54a4eeb0fc Revert "tici: give loggerd rt priority (#21503)"
This reverts commit 7e2752c878.
2021-08-22 16:57:53 -07:00
Adeeb Shihadeh 7e2752c878 tici: give loggerd rt priority (#21503)
* give loggerd rt priority

* assert

* little more

Co-authored-by: Comma Device <device@comma.ai>
2021-08-20 21:27:31 -07:00
Dean Lee e646febaae camerad: remove unused macros and global (#21970) 2021-08-19 14:49:16 -07:00
Dean Lee 74ecbbed63 cameras_qcom2.cc: add a missing newline (#21956) 2021-08-18 10:37:05 +02:00
Willem Melching a39873872d refactor loggerd: trigger rotate in encoder thread (#21860)
* trigger rotate in eoncode thread

* rotate in time

* lgtm

* dcam trigger rotate on C3

* check trigger rotate field

* Use >=

* add rotator thread

* set cnt to 0

* test encodeIdx is increasing across segments

* test both segmentId and encodeId

* fix encodeIdx

* no thread needed

* add log for failed to encode

* stricter C3 test, dont check start encodeId on C2 dcam

* only update last_camera_seen_tms when considered for rotate

Co-authored-by: deanlee <deanlee3@gmail.com>
2021-08-06 11:10:33 +02:00
arfy slowy d74def61f8 fix: spelling typos (#21861)
* fix: typo spelling grammar

* revert

* Update selfdrive/locationd/calibrationd.py

* more revert

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2021-08-05 12:05:49 -07:00
Willem Melching 25de93d133 C3 AE improvements (#21698)
* AE improvements

* boardd: also use gain to compute IR brightness

* use default rect for DM autoexposure

* more smooth

* whitespace

* camerad cpu usage

* hcg on is slightly better for noise

* hysteris around high conversion gain

* improve i2c timing

* use AB contexts

* HCG default off

* run at 10 hz

* stay in context A for now

* remove ae thread

* wait till next frame is started before sending i2c

* back at 20fps

* add comment and filter across 3 evs

* remove context switch code

* tuning

* recomened without HCG is 0.8x
2021-08-05 16:34:36 +02:00
Dean Lee fefc70b4ca hw.h: move Hardware-related paths to namespace Path (#21826)
* refactor getenv and path

* apply review
2021-08-04 13:29:03 +02:00
Adeeb Shihadeh 4c0caf7f7e 100 yuv buffers for all 2021-07-26 14:02:49 -07:00
Willem Melching b6b0393e2d Revert AE changes (#21682)
* Revert AE changes

* keep YUV buffer count
2021-07-22 11:22:19 -07:00
Willem Melching b35f6871cb AE: revert changes to min grey target (#21648) 2021-07-19 10:37:43 +02:00
Willem Melching 0d9e7ad241 only 100 yuv buffers on C2 (#21622) 2021-07-16 11:59:30 +02:00
Willem Melching 3ad40963cc tici: AE sane default values (#21610)
* tici: AE sane default values

* set exposure time

* remove comment

* set dc gain variable

* whitespace
2021-07-15 16:11:27 +02:00