mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2025-03-01 10:33:28 +00:00
feat: SchemaChecker & V4L2 enhancement (#734)
* libjpeg-turbo, QJsonSchemaChecker, V4L2 width/height/fps Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com> * Implement hyperion-v4l cli args * Apply v4l2 settings during runtime * feat: Provide minimum values for input restriction * fix: merge mess Co-authored-by: brindosch <edeltraud70@gmx.de>
This commit is contained in:
@@ -7,6 +7,7 @@ Grabber::Grabber(QString grabberName, int width, int height, int cropLeft, int c
|
||||
, _videoMode(VIDEO_2D)
|
||||
, _width(width)
|
||||
, _height(height)
|
||||
, _fps(15)
|
||||
, _cropLeft(0)
|
||||
, _cropRight(0)
|
||||
, _cropTop(0)
|
||||
@@ -86,3 +87,11 @@ bool Grabber::setWidthHeight(int width, int height)
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool Grabber::setFramerate(int fps)
|
||||
{
|
||||
if(fps > 0)
|
||||
_fps = fps;
|
||||
|
||||
return fps > 0;
|
||||
}
|
@@ -157,6 +157,12 @@ void GrabberWrapper::handleSettingsUpdate(const settings::type& type, const QJso
|
||||
obj["cropTop"].toInt(0),
|
||||
obj["cropBottom"].toInt(0));
|
||||
|
||||
// device resolution
|
||||
_ggrabber->setWidthHeight(obj["width"].toInt(0), obj["height"].toInt(0));
|
||||
|
||||
// device framerate
|
||||
_ggrabber->setFramerate(obj["fps"].toInt(15));
|
||||
|
||||
_ggrabber->setSignalDetectionEnable(obj["signalDetection"].toBool(true));
|
||||
_ggrabber->setSignalDetectionOffset(
|
||||
obj["sDHOffsetMin"].toDouble(0.25),
|
||||
@@ -170,7 +176,6 @@ void GrabberWrapper::handleSettingsUpdate(const settings::type& type, const QJso
|
||||
_ggrabber->setDeviceVideoStandard(
|
||||
obj["device"].toString("auto"),
|
||||
parseVideoStandard(obj["standard"].toString("no-change")));
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -30,7 +30,8 @@
|
||||
"items" : {
|
||||
"type" : "integer",
|
||||
"minimum" : 0,
|
||||
"maximum" : 255
|
||||
"maximum" : 255,
|
||||
"default" : 0
|
||||
},
|
||||
"minItems" : 3,
|
||||
"maxItems" : 3,
|
||||
|
@@ -30,7 +30,8 @@
|
||||
"items" : {
|
||||
"type" : "integer",
|
||||
"minimum" : 0,
|
||||
"maximum" : 255
|
||||
"maximum" : 255,
|
||||
"default" : 0
|
||||
},
|
||||
"minItems" : 3,
|
||||
"maxItems" : 3,
|
||||
|
@@ -9,7 +9,6 @@
|
||||
"type" : "string",
|
||||
"title" : "edt_conf_v4l2_device_title",
|
||||
"default" : "auto",
|
||||
"minLength" : 4,
|
||||
"required" : true,
|
||||
"propertyOrder" : 1
|
||||
},
|
||||
@@ -17,14 +16,44 @@
|
||||
{
|
||||
"type" : "string",
|
||||
"title" : "edt_conf_v4l2_standard_title",
|
||||
"enum" : ["PAL","NTSC","SECAM","NO_CHANGE"],
|
||||
"enum" : ["NO_CHANGE", "PAL","NTSC","SECAM"],
|
||||
"default" : "NO_CHANGE",
|
||||
"options" : {
|
||||
"enum_titles" : ["edt_conf_enum_PAL", "edt_conf_enum_NTSC", "edt_conf_enum_SECAM", "edt_conf_enum_NO_CHANGE"]
|
||||
"enum_titles" : ["edt_conf_enum_NO_CHANGE", "edt_conf_enum_PAL", "edt_conf_enum_NTSC", "edt_conf_enum_SECAM"]
|
||||
},
|
||||
"required" : true,
|
||||
"propertyOrder" : 2
|
||||
},
|
||||
"width" :
|
||||
{
|
||||
"type" : "integer",
|
||||
"title" : "edt_conf_fg_width_title",
|
||||
"default" : 0,
|
||||
"minimum" : 0,
|
||||
"required" : true,
|
||||
"access" : "expert",
|
||||
"propertyOrder" : 3
|
||||
},
|
||||
"height" :
|
||||
{
|
||||
"type" : "integer",
|
||||
"title" : "edt_conf_fg_height_title",
|
||||
"default" : 0,
|
||||
"minimum" : 0,
|
||||
"required" : true,
|
||||
"access" : "expert",
|
||||
"propertyOrder" : 4
|
||||
},
|
||||
"fps" :
|
||||
{
|
||||
"type" : "integer",
|
||||
"title" : "Framerate",
|
||||
"default" : 15,
|
||||
"minimum" : 1,
|
||||
"required" : true,
|
||||
"access" : "expert",
|
||||
"propertyOrder" : 5
|
||||
},
|
||||
"sizeDecimation" :
|
||||
{
|
||||
"type" : "integer",
|
||||
@@ -33,7 +62,7 @@
|
||||
"maximum" : 30,
|
||||
"default" : 6,
|
||||
"required" : true,
|
||||
"propertyOrder" : 3
|
||||
"propertyOrder" : 6
|
||||
},
|
||||
"cropLeft" :
|
||||
{
|
||||
@@ -43,7 +72,7 @@
|
||||
"default" : 0,
|
||||
"append" : "edt_append_pixel",
|
||||
"required" : true,
|
||||
"propertyOrder" : 4
|
||||
"propertyOrder" : 7
|
||||
},
|
||||
"cropRight" :
|
||||
{
|
||||
@@ -53,7 +82,7 @@
|
||||
"default" : 0,
|
||||
"append" : "edt_append_pixel",
|
||||
"required" : true,
|
||||
"propertyOrder" : 5
|
||||
"propertyOrder" : 8
|
||||
},
|
||||
"cropTop" :
|
||||
{
|
||||
@@ -63,7 +92,7 @@
|
||||
"default" : 0,
|
||||
"append" : "edt_append_pixel",
|
||||
"required" : true,
|
||||
"propertyOrder" : 6
|
||||
"propertyOrder" : 9
|
||||
},
|
||||
"cropBottom" :
|
||||
{
|
||||
@@ -73,7 +102,7 @@
|
||||
"default" : 0,
|
||||
"append" : "edt_append_pixel",
|
||||
"required" : true,
|
||||
"propertyOrder" : 7
|
||||
"propertyOrder" : 10
|
||||
},
|
||||
"signalDetection" :
|
||||
{
|
||||
@@ -81,7 +110,7 @@
|
||||
"title" : "edt_conf_v4l2_signalDetection_title",
|
||||
"default" : false,
|
||||
"required" : true,
|
||||
"propertyOrder" : 8
|
||||
"propertyOrder" : 11
|
||||
},
|
||||
"redSignalThreshold" :
|
||||
{
|
||||
@@ -97,7 +126,7 @@
|
||||
}
|
||||
},
|
||||
"required" : true,
|
||||
"propertyOrder" : 9
|
||||
"propertyOrder" : 12
|
||||
},
|
||||
"greenSignalThreshold" :
|
||||
{
|
||||
@@ -113,7 +142,7 @@
|
||||
}
|
||||
},
|
||||
"required" : true,
|
||||
"propertyOrder" : 10
|
||||
"propertyOrder" : 13
|
||||
},
|
||||
"blueSignalThreshold" :
|
||||
{
|
||||
@@ -129,7 +158,7 @@
|
||||
}
|
||||
},
|
||||
"required" : true,
|
||||
"propertyOrder" : 11
|
||||
"propertyOrder" : 14
|
||||
},
|
||||
"sDVOffsetMin" :
|
||||
{
|
||||
@@ -145,7 +174,7 @@
|
||||
}
|
||||
},
|
||||
"required" : true,
|
||||
"propertyOrder" : 12
|
||||
"propertyOrder" : 15
|
||||
},
|
||||
"sDVOffsetMax" :
|
||||
{
|
||||
@@ -161,7 +190,7 @@
|
||||
}
|
||||
},
|
||||
"required" : true,
|
||||
"propertyOrder" : 13
|
||||
"propertyOrder" : 16
|
||||
},
|
||||
"sDHOffsetMin" :
|
||||
{
|
||||
@@ -177,7 +206,7 @@
|
||||
}
|
||||
},
|
||||
"required" : true,
|
||||
"propertyOrder" : 14
|
||||
"propertyOrder" : 17
|
||||
},
|
||||
"sDHOffsetMax" :
|
||||
{
|
||||
@@ -193,8 +222,8 @@
|
||||
}
|
||||
},
|
||||
"required" : true,
|
||||
"propertyOrder" : 15
|
||||
"propertyOrder" : 18
|
||||
}
|
||||
},
|
||||
"additionalProperties" : false
|
||||
"additionalProperties" : true
|
||||
}
|
||||
|
@@ -45,7 +45,8 @@
|
||||
"required" : true,
|
||||
"items" : {
|
||||
"type": "string",
|
||||
"title" : "edt_conf_net_ip_itemtitle"
|
||||
"title" : "edt_conf_net_ip_itemtitle",
|
||||
"allowEmptyArray" : true
|
||||
},
|
||||
"options": {
|
||||
"dependencies": {
|
||||
|
Reference in New Issue
Block a user