mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2025-03-01 10:33:28 +00:00
* Refactor to fix #1671
* Add GUI/NonGUI mode to info page
* Do not show lock config, if in non-UI mode
* Updae Changelog
* Correct includes
* Ensure key member initialization - RGB Channels
* Ensure key member initialization - WebServer
* Update RGBChannels
* Fix initialization order
* Fix key when inserting new logger in LoggerMap,
Prepare logBuffer-JSON snapshot view in LoggerManager,
Increase buffered loglines to 500
* Fix Memory leak in GrabberWrapper
* Fix Memory leak in BlackBorderProcessor
* Fix Memory leak in BlackBorderProcessor
* use ninja generator under macos
* Fix BGEffectHandler destruction
* Fix Mdns code
* Clear list after applying qDeleteAll
* Fix deletion of CecHandler
* Fix memory leak caused by wrong buffer allocation
* Remove extra pixel consistently
* Change mDNS to Qt SmartPointers
* Correct removal
* Fix usage of _width/_height (they are the output resolution, not the screen resolution)
That avoids unnecessary resizing of the output image with every transferFrame call
* Move main non Thread Objects to Smart Pointers
* Revert "Move main non Thread Objects to Smart Pointers"
This reverts commit 26102ca963
.
* Add missing deletes
* Revert MdnsBrowser chnage
* Revert MdnsBrowser change
* Fix memory leaks related standalone grabber
* Address CodeQL finding
* delete pointer OsxFrameGrabber
---------
Co-authored-by: Paulchen-Panther <16664240+Paulchen-Panther@users.noreply.github.com>
63 lines
1.6 KiB
C++
63 lines
1.6 KiB
C++
#include <utils/RgbChannelAdjustment.h>
|
|
|
|
RgbChannelAdjustment::RgbChannelAdjustment(QString channelName)
|
|
: RgbChannelAdjustment(0, 0, 0, channelName)
|
|
{
|
|
}
|
|
|
|
RgbChannelAdjustment::RgbChannelAdjustment(uint8_t adjustR, uint8_t adjustG, uint8_t adjustB, QString channelName )
|
|
: _channelName(channelName)
|
|
, _log(Logger::getInstance("CHANNEL_" + channelName.toUpper()))
|
|
, _brightness(0)
|
|
{
|
|
setAdjustment(adjustR, adjustG, adjustB);
|
|
}
|
|
|
|
void RgbChannelAdjustment::resetInitialized()
|
|
{
|
|
memset(_initialized, false, sizeof(_initialized));
|
|
}
|
|
|
|
void RgbChannelAdjustment::setAdjustment(uint8_t adjustR, uint8_t adjustG, uint8_t adjustB)
|
|
{
|
|
_adjust[RED] = adjustR;
|
|
_adjust[GREEN] = adjustG;
|
|
_adjust[BLUE] = adjustB;
|
|
resetInitialized();
|
|
}
|
|
|
|
uint8_t RgbChannelAdjustment::getAdjustmentR() const
|
|
{
|
|
return _adjust[RED];
|
|
}
|
|
|
|
uint8_t RgbChannelAdjustment::getAdjustmentG() const
|
|
{
|
|
return _adjust[GREEN];
|
|
}
|
|
|
|
uint8_t RgbChannelAdjustment::getAdjustmentB() const
|
|
{
|
|
return _adjust[BLUE];
|
|
}
|
|
|
|
void RgbChannelAdjustment::apply(uint8_t input, uint8_t brightness, uint8_t & red, uint8_t & green, uint8_t & blue)
|
|
{
|
|
if (_brightness != brightness)
|
|
{
|
|
_brightness = brightness;
|
|
resetInitialized();
|
|
}
|
|
|
|
if (!_initialized[input])
|
|
{
|
|
_mapping[RED ][input] = qMin( ((_brightness * input * _adjust[RED ]) / 65025), (int)UINT8_MAX);
|
|
_mapping[GREEN][input] = qMin( ((_brightness * input * _adjust[GREEN]) / 65025), (int)UINT8_MAX);
|
|
_mapping[BLUE ][input] = qMin( ((_brightness * input * _adjust[BLUE ]) / 65025), (int)UINT8_MAX);
|
|
_initialized[input] = true;
|
|
}
|
|
red = _mapping[RED ][input];
|
|
green = _mapping[GREEN][input];
|
|
blue = _mapping[BLUE ][input];
|
|
}
|