[{"id":2517,"web_url":"https://patchwork.libcamera.org/comment/2517/","msgid":"<CAJ-ADy0p38nKU_i1O+-SaGD3F7LoLqEab935CRTpONUzjaQQEg@mail.gmail.com>","date":"2019-08-28T15:16:20","subject":"Re: [libcamera-devel] [PATCH] android: camera_device: Add pipeline\n\tmax depth static metadata","submitter":{"id":21,"url":"https://patchwork.libcamera.org/api/people/21/","name":"Ren-Pei Zeng","email":"kamesan@google.com"},"content":"Thanks for working on this!\n\n+       uint8_t maxPipelineDepth = 1;\nShould this keep the original value, i.e. = 5?\n\nOn Wed, Aug 28, 2019 at 10:12 PM Jacopo Mondi <jacopo@jmondi.org> wrote:\n\n> The ANDROID_REQUEST_PIPELINE_MAX_DEPTH metadata tag was wrongly\n> reported in the capture settings template, while it is actually a static\n> camera metadata.\n>\n> As of Chromium R78 the absence of this specific metadata tag causes a\n> system crash. Fix this by reporting the maximum pipeline depth in the\n> static metadata pack and set its value to 1 as currently no control is\n> applied to the image capture pipeline.\n>\n> Reported-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> Suggested-by: Ren-Pei Zeng <kamesan@google.com>\n> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>\n>\n> ---\n> Laurent, as you're running R78 and first reported the crash, could you\n> please\n> give this a spin and report if the issue is still present?\n>\n> ---\n>  src/android/camera_device.cpp | 13 +++++++------\n>  1 file changed, 7 insertions(+), 6 deletions(-)\n>\n> diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp\n> index c27175ac090d..7c69d0810eee 100644\n> --- a/src/android/camera_device.cpp\n> +++ b/src/android/camera_device.cpp\n> @@ -281,6 +281,13 @@ camera_metadata_t *CameraDevice::getStaticMetadata()\n>                         ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL,\n>                         &supportedHWLevel, 1);\n>\n> +       /* Request static metadata. */\n> +       uint8_t maxPipelineDepth = 1;\n> +       ret = add_camera_metadata_entry(staticMetadata_,\n> +                       ANDROID_REQUEST_PIPELINE_MAX_DEPTH,\n> +                       &maxPipelineDepth, 1);\n> +       METADATA_ASSERT(ret);\n> +\n>         return staticMetadata_;\n>  }\n>\n> @@ -340,12 +347,6 @@ const camera_metadata_t\n> *CameraDevice::constructDefaultRequestSettings(int type)\n>                         maxOutStream, 3);\n>         METADATA_ASSERT(ret);\n>\n> -       uint8_t maxPipelineDepth = 5;\n> -       ret = add_camera_metadata_entry(requestTemplate_,\n> -                       ANDROID_REQUEST_PIPELINE_MAX_DEPTH,\n> -                       &maxPipelineDepth, 1);\n> -       METADATA_ASSERT(ret);\n> -\n>         int32_t inputStreams = 0;\n>         ret = add_camera_metadata_entry(requestTemplate_,\n>                         ANDROID_REQUEST_MAX_NUM_INPUT_STREAMS,\n> --\n> 2.23.0\n>\n>","headers":{"Return-Path":"<kamesan@google.com>","Received":["from mail-pg1-x544.google.com (mail-pg1-x544.google.com\n\t[IPv6:2607:f8b0:4864:20::544])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 9025C60BF6\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 28 Aug 2019 17:16:33 +0200 (CEST)","by mail-pg1-x544.google.com with SMTP id k3so1625600pgb.10\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 28 Aug 2019 08:16:33 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n\ts=20161025; \n\th=mime-version:references:in-reply-to:from:date:message-id:subject:to\n\t:cc; bh=3tAd48Gz/UfqWT3VADNvfCGjptUXz2OWwhPuRR9oWB8=;\n\tb=RjJdMMYnUMEnpiV5ux05q5n7vjbim4knihnu4IRP+2S0mgt6KGNEtxtOkcFEOLjPuI\n\tisOdYgZHY6zekLSoNtQXHx/EMu5EPOUObn7Jg8efA5tFEdcqsEQ9ai2ekSppgIhl18nl\n\tgRQPHYGgwtrOyo8kenk0vGgVZZlRLmwEnZ0HwA8LBrOaZTqApxBikRzchSFzZk8OY29n\n\tMQIzuUZA7xGDwBQ7ESOzghpn2RXEsYcx2NdxZeK/KCD6OTxUnDmPz6qUXwoHf4lobm/W\n\tVIgcJTjtqr3KbP5D1CSy0ytDvoEkDsZdlprF2hk7BGVWyWpS32OSUHkVDCCVQwotYttR\n\tWWTQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:references:in-reply-to:from:date\n\t:message-id:subject:to:cc;\n\tbh=3tAd48Gz/UfqWT3VADNvfCGjptUXz2OWwhPuRR9oWB8=;\n\tb=T7bCCTub/qPTRIb/rrLUNToo3tMeRW7IKrGBlG2zyrLdUoaNiv4BuRd3KxFY8JX5jV\n\trq3NDHyUrtjXtyOQe4hdy9Zm1eYt7O7RrXaOhDXfZ2Rpz0+UINv1qzDmzPTRb7y71Qq5\n\tSNxZX6MCCGv86ygDWsDjvSm4ncEvcOsLsPd2ERQvK8NLk6Zd2KyKqp0bcPIz2mEIdblC\n\tJqfEk4tiD4qoDOpzvZi6hCp6Litc4G9wzOQxRPyIPcudS/mLCHTR/oa00MHgXNOeVBGz\n\t13rGs2wI9ahPMNzpMUDlQfpf/Plj14ug+pcwLe5rPfynd4Diw6uzZJLqyXMWZ8MxAIyT\n\t4aDA==","X-Gm-Message-State":"APjAAAU0mQifzfgHHMZ2dlZV5C7cs76HNygJzWVHwcBJvhB38kkZdZ/P\n\tznC/aNI6Iz668TQBj7C8YKIkPZzx3asbcnGV+bGuaQ==","X-Google-Smtp-Source":"APXvYqz77WmSDXE6xBDkflDAkaBCeUMbH+LcQBwWhm6XIVdSvi4NeQdfW8F9tlPo/lgwZ9ZYrQ0sEfFpho4lmWdkq00=","X-Received":"by 2002:a63:67c6:: with SMTP id\n\tb189mr3992573pgc.163.1567005391492; \n\tWed, 28 Aug 2019 08:16:31 -0700 (PDT)","MIME-Version":"1.0","References":"<20190828141343.10237-1-jacopo@jmondi.org>","In-Reply-To":"<20190828141343.10237-1-jacopo@jmondi.org>","From":"Ren-Pei Zeng <kamesan@google.com>","Date":"Wed, 28 Aug 2019 23:16:20 +0800","Message-ID":"<CAJ-ADy0p38nKU_i1O+-SaGD3F7LoLqEab935CRTpONUzjaQQEg@mail.gmail.com>","To":"Jacopo Mondi <jacopo@jmondi.org>","Cc":"libcamera-devel@lists.libcamera.org, \n\tLaurent Pinchart <laurent.pinchart@ideasonboard.com>","Content-Type":"multipart/alternative; boundary=\"000000000000b8e8c005912edffc\"","Subject":"Re: [libcamera-devel] [PATCH] android: camera_device: Add pipeline\n\tmax depth static metadata","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, 28 Aug 2019 15:16:34 -0000"}},{"id":2519,"web_url":"https://patchwork.libcamera.org/comment/2519/","msgid":"<20190828154228.6j66fz7y3lf252kz@uno.localdomain>","date":"2019-08-28T15:42:28","subject":"Re: [libcamera-devel] [PATCH] android: camera_device: Add pipeline\n\tmax depth static metadata","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/people/3/","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"content":"Hello Ren-Pei,\n\nOn Wed, Aug 28, 2019 at 11:16:20PM +0800, Ren-Pei Zeng wrote:\n> Thanks for working on this!\n>\n> +       uint8_t maxPipelineDepth = 1;\n> Should this keep the original value, i.e. = 5?\n\nMy understanding is that as long as the HAL reports to support LEGACY\nmode this should not be a big issue, as the maxDepth is relevant only\nin regards to the dynamic control android.sync.frameNumber, which we\ncurrently don't report and should be probably set to UNKNOWN as long\nas we work in backward compatibility mode.\n\nIs my understanding correct here in your opinion?\n\nI chose 1 because we actually don't apply any control at the moment,\nand the value there should depend on the platform specific pipeline\nhandler characteristics.\n\nWhy would you prefer to keep a value of 5 here ? I'm not opposed to\nit, just for my better understanding!\n\nThanks\n   j\n\n>\n> On Wed, Aug 28, 2019 at 10:12 PM Jacopo Mondi <jacopo@jmondi.org> wrote:\n>\n> > The ANDROID_REQUEST_PIPELINE_MAX_DEPTH metadata tag was wrongly\n> > reported in the capture settings template, while it is actually a static\n> > camera metadata.\n> >\n> > As of Chromium R78 the absence of this specific metadata tag causes a\n> > system crash. Fix this by reporting the maximum pipeline depth in the\n> > static metadata pack and set its value to 1 as currently no control is\n> > applied to the image capture pipeline.\n> >\n> > Reported-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> > Suggested-by: Ren-Pei Zeng <kamesan@google.com>\n> > Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>\n> >\n> > ---\n> > Laurent, as you're running R78 and first reported the crash, could you\n> > please\n> > give this a spin and report if the issue is still present?\n> >\n> > ---\n> >  src/android/camera_device.cpp | 13 +++++++------\n> >  1 file changed, 7 insertions(+), 6 deletions(-)\n> >\n> > diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp\n> > index c27175ac090d..7c69d0810eee 100644\n> > --- a/src/android/camera_device.cpp\n> > +++ b/src/android/camera_device.cpp\n> > @@ -281,6 +281,13 @@ camera_metadata_t *CameraDevice::getStaticMetadata()\n> >                         ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL,\n> >                         &supportedHWLevel, 1);\n> >\n> > +       /* Request static metadata. */\n> > +       uint8_t maxPipelineDepth = 1;\n> > +       ret = add_camera_metadata_entry(staticMetadata_,\n> > +                       ANDROID_REQUEST_PIPELINE_MAX_DEPTH,\n> > +                       &maxPipelineDepth, 1);\n> > +       METADATA_ASSERT(ret);\n> > +\n> >         return staticMetadata_;\n> >  }\n> >\n> > @@ -340,12 +347,6 @@ const camera_metadata_t\n> > *CameraDevice::constructDefaultRequestSettings(int type)\n> >                         maxOutStream, 3);\n> >         METADATA_ASSERT(ret);\n> >\n> > -       uint8_t maxPipelineDepth = 5;\n> > -       ret = add_camera_metadata_entry(requestTemplate_,\n> > -                       ANDROID_REQUEST_PIPELINE_MAX_DEPTH,\n> > -                       &maxPipelineDepth, 1);\n> > -       METADATA_ASSERT(ret);\n> > -\n> >         int32_t inputStreams = 0;\n> >         ret = add_camera_metadata_entry(requestTemplate_,\n> >                         ANDROID_REQUEST_MAX_NUM_INPUT_STREAMS,\n> > --\n> > 2.23.0\n> >\n> >","headers":{"Return-Path":"<jacopo@jmondi.org>","Received":["from relay3-d.mail.gandi.net (relay3-d.mail.gandi.net\n\t[217.70.183.195])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id BE4D160BF6\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 28 Aug 2019 17:41:02 +0200 (CEST)","from uno.localdomain (2-224-242-101.ip172.fastwebnet.it\n\t[2.224.242.101]) (Authenticated sender: jacopo@jmondi.org)\n\tby relay3-d.mail.gandi.net (Postfix) with ESMTPSA id 31B236000B;\n\tWed, 28 Aug 2019 15:41:02 +0000 (UTC)"],"X-Originating-IP":"2.224.242.101","Date":"Wed, 28 Aug 2019 17:42:28 +0200","From":"Jacopo Mondi <jacopo@jmondi.org>","To":"Ren-Pei Zeng <kamesan@google.com>","Cc":"libcamera-devel@lists.libcamera.org,\n\tLaurent Pinchart <laurent.pinchart@ideasonboard.com>","Message-ID":"<20190828154228.6j66fz7y3lf252kz@uno.localdomain>","References":"<20190828141343.10237-1-jacopo@jmondi.org>\n\t<CAJ-ADy0p38nKU_i1O+-SaGD3F7LoLqEab935CRTpONUzjaQQEg@mail.gmail.com>","MIME-Version":"1.0","Content-Type":"multipart/signed; micalg=pgp-sha256;\n\tprotocol=\"application/pgp-signature\"; boundary=\"jwoicstf5rbmov5t\"","Content-Disposition":"inline","In-Reply-To":"<CAJ-ADy0p38nKU_i1O+-SaGD3F7LoLqEab935CRTpONUzjaQQEg@mail.gmail.com>","User-Agent":"NeoMutt/20180716","Subject":"Re: [libcamera-devel] [PATCH] android: camera_device: Add pipeline\n\tmax depth static metadata","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, 28 Aug 2019 15:41:02 -0000"}},{"id":2524,"web_url":"https://patchwork.libcamera.org/comment/2524/","msgid":"<CAJ-ADy32WMsXjhjjRMWhi51WJjDppfJ=V3JgSUpJVOHVvrRsJQ@mail.gmail.com>","date":"2019-08-28T16:23:57","subject":"Re: [libcamera-devel] [PATCH] android: camera_device: Add pipeline\n\tmax depth static metadata","submitter":{"id":21,"url":"https://patchwork.libcamera.org/api/people/21/","name":"Ren-Pei Zeng","email":"kamesan@google.com"},"content":"Thanks Jacopo for clarifying. I misthought this value will limit the\navailable buffers on the consumer side (chrome capture stack in this case),\nbut it should not.\nI'm not familiar with how frame control affects this, and the value is for\nthis moment, so it's up to you.\n\nThanks!\n\nOn Wed, Aug 28, 2019 at 11:41 PM Jacopo Mondi <jacopo@jmondi.org> wrote:\n\n> Hello Ren-Pei,\n>\n> On Wed, Aug 28, 2019 at 11:16:20PM +0800, Ren-Pei Zeng wrote:\n> > Thanks for working on this!\n> >\n> > +       uint8_t maxPipelineDepth = 1;\n> > Should this keep the original value, i.e. = 5?\n>\n> My understanding is that as long as the HAL reports to support LEGACY\n> mode this should not be a big issue, as the maxDepth is relevant only\n> in regards to the dynamic control android.sync.frameNumber, which we\n> currently don't report and should be probably set to UNKNOWN as long\n> as we work in backward compatibility mode.\n>\n> Is my understanding correct here in your opinion?\n>\n> I chose 1 because we actually don't apply any control at the moment,\n> and the value there should depend on the platform specific pipeline\n> handler characteristics.\n>\n> Why would you prefer to keep a value of 5 here ? I'm not opposed to\n> it, just for my better understanding!\n>\n> Thanks\n>    j\n>\n> >\n> > On Wed, Aug 28, 2019 at 10:12 PM Jacopo Mondi <jacopo@jmondi.org> wrote:\n> >\n> > > The ANDROID_REQUEST_PIPELINE_MAX_DEPTH metadata tag was wrongly\n> > > reported in the capture settings template, while it is actually a\n> static\n> > > camera metadata.\n> > >\n> > > As of Chromium R78 the absence of this specific metadata tag causes a\n> > > system crash. Fix this by reporting the maximum pipeline depth in the\n> > > static metadata pack and set its value to 1 as currently no control is\n> > > applied to the image capture pipeline.\n> > >\n> > > Reported-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> > > Suggested-by: Ren-Pei Zeng <kamesan@google.com>\n> > > Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>\n> > >\n> > > ---\n> > > Laurent, as you're running R78 and first reported the crash, could you\n> > > please\n> > > give this a spin and report if the issue is still present?\n> > >\n> > > ---\n> > >  src/android/camera_device.cpp | 13 +++++++------\n> > >  1 file changed, 7 insertions(+), 6 deletions(-)\n> > >\n> > > diff --git a/src/android/camera_device.cpp\n> b/src/android/camera_device.cpp\n> > > index c27175ac090d..7c69d0810eee 100644\n> > > --- a/src/android/camera_device.cpp\n> > > +++ b/src/android/camera_device.cpp\n> > > @@ -281,6 +281,13 @@ camera_metadata_t\n> *CameraDevice::getStaticMetadata()\n> > >                         ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL,\n> > >                         &supportedHWLevel, 1);\n> > >\n> > > +       /* Request static metadata. */\n> > > +       uint8_t maxPipelineDepth = 1;\n> > > +       ret = add_camera_metadata_entry(staticMetadata_,\n> > > +                       ANDROID_REQUEST_PIPELINE_MAX_DEPTH,\n> > > +                       &maxPipelineDepth, 1);\n> > > +       METADATA_ASSERT(ret);\n> > > +\n> > >         return staticMetadata_;\n> > >  }\n> > >\n> > > @@ -340,12 +347,6 @@ const camera_metadata_t\n> > > *CameraDevice::constructDefaultRequestSettings(int type)\n> > >                         maxOutStream, 3);\n> > >         METADATA_ASSERT(ret);\n> > >\n> > > -       uint8_t maxPipelineDepth = 5;\n> > > -       ret = add_camera_metadata_entry(requestTemplate_,\n> > > -                       ANDROID_REQUEST_PIPELINE_MAX_DEPTH,\n> > > -                       &maxPipelineDepth, 1);\n> > > -       METADATA_ASSERT(ret);\n> > > -\n> > >         int32_t inputStreams = 0;\n> > >         ret = add_camera_metadata_entry(requestTemplate_,\n> > >                         ANDROID_REQUEST_MAX_NUM_INPUT_STREAMS,\n> > > --\n> > > 2.23.0\n> > >\n> > >\n>","headers":{"Return-Path":"<kamesan@google.com>","Received":["from mail-pf1-x434.google.com (mail-pf1-x434.google.com\n\t[IPv6:2607:f8b0:4864:20::434])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id DC60060BF6\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 28 Aug 2019 18:24:10 +0200 (CEST)","by mail-pf1-x434.google.com with SMTP id w2so130299pfi.3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 28 Aug 2019 09:24:10 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n\ts=20161025; \n\th=mime-version:references:in-reply-to:from:date:message-id:subject:to\n\t:cc; bh=ES4IkSi3lfTcU8vNFf777fzX5d5H2If/WaqwnfmjCc8=;\n\tb=Nc43nR/TIxZAIX639tXs0qJJpTOwAgwpA/N62zBAxCbyVXenHcvt0HGc79ydQpklBf\n\tkqnXarT8rHMdE46fK6kIz91lIhlWukW1zs/HJa82wkupLdYcDAj/oLcrwQFp1VBjpOW5\n\t0sTa0pMcLaoIOXL/xM72uAMtImWZ9RO1DGCepJ+4LwGPVwu/1vWDSl4oMLawLFRamhH8\n\tEl4UU0BwI5Be6tScwyjeiAIfO76nHROf1ZBrY/rT+biI3YJ/Z0WMLTN2zk7fUtqmlTK4\n\tWP7lktr6RGCKgudnlA14LClDG6I5dIrtxCb2MSC7wyEeDnPX/CJpwP4VWNfXw9KWknQY\n\tbk4g==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:references:in-reply-to:from:date\n\t:message-id:subject:to:cc;\n\tbh=ES4IkSi3lfTcU8vNFf777fzX5d5H2If/WaqwnfmjCc8=;\n\tb=FZ2hnbV95UDuWMfElQLDqVK2sG5g72UspGNZa3DzmRYGsPp3AOw5XsaeinmnWTiVwf\n\tYb3Y4XCR6bCZ7lFHXlUok8vrJ0D04LSqTBtl09O1OfS4IPVfdPXvy8LAOTnj/1SSlEco\n\tHtn2P997vpXOL7UeWaXJH0qS1Ctmasw2uL1W28Rh5Uy99KTHrJdjeWK/1pK5DQ2nmAY3\n\te0l0gXHrEpGNBGpS3MtQKDvMOLWN3ymqXyZTH4ivexULfONNxtM2b2Nh4YsrSXd0YR7b\n\tqjxJrrFeB1grLOS9FKFw6x8BfmkQOl3j0HkAiXk5MxONujX6764GNOrSPSFsQib+T6hq\n\t8EYA==","X-Gm-Message-State":"APjAAAWoi55KlDT16V+0qSb2m4JpgYx1pIogrt1M4BDpneglvqNBrtKc\n\tB+SMppO8rskMEJnNlcCRZLPsCbrrMT5Vnogq3X9XBQ==","X-Google-Smtp-Source":"APXvYqzqMjl40ave3Q9NoCYxklpZtUyKs8K3v0CWf63Js2586IVR8dpe8Q+2SNdNzOCsHe+qNk3niWWsGChIejNDxjw=","X-Received":"by 2002:a62:1808:: with SMTP id 8mr5695091pfy.177.1567009448835; \n\tWed, 28 Aug 2019 09:24:08 -0700 (PDT)","MIME-Version":"1.0","References":"<20190828141343.10237-1-jacopo@jmondi.org>\n\t<CAJ-ADy0p38nKU_i1O+-SaGD3F7LoLqEab935CRTpONUzjaQQEg@mail.gmail.com>\n\t<20190828154228.6j66fz7y3lf252kz@uno.localdomain>","In-Reply-To":"<20190828154228.6j66fz7y3lf252kz@uno.localdomain>","From":"Ren-Pei Zeng <kamesan@google.com>","Date":"Thu, 29 Aug 2019 00:23:57 +0800","Message-ID":"<CAJ-ADy32WMsXjhjjRMWhi51WJjDppfJ=V3JgSUpJVOHVvrRsJQ@mail.gmail.com>","To":"Jacopo Mondi <jacopo@jmondi.org>","Cc":"libcamera-devel@lists.libcamera.org, \n\tLaurent Pinchart <laurent.pinchart@ideasonboard.com>","Content-Type":"multipart/alternative; boundary=\"0000000000008f0f6305912fd1f8\"","Subject":"Re: [libcamera-devel] [PATCH] android: camera_device: Add pipeline\n\tmax depth static metadata","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, 28 Aug 2019 16:24:11 -0000"}},{"id":2528,"web_url":"https://patchwork.libcamera.org/comment/2528/","msgid":"<20190828163616.ak54tewnvqzgocui@uno.localdomain>","date":"2019-08-28T16:36:16","subject":"Re: [libcamera-devel] [PATCH] android: camera_device: Add pipeline\n\tmax depth static metadata","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/people/3/","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"content":"Hi Ren-Pei\n\nOn Thu, Aug 29, 2019 at 12:23:57AM +0800, Ren-Pei Zeng wrote:\n> Thanks Jacopo for clarifying. I misthought this value will limit the\n> available buffers on the consumer side (chrome capture stack in this case),\n> but it should not.\n> I'm not familiar with how frame control affects this, and the value is for\n> this moment, so it's up to you.\n\nI'm not actually sure either here :)\nMy understanding comes from reading the android.sync.frameNumber\ndocumentation\nhttps://jmondi.org/android_metadata_tags/docs.html#dynamic_android.sync.frameNumber\nbut you have more experience than me in android/cros related things,\nso please have a look there too :)\n\nThanks\n  j\n\n>\n> Thanks!\n>\n> On Wed, Aug 28, 2019 at 11:41 PM Jacopo Mondi <jacopo@jmondi.org> wrote:\n>\n> > Hello Ren-Pei,\n> >\n> > On Wed, Aug 28, 2019 at 11:16:20PM +0800, Ren-Pei Zeng wrote:\n> > > Thanks for working on this!\n> > >\n> > > +       uint8_t maxPipelineDepth = 1;\n> > > Should this keep the original value, i.e. = 5?\n> >\n> > My understanding is that as long as the HAL reports to support LEGACY\n> > mode this should not be a big issue, as the maxDepth is relevant only\n> > in regards to the dynamic control android.sync.frameNumber, which we\n> > currently don't report and should be probably set to UNKNOWN as long\n> > as we work in backward compatibility mode.\n> >\n> > Is my understanding correct here in your opinion?\n> >\n> > I chose 1 because we actually don't apply any control at the moment,\n> > and the value there should depend on the platform specific pipeline\n> > handler characteristics.\n> >\n> > Why would you prefer to keep a value of 5 here ? I'm not opposed to\n> > it, just for my better understanding!\n> >\n> > Thanks\n> >    j\n> >\n> > >\n> > > On Wed, Aug 28, 2019 at 10:12 PM Jacopo Mondi <jacopo@jmondi.org> wrote:\n> > >\n> > > > The ANDROID_REQUEST_PIPELINE_MAX_DEPTH metadata tag was wrongly\n> > > > reported in the capture settings template, while it is actually a\n> > static\n> > > > camera metadata.\n> > > >\n> > > > As of Chromium R78 the absence of this specific metadata tag causes a\n> > > > system crash. Fix this by reporting the maximum pipeline depth in the\n> > > > static metadata pack and set its value to 1 as currently no control is\n> > > > applied to the image capture pipeline.\n> > > >\n> > > > Reported-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> > > > Suggested-by: Ren-Pei Zeng <kamesan@google.com>\n> > > > Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>\n> > > >\n> > > > ---\n> > > > Laurent, as you're running R78 and first reported the crash, could you\n> > > > please\n> > > > give this a spin and report if the issue is still present?\n> > > >\n> > > > ---\n> > > >  src/android/camera_device.cpp | 13 +++++++------\n> > > >  1 file changed, 7 insertions(+), 6 deletions(-)\n> > > >\n> > > > diff --git a/src/android/camera_device.cpp\n> > b/src/android/camera_device.cpp\n> > > > index c27175ac090d..7c69d0810eee 100644\n> > > > --- a/src/android/camera_device.cpp\n> > > > +++ b/src/android/camera_device.cpp\n> > > > @@ -281,6 +281,13 @@ camera_metadata_t\n> > *CameraDevice::getStaticMetadata()\n> > > >                         ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL,\n> > > >                         &supportedHWLevel, 1);\n> > > >\n> > > > +       /* Request static metadata. */\n> > > > +       uint8_t maxPipelineDepth = 1;\n> > > > +       ret = add_camera_metadata_entry(staticMetadata_,\n> > > > +                       ANDROID_REQUEST_PIPELINE_MAX_DEPTH,\n> > > > +                       &maxPipelineDepth, 1);\n> > > > +       METADATA_ASSERT(ret);\n> > > > +\n> > > >         return staticMetadata_;\n> > > >  }\n> > > >\n> > > > @@ -340,12 +347,6 @@ const camera_metadata_t\n> > > > *CameraDevice::constructDefaultRequestSettings(int type)\n> > > >                         maxOutStream, 3);\n> > > >         METADATA_ASSERT(ret);\n> > > >\n> > > > -       uint8_t maxPipelineDepth = 5;\n> > > > -       ret = add_camera_metadata_entry(requestTemplate_,\n> > > > -                       ANDROID_REQUEST_PIPELINE_MAX_DEPTH,\n> > > > -                       &maxPipelineDepth, 1);\n> > > > -       METADATA_ASSERT(ret);\n> > > > -\n> > > >         int32_t inputStreams = 0;\n> > > >         ret = add_camera_metadata_entry(requestTemplate_,\n> > > >                         ANDROID_REQUEST_MAX_NUM_INPUT_STREAMS,\n> > > > --\n> > > > 2.23.0\n> > > >\n> > > >\n> >","headers":{"Return-Path":"<jacopo@jmondi.org>","Received":["from relay11.mail.gandi.net (relay11.mail.gandi.net\n\t[217.70.178.231])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id E385460BF6\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 28 Aug 2019 18:34:44 +0200 (CEST)","from uno.localdomain (2-224-242-101.ip172.fastwebnet.it\n\t[2.224.242.101]) (Authenticated sender: jacopo@jmondi.org)\n\tby relay11.mail.gandi.net (Postfix) with ESMTPSA id 19C42100003;\n\tWed, 28 Aug 2019 16:34:43 +0000 (UTC)"],"Date":"Wed, 28 Aug 2019 18:36:16 +0200","From":"Jacopo Mondi <jacopo@jmondi.org>","To":"Ren-Pei Zeng <kamesan@google.com>","Cc":"libcamera-devel@lists.libcamera.org,\n\tLaurent Pinchart <laurent.pinchart@ideasonboard.com>","Message-ID":"<20190828163616.ak54tewnvqzgocui@uno.localdomain>","References":"<20190828141343.10237-1-jacopo@jmondi.org>\n\t<CAJ-ADy0p38nKU_i1O+-SaGD3F7LoLqEab935CRTpONUzjaQQEg@mail.gmail.com>\n\t<20190828154228.6j66fz7y3lf252kz@uno.localdomain>\n\t<CAJ-ADy32WMsXjhjjRMWhi51WJjDppfJ=V3JgSUpJVOHVvrRsJQ@mail.gmail.com>","MIME-Version":"1.0","Content-Type":"multipart/signed; micalg=pgp-sha256;\n\tprotocol=\"application/pgp-signature\"; boundary=\"zeu6p6i3xjkvrdqs\"","Content-Disposition":"inline","In-Reply-To":"<CAJ-ADy32WMsXjhjjRMWhi51WJjDppfJ=V3JgSUpJVOHVvrRsJQ@mail.gmail.com>","User-Agent":"NeoMutt/20180716","Subject":"Re: [libcamera-devel] [PATCH] android: camera_device: Add pipeline\n\tmax depth static metadata","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, 28 Aug 2019 16:34:45 -0000"}},{"id":2547,"web_url":"https://patchwork.libcamera.org/comment/2547/","msgid":"<20190829145427.GE5875@pendragon.ideasonboard.com>","date":"2019-08-29T15:00:56","subject":"Re: [libcamera-devel] [PATCH] android: camera_device: Add pipeline\n\tmax depth static metadata","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Jacopo,\n\nOn Wed, Aug 28, 2019 at 05:42:28PM +0200, Jacopo Mondi wrote:\n> On Wed, Aug 28, 2019 at 11:16:20PM +0800, Ren-Pei Zeng wrote:\n> > Thanks for working on this!\n> >\n> > +       uint8_t maxPipelineDepth = 1;\n> > Should this keep the original value, i.e. = 5?\n> \n> My understanding is that as long as the HAL reports to support LEGACY\n> mode this should not be a big issue, as the maxDepth is relevant only\n> in regards to the dynamic control android.sync.frameNumber, which we\n> currently don't report and should be probably set to UNKNOWN as long\n> as we work in backward compatibility mode.\n> \n> Is my understanding correct here in your opinion?\n> \n> I chose 1 because we actually don't apply any control at the moment,\n> and the value there should depend on the platform specific pipeline\n> handler characteristics.\n\nThe camera HAL documentation mentions that this value is usually at\nleast two, to cover the exposure stage and the readout stage. Would that\nbe a better default ?\n\n> Why would you prefer to keep a value of 5 here ? I'm not opposed to\n> it, just for my better understanding!\n> \n> > On Wed, Aug 28, 2019 at 10:12 PM Jacopo Mondi <jacopo@jmondi.org> wrote:\n> >\n> > > The ANDROID_REQUEST_PIPELINE_MAX_DEPTH metadata tag was wrongly\n> > > reported in the capture settings template, while it is actually a static\n> > > camera metadata.\n> > >\n> > > As of Chromium R78 the absence of this specific metadata tag causes a\n> > > system crash. Fix this by reporting the maximum pipeline depth in the\n> > > static metadata pack and set its value to 1 as currently no control is\n> > > applied to the image capture pipeline.\n> > >\n> > > Reported-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> > > Suggested-by: Ren-Pei Zeng <kamesan@google.com>\n> > > Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>\n> > >\n> > > ---\n> > > Laurent, as you're running R78 and first reported the crash, could you\n> > > please\n> > > give this a spin and report if the issue is still present?\n\nI'll test this tonight.\n\n> > > ---\n> > >  src/android/camera_device.cpp | 13 +++++++------\n> > >  1 file changed, 7 insertions(+), 6 deletions(-)\n> > >\n> > > diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp\n> > > index c27175ac090d..7c69d0810eee 100644\n> > > --- a/src/android/camera_device.cpp\n> > > +++ b/src/android/camera_device.cpp\n> > > @@ -281,6 +281,13 @@ camera_metadata_t *CameraDevice::getStaticMetadata()\n> > >                         ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL,\n> > >                         &supportedHWLevel, 1);\n> > >\n> > > +       /* Request static metadata. */\n> > > +       uint8_t maxPipelineDepth = 1;\n> > > +       ret = add_camera_metadata_entry(staticMetadata_,\n> > > +                       ANDROID_REQUEST_PIPELINE_MAX_DEPTH,\n> > > +                       &maxPipelineDepth, 1);\n> > > +       METADATA_ASSERT(ret);\n> > > +\n> > >         return staticMetadata_;\n> > >  }\n> > >\n> > > @@ -340,12 +347,6 @@ const camera_metadata_t\n> > > *CameraDevice::constructDefaultRequestSettings(int type)\n> > >                         maxOutStream, 3);\n> > >         METADATA_ASSERT(ret);\n> > >\n> > > -       uint8_t maxPipelineDepth = 5;\n> > > -       ret = add_camera_metadata_entry(requestTemplate_,\n> > > -                       ANDROID_REQUEST_PIPELINE_MAX_DEPTH,\n> > > -                       &maxPipelineDepth, 1);\n> > > -       METADATA_ASSERT(ret);\n> > > -\n> > >         int32_t inputStreams = 0;\n> > >         ret = add_camera_metadata_entry(requestTemplate_,\n> > >                         ANDROID_REQUEST_MAX_NUM_INPUT_STREAMS,","headers":{"Return-Path":"<laurent.pinchart@ideasonboard.com>","Received":["from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 4850D60BB0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 29 Aug 2019 17:01:22 +0200 (CEST)","from pendragon.ideasonboard.com (85-76-139-195-nat.elisa-mobile.fi\n\t[85.76.139.195])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id A004A741;\n\tThu, 29 Aug 2019 17:01:14 +0200 (CEST)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1567090881;\n\tbh=bp3G7sF/A/Gl03EDP0iqedFRLkELnPp5CfvCT7kufuM=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=LT8VyyHu2jq4iRo9ii9rz1LHgBKmLuxcCefJDhyrqK5WKmINCdBHbC7+LGgF9vZ9D\n\twy0wqPey7d9Shqb04nA4KyKwYrw8T3tBUZ+lKod1BusM2ilFEfJv/n86sGsZ8ppTmp\n\tZWGbuU8e8c8/ucERUITs0O6wTRbz5w9+zp++PH+M=","Date":"Thu, 29 Aug 2019 18:00:56 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Jacopo Mondi <jacopo@jmondi.org>","Cc":"Ren-Pei Zeng <kamesan@google.com>, libcamera-devel@lists.libcamera.org","Message-ID":"<20190829145427.GE5875@pendragon.ideasonboard.com>","References":"<20190828141343.10237-1-jacopo@jmondi.org>\n\t<CAJ-ADy0p38nKU_i1O+-SaGD3F7LoLqEab935CRTpONUzjaQQEg@mail.gmail.com>\n\t<20190828154228.6j66fz7y3lf252kz@uno.localdomain>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20190828154228.6j66fz7y3lf252kz@uno.localdomain>","User-Agent":"Mutt/1.10.1 (2018-07-13)","Subject":"Re: [libcamera-devel] [PATCH] android: camera_device: Add pipeline\n\tmax depth static metadata","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":"Thu, 29 Aug 2019 15:01:22 -0000"}},{"id":2569,"web_url":"https://patchwork.libcamera.org/comment/2569/","msgid":"<20190902165906.GG12197@pendragon.ideasonboard.com>","date":"2019-09-02T16:59:06","subject":"Re: [libcamera-devel] [PATCH] android: camera_device: Add pipeline\n\tmax depth static metadata","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Jacopo,\n\nOn Thu, Aug 29, 2019 at 06:00:56PM +0300, Laurent Pinchart wrote:\n> On Wed, Aug 28, 2019 at 05:42:28PM +0200, Jacopo Mondi wrote:\n> > On Wed, Aug 28, 2019 at 11:16:20PM +0800, Ren-Pei Zeng wrote:\n> >> Thanks for working on this!\n> >>\n> >> +       uint8_t maxPipelineDepth = 1;\n> >> Should this keep the original value, i.e. = 5?\n> > \n> > My understanding is that as long as the HAL reports to support LEGACY\n> > mode this should not be a big issue, as the maxDepth is relevant only\n> > in regards to the dynamic control android.sync.frameNumber, which we\n> > currently don't report and should be probably set to UNKNOWN as long\n> > as we work in backward compatibility mode.\n> > \n> > Is my understanding correct here in your opinion?\n> > \n> > I chose 1 because we actually don't apply any control at the moment,\n> > and the value there should depend on the platform specific pipeline\n> > handler characteristics.\n> \n> The camera HAL documentation mentions that this value is usually at\n> least two, to cover the exposure stage and the readout stage. Would that\n> be a better default ?\n> \n> > Why would you prefer to keep a value of 5 here ? I'm not opposed to\n> > it, just for my better understanding!\n> > \n> >> On Wed, Aug 28, 2019 at 10:12 PM Jacopo Mondi <jacopo@jmondi.org> wrote:\n> >>\n> >>> The ANDROID_REQUEST_PIPELINE_MAX_DEPTH metadata tag was wrongly\n> >>> reported in the capture settings template, while it is actually a static\n> >>> camera metadata.\n> >>>\n> >>> As of Chromium R78 the absence of this specific metadata tag causes a\n> >>> system crash. Fix this by reporting the maximum pipeline depth in the\n> >>> static metadata pack and set its value to 1 as currently no control is\n> >>> applied to the image capture pipeline.\n> >>>\n> >>> Reported-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> >>> Suggested-by: Ren-Pei Zeng <kamesan@google.com>\n> >>> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>\n> >>>\n> >>> ---\n> >>> Laurent, as you're running R78 and first reported the crash, could you\n> >>> please\n> >>> give this a spin and report if the issue is still present?\n> \n> I'll test this tonight.\n\nIt works \\o/\n\nTested-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\n> >>> ---\n> >>>  src/android/camera_device.cpp | 13 +++++++------\n> >>>  1 file changed, 7 insertions(+), 6 deletions(-)\n> >>>\n> >>> diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp\n> >>> index c27175ac090d..7c69d0810eee 100644\n> >>> --- a/src/android/camera_device.cpp\n> >>> +++ b/src/android/camera_device.cpp\n> >>> @@ -281,6 +281,13 @@ camera_metadata_t *CameraDevice::getStaticMetadata()\n> >>>                         ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL,\n> >>>                         &supportedHWLevel, 1);\n> >>>\n> >>> +       /* Request static metadata. */\n> >>> +       uint8_t maxPipelineDepth = 1;\n> >>> +       ret = add_camera_metadata_entry(staticMetadata_,\n> >>> +                       ANDROID_REQUEST_PIPELINE_MAX_DEPTH,\n> >>> +                       &maxPipelineDepth, 1);\n> >>> +       METADATA_ASSERT(ret);\n> >>> +\n> >>>         return staticMetadata_;\n> >>>  }\n> >>>\n> >>> @@ -340,12 +347,6 @@ const camera_metadata_t\n> >>> *CameraDevice::constructDefaultRequestSettings(int type)\n> >>>                         maxOutStream, 3);\n> >>>         METADATA_ASSERT(ret);\n> >>>\n> >>> -       uint8_t maxPipelineDepth = 5;\n> >>> -       ret = add_camera_metadata_entry(requestTemplate_,\n> >>> -                       ANDROID_REQUEST_PIPELINE_MAX_DEPTH,\n> >>> -                       &maxPipelineDepth, 1);\n> >>> -       METADATA_ASSERT(ret);\n> >>> -\n> >>>         int32_t inputStreams = 0;\n> >>>         ret = add_camera_metadata_entry(requestTemplate_,\n> >>>                         ANDROID_REQUEST_MAX_NUM_INPUT_STREAMS,","headers":{"Return-Path":"<laurent.pinchart@ideasonboard.com>","Received":["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 DB6D560BD9\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon,  2 Sep 2019 18:59:12 +0200 (CEST)","from pendragon.ideasonboard.com\n\t(231.125-247-81.adsl-dyn.isp.belgacom.be [81.247.125.231])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 4EACE303;\n\tMon,  2 Sep 2019 18:59:12 +0200 (CEST)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1567443552;\n\tbh=puYEg+ZXvexwa4XKCIpiSFoW6A4DhcnO1zz/kmJqBGU=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=aOlk2LSb463k3jvmUVALQ35kj+uiiGTPdac2lfOnpOvJxXx07GOK6YyMxd+O0l7LJ\n\toI8NRacucvC/BYNYHA1bijAAD5FZPYyha7YzDpxyE6h5SGY2zXyvQ+9doQdk5Epk0o\n\tYTosXzXklIcBWUMWnoI3z0p7G00HHl4XOFt89u+A=","Date":"Mon, 2 Sep 2019 19:59:06 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Jacopo Mondi <jacopo@jmondi.org>","Cc":"libcamera-devel@lists.libcamera.org","Message-ID":"<20190902165906.GG12197@pendragon.ideasonboard.com>","References":"<20190828141343.10237-1-jacopo@jmondi.org>\n\t<CAJ-ADy0p38nKU_i1O+-SaGD3F7LoLqEab935CRTpONUzjaQQEg@mail.gmail.com>\n\t<20190828154228.6j66fz7y3lf252kz@uno.localdomain>\n\t<20190829145427.GE5875@pendragon.ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20190829145427.GE5875@pendragon.ideasonboard.com>","User-Agent":"Mutt/1.10.1 (2018-07-13)","Subject":"Re: [libcamera-devel] [PATCH] android: camera_device: Add pipeline\n\tmax depth static metadata","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":"Mon, 02 Sep 2019 16:59:13 -0000"}}]