* 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
* enable encoderd
* correct enable line
* fix loggerd tests
* fix power draw and cpu tests
* correct cpu for encoderd
* fix a bug, video_writer is shared
* fix issue with not recording dcam
* add recording state
* wooo tests pass. encode id keeps counting
* core 3
* loggerd then encoderd
* stop loggerd first
* core 3 always online
* see the camera when we see encoder packet
* encoderd on small core uses 37%
* remove encoder logic from loggerd
* delete unit test that doesn't really make sense anymore
Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 94b9972eb7
* don't use the codec in video_writer
* this produces broken videos for some reason
* bugfix
* refactor on the class
* works on device
* fix codec
* no codec enum
* fix pc
* move into dirs
* these includes also
* rename it ffmpegencoder
* add avcodec_close
Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 2008db47c2
* uploader: size limit for automatic uploading of qlogs/qcams
* move check to add logging
* use constant
* mark as uploaded
Co-authored-by: Willem Melching <willem.melching@gmail.com>
old-commit-hash: df8f024e19
* remove log_name
* log without compression
* fix tests
* remove extension for bootlog
* another test fix
* uploader compresses
* also compress in athena
* only compress qlog
* more generic check in do_upload
* fix bootlog compression
* lower loggerd cpu usage
* dont link against bz2
* set core affinity to little cluster
* handle old files
old-commit-hash: 77a6f3d034
* start v4l encoder
* v4l encoder starts
* start and stop
* fill in proper controls
* it dequeued a buffer
* getting bytes
* it made a video
* it does make files
* getting close
* ahh, so that's how dequeue works
* qcam works (no remuxing)
* remuxing works
* we just need to make shutdown and rollover graceful
* graceful destruction
* switch to polling
* should work now
* fix pc build
* refactors, stop properly
* touchups, remove a copy
* add v4l encoder to release
* inlcude file
* move writing to it's own thread
* fix minor memory leak
* block instead of dropping frames
* add counter, fix tests maybe
* better debugging and test print
* print file path in assert
* format string in test
* no more oversized qlogs
* match qcam
* touchups, remove omx encoder
* remove omx include files
* checked ioctl, better debugging, open by name
* unused import
* move linux includes to third_party/linux/include
* simple encoderd
* full packet
* encoderd should be complete
* lagging print
* updates
* name dq thread
* subset idx
* video file writing works
* debug
* potential bugfix
* rotation works
* iframe
* keep writing support
* ci should pass
* loggerd, not encoderd
* remote encoder code
* support remote encoder
* cereal to master, add encoderd
* header no longer required
* put that back there
* realtime
* lower decoder latency
* don't use queue for VisionIpcBufExtra, disable realtime again
* assert all written
* hmm simpler
* only push to to_write if we are writing
* assert timestamp is right
* use at and remove assert
* revert to queue
Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 0baa4c3e2a
* seperate writer from encoder
* video writer in release
* confirm loggerd on PC works, add YUV option to compressed_vipc
* make raw_logger use video_writer
* put this back to master
* close codec
* put this back
* use unique_ptr
Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 8d24655787
* C3: detect metered networks
* show in ui
* fix text layout
* bump cereal
* revert ui changes
* set networkMetered
* add athena method
* add metered logging to uploader
* use in athena uploader
* remove param
* use networkmanager properties to set cell to unmetered
* fix indentation
* no need to check
* bump cereal
* review
* bump cereal
old-commit-hash: da5a0c41a0
* Update raw_logger/framereader to new new ffmpeg api
* Can be removed now
* Handled by avcodec_free_context
* handle EAGAIN and clean up
old-commit-hash: 724bab8ef3
* hacks to make process replay engage again
* dont change that
* enable engagement check again
* chmod +x
* first working regen
* proper logMonoTime
* fix video framerate consistency
* mpc is valid again
* proper alive checks
* revert loggerd change
* ensure engaged in regen, fix managerState, peripheralState
* ubloxRaw is unused
* add submaster config for gm
* regen all services we can run without HW
* fix loggerd
* loggerd: matroska without the extension
* update ref
old-commit-hash: d3d10e014a
* run on PC
* set frameId
* remove todo
* rawlogger: remove suffix mkv
* remove unused import PC
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 22d43211d9
* device side of statsd
* need to start it
* enable in manager
* add sleep
* cleanup
* remove aggregates for now and standardize on industry terms
* manager needs main
* need to have a try/except
* atomic_write_on_fs_tmp does not work
* cleaner
* use dump
Co-authored-by: Willem Melching <willem.melching@gmail.com>
* one file at a time
* limit amount of files
* move to influx line protocol and cleanup
* needs to be a list
* fix timezone bug
* actually rate limit
* add to release
* normalized origin
* also log deviceType
* more stats
Co-authored-by: Willem Melching <willem.melching@gmail.com>
old-commit-hash: 1b49ce6ec4
Updated Python code with Python 3.6+ features:
- utf-8 encoding is now the default (PEP 3120)
- Replace list comprehensions by Generator Expressions (PEP 289)
- Replace yield loop by yield from (PEP 380)
- Remove the (object) subclass when defining a class
- Replace the IOError alias by OSError (PEP 3151)
- Define sets with curly braces {} instead of set()
- Remove "r" parameter from open function, which is default
Co-Authored-By: Adeeb Shihadeh <8762862+adeebshihadeh@users.noreply.github.com>
Co-Authored-By: GregorKikelj <96022003+GregorKikelj@users.noreply.github.com>
Co-authored-by: Adeeb Shihadeh <8762862+adeebshihadeh@users.noreply.github.com>
Co-authored-by: GregorKikelj <96022003+GregorKikelj@users.noreply.github.com>
old-commit-hash: 332f568a82
* Convert all text strings to f-strings
Reformats all the text from the old "%-formatted" and .format(...) format to the newer f-string format, as defined in PEP 498. This requires Python 3.6+.
Flynt 0.69 was used to reformat the strings. 120 f-strings were created in 51 files.
F-strings are in general more readable, concise and performant. See also: https://www.python.org/dev/peps/pep-0498/#rationale
* revert pyextra changes
* revert ublox.py
Co-authored-by: Willem Melching <willem.melching@gmail.com>
old-commit-hash: 55390d273f