mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2025-03-01 10:33:28 +00:00
move whole logic to MF-grabber
This commit is contained in:
@@ -40,7 +40,7 @@ void EncoderThread::setup(
|
||||
PixelFormat pixelFormat, uint8_t* sharedData,
|
||||
int size, int width, int height, int lineLength,
|
||||
int cropLeft, int cropTop, int cropBottom, int cropRight,
|
||||
VideoMode videoMode, bool bottomUp, FlipMode flipMode, int pixelDecimation)
|
||||
VideoMode videoMode, FlipMode flipMode, int pixelDecimation)
|
||||
{
|
||||
_lineLength = lineLength;
|
||||
_pixelFormat = pixelFormat;
|
||||
@@ -51,7 +51,6 @@ void EncoderThread::setup(
|
||||
_cropTop = cropTop;
|
||||
_cropBottom = cropBottom;
|
||||
_cropRight = cropRight;
|
||||
_bottomUp = bottomUp;
|
||||
_flipMode = flipMode;
|
||||
_videoMode = videoMode;
|
||||
_pixelDecimation = pixelDecimation;
|
||||
@@ -82,7 +81,6 @@ void EncoderThread::setup(
|
||||
#endif
|
||||
|
||||
_imageResampler.setVideoMode(_videoMode);
|
||||
_imageResampler.setBottomUp(_bottomUp);
|
||||
_imageResampler.setFlipMode(_flipMode);
|
||||
_imageResampler.setCropping(_cropLeft, _cropRight, _cropTop, _cropBottom);
|
||||
_imageResampler.setHorizontalPixelDecimation(_pixelDecimation);
|
||||
|
@@ -359,11 +359,22 @@ done:
|
||||
else
|
||||
{
|
||||
_pixelFormat = props.pf;
|
||||
_bottomUp = (props.defstride < 0);
|
||||
_width = props.width;
|
||||
_height = props.height;
|
||||
_frameByteSize = _width * _height * 3;
|
||||
_lineLength = _width * 3;
|
||||
// adjust flipMode for bottom-up images
|
||||
if (props.defstride < 0)
|
||||
{
|
||||
if (_flipMode == FlipMode::NO_CHANGE)
|
||||
_flipMode = FlipMode::HORIZONTAL;
|
||||
else if (_flipMode == FlipMode::HORIZONTAL)
|
||||
_flipMode = FlipMode::NO_CHANGE;
|
||||
else if (_flipMode == FlipMode::VERTICAL)
|
||||
_flipMode = FlipMode::BOTH;
|
||||
else if (_flipMode == FlipMode::BOTH)
|
||||
_flipMode = FlipMode::VERTICAL;
|
||||
}
|
||||
}
|
||||
|
||||
// Cleanup
|
||||
@@ -550,7 +561,7 @@ void MFGrabber::process_image(const void *frameImageBuffer, int size)
|
||||
{
|
||||
if (!_threadManager->_threads[i]->isBusy())
|
||||
{
|
||||
_threadManager->_threads[i]->setup(_pixelFormat, (uint8_t*)frameImageBuffer, size, _width, _height, _lineLength, _cropLeft, _cropTop, _cropBottom, _cropRight, _videoMode, _bottomUp, _flipMode, _pixelDecimation);
|
||||
_threadManager->_threads[i]->setup(_pixelFormat, (uint8_t*)frameImageBuffer, size, _width, _height, _lineLength, _cropLeft, _cropTop, _cropBottom, _cropRight, _videoMode, _flipMode, _pixelDecimation);
|
||||
_threadManager->_threads[i]->process();
|
||||
break;
|
||||
}
|
||||
|
@@ -1046,7 +1046,7 @@ bool V4L2Grabber::process_image(const void *p, int size)
|
||||
{
|
||||
if (!_threadManager->_threads[i]->isBusy())
|
||||
{
|
||||
_threadManager->_threads[i]->setup(_pixelFormat, (uint8_t*)p, size, _width, _height, _lineLength, _cropLeft, _cropTop, _cropBottom, _cropRight, _videoMode, false, _flipMode, _pixelDecimation);
|
||||
_threadManager->_threads[i]->setup(_pixelFormat, (uint8_t*)p, size, _width, _height, _lineLength, _cropLeft, _cropTop, _cropBottom, _cropRight, _videoMode, _flipMode, _pixelDecimation);
|
||||
_threadManager->_threads[i]->process();
|
||||
result = true;
|
||||
break;
|
||||
|
@@ -10,7 +10,6 @@ ImageResampler::ImageResampler()
|
||||
, _cropTop(0)
|
||||
, _cropBottom(0)
|
||||
, _videoMode(VideoMode::VIDEO_2D)
|
||||
, _bottomUp(false)
|
||||
, _flipMode(FlipMode::NO_CHANGE)
|
||||
{
|
||||
}
|
||||
@@ -54,20 +53,7 @@ void ImageResampler::processImage(const uint8_t * data, int width, int height, i
|
||||
int xDestStart, xDestEnd;
|
||||
int yDestStart, yDestEnd;
|
||||
|
||||
FlipMode flipMode = _flipMode;
|
||||
if (_bottomUp)
|
||||
{
|
||||
if (_flipMode == FlipMode::NO_CHANGE)
|
||||
flipMode = FlipMode::HORIZONTAL;
|
||||
else if (_flipMode == FlipMode::HORIZONTAL)
|
||||
flipMode = FlipMode::NO_CHANGE;
|
||||
else if (_flipMode == FlipMode::VERTICAL)
|
||||
flipMode = FlipMode::BOTH;
|
||||
else if (_flipMode == FlipMode::BOTH)
|
||||
flipMode = FlipMode::VERTICAL;
|
||||
}
|
||||
|
||||
switch (flipMode)
|
||||
switch (_flipMode)
|
||||
{
|
||||
case FlipMode::NO_CHANGE:
|
||||
xDestStart = 0;
|
||||
|
Reference in New Issue
Block a user