[PATCH v4l-utils] v4l2-compliance: encoders should not support capture side G_PARM

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Encoders that implement output side G/S_PARM and ENUM_FRAMEINTERVALS
to allow setting the nominal bitstream frame rate cause compliance
failures:

		fail: v4l2-test-formats.cpp(1330): ret && node->has_frmintervals
	test VIDIOC_G/S_PARM: FAIL

because v4l2-compliance is missing capture side G/S_PARM. Skip the
frameinterval check and make sure that capture side G_PARM fails.

Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
---
 utils/v4l2-compliance/v4l2-test-formats.cpp | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/utils/v4l2-compliance/v4l2-test-formats.cpp b/utils/v4l2-compliance/v4l2-test-formats.cpp
index b87e59c8be69..7336a823a269 100644
--- a/utils/v4l2-compliance/v4l2-test-formats.cpp
+++ b/utils/v4l2-compliance/v4l2-test-formats.cpp
@@ -1283,6 +1283,11 @@ static int testParmType(struct node *node, unsigned type)
 	switch (type) {
 	case V4L2_BUF_TYPE_VIDEO_CAPTURE:
 	case V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE:
+		if (IS_ENCODER(node)) {
+			fail_on_test(ret == 0);
+			break;
+		}
+		/* fallthrough */
 	case V4L2_BUF_TYPE_VIDEO_OUTPUT:
 	case V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE:
 		if (type && (node->g_caps() & buftype2cap[type]))
-- 
2.20.1




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux