[{"id":14197,"web_url":"https://patchwork.libcamera.org/comment/14197/","msgid":"<20201210160900.GD4186812@oden.dyn.berto.se>","date":"2020-12-10T16:09:00","subject":"Re: [libcamera-devel] [PATCH 0/2] libcamera: Introduce sensor\n\tdatabase","submitter":{"id":5,"url":"https://patchwork.libcamera.org/api/people/5/","name":"Niklas Söderlund","email":"niklas.soderlund@ragnatech.se"},"content":"Hi Jacopo,\n\nThanks for this work.\n\nOn 2020-12-08 10:00:40 +0100, Jacopo Mondi wrote:\n> Introduce a database of camera sensor properties to record the camera\n> sensor characteristics which are not retrievable at run-time.\n\nI have looked at the series and on their own I think the patches are \ngood. I'm a little concerned if this is the API we want to use for this.  \nWould it not make more sens for users (like the HAL) to read this \ninformation as static metadata exposed by the camera? Maybe there is \nsome use-case I do not understand.\n\n> \n> The per-sensor entries can easily be generated from a yaml schema.\n> \n> Jacopo Mondi (2):\n>   libcamera: Introduce camera sensor database\n>   android: camera_device: Get sensor properties from DB\n> \n>  include/libcamera/camera_sensor_database.h |  41 +++++++\n>  include/libcamera/meson.build              |   1 +\n>  src/android/camera_device.cpp              |  27 ++++-\n>  src/libcamera/camera_sensor_database.cpp   | 119 +++++++++++++++++++++\n>  src/libcamera/meson.build                  |   1 +\n>  5 files changed, 184 insertions(+), 5 deletions(-)\n>  create mode 100644 include/libcamera/camera_sensor_database.h\n>  create mode 100644 src/libcamera/camera_sensor_database.cpp\n> \n> --\n> 2.29.1\n> \n> _______________________________________________\n> libcamera-devel mailing list\n> libcamera-devel@lists.libcamera.org\n> https://lists.libcamera.org/listinfo/libcamera-devel","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 986C7BD80A\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 10 Dec 2020 16:09:04 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 2DC0967F6E;\n\tThu, 10 Dec 2020 17:09:04 +0100 (CET)","from mail-lj1-x243.google.com (mail-lj1-x243.google.com\n\t[IPv6:2a00:1450:4864:20::243])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id B307267E4D\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 10 Dec 2020 17:09:02 +0100 (CET)","by mail-lj1-x243.google.com with SMTP id a1so7297647ljq.3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 10 Dec 2020 08:09:02 -0800 (PST)","from localhost (h-209-203.A463.priv.bahnhof.se. [155.4.209.203])\n\tby smtp.gmail.com with ESMTPSA id\n\ti9sm534115ljn.18.2020.12.10.08.09.00\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tThu, 10 Dec 2020 08:09:01 -0800 (PST)"],"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=\"kJCo8OzI\"; 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=mCWnJl71okFr8SyrJ2JkvAtgbW4nY+LmAiE3zcBudrU=;\n\tb=kJCo8OzI/19/+jKTcZLVbEnk+5USWtfIox8Otaj52ezq00sOY9DJqmyxPvRW2+9T2m\n\tXmrgEeWNYE5bmFErLobBCYGw6aCo8EI2S8T8tQMEeTTCu6Xjw9p5XrW+mXXZPnkqSiup\n\tDv7ebWAjfHQ6mF7n1yGIEEIW+KFqOEkFijoFcNxkWtC9NZUADTT9JYIUm3wk5JWVUn2j\n\twzQk82jiD0/MMAyl6RNo8tg3gqgWasl0anq2Sgxp8H+sgIzRnQvqMjYF3Rv6patNoiJe\n\taRTniiBqYlk/ij+0Ak+9dbX8ohTzOyHErfdCE1Q67+dlvGiZ9RSZ5yum0ex4wSUt2Xt6\n\t7Ngw==","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=mCWnJl71okFr8SyrJ2JkvAtgbW4nY+LmAiE3zcBudrU=;\n\tb=TDcdb8GiG+H3nwUvH6ON+d/tREbYmFYpINeVXUzQ05dd5slvz+ohStUUck2w/PXoG6\n\ts+aMSJTPool3KsYotMUqnQPlp5LcZKJZoxZvC8mp/A7lZBIkKiYxDqZshXEzi3P4t8x0\n\tKD2UsUudLPC1vN9H84mnujMj9hCPsBJIWpFP6WcNIL+M9SFR7g6510wYe593WF71Nw6N\n\t3ETGN5YqF/z+zlPx+BRTsgOz6EYtiDnzMNF3eoT3qE1tVX+ijHfI4fvP904DBUI41CpJ\n\tZM8OKVZvvYYorPu+Yca8TLfHDf7AN5lVBSpWVkgL3znWrOwsJ7ynG3M0IwrTcwLDG4+m\n\ttfWw==","X-Gm-Message-State":"AOAM531FRRW5dxxwMEBCTIIZJQdWkABz58k6nloH4Hmta7pPZmiL/IlU\n\tEObQTpW3+Ipl2Ak5Lr3u5WCpjql200VXuw==","X-Google-Smtp-Source":"ABdhPJz3Yq1M79dxrs4Kc+jr0ddWPs9IdDK2A1wPOf6wAk7BS4miY1xXrDOTxO87apgeHSdaxJhZ3g==","X-Received":"by 2002:a2e:8695:: with SMTP id\n\tl21mr3343037lji.151.1607616542101; \n\tThu, 10 Dec 2020 08:09:02 -0800 (PST)","Date":"Thu, 10 Dec 2020 17:09:00 +0100","From":"Niklas =?iso-8859-1?q?S=F6derlund?= <niklas.soderlund@ragnatech.se>","To":"Jacopo Mondi <jacopo@jmondi.org>","Message-ID":"<20201210160900.GD4186812@oden.dyn.berto.se>","References":"<20201208090042.4824-1-jacopo@jmondi.org>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<20201208090042.4824-1-jacopo@jmondi.org>","Subject":"Re: [libcamera-devel] [PATCH 0/2] libcamera: Introduce sensor\n\tdatabase","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>"}},{"id":14198,"web_url":"https://patchwork.libcamera.org/comment/14198/","msgid":"<X9JKJtlIXJ8XQcuN@pendragon.ideasonboard.com>","date":"2020-12-10T16:17:42","subject":"Re: [libcamera-devel] [PATCH 0/2] libcamera: Introduce sensor\n\tdatabase","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hello,\n\nOn Thu, Dec 10, 2020 at 05:09:00PM +0100, Niklas Söderlund wrote:\n> On 2020-12-08 10:00:40 +0100, Jacopo Mondi wrote:\n> > Introduce a database of camera sensor properties to record the camera\n> > sensor characteristics which are not retrievable at run-time.\n> \n> I have looked at the series and on their own I think the patches are \n> good. I'm a little concerned if this is the API we want to use for this.  \n> Would it not make more sens for users (like the HAL) to read this \n> information as static metadata exposed by the camera? Maybe there is \n> some use-case I do not understand.\n\nI was going to mention the same. I think the database should be internal\nto the CameraSensor class, which would create corresponding properties.\nThe HAL would then translate those properties to HAL metadata.\n\n> > The per-sensor entries can easily be generated from a yaml schema.\n> > \n> > Jacopo Mondi (2):\n> >   libcamera: Introduce camera sensor database\n> >   android: camera_device: Get sensor properties from DB\n> > \n> >  include/libcamera/camera_sensor_database.h |  41 +++++++\n> >  include/libcamera/meson.build              |   1 +\n> >  src/android/camera_device.cpp              |  27 ++++-\n> >  src/libcamera/camera_sensor_database.cpp   | 119 +++++++++++++++++++++\n> >  src/libcamera/meson.build                  |   1 +\n> >  5 files changed, 184 insertions(+), 5 deletions(-)\n> >  create mode 100644 include/libcamera/camera_sensor_database.h\n> >  create mode 100644 src/libcamera/camera_sensor_database.cpp","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 C519DBD808\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 10 Dec 2020 16:17:49 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 37F6667F73;\n\tThu, 10 Dec 2020 17:17:49 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id DA08367E4D\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 10 Dec 2020 17:17:47 +0100 (CET)","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 54DF925E;\n\tThu, 10 Dec 2020 17:17:47 +0100 (CET)"],"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=\"SZbSiX1R\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1607617067;\n\tbh=G0QYv6x3V6wcAhgPX2MJyDZKCuDyIMfihxKPbrigNfY=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=SZbSiX1RNcH/k7/6yX4ALbhmX6cSvgBD82kJGhtNib8LD19bNFueOOn/gnG3M3TDm\n\t4l/0Nas/SfztHoiWWpeJ46QNGLMCyV93x+gF+PfMuiM2lerawVHQAo6c1XvRTaZCuG\n\tYwCTmS0YKD0PY1kRsXnOFvnq6HVJ5sebAi9KoriY=","Date":"Thu, 10 Dec 2020 18:17:42 +0200","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Niklas =?utf-8?q?S=C3=B6derlund?= <niklas.soderlund@ragnatech.se>","Message-ID":"<X9JKJtlIXJ8XQcuN@pendragon.ideasonboard.com>","References":"<20201208090042.4824-1-jacopo@jmondi.org>\n\t<20201210160900.GD4186812@oden.dyn.berto.se>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<20201210160900.GD4186812@oden.dyn.berto.se>","Subject":"Re: [libcamera-devel] [PATCH 0/2] libcamera: Introduce sensor\n\tdatabase","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":14200,"web_url":"https://patchwork.libcamera.org/comment/14200/","msgid":"<20201210162412.wokfyi4rqs4l7sun@uno.localdomain>","date":"2020-12-10T16:24:12","subject":"Re: [libcamera-devel] [PATCH 0/2] libcamera: Introduce sensor\n\tdatabase","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/people/3/","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"content":"Hi Niklas, Laurent,\n\nOn Thu, Dec 10, 2020 at 06:17:42PM +0200, Laurent Pinchart wrote:\n> Hello,\n>\n> On Thu, Dec 10, 2020 at 05:09:00PM +0100, Niklas Söderlund wrote:\n> > On 2020-12-08 10:00:40 +0100, Jacopo Mondi wrote:\n> > > Introduce a database of camera sensor properties to record the camera\n> > > sensor characteristics which are not retrievable at run-time.\n> >\n> > I have looked at the series and on their own I think the patches are\n> > good. I'm a little concerned if this is the API we want to use for this.\n> > Would it not make more sens for users (like the HAL) to read this\n> > information as static metadata exposed by the camera? Maybe there is\n> > some use-case I do not understand.\n>\n> I was going to mention the same. I think the database should be internal\n> to the CameraSensor class, which would create corresponding properties.\n> The HAL would then translate those properties to HAL metadata.\n>\n\nyes, we had this discussion last week and concluded that the config\nfile will be parsed by the camera sensor and properties exposed by it\nusing, if required, draft ones.\n\n> > > The per-sensor entries can easily be generated from a yaml schema.\n> > >\n> > > Jacopo Mondi (2):\n> > >   libcamera: Introduce camera sensor database\n> > >   android: camera_device: Get sensor properties from DB\n> > >\n> > >  include/libcamera/camera_sensor_database.h |  41 +++++++\n> > >  include/libcamera/meson.build              |   1 +\n> > >  src/android/camera_device.cpp              |  27 ++++-\n> > >  src/libcamera/camera_sensor_database.cpp   | 119 +++++++++++++++++++++\n> > >  src/libcamera/meson.build                  |   1 +\n> > >  5 files changed, 184 insertions(+), 5 deletions(-)\n> > >  create mode 100644 include/libcamera/camera_sensor_database.h\n> > >  create mode 100644 src/libcamera/camera_sensor_database.cpp\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 619B6BD80A\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 10 Dec 2020 16:24:06 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id E0C8667F75;\n\tThu, 10 Dec 2020 17:24:05 +0100 (CET)","from relay12.mail.gandi.net (relay12.mail.gandi.net\n\t[217.70.178.232])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id CC5FE67F6E\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 10 Dec 2020 17:24:04 +0100 (CET)","from uno.localdomain (93-34-118-233.ip49.fastwebnet.it\n\t[93.34.118.233]) (Authenticated sender: jacopo@jmondi.org)\n\tby relay12.mail.gandi.net (Postfix) with ESMTPSA id BB03920000A;\n\tThu, 10 Dec 2020 16:24:03 +0000 (UTC)"],"Date":"Thu, 10 Dec 2020 17:24:12 +0100","From":"Jacopo Mondi <jacopo@jmondi.org>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Message-ID":"<20201210162412.wokfyi4rqs4l7sun@uno.localdomain>","References":"<20201208090042.4824-1-jacopo@jmondi.org>\n\t<20201210160900.GD4186812@oden.dyn.berto.se>\n\t<X9JKJtlIXJ8XQcuN@pendragon.ideasonboard.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<X9JKJtlIXJ8XQcuN@pendragon.ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH 0/2] libcamera: Introduce sensor\n\tdatabase","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>"}}]