Message ID | 20200922171933.3830-1-dafna.hirschfeld@collabora.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | v4l2-compliance: skip dimentions tests for media bus format MEDIA_BUS_FMT_METADATA_FIXED | expand |
On 9/22/20 2:19 PM, Dafna Hirschfeld wrote: > The media bus format code MEDIA_BUS_FMT_METADATA_FIXED > is used for metadata formats that are not configurable > from userspace and therefore may have any value for > width and height. So skip width and height tests for > this format. > > Signed-off-by: Dafna Hirschfeld <dafna.hirschfeld@collabora.com> lgtm Reviewed-by: Helen Koike <helen.koike@collabora.com> Thanks Helen > --- > note, this patch should be applied after updating the header > include/linux/media-bus-format.h to include that new format. > --- > utils/v4l2-compliance/v4l2-test-subdevs.cpp | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/utils/v4l2-compliance/v4l2-test-subdevs.cpp b/utils/v4l2-compliance/v4l2-test-subdevs.cpp > index ec3ef169..f60853e3 100644 > --- a/utils/v4l2-compliance/v4l2-test-subdevs.cpp > +++ b/utils/v4l2-compliance/v4l2-test-subdevs.cpp > @@ -300,8 +300,10 @@ int testSubDevFrameInterval(struct node *node, unsigned pad) > static int checkMBusFrameFmt(struct node *node, struct v4l2_mbus_framefmt &fmt) > { > fail_on_test(check_0(fmt.reserved, sizeof(fmt.reserved))); > - fail_on_test(fmt.width == 0 || fmt.width > 65536); > - fail_on_test(fmt.height == 0 || fmt.height > 65536); > + if (fmt.code != MEDIA_BUS_FMT_METADATA_FIXED) { > + fail_on_test(fmt.width == 0 || fmt.width > 65536); > + fail_on_test(fmt.height == 0 || fmt.height > 65536); > + } > fail_on_test(fmt.code == 0 || fmt.code == ~0U); > fail_on_test(fmt.field == ~0U); > if (!node->is_passthrough_subdev) { >
On 14/10/2020 22:41, Helen Koike wrote: > > > On 9/22/20 2:19 PM, Dafna Hirschfeld wrote: >> The media bus format code MEDIA_BUS_FMT_METADATA_FIXED >> is used for metadata formats that are not configurable >> from userspace and therefore may have any value for >> width and height. So skip width and height tests for >> this format. >> >> Signed-off-by: Dafna Hirschfeld <dafna.hirschfeld@collabora.com> > > lgtm > > Reviewed-by: Helen Koike <helen.koike@collabora.com> > > Thanks > Helen > >> --- >> note, this patch should be applied after updating the header >> include/linux/media-bus-format.h to include that new format. >> --- >> utils/v4l2-compliance/v4l2-test-subdevs.cpp | 6 ++++-- >> 1 file changed, 4 insertions(+), 2 deletions(-) >> >> diff --git a/utils/v4l2-compliance/v4l2-test-subdevs.cpp b/utils/v4l2-compliance/v4l2-test-subdevs.cpp >> index ec3ef169..f60853e3 100644 >> --- a/utils/v4l2-compliance/v4l2-test-subdevs.cpp >> +++ b/utils/v4l2-compliance/v4l2-test-subdevs.cpp >> @@ -300,8 +300,10 @@ int testSubDevFrameInterval(struct node *node, unsigned pad) >> static int checkMBusFrameFmt(struct node *node, struct v4l2_mbus_framefmt &fmt) >> { >> fail_on_test(check_0(fmt.reserved, sizeof(fmt.reserved))); >> - fail_on_test(fmt.width == 0 || fmt.width > 65536); >> - fail_on_test(fmt.height == 0 || fmt.height > 65536); >> + if (fmt.code != MEDIA_BUS_FMT_METADATA_FIXED) { >> + fail_on_test(fmt.width == 0 || fmt.width > 65536); >> + fail_on_test(fmt.height == 0 || fmt.height > 65536); >> + } I would always fail if width or height != 0 for this format. Regards, Hans >> fail_on_test(fmt.code == 0 || fmt.code == ~0U); >> fail_on_test(fmt.field == ~0U); >> if (!node->is_passthrough_subdev) { >>
diff --git a/utils/v4l2-compliance/v4l2-test-subdevs.cpp b/utils/v4l2-compliance/v4l2-test-subdevs.cpp index ec3ef169..f60853e3 100644 --- a/utils/v4l2-compliance/v4l2-test-subdevs.cpp +++ b/utils/v4l2-compliance/v4l2-test-subdevs.cpp @@ -300,8 +300,10 @@ int testSubDevFrameInterval(struct node *node, unsigned pad) static int checkMBusFrameFmt(struct node *node, struct v4l2_mbus_framefmt &fmt) { fail_on_test(check_0(fmt.reserved, sizeof(fmt.reserved))); - fail_on_test(fmt.width == 0 || fmt.width > 65536); - fail_on_test(fmt.height == 0 || fmt.height > 65536); + if (fmt.code != MEDIA_BUS_FMT_METADATA_FIXED) { + fail_on_test(fmt.width == 0 || fmt.width > 65536); + fail_on_test(fmt.height == 0 || fmt.height > 65536); + } fail_on_test(fmt.code == 0 || fmt.code == ~0U); fail_on_test(fmt.field == ~0U); if (!node->is_passthrough_subdev) {
The media bus format code MEDIA_BUS_FMT_METADATA_FIXED is used for metadata formats that are not configurable from userspace and therefore may have any value for width and height. So skip width and height tests for this format. Signed-off-by: Dafna Hirschfeld <dafna.hirschfeld@collabora.com> --- note, this patch should be applied after updating the header include/linux/media-bus-format.h to include that new format. --- utils/v4l2-compliance/v4l2-test-subdevs.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)