[git:v4l-utils/master] v4l2-compliance: improve S_PARM test
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/cgit.cgi/v4l-utils.git tree: Subject: v4l2-compliance: improve S_PARM test Author: Hans Verkuil Date:Fri Sep 14 10:00:35 2018 +0200 Check for framerates 0/1 and 1/0 as well, not just 0/0. Signed-off-by: Hans Verkuil utils/v4l2-compliance/v4l2-test-formats.cpp | 22 ++ 1 file changed, 22 insertions(+) --- http://git.linuxtv.org/cgit.cgi/v4l-utils.git/commit/?id=d62f02f96f8d509566c24bcaadeee35d4a018e3b diff --git a/utils/v4l2-compliance/v4l2-test-formats.cpp b/utils/v4l2-compliance/v4l2-test-formats.cpp index 4524dfd93a78..02c2ce9ea9af 100644 --- a/utils/v4l2-compliance/v4l2-test-formats.cpp +++ b/utils/v4l2-compliance/v4l2-test-formats.cpp @@ -1236,6 +1236,28 @@ static int testParmType(struct node *node, unsigned type) fail_on_test(parm.type != type); if (!(parm.parm.capture.capability & V4L2_CAP_TIMEPERFRAME)) warn("S_PARM is supported but doesn't report V4L2_CAP_TIMEPERFRAME\n"); + ret = testParmStruct(node, parm); + if (ret) + return ret; + if (V4L2_TYPE_IS_OUTPUT(type)) { + parm.parm.output.timeperframe.numerator = 0; + parm.parm.output.timeperframe.denominator = 1; + } else { + parm.parm.capture.timeperframe.numerator = 0; + parm.parm.capture.timeperframe.denominator = 1; + } + fail_on_test(doioctl(node, VIDIOC_S_PARM, )); + ret = testParmStruct(node, parm); + if (ret) + return ret; + if (V4L2_TYPE_IS_OUTPUT(type)) { + parm.parm.output.timeperframe.numerator = 1; + parm.parm.output.timeperframe.denominator = 0; + } else { + parm.parm.capture.timeperframe.numerator = 1; + parm.parm.capture.timeperframe.denominator = 0; + } + fail_on_test(doioctl(node, VIDIOC_S_PARM, )); return testParmStruct(node, parm); } ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org https://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
[git:v4l-utils/master] v4l2-compliance: improve s_parm test
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/cgit.cgi/v4l-utils.git tree: Subject: v4l2-compliance: improve s_parm test Author: Hans Verkuil Date:Sat May 12 13:52:53 2018 +0200 If the driver does not set V4L2_CAP_TIMEPERFRAME, then don't warn if ENUM_FRAMEINTERVALS is not supported. Signed-off-by: Hans Verkuil utils/v4l2-compliance/v4l2-test-formats.cpp | 11 +-- 1 file changed, 9 insertions(+), 2 deletions(-) --- http://git.linuxtv.org/cgit.cgi/v4l-utils.git/commit/?id=51cfcefe65225430fd6794301adcaae133ebfc2d diff --git a/utils/v4l2-compliance/v4l2-test-formats.cpp b/utils/v4l2-compliance/v4l2-test-formats.cpp index e9170688f49b..cdf6499a4e46 100644 --- a/utils/v4l2-compliance/v4l2-test-formats.cpp +++ b/utils/v4l2-compliance/v4l2-test-formats.cpp @@ -1204,9 +1204,16 @@ static int testParmType(struct node *node, unsigned type) memset(, 0, sizeof(parm)); parm.type = type; ret = doioctl(node, VIDIOC_S_PARM, ); + + __u32 cap; + + if (V4L2_TYPE_IS_OUTPUT(type)) + cap = parm.parm.output.capability; + else + cap = parm.parm.capture.capability; fail_on_test(ret && node->has_frmintervals); - if (!ret && !node->has_frmintervals) - warn("S_PARM is supported for buftype %d, but not ENUM_FRAMEINTERVALS\n", type); + if (!ret && (cap & V4L2_CAP_TIMEPERFRAME) && !node->has_frmintervals) + warn("S_PARM is supported for buftype %d, but not for ENUM_FRAMEINTERVALS\n", type); if (ret == ENOTTY) return 0; if (ret) ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org https://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits