[{"id":1931,"web_url":"https://patchwork.libcamera.org/comment/1931/","msgid":"<20190619103038.GA18708@bigcity.dyn.berto.se>","date":"2019-06-19T10:30:38","subject":"Re: [libcamera-devel] [PATCH v4 00/16] libcamera: Add support for\n\tformat information and validation","submitter":{"id":5,"url":"https://patchwork.libcamera.org/api/people/5/","name":"Niklas Söderlund","email":"niklas.soderlund@ragnatech.se"},"content":"Hi,\n\nI have addressed Laurent's comments on this series and push this series \nto master. Thanks all for your great review effort!\n\nOn 2019-06-19 04:51:13 +0200, Niklas Söderlund wrote:\n> Hi,\n> \n> This series aim to add support for format information exposed to\n> applications and to ease format validation by allowing formats to be\n> enumerate on v4l2 devices. The series also enhance the format\n> enumeration of v4l2 subdevices. Further more it extends the cam utility\n> to demonstrate the usage of how formats can examined and validated.\n> \n> One shortcoming of this series is that it only extends the uvcvideo\n> pipeline with code to gather format information and perform validation.\n> This however do not impact other existing pipeline handlers as they keep\n> functioning as before this series. That is no format information can be\n> retrieved and format validation is still supported all yet as simple as\n> before this series.\n> \n> * Changes since v3\n> - Fix grammar and spelling in documentation.\n> - Extend documentation, thanks Laurent!\n> - Change error of ImageFormats::addFormat() from -EBUSY to -ESXIST.\n> - Added \\todo notes where computed lists could potentially be cached in \n>   the future.\n> - Catch the error from V4L2Device::enumSizes() in V4L2Device::formats()\n> - Move infoConfiguration() into CamApp::infoConfiguration().\n> \n> * Changes since v2\n> - Correct spelling and grammar in documentation, thanks Jacopo!\n> - Removed unneeded empty constructor ImageFormats::ImageFormats()\n> - Rearranged order of data accessors in ImageFormats per Jacopo's\n>   suggestions.\n> - s|\\returns|\\return|\n> - Fix segfault when running cam -I without a camera.\n> \n> Niklas Söderlund (16):\n>   libcamera: geometry: SizeRange: Add constructor for a single size\n>   libcamera: geometry: SizeRange: Extend with step information\n>   libcamera: geometry: SizeRange: Add toString()\n>   libcamera: geometry: SizeRange: Add contains()\n>   libcamera: formats: Add ImageFormats\n>   libcamera: v4l2_subdevice: Breakout mbus code enumeration\n>   libcamera: v4l2_subdevice: Rework enumPadSizes()\n>   libcamera: v4l2_subdevice: Replace FormatEnum with ImageFormats\n>   libcamera: v4l2_device: Add enumeration of pixelformats and frame\n>     sizes\n>   libcamera: stream: Add StreamFormats\n>   libcamera: stream: StreamConfiguration: Add StreamFormats information\n>   test: stream: Add test for StreamFormat\n>   cam: Move camera configuration preparation to CamApp\n>   cam: Validate camera configuration\n>   cam: Add --info option to print information about stream(s)\n>   libcamera: pipeline: uvcvideo: Add format information and validation\n> \n>  include/libcamera/geometry.h           |  24 ++-\n>  include/libcamera/stream.h             |  24 ++-\n>  src/cam/capture.cpp                    |  84 +-------\n>  src/cam/capture.h                      |   7 +-\n>  src/cam/main.cpp                       | 129 ++++++++++++-\n>  src/cam/main.h                         |   1 +\n>  src/libcamera/camera_sensor.cpp        |  14 +-\n>  src/libcamera/formats.cpp              |  90 ++++++++-\n>  src/libcamera/geometry.cpp             |  86 ++++++++-\n>  src/libcamera/include/formats.h        |  14 +-\n>  src/libcamera/include/v4l2_device.h    |   5 +\n>  src/libcamera/include/v4l2_subdevice.h |   7 +-\n>  src/libcamera/pipeline/uvcvideo.cpp    |  41 +++-\n>  src/libcamera/stream.cpp               | 255 +++++++++++++++++++++++++\n>  src/libcamera/v4l2_device.cpp          | 114 +++++++++++\n>  src/libcamera/v4l2_subdevice.cpp       | 113 ++++++-----\n>  test/meson.build                       |   1 +\n>  test/stream/meson.build                |  11 ++\n>  test/stream/stream_formats.cpp         | 101 ++++++++++\n>  test/v4l2_subdevice/list_formats.cpp   |  16 +-\n>  20 files changed, 957 insertions(+), 180 deletions(-)\n>  create mode 100644 test/stream/meson.build\n>  create mode 100644 test/stream/stream_formats.cpp\n> \n> -- \n> 2.21.0\n>","headers":{"Return-Path":"<niklas.soderlund@ragnatech.se>","Received":["from mail-lf1-x143.google.com (mail-lf1-x143.google.com\n\t[IPv6:2a00:1450:4864:20::143])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 8911060BD8\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 19 Jun 2019 12:30:41 +0200 (CEST)","by mail-lf1-x143.google.com with SMTP id r15so11681205lfm.11\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 19 Jun 2019 03:30:41 -0700 (PDT)","from localhost (89-233-230-99.cust.bredband2.com. [89.233.230.99])\n\tby smtp.gmail.com with ESMTPSA id\n\t80sm2642074lfz.56.2019.06.19.03.30.39\n\tfor <libcamera-devel@lists.libcamera.org>\n\t(version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256);\n\tWed, 19 Jun 2019 03:30:39 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=ragnatech-se.20150623.gappssmtp.com; s=20150623;\n\th=date:from:to:subject:message-id:references:mime-version\n\t:content-disposition:content-transfer-encoding:in-reply-to\n\t:user-agent; bh=jsGGDR7uHpw8LR5dxuCUvP1y2Rc9XvSXsChM5jysGks=;\n\tb=f9CPxorpaTqPOiMluPLdLYbh9P6/dC3/YlTOmMFEZYbPIbMQYvLNZCcv3d2gCAD6Y4\n\tRXvh1k9c7LE+KW8ITeCplpgMYntoPTSl7qq31DsvtQHzJ5M/bcKFylwvpe1O7lFvBIGZ\n\tzTMpoaYEavohb2RxWG1tLH4nl23xh8NeS45qK685mXStTQxN2d6FuJrpjOV1dOya//Ds\n\tcjEyH3TFVhq6L/gwtqBAcao30Fc3YOWZ0HXd3qR1AKw2YuE1s+Bc3w9zlSzWei7x/M1S\n\t+1bHLa8KzAAFdJYO1ByaY8uKd2BC5u+8kGJAyRTA7Xqxn1HfsQF83r+aJBTs5sWvZmuZ\n\tVv+w==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:date:from:to:subject:message-id:references\n\t:mime-version:content-disposition:content-transfer-encoding\n\t:in-reply-to:user-agent;\n\tbh=jsGGDR7uHpw8LR5dxuCUvP1y2Rc9XvSXsChM5jysGks=;\n\tb=nCDFsdkOLUeDyc45vePxQEBIB1XenX9xjFo/D8mlGjE+G2sG9IxYcL5qq2zIamPp3E\n\t+rUKTgKem/kqScFZYf4PuZubejfTALxGpqXJc2+r/X9Vry2UFk8ssKpvKXeP5Lhc7TE0\n\trGkwTAnG4fYPSvWJjMglOXP9ND5XsCXjZZqN1IJI3QzymcnCrA1KpQAY5POP8KCrE4hw\n\tJ/I2GoTdAr0NM7GXBIE3WXdivN1iA9KmFhplG4DjGOYodb7PR5Z7Wy0WWdrybWEWMhM8\n\tFikQ4VOs1HaS0VXneUtJF6zVpM+vK+uiKSF2DHiO7aGUJ83cYOA0+y1kT9apacYgFehk\n\t262A==","X-Gm-Message-State":"APjAAAWdt62/mMAFOqOeBjLxVKLAoKpsLnOHKC2ngjqHMoSbKfYq7u0S\n\t3dZuHwDgH1peYHDi/Z9xP0X1jzNaN04=","X-Google-Smtp-Source":"APXvYqwIvOV6CplFDRUBrpnwn/Xmi8zEN7aHHiKX3Y7JsDcQVC3eyr9/kf41nEKOEZXdnj0O1D521g==","X-Received":"by 2002:ac2:5922:: with SMTP id\n\tv2mr60978028lfi.180.1560940240220; \n\tWed, 19 Jun 2019 03:30:40 -0700 (PDT)","Date":"Wed, 19 Jun 2019 12:30:38 +0200","From":"Niklas =?iso-8859-1?q?S=F6derlund?= <niklas.soderlund@ragnatech.se>","To":"libcamera-devel@lists.libcamera.org","Message-ID":"<20190619103038.GA18708@bigcity.dyn.berto.se>","References":"<20190619025129.21164-1-niklas.soderlund@ragnatech.se>","MIME-Version":"1.0","Content-Type":"text/plain; charset=iso-8859-1","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<20190619025129.21164-1-niklas.soderlund@ragnatech.se>","User-Agent":"Mutt/1.12.0 (2019-05-25)","Subject":"Re: [libcamera-devel] [PATCH v4 00/16] libcamera: Add support for\n\tformat information and validation","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.23","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","X-List-Received-Date":"Wed, 19 Jun 2019 10:30:41 -0000"}}]