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: only check function if an MC is present Author: Hans Verkuil <hverk...@xs4all.nl> Date: Fri Feb 18 09:09:26 2022 +0100 The codec tests checked if the function of the device as reported by the media controller is that of an de/encoder. But that test was also done for codecs without a MC, and then it fails. So only do this test if an MC was found. Also test that stateless codecs always have a MC since it is required for such codecs. Signed-off-by: Hans Verkuil <hverkuil-ci...@xs4all.nl> Tested-by: NĂcolas F. R. A. Prado <nfrapr...@collabora.com> utils/v4l2-compliance/v4l2-compliance.cpp | 1 + utils/v4l2-compliance/v4l2-compliance.h | 1 + utils/v4l2-compliance/v4l2-test-codecs.cpp | 6 ++++-- 3 files changed, 6 insertions(+), 2 deletions(-) --- http://git.linuxtv.org/cgit.cgi/v4l-utils.git/commit/?id=40a51ea5538182d7c3856ece1c75c7ebca967a84 diff --git a/utils/v4l2-compliance/v4l2-compliance.cpp b/utils/v4l2-compliance/v4l2-compliance.cpp index c53a55ba6c3a..8d0e94e973a5 100644 --- a/utils/v4l2-compliance/v4l2-compliance.cpp +++ b/utils/v4l2-compliance/v4l2-compliance.cpp @@ -998,6 +998,7 @@ void testNode(struct node &node, struct node &node_m2m_cap, struct node &expbuf_ if (!node.is_v4l2()) driver = mdinfo.driver; node.media_bus_info = mdinfo.bus_info; + node.has_media = true; } } diff --git a/utils/v4l2-compliance/v4l2-compliance.h b/utils/v4l2-compliance/v4l2-compliance.h index 7255161f874a..507187ebbbdf 100644 --- a/utils/v4l2-compliance/v4l2-compliance.h +++ b/utils/v4l2-compliance/v4l2-compliance.h @@ -120,6 +120,7 @@ struct base_node { struct node *node2; /* second open filehandle */ bool has_outputs; bool has_inputs; + bool has_media; unsigned tuners; unsigned modulators; unsigned inputs; diff --git a/utils/v4l2-compliance/v4l2-test-codecs.cpp b/utils/v4l2-compliance/v4l2-test-codecs.cpp index 22175eefd325..1d76a17c908b 100644 --- a/utils/v4l2-compliance/v4l2-test-codecs.cpp +++ b/utils/v4l2-compliance/v4l2-test-codecs.cpp @@ -31,7 +31,8 @@ int testEncoder(struct node *node) bool is_encoder = node->codec_mask & (STATEFUL_ENCODER | JPEG_ENCODER); int ret; - if (IS_ENCODER(node)) + fail_on_test((node->codec_mask & STATELESS_ENCODER) && !node->has_media); + if (IS_ENCODER(node) && node->has_media) fail_on_test(node->function != MEDIA_ENT_F_PROC_VIDEO_ENCODER); memset(&cmd, 0xff, sizeof(cmd)); memset(&cmd.raw, 0, sizeof(cmd.raw)); @@ -100,7 +101,8 @@ int testDecoder(struct node *node) bool is_decoder = node->codec_mask & (STATEFUL_DECODER | JPEG_DECODER); int ret; - if (IS_DECODER(node)) + fail_on_test((node->codec_mask & STATELESS_DECODER) && !node->has_media); + if (IS_DECODER(node) && node->has_media) fail_on_test(node->function != MEDIA_ENT_F_PROC_VIDEO_DECODER); memset(&cmd, 0xff, sizeof(cmd)); memset(&cmd.raw, 0, sizeof(cmd.raw)); _______________________________________________ linuxtv-commits mailing list linuxtv-commits@linuxtv.org https://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits