Fix v4l2 MJPEG Processing (#1512)

* Fix MJPEG 3D and transform memory leak

* In 3D Crop only half to maintain ratio

* Support turbojpeg v1 and v2
This commit is contained in:
LordGrey
2022-09-27 08:57:19 +02:00
committed by GitHub
parent 9d23d9e2d6
commit cb76afa4d9
4 changed files with 275 additions and 110 deletions

View File

@@ -209,7 +209,7 @@ bool V4L2Grabber::start()
{
connect(_threadManager, &EncoderThreadManager::newFrame, this, &V4L2Grabber::newThreadFrame);
_threadManager->start();
DebugIf(verbose, _log, "Decoding threads: %d", _threadManager->_threadCount);
DebugIf(verbose, _log, "Decoding threads: %u", _threadManager->_threadCount);
_streamNotifier->setEnabled(true);
start_capturing();
@@ -1294,7 +1294,7 @@ QJsonArray V4L2Grabber::discover(const QJsonObject& params)
{
std::pair<int, int> width_height{enc.width, enc.height};
auto &com = combined[width_height];
for (auto framerate : enc.framerates)
for (auto framerate : qAsConst(enc.framerates))
{
com.insert(framerate);
}
@@ -1326,7 +1326,7 @@ QJsonArray V4L2Grabber::discover(const QJsonObject& params)
device["video_inputs"] = video_inputs;
QJsonObject controls, controls_default;
for (auto control : _deviceControls[device_property.key()])
for (const auto &control : qAsConst(_deviceControls[device_property.key()]))
{
QJsonObject property;
property["minValue"] = control.minValue;