[git:v4l-utils/master] v4l2-compliance: improve S_PARM test

2018-09-14 Thread Hans Verkuil
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

2018-07-25 Thread Hans Verkuil
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