[{"id":12811,"web_url":"https://patchwork.libcamera.org/comment/12811/","msgid":"<20200928165333.GE23539@pendragon.ideasonboard.com>","date":"2020-09-28T16:53:33","subject":"Re: [libcamera-devel] [PATCH v5 1/7] libcamera: properties: Add\n\tmodel property","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Niklas,\n\nThank you for the patch.\n\nOn Fri, Sep 25, 2020 at 05:07:37PM +0200, Niklas Söderlund wrote:\n> A user-friendly camera identification model name. The model name must\n> to the extent possible describe the camera sensor model. For most\n> devices this is the model name of the sensor. While for some devices the\n> sensor model is unavailable as the sensor or the entire camera is part\n> of a larger unit and exposed as a black-box to the system. In such cases\n> the model name of the smallest component closest to the sensor must be\n> used.\n> \n> Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>\n> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> ---\n> * Changes since v4\n> - Expand description.\n> \n> * Changes since v3\n> - s/as ASCII/in ASCII/\n> ---\n>  src/libcamera/property_ids.yaml | 20 ++++++++++++++++++++\n>  1 file changed, 20 insertions(+)\n> \n> diff --git a/src/libcamera/property_ids.yaml b/src/libcamera/property_ids.yaml\n> index 74ad0195d6310367..b53e850c8b647c71 100644\n> --- a/src/libcamera/property_ids.yaml\n> +++ b/src/libcamera/property_ids.yaml\n> @@ -387,6 +387,26 @@ controls:\n>                                |                    |\n>                                +--------------------+\n>  \n> +  - Model:\n> +      type: string\n> +      description: |\n> +        A user-friendly camera identification model name. The model name must\n> +        to the extent possible describe the camera sensor model. For most\n> +        devices this is the model name of the sensor. While for some devices the\n> +        sensor model is unavailable as the sensor or the entire camera is part\n> +        of a larger unit and exposed as a black-box to the system. In such cases\n> +        the model name of the smallest component closest to the sensor must be\n> +        used.\n\nThis is clearer than in v4, but I'm still not very enthousiastic :-( The\ncamera sensor model isn't very end-user-friendly in general. And what\nwill happen when we will have multi-sensors cameras ?\n\nI understand that this property isn't mean to be a camera name displayed\nto the end-user, but should instead be combined with other camera\ninformation (such as the location for instance) to create a camera name.\nMaybe that should be documented here too. There's still something\nill-defined about the property that bothers me.\n\n> +\n> +        The model name is not guaranteed to be unique in the system nor does\n> +        it guarantee to be stable or have any other properties required to make\n\ns/does it guarantee/is it guaranteed/\n\n> +        it a good candidate to be used as a permanent identifier of a camera.\n> +\n> +        The model name shall describe the camera in a human readable format and\n> +        be shall be encoded in ASCII.\n\ns/be shall be/shall be/\n\n> +\n> +        Example model names are 'ov5670', 'imx219' or 'Logitech Webcam C930e'.\n> +\n>    - UnitCellSize:\n>        type: Size\n>        description: |","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 6D66FC3B5B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 28 Sep 2020 16:54:11 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id CE4416138F;\n\tMon, 28 Sep 2020 18:54:10 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 9986B60366\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 28 Sep 2020 18:54:08 +0200 (CEST)","from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi\n\t[62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 1AB6F54E;\n\tMon, 28 Sep 2020 18:54:08 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"UZLuxkOV\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1601312048;\n\tbh=s/lWasI4Bwr6/zZY/UlamS+pW0G/BFNUGY1CbOKfNcw=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=UZLuxkOVKlcFHvxI3uq/NiJRSE/ZOHYkSqUCC1MfkaQk4CyTwrU3V3IuyNE4zDG/b\n\teLBmD2cPYjZDd85vNVY2hBzPc63kd3U+JFBuHzdpF96m5QI2Gp4uPRxJiqN7HVkUaw\n\t8xYVJsdnoKsR4FF1RaraO5CO8SuLGwfMOxoIqsAk=","Date":"Mon, 28 Sep 2020 19:53:33 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Niklas =?utf-8?q?S=C3=B6derlund?= <niklas.soderlund@ragnatech.se>","Message-ID":"<20200928165333.GE23539@pendragon.ideasonboard.com>","References":"<20200925150743.1822226-1-niklas.soderlund@ragnatech.se>\n\t<20200925150743.1822226-2-niklas.soderlund@ragnatech.se>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<20200925150743.1822226-2-niklas.soderlund@ragnatech.se>","Subject":"Re: [libcamera-devel] [PATCH v5 1/7] libcamera: properties: Add\n\tmodel property","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","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>","Cc":"libcamera-devel@lists.libcamera.org","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":12875,"web_url":"https://patchwork.libcamera.org/comment/12875/","msgid":"<20200929134851.GA1271798@oden.dyn.berto.se>","date":"2020-09-29T13:48:51","subject":"Re: [libcamera-devel] [PATCH v5 1/7] libcamera: properties: Add\n\tmodel property","submitter":{"id":5,"url":"https://patchwork.libcamera.org/api/people/5/","name":"Niklas Söderlund","email":"niklas.soderlund@ragnatech.se"},"content":"Hi Laurent,\n\nThanks for your persisting in reviewing this.\n\nOn 2020-09-28 19:53:33 +0300, Laurent Pinchart wrote:\n> Hi Niklas,\n> \n> Thank you for the patch.\n> \n> On Fri, Sep 25, 2020 at 05:07:37PM +0200, Niklas Söderlund wrote:\n> > A user-friendly camera identification model name. The model name must\n> > to the extent possible describe the camera sensor model. For most\n> > devices this is the model name of the sensor. While for some devices the\n> > sensor model is unavailable as the sensor or the entire camera is part\n> > of a larger unit and exposed as a black-box to the system. In such cases\n> > the model name of the smallest component closest to the sensor must be\n> > used.\n> > \n> > Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>\n> > Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> > ---\n> > * Changes since v4\n> > - Expand description.\n> > \n> > * Changes since v3\n> > - s/as ASCII/in ASCII/\n> > ---\n> >  src/libcamera/property_ids.yaml | 20 ++++++++++++++++++++\n> >  1 file changed, 20 insertions(+)\n> > \n> > diff --git a/src/libcamera/property_ids.yaml b/src/libcamera/property_ids.yaml\n> > index 74ad0195d6310367..b53e850c8b647c71 100644\n> > --- a/src/libcamera/property_ids.yaml\n> > +++ b/src/libcamera/property_ids.yaml\n> > @@ -387,6 +387,26 @@ controls:\n> >                                |                    |\n> >                                +--------------------+\n> >  \n> > +  - Model:\n> > +      type: string\n> > +      description: |\n> > +        A user-friendly camera identification model name. The model name must\n> > +        to the extent possible describe the camera sensor model. For most\n> > +        devices this is the model name of the sensor. While for some devices the\n> > +        sensor model is unavailable as the sensor or the entire camera is part\n> > +        of a larger unit and exposed as a black-box to the system. In such cases\n> > +        the model name of the smallest component closest to the sensor must be\n> > +        used.\n> \n> This is clearer than in v4, but I'm still not very enthousiastic :-( The\n> camera sensor model isn't very end-user-friendly in general. And what\n> will happen when we will have multi-sensors cameras ?\n\nI assume it will have to go thru the same transformation as other camera \nproperties (UnitCellSize, PixelArraySize, \nPixelArrayOpticalBlackRectangles and PixelArrayActiveAreas)? \n\nMy current feeling is that we will make these and Model a stream \nproperty instead of a camera property as today. Or possibly we need to \nintroduce a new concept between Camera and Stream to be able to model \nStream constraints for multi-senors cameras?\n\n> \n> I understand that this property isn't mean to be a camera name displayed\n> to the end-user, but should instead be combined with other camera\n> information (such as the location for instance) to create a camera name.\n> Maybe that should be documented here too. There's still something\n> ill-defined about the property that bothers me.\n\nI understand the feeling this is bothering me but I don't know why :-) \nUnfortunately it's just as frustrating on the other end ;-P\n\nI have tried to capture what I understanding is the top concern here but \nI'm sure it will not clear you assert line. Would it help if me made \nthis a draft control to be able to move forward or shall I abandon the \ncontrol (and the setting of the TIFFTAG_MODEL) and just post a patch to \ncam to print the Location property for now?\n\nIf it's any help the TIFFTAG_MODEL is defined as,\n\n    \"The model name or number of the scanner, video digitizer, or other \n    type of equipment used to generate the image.\"\n\n> \n> > +\n> > +        The model name is not guaranteed to be unique in the system nor does\n> > +        it guarantee to be stable or have any other properties required to make\n> \n> s/does it guarantee/is it guaranteed/\n> \n> > +        it a good candidate to be used as a permanent identifier of a camera.\n> > +\n> > +        The model name shall describe the camera in a human readable format and\n> > +        be shall be encoded in ASCII.\n> \n> s/be shall be/shall be/\n> \n> > +\n> > +        Example model names are 'ov5670', 'imx219' or 'Logitech Webcam C930e'.\n> > +\n> >    - UnitCellSize:\n> >        type: Size\n> >        description: |\n> \n> -- \n> Regards,\n> \n> Laurent Pinchart","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 84F49C3B5C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 29 Sep 2020 13:48:56 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id F042D621C7;\n\tTue, 29 Sep 2020 15:48:55 +0200 (CEST)","from mail-lj1-x241.google.com (mail-lj1-x241.google.com\n\t[IPv6:2a00:1450:4864:20::241])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id DF21960365\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 29 Sep 2020 15:48:53 +0200 (CEST)","by mail-lj1-x241.google.com with SMTP id a22so4068522ljp.13\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 29 Sep 2020 06:48:53 -0700 (PDT)","from localhost (h-209-203.A463.priv.bahnhof.se. [155.4.209.203])\n\tby smtp.gmail.com with ESMTPSA id\n\tu24sm3273358lfo.117.2020.09.29.06.48.52\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tTue, 29 Sep 2020 06:48:52 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=ragnatech-se.20150623.gappssmtp.com\n\theader.i=@ragnatech-se.20150623.gappssmtp.com\n\theader.b=\"Iggs0wlR\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=ragnatech-se.20150623.gappssmtp.com; s=20150623;\n\th=date:from:to:cc:subject:message-id:references:mime-version\n\t:content-disposition:content-transfer-encoding:in-reply-to;\n\tbh=abtxtkQC3nltjoqHS7HocDQ3Nqi/zN5hVsmHU8Zwpgw=;\n\tb=Iggs0wlRupFFCybSSXhF1qCb+bMnCpxYstjCpiPF/qclTmUMGLqqw3WIfeB+TPLIFI\n\tK9D/MBdAcCJmn42GCHRGeKMMY3XvMOgEymC2ICgmgZCMqQ5vACg+YPKqkuonLeKrdYvr\n\tcmoCG2pxIX6W/4/72M8sTuEspr5Ecw9WKZLzpd93RInoDGIApfc0WXdylIpsK2a0dR/y\n\t2wUjRI8LQLV9IqVlElEbiTQ+N7ob84V5jTG+2Zgs/oDtSU0H03SQEPK1ehk2/Kf7mLPp\n\tCIVba7XoKhg34UXIalMIcZihAxVKkpQoOOZg/EV9dzfMFXO6aHf9Wm8e4BGOhBXDMQmq\n\tgCeQ==","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:cc:subject:message-id:references\n\t:mime-version:content-disposition:content-transfer-encoding\n\t:in-reply-to;\n\tbh=abtxtkQC3nltjoqHS7HocDQ3Nqi/zN5hVsmHU8Zwpgw=;\n\tb=eQdyCzPYHyvrD9tkcwDuzhis0ezav0ghJ4oh9wkmQch76EW+tMFZPQ/0O/LvhSVbh5\n\t3+6T8tjlASfOVddQGA1a4M1XPbIQiRomYx78ClBop0RqhG8rozuCWyl3b6TsIbonw4hA\n\tTZrf7dug1lGrDKyQgC5MvxWIq2UUlQ8PdQpyME2uphhgnlkCEWtVEb8NbKUknCFz61pn\n\tzwHmv6oKLgcEADJeC2zH8kOCqVmt5vdGxdIwFduIPkkiys1GkpOFY5Gc4YO4hT0Ko39j\n\tHwbCUeEk0CNcFy39HXnDxZcggg7DIcA+bFOCaL62zgSkMVtfYlNIs//JwHmHrTkjH8SH\n\tcE4g==","X-Gm-Message-State":"AOAM5327Y8kMMh8/fvHTRviepDE9jUCK9Gm3EU2WSOPpw21jDCR7fGVs\n\tJeRZ59FAHjSw21+4QvpUvFHygkmDQfzekQ==","X-Google-Smtp-Source":"ABdhPJymrsHji1nsCMZBXMnStTlvNN2avqhkPPABVvY5wMz/W5bS2IsUmHIiNFZUAHChV3mIhcwazg==","X-Received":"by 2002:a05:651c:209:: with SMTP id\n\ty9mr1154341ljn.398.1601387333042; \n\tTue, 29 Sep 2020 06:48:53 -0700 (PDT)","Date":"Tue, 29 Sep 2020 15:48:51 +0200","From":"Niklas =?iso-8859-1?q?S=F6derlund?= <niklas.soderlund@ragnatech.se>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Message-ID":"<20200929134851.GA1271798@oden.dyn.berto.se>","References":"<20200925150743.1822226-1-niklas.soderlund@ragnatech.se>\n\t<20200925150743.1822226-2-niklas.soderlund@ragnatech.se>\n\t<20200928165333.GE23539@pendragon.ideasonboard.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<20200928165333.GE23539@pendragon.ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH v5 1/7] libcamera: properties: Add\n\tmodel property","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","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>","Cc":"libcamera-devel@lists.libcamera.org","Content-Type":"text/plain; charset=\"iso-8859-1\"","Content-Transfer-Encoding":"quoted-printable","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]