Go to file
Matthias Reichl f584b05de5 dispmanx: fix grabber issues with certain widths and support cropping (#634)
* 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
2016-05-18 11:26:25 +02:00
bin prevent spam 2016-05-05 12:55:11 +02:00
cmake add an auto generated version id 2016-03-10 06:53:21 +01:00
config cleanup 2016-04-26 12:56:16 +02:00
dependencies Apa102 fix if the led strip has more physical LEDs than you want to configure with hyperion (#626) 2016-05-10 12:16:19 +02:00
doc cleanup 2016-05-15 18:57:16 +02:00
effects Allow random mood blobs color, set mood-blobs-full to random 2016-05-10 16:34:24 +10:00
include dispmanx: fix grabber issues with certain widths and support cropping (#634) 2016-05-18 11:26:25 +02:00
libsrc dispmanx: fix grabber issues with certain widths and support cropping (#634) 2016-05-18 11:26:25 +02:00
src dispmanx: fix grabber issues with certain widths and support cropping (#634) 2016-05-18 11:26:25 +02:00
test fix compile on raspi 2016-02-24 23:34:47 +01:00
.gitignore add protobuf as submodule 2014-12-19 21:21:00 +01:00
.gitmodules Add new WS281x driver 2016-03-08 20:41:13 -08:00
CMakeLists.txt Merge remote-tracking branch 'upstream/master/master' into hyperion_version_id 2016-03-13 08:04:49 +01:00
CompileHowto.txt amlogic docu update 2016-04-28 14:46:53 +02:00
CrossCompileHowto.txt Update CrossCompileHowTo.txt 2016-03-13 02:27:12 +01:00
HyperionConfig.h.in Merge remote-tracking branch 'upstream/master/master' into hyperion_version_id 2016-03-13 08:04:49 +01:00
ISSUE_TEMPLATE preperation for next release and cleanup 2016-04-26 12:27:59 +02:00
PULL_REQUEST_TEMPLATE preperation for next release and cleanup 2016-04-26 12:27:59 +02:00
README.md Update README.md 2016-04-30 01:14:28 +02:00
Toolchain-imx6.cmake Switched flag from soft to hard float 2016-02-23 21:17:03 +01:00
Toolchain-rpi.cmake Update install/update script 2015-09-09 22:21:51 +02:00
Toolchain-x32.cmake Update install/update script 2015-09-09 22:21:51 +02:00

README.md

HYPERION

Hyperion is an opensource 'AmbiLight' implementation supported by many devices. The main features of Hyperion are:

  • Low CPU load. For a led string of 50 leds the CPU usage will typically be below 1.5% on a non-overclocked Pi.
  • Json interface which allows easy integration into scripts.
  • A command line utility allows easy testing and configuration of the color transforms (Transformation settings are not preserved over a restart at the moment...).
  • Priority channels are not coupled to a specific led data provider which means that a provider can post led data and leave without the need to maintain a connection to Hyperion. This is ideal for a remote application (like our Android app).
  • HyperCon. A tool which helps generate a Hyperion configuration file.
  • Kodi-checker which checks the playing status of Kodi and decides whether or not to capture the screen.
  • Black border detector.
  • A scriptable effect engine.
  • Generic software architecture to support new devices and new algorithms easily.

More information can be found on the official Hyperion Wiki

If you need further support please open a topic at the our new forum! Hyperion webpage/forum.

The source is released under MIT-License (see http://opensource.org/licenses/MIT).