mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2025-03-01 10:33:28 +00:00
amlogic refactoring (#464)
* - 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
This commit is contained in:
@@ -33,6 +33,7 @@ public:
|
||||
/// gets resulting width of image
|
||||
virtual const int getImageHeight() { return _height; };
|
||||
|
||||
void setEnabled(bool enable);
|
||||
|
||||
protected:
|
||||
ImageResampler _imageResampler;
|
||||
@@ -51,6 +52,7 @@ protected:
|
||||
// number of pixels to crop after capturing
|
||||
int _cropLeft, _cropRight, _cropTop, _cropBottom;
|
||||
|
||||
bool _enabled;
|
||||
|
||||
/// logger instance
|
||||
Logger * _log;
|
||||
|
@@ -40,10 +40,9 @@ public:
|
||||
|
||||
static QStringList availableGrabbers();
|
||||
|
||||
|
||||
public:
|
||||
template <typename Grabber_T>
|
||||
void transferFrame(Grabber_T &grabber)
|
||||
bool transferFrame(Grabber_T &grabber)
|
||||
{
|
||||
unsigned w = grabber.getImageWidth();
|
||||
unsigned h = grabber.getImageHeight();
|
||||
@@ -53,12 +52,15 @@ public:
|
||||
_image.resize(w, h);
|
||||
}
|
||||
|
||||
if (grabber.grabFrame(_image) >= 0)
|
||||
int ret = grabber.grabFrame(_image);
|
||||
if (ret >= 0)
|
||||
{
|
||||
emit emitImage(_priority, _image, _timeout_ms);
|
||||
_processor->process(_image, _ledColors);
|
||||
setColors(_ledColors, _timeout_ms);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -70,6 +72,8 @@ public slots:
|
||||
///
|
||||
virtual void action() = 0;
|
||||
|
||||
void actionWrapper();
|
||||
|
||||
///
|
||||
/// Set the grabbing mode
|
||||
/// @param[in] mode The new grabbing mode
|
||||
|
@@ -97,6 +97,13 @@ public:
|
||||
///
|
||||
int getCurrentPriority() const;
|
||||
|
||||
///
|
||||
/// Returns true if current priority is given priority
|
||||
///
|
||||
/// @return bool
|
||||
///
|
||||
bool isCurrentPriority(const int priority) const;
|
||||
|
||||
///
|
||||
/// Returns a list of active priorities
|
||||
///
|
||||
|
@@ -2,14 +2,14 @@
|
||||
|
||||
// STL includes
|
||||
#include <vector>
|
||||
#include <map>
|
||||
#include <cstdint>
|
||||
#include <limits>
|
||||
|
||||
// QT includes
|
||||
#include <QMap>
|
||||
#include <QObject>
|
||||
#include <QTimer>
|
||||
#include <QMap>
|
||||
#include <QVector>
|
||||
|
||||
// Utils includes
|
||||
#include <utils/ColorRgb.h>
|
||||
@@ -50,7 +50,7 @@ public:
|
||||
};
|
||||
|
||||
/// The lowest possible priority, which is used when no priority channels are active
|
||||
const static int LOWEST_PRIORITY = std::numeric_limits<uint8_t>::max();
|
||||
const static int LOWEST_PRIORITY;
|
||||
|
||||
///
|
||||
/// Constructs the PriorityMuxer for the given number of leds (used to switch to black when
|
||||
|
Reference in New Issue
Block a user