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