* fix: Resolve the enable state for v4l and screen capture
* Use instance index instead of pointer
* Second try
* fix(QtGrabber): QScreen ownership
* Remove v4l2 compState listener
* add SSDP name field
* YALL - yet another led layout
* led layout migration
* add initial vscode config
* merge clearAll with clear, rename Hyperion::compStateChange
* simpler components api
* Corrected code formatting
+ triggered PR build
* fix: regression from #636
* Support for color patterns
Co-authored-by: Paulchen Panther <16664240+Paulchen-Panther@users.noreply.github.com>
- Increases linker performance under Linux builds by using Gold linker, if available
- ccache is used if available
- removed statistic class (Stats.cpp) from project due to the missing result (sorry @Brindosch)
- add LGTM bandges for code analysis overview
Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
- Video format MJPEG implemented (libjpeg/qimage)
- Inactive priorities are now skipped correctly (PriorityMuxer.cpp line 297)
- v4l configuration section replaced with an object (preparation for #542)
fix ge2d mode
added ge2d single/combined ioctl call
speed up imageresampler
speed up amvideocap0 mode
added config to choose if amvideocap0 or ge2d grabber should be used
* - grabber auto off when not set as active prio
- join aml and fb - on aml platform both grabbers are needed, so they joind in one module and share one prio. user don't the the nasty magic behind
- aml: preparation for direct ge2d access
* just save it, in the middle of ge2d impl
* fix compile issues
* now grabbing works basicly
* add 3d support for ge2d
* next step, we got some video from aml
* switch back to rgba
* cleanup
* code cleanup, remove unused stuff
* - grabber auto off when not set as active prio
- join aml and fb - on aml platform both grabbers are needed, so they joind in one module and share one prio. user don't the the nasty magic behind
- aml: preparation for direct ge2d access
* just save it, in the middle of ge2d impl
* fix compile issues
* now grabbing works basicly
* add 3d support for ge2d
* next step, we got some video from aml
* switch back to rgba
* remove unfinished ge2d stuff
* commit missing changes
* some urgent fixes, needs some beautifying, but it works now
* fixes and refctoring
* move setvideomode to common place
* implement more croping and 3d support
* more api unification
* more refactoring
* osx fix
* next step
* add a mock for osx grabber. Now it is possible to test compile on none osx platforms.
* more unifications ...
* remove obsolete includes and grabbers are not dyn allocated. dispmanx needs rework an probaly not work atm
* first version of dispmanx mock. it compiles, but outputs a black image
* now dispmanx mock works!
* activate mocks in travis linux build
prepare dispmanx to rgb image out
* dispmanx now with image rgb output
fix deadlock with w/h -1 in grabber v4l
cleanups
* fix json
* fix some runtime stuff
* Update FramebufferWrapper.cpp
fix missing code
* unify grabframe
* 3d and croping for amlogic
* fix setimage not working
* make use of templates
save some codelines
* save more code lines
* implement set videomode via json api
* refactor grabbers:
- new base class
- move shared code to base class
* fix osx
* rework all cmakelist files with auto file collection. except leddevices (need further restructuring)
* store current video and grabbing mode
* add json stuff
* remove grabbingmode - we do not want to expose it
* add deployment
* add correct api key
* fix cmake lists and add heroku app name
* Update .gitmodules
sync modules with upstream
* add possibility to start hyperiond as systray app
* cleanup
* - new command line options: --desktop --service to set desired mode (systray icon / console only)
- auto detect x server - if avail run in gui mode
- on osx always run in gui mode
- use existing icon from webconfig, instead of own icon
- add ability to no gice a config file name. If config not given, default config file will be set (home dir, or hyperiond dir, depending on writable state)
* fix warnings and compile error
* use own icon for systray purpose
* use new logo
* - set application properties
- fix force service mode
* std::string -> qstring part 1
* more string migration
* more string migration ...
* ...
* more qstring mogrations
add sysinfo via json
* remove unneccessary includes
* integrate sysinfo into webui
* on v4l screenshot, print out nosignal threshold values
* separate fractional parameters for no signal detection
* fully implement handling for "rainbow grabber"
* v4l errors won't lead to crash hyperiond (exceptions are catched)
v4l auto device mode with better log messages
createV4l in hyperiond.cpp refactored, now v4l is always available as long as it is compiled in
* change back, code accidently altered
* fix compile of dispmanx grabber
* implement enable/disable on runtime for:
- smoothing
- kodi
- udplistener
- boblight
* implement enable/disable for forwarder
refactor component
* - implement grabber enable/disable at runtime
- big grabber refactoring. now with common base class for all grabbers
* implement enable/disable at runtime for bb detector
* osx fix
* try to fix cutted travis output for osx build
* - implement framegrabber type option
- framegrabber autoselect
- integrate x11 grabber in hyperiond
* add doxy
* v4l: select device by name
hyperiond: fix x11 grabber connection to kodichecker
config: tune default prios of boblight and v4l
* make v4l name finding case insensitive
* make hyperion to singelton.
remove arguments for config and hyperion - both are gettable via Hyperion::getInstance
* refactor hyperiond
* remove qt4 comapt
make zeroconf mandatory
refactor hyperiond
* xbmcchecker is now a singleton
* cleanup in hyperiond
zeroconf switchable between static and shared linking
* fix xbmcchecker
* dispmanx: fix grabber issues with certain widths and support cropping
The dispmanx grabber will produce garbage output if the destination
pitch is not set to a multiple of 64 bytes (16 RGBA pixels).
It can also fail when retrieving only a part of the image
(eg in 3DSBS or TAB mode).
Handle these cases by capturing the full image into a separate
buffer with the pitch set to an appropriate value and manually
handle 3D SBS/TAB left/top half copying.
At this point supporting cropping like in the V4L2 grabber is
rather easy and added as well. This'll help handling overscan
setups (old TVs) and removing (possibly asymmetric) overscan
borders.
Cropping is disabled in video capture mode (when the
DISPMANX_SNAPSHOT_FILL flag is set).
Signed-off-by: Matthias Reichl <hias@horus.com>
* hyperion-dispmanx: add optional crop values and 3D mode options
Signed-off-by: Matthias Reichl <hias@horus.com>
* hyperiond: support cropping on the dispmanx grabber
Honor cropLeft, cropRight, cropTop and cropBottom settings in
the framegrabber section of the conf file to control cropping.
Signed-off-by: Matthias Reichl <hias@horus.com>
Former-commit-id: bbb55f6621b90384e417f37da4f2543d112ef57a