Commit Graph

29 Commits

Author SHA1 Message Date
Dean Lee
768cfdb92a framereader: use the same alignement as visionbuf (#23208)
* aligned rgb buffer

* fix yuv stride
2021-12-15 16:19:07 -08:00
Dean Lee
dbec761941 logreader: support reading from corrupt log (#23050)
* catch exception outside loop

* print decompress error

* add test case for corrupt log

* fix decompressbz2 stuck if log is corrupt

* recovered from corrupt data

* add output

* ass space

* std::endl

* override load(), load from buffer

* override FrameReader::load to load from the buffer

* replace NULL with nullptr

* fix test case for corrupt log

* Trigger Build

* check bzerror too

Co-authored-by: Willem Melching <willem.melching@gmail.com>
2021-11-29 14:10:24 +01:00
Dean Lee
296c4076a2 framereader: refactor seeking (#22926)
* refactor seeking

* ckeck packets.empty()

Co-authored-by: Willem Melching <willem.melching@gmail.com>
2021-11-29 12:09:14 +01:00
Dean Lee
a449b856ca framereader: fix crash after fallback to cpu decoding (#23055) 2021-11-28 13:29:40 -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
Dean Lee
ddea21e648 replay: fix swsscale crash on nv12->yuv conversion (#22961) 2021-11-17 20:04:45 -08:00
Dean Lee
dc8e23c94b framereader: remove memory copy overhead for AVIO (#22894)
* no memory copy

* merge master

better
2021-11-17 13:25:40 +01:00
Dean Lee
20d3cf1fcb framereader: support hardware decoding (#22906)
* support hardware accelerated video decoding

* support cuda only

* print decode info

* add yuv flag back

* fix height

* default is cuda

* fallback to CPU decoding

fix memory leak&cleanup

add output
2021-11-17 11:17:59 +01:00
Dean Lee
c0b9c1f3af framereader: remove deprecated ffmpeg functions (#22895) 2021-11-13 11:55:04 -08:00
Dean Lee
fb8ba34f31 replay: add qcam and YUV flags (#22788)
* common flags

* cleanup

* remove double semicolon

* camera

* apply reviews
2021-11-09 14:08:24 -08: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
0a5ca71603 replay: fix frame lag when replaying to the next segment (#22773) 2021-11-02 11:24:12 +01:00
Willem Melching
f8d050298e framereader.cc: better avformat_open_input error printing 2021-11-02 09:56:49 +01:00
Dean Lee
6f78cc77fc replay: fix hanging on exit if stream thread has not been started yet (#22770) 2021-11-01 16:06:39 -07: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
41e5e76596 replay: fixed the alignment issue when replaying from C3 qcamera (#22734)
* fix qcamera replay

* fix alignment in replay

* upscale yuv if needed

* remove space
2021-11-01 11:06:00 +01:00
Dean Lee
921600b95c framereader: use swscale to handle the YUV conversion (#22710) 2021-10-29 12:14:14 +02:00
Dean Lee
af7dba9250 replay: use an enum for flags (#22635)
* enum flags

* continue

* remove yuv flag for now
2021-10-22 23:28:53 -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
Dean Lee
085c424cf9 framereader: remove swscale (#22578) 2021-10-16 13:56:04 -07:00
Dean Lee
ae5eedb0b1 Replay/framereader: fix c3 qcamera padding problem (#22572) 2021-10-16 12:24:34 -07:00
Dean Lee
97fc8b941e FrameReader: increase probesize to 10MB (#22437) 2021-10-05 15:15:11 +02: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
50ae7dd6a9 replay improvements (#22203)
* refactor replay

* cleanup

small cleanup

* merge 22239

* cleanup

* add optional argument for start time

* small cleaup
2021-09-19 12:24:28 -07:00
Dean Lee
81a128cd76 FrameReader: do not depend on Qtunit tests (#21379)
* add timeout and test case

* remove useless comment

* reduce to 1s

* fix gotframe fail when Duplicate POC in a sequence

* cleanup

* remove space

* fix
2021-09-09 13:40:12 -07:00
Dean Lee
c53cb5d570 Use C++ header files instead of C header files. (#21192)
* use cstring instead of string.h

* use cstdio instead of stdio.h

* remove inttypes.h

* use cstdlib instead of stdlib.h

* use cstdint instead of stdint.h

* #include <cstddef>

* cstdlib

* use cmath

* remove stddef.h

* use cassert

* use csignal

* use ctime

* use cerror

* rebase master
2021-06-08 13:46:22 -07:00
Dean Lee
211212f86b FrameReader: use 'from' in std::min comparison (#21195) 2021-06-08 13:32:42 -07:00
Dean Lee
67fe3feb09 refactor FrameReader (#21141)
* refactor FrameReader

* continue

* move that

* small cleanup

* little more

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2021-06-07 23:31:59 -07:00
Dean Lee
bb5bcc7e49 move c++ framereader to selfdrive/ui/replay (#21053) 2021-05-27 16:00:11 -07:00