[{"id":13242,"web_url":"https://patchwork.libcamera.org/comment/13242/","msgid":"<CAO5uPHOYWTmtwwhK2mBdVekGbh3HYXj8BfBQEDCuBPUFgHpBxg@mail.gmail.com>","date":"2020-10-19T05:33:09","subject":"Re: [libcamera-devel] [PATCH v2 1/2] android: post_processor:\n\tIntroduce a PostProcessor interface","submitter":{"id":63,"url":"https://patchwork.libcamera.org/api/people/63/","name":"Hirokazu Honda","email":"hiroh@chromium.org"},"content":"Thanks Umang for this work.\nThanks Laurent for letting me know.\nI actually recognized these works last Wednesday but haven't had time\nto review them.\n\nThe patches are similar to my local WIP patches but nicer than mine.\nI haven't been able to upload them because I was interrupted by other\nworks and had some troubles building and testing libcamera on ChromeOS\nenvironment.\nAnyway, I very much appreciate Umang to take over this work.\n\n\nOn Fri, Oct 16, 2020 at 2:38 PM Umang Jain <email@uajain.com> wrote:\n>\n> Introduce a PostProcessor interface for the streams that require any\n> kind of processing (refer to CameraStream::Type) for their consumption\n> by the HAL layer. The PostProcessor interface can be configured via\n> configure() and the actual processing can be initiated using process().\n>\n> The post-processing layer can be extended to have multiple post\n> processors for various stream configurations. As of now, we only have\n> one post processor (JPEG), hence the subsequent commit will port its\n> function to this interface.\n>\n> Signed-off-by: Umang Jain <email@uajain.com>\n> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> ---\n>  src/android/post_processor.h | 28 ++++++++++++++++++++++++++++\n>  1 file changed, 28 insertions(+)\n>  create mode 100644 src/android/post_processor.h\n>\n> diff --git a/src/android/post_processor.h b/src/android/post_processor.h\n> new file mode 100644\n> index 0000000..a891c43\n> --- /dev/null\n> +++ b/src/android/post_processor.h\n> @@ -0,0 +1,28 @@\n> +/* SPDX-License-Identifier: LGPL-2.1-or-later */\n> +/*\n> + * Copyright (C) 2020, Google Inc.\n> + *\n> + * post_processor.h - CameraStream Post Processing Interface\n> + */\n> +#ifndef __ANDROID_POST_PROCESSOR_H__\n> +#define __ANDROID_POST_PROCESSOR_H__\n> +\n> +#include <libcamera/buffer.h>\n> +#include <libcamera/span.h>\n> +#include <libcamera/stream.h>\n> +\n> +class CameraMetadata;\n> +\n> +class PostProcessor\n> +{\n> +public:\n> +       virtual ~PostProcessor() {}\n> +\n> +       virtual int configure(const libcamera::StreamConfiguration &inCfg,\n> +                             const libcamera::StreamConfiguration &outCfg) = 0;\n> +       virtual int process(const libcamera::FrameBuffer *source,\n> +                           const libcamera::Span<uint8_t> &destination,\n> +                           CameraMetadata *metadata) = 0;\n> +};\n> +\n\nnit: How about\nprocess(const libcameraFrameBuffer&, libcamera::Span<uint8_t>, CameraMeatadata)?\n\nI think const & is preferred to const* in this interface.\nlibcamera::Span looks very cheap to construct/copy/move, so that I\nwould like to use it as a pass-by-value parameter.\ncf.) span in chromium\nhttps://source.chromium.org/chromium/chromium/src/+/master:base/containers/span.h;l=157\n\nReviewed-by: Hirokazu Honda <hiroh@chromium.org>\n\nRegards,\n-Hiro\n\n> +#endif /* __ANDROID_POST_PROCESSOR_H__ */\n> --\n> 2.26.2\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 19965BDB1F\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 19 Oct 2020 05:33:22 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 918A060CE6;\n\tMon, 19 Oct 2020 07:33:21 +0200 (CEST)","from mail-ed1-x543.google.com (mail-ed1-x543.google.com\n\t[IPv6:2a00:1450:4864:20::543])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 204D960352\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 19 Oct 2020 07:33:20 +0200 (CEST)","by mail-ed1-x543.google.com with SMTP id p13so8886359edi.7\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSun, 18 Oct 2020 22:33:20 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=chromium.org header.i=@chromium.org\n\theader.b=\"h7INb8q1\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;\n\ts=google; \n\th=mime-version:references:in-reply-to:from:date:message-id:subject:to\n\t:cc; bh=W7ivTEgGdpFsDu5PmhR8N1ugiCAzAVu6rbN0pgNtpQg=;\n\tb=h7INb8q1zZqRbPUFr8wzQ6RwxiIuwkx8GGIn4vMbPJ4O6Dud1F1eaEhssQBNnPCyWh\n\tLAePwrCmVX/Sz4d7SuXa0NcgP8M/qDx20AZ810EgQCdM7mfmGYxM9CmNoU7hpGsphgQa\n\tsAOzJNuviIABIlsLTvmr5a2cqCmuQrjYLJEGM=","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=W7ivTEgGdpFsDu5PmhR8N1ugiCAzAVu6rbN0pgNtpQg=;\n\tb=nrvLCug7Tg7/zWFCEvjN0e7BHAj8KMCyILNpqHB4Ea4/W9JTGUFvrKZUw6XlA/lCPJ\n\tU30+6lIOE7gypfTHonRfyYyu0/rTi1x/5srZ5J3Q0Bt1BlzUIqfnCsistodoQYHJ0/pX\n\tO0/aPhDWcDYdqz3lonEs6IW6pcPs271aLeX3RMakr/JVRQN7aXjulj6L96gZ5GlpQlqZ\n\tmEyBnUIEF0H+H6MQvRRCgkBSBKKPWuAPWu6d/DAH4wLidieGkbUuj361OzHD6C8p6Rml\n\t5PtTbi7UHq41UuR5sZ1ifmG1zRyhc9h6YldMzuixp8GQtVSqAvSzy0FSqunFYuSgiKxR\n\tXSqg==","X-Gm-Message-State":"AOAM530ESC9I6jlvGIW6s/3s6kRn8ha21HMdRhtQsvgBulTyNWVt6Z1P\n\t0vlIMZt5CtBg3AKcHjk6CF/+MF0M0CRPJAqBz2ZyxqSn8kPtmg==","X-Google-Smtp-Source":"ABdhPJy4CXsYk4j2/Xx6S/8OsqbL03BCba/m0n1siAufUK3mxpcIuE5WTwE4JtEEM+PGkUWI77h30ClJp7pTijLGEwo=","X-Received":"by 2002:a05:6402:1446:: with SMTP id\n\td6mr16495375edx.244.1603085599499; \n\tSun, 18 Oct 2020 22:33:19 -0700 (PDT)","MIME-Version":"1.0","References":"<20201016053754.17251-1-email@uajain.com>\n\t<20201016053754.17251-2-email@uajain.com>","In-Reply-To":"<20201016053754.17251-2-email@uajain.com>","From":"Hirokazu Honda <hiroh@chromium.org>","Date":"Mon, 19 Oct 2020 14:33:09 +0900","Message-ID":"<CAO5uPHOYWTmtwwhK2mBdVekGbh3HYXj8BfBQEDCuBPUFgHpBxg@mail.gmail.com>","To":"Umang Jain <email@uajain.com>","Subject":"Re: [libcamera-devel] [PATCH v2 1/2] android: post_processor:\n\tIntroduce a PostProcessor interface","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=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":13243,"web_url":"https://patchwork.libcamera.org/comment/13243/","msgid":"<17ef758b-3563-dd9e-d364-9a2d5967d2bb@uajain.com>","date":"2020-10-19T05:43:25","subject":"Re: [libcamera-devel] [PATCH v2 1/2] android: post_processor:\n\tIntroduce a PostProcessor interface","submitter":{"id":1,"url":"https://patchwork.libcamera.org/api/people/1/","name":"Umang Jain","email":"email@uajain.com"},"content":"Hi Hiro,\n\nOn 10/19/20 11:03 AM, Hirokazu Honda wrote:\n> Thanks Umang for this work.\n> Thanks Laurent for letting me know.\n> I actually recognized these works last Wednesday but haven't had time\n> to review them.\n>\n> The patches are similar to my local WIP patches but nicer than mine.\n> I haven't been able to upload them because I was interrupted by other\n> works and had some troubles building and testing libcamera on ChromeOS\n> environment.\n> Anyway, I very much appreciate Umang to take over this work.\n>\n>\n> On Fri, Oct 16, 2020 at 2:38 PM Umang Jain <email@uajain.com> wrote:\n>> Introduce a PostProcessor interface for the streams that require any\n>> kind of processing (refer to CameraStream::Type) for their consumption\n>> by the HAL layer. The PostProcessor interface can be configured via\n>> configure() and the actual processing can be initiated using process().\n>>\n>> The post-processing layer can be extended to have multiple post\n>> processors for various stream configurations. As of now, we only have\n>> one post processor (JPEG), hence the subsequent commit will port its\n>> function to this interface.\n>>\n>> Signed-off-by: Umang Jain <email@uajain.com>\n>> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n>> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n>> ---\n>>   src/android/post_processor.h | 28 ++++++++++++++++++++++++++++\n>>   1 file changed, 28 insertions(+)\n>>   create mode 100644 src/android/post_processor.h\n>>\n>> diff --git a/src/android/post_processor.h b/src/android/post_processor.h\n>> new file mode 100644\n>> index 0000000..a891c43\n>> --- /dev/null\n>> +++ b/src/android/post_processor.h\n>> @@ -0,0 +1,28 @@\n>> +/* SPDX-License-Identifier: LGPL-2.1-or-later */\n>> +/*\n>> + * Copyright (C) 2020, Google Inc.\n>> + *\n>> + * post_processor.h - CameraStream Post Processing Interface\n>> + */\n>> +#ifndef __ANDROID_POST_PROCESSOR_H__\n>> +#define __ANDROID_POST_PROCESSOR_H__\n>> +\n>> +#include <libcamera/buffer.h>\n>> +#include <libcamera/span.h>\n>> +#include <libcamera/stream.h>\n>> +\n>> +class CameraMetadata;\n>> +\n>> +class PostProcessor\n>> +{\n>> +public:\n>> +       virtual ~PostProcessor() {}\n>> +\n>> +       virtual int configure(const libcamera::StreamConfiguration &inCfg,\n>> +                             const libcamera::StreamConfiguration &outCfg) = 0;\n>> +       virtual int process(const libcamera::FrameBuffer *source,\n>> +                           const libcamera::Span<uint8_t> &destination,\n>> +                           CameraMetadata *metadata) = 0;\n>> +};\n>> +\n> nit: How about\n> process(const libcameraFrameBuffer&, libcamera::Span<uint8_t>, CameraMeatadata)?\n>\n> I think const & is preferred to const* in this interface.\n> libcamera::Span looks very cheap to construct/copy/move, so that I\n> would like to use it as a pass-by-value parameter.\n> cf.) span in chromium\n> https://source.chromium.org/chromium/chromium/src/+/master:base/containers/span.h;l=157\n>\n> Reviewed-by: Hirokazu Honda <hiroh@chromium.org>\nThe patches have been merged in the master branch, so I think you will \nneed to incorporate your suggestions as patches over the latest master. \nAs far as I know, we are not 100% strict of the interface yet, so it \nwill be completely fine if you want to change it. I just wrote the best \npossible for my use-case and would be interested to see it evolve to \naddress further use cases :)\n\nJust FYI -\nI am following up with work that might be few changes in the \nlibjpeg-encoder (which are mostly internal) - so as it support \nthumbnailing (scale-down) of the image for embedding into exif metadata. \nHence, I don't think I would be working out any major reworks for \nPostProcessorJpeg.\n\nThanks for the review.\n>\n> Regards,\n> -Hiro\n>\n>> +#endif /* __ANDROID_POST_PROCESSOR_H__ */\n>> --\n>> 2.26.2\n>>\n>> _______________________________________________\n>> libcamera-devel mailing list\n>> libcamera-devel@lists.libcamera.org\n>> https://lists.libcamera.org/listinfo/libcamera-devel\n-\nuajain","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 3CBE6BDB13\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 19 Oct 2020 05:43:31 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id AD92361161;\n\tMon, 19 Oct 2020 07:43:30 +0200 (CEST)","from mail.uajain.com (static.126.159.217.95.clients.your-server.de\n\t[95.217.159.126])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 47A3D60352\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 19 Oct 2020 07:43:29 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=uajain.com header.i=@uajain.com\n\theader.b=\"nZkSX6B2\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=uajain.com; s=mail;\n\tt=1603086208; bh=UGkj2z+eHhH0LgMWp9rMKRpAtFF8Cmz7YzF5hjbDdSU=;\n\th=Subject:To:Cc:References:From:In-Reply-To;\n\tb=nZkSX6B28o38kXezUe62yV0FjSTU/aNF+g+W8gX8UgXQcJWuuUd9bUq/GgzB5D9u6\n\tAuPWpdk+9GG/2jel7iXs8XTqpqh9CLycvA4ioq6wyjstnup/3fNR0u3v6w8uwGl72X\n\tz6jaJa1FtG9QxGO3gK1zf+ztixFwAca98PlcsTwYmzDMNkrP4VMDcJRXDYYE7hvIHd\n\t+16hAptiQ8poGBBlCNQtZSunAIU2rs7k0RxjQAoYXXhkOYBpPYSISDPcFWtyntH0b5\n\teGb+D6gk5fxu8IukFZbaDQHsyIdMUgdCa/myODLM+1W3NWCiSoPKUD8BAdN9NIuVs2\n\tJNi+ZaD38tlVg==","To":"Hirokazu Honda <hiroh@chromium.org>","References":"<20201016053754.17251-1-email@uajain.com>\n\t<20201016053754.17251-2-email@uajain.com>\n\t<CAO5uPHOYWTmtwwhK2mBdVekGbh3HYXj8BfBQEDCuBPUFgHpBxg@mail.gmail.com>","From":"Umang Jain <email@uajain.com>","Message-ID":"<17ef758b-3563-dd9e-d364-9a2d5967d2bb@uajain.com>","Date":"Mon, 19 Oct 2020 11:13:25 +0530","Mime-Version":"1.0","In-Reply-To":"<CAO5uPHOYWTmtwwhK2mBdVekGbh3HYXj8BfBQEDCuBPUFgHpBxg@mail.gmail.com>","Content-Language":"en-US","Subject":"Re: [libcamera-devel] [PATCH v2 1/2] android: post_processor:\n\tIntroduce a PostProcessor interface","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-Transfer-Encoding":"7bit","Content-Type":"text/plain; charset=\"us-ascii\"; Format=\"flowed\"","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":13245,"web_url":"https://patchwork.libcamera.org/comment/13245/","msgid":"<CAO5uPHOv2UnzciN3ohv+BSMiDUZ5pAQsFj-az09APcOWpJ5=jQ@mail.gmail.com>","date":"2020-10-19T05:48:15","subject":"Re: [libcamera-devel] [PATCH v2 1/2] android: post_processor:\n\tIntroduce a PostProcessor interface","submitter":{"id":63,"url":"https://patchwork.libcamera.org/api/people/63/","name":"Hirokazu Honda","email":"hiroh@chromium.org"},"content":"Thank Umang for informing your plan.\nI will work to address my comments.\n\nRegards,\n-Hiro\n\nOn Mon, Oct 19, 2020 at 2:43 PM Umang Jain <email@uajain.com> wrote:\n>\n> Hi Hiro,\n>\n> On 10/19/20 11:03 AM, Hirokazu Honda wrote:\n> > Thanks Umang for this work.\n> > Thanks Laurent for letting me know.\n> > I actually recognized these works last Wednesday but haven't had time\n> > to review them.\n> >\n> > The patches are similar to my local WIP patches but nicer than mine.\n> > I haven't been able to upload them because I was interrupted by other\n> > works and had some troubles building and testing libcamera on ChromeOS\n> > environment.\n> > Anyway, I very much appreciate Umang to take over this work.\n> >\n> >\n> > On Fri, Oct 16, 2020 at 2:38 PM Umang Jain <email@uajain.com> wrote:\n> >> Introduce a PostProcessor interface for the streams that require any\n> >> kind of processing (refer to CameraStream::Type) for their consumption\n> >> by the HAL layer. The PostProcessor interface can be configured via\n> >> configure() and the actual processing can be initiated using process().\n> >>\n> >> The post-processing layer can be extended to have multiple post\n> >> processors for various stream configurations. As of now, we only have\n> >> one post processor (JPEG), hence the subsequent commit will port its\n> >> function to this interface.\n> >>\n> >> Signed-off-by: Umang Jain <email@uajain.com>\n> >> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> >> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> >> ---\n> >>   src/android/post_processor.h | 28 ++++++++++++++++++++++++++++\n> >>   1 file changed, 28 insertions(+)\n> >>   create mode 100644 src/android/post_processor.h\n> >>\n> >> diff --git a/src/android/post_processor.h b/src/android/post_processor.h\n> >> new file mode 100644\n> >> index 0000000..a891c43\n> >> --- /dev/null\n> >> +++ b/src/android/post_processor.h\n> >> @@ -0,0 +1,28 @@\n> >> +/* SPDX-License-Identifier: LGPL-2.1-or-later */\n> >> +/*\n> >> + * Copyright (C) 2020, Google Inc.\n> >> + *\n> >> + * post_processor.h - CameraStream Post Processing Interface\n> >> + */\n> >> +#ifndef __ANDROID_POST_PROCESSOR_H__\n> >> +#define __ANDROID_POST_PROCESSOR_H__\n> >> +\n> >> +#include <libcamera/buffer.h>\n> >> +#include <libcamera/span.h>\n> >> +#include <libcamera/stream.h>\n> >> +\n> >> +class CameraMetadata;\n> >> +\n> >> +class PostProcessor\n> >> +{\n> >> +public:\n> >> +       virtual ~PostProcessor() {}\n> >> +\n> >> +       virtual int configure(const libcamera::StreamConfiguration &inCfg,\n> >> +                             const libcamera::StreamConfiguration &outCfg) = 0;\n> >> +       virtual int process(const libcamera::FrameBuffer *source,\n> >> +                           const libcamera::Span<uint8_t> &destination,\n> >> +                           CameraMetadata *metadata) = 0;\n> >> +};\n> >> +\n> > nit: How about\n> > process(const libcameraFrameBuffer&, libcamera::Span<uint8_t>, CameraMeatadata)?\n> >\n> > I think const & is preferred to const* in this interface.\n> > libcamera::Span looks very cheap to construct/copy/move, so that I\n> > would like to use it as a pass-by-value parameter.\n> > cf.) span in chromium\n> > https://source.chromium.org/chromium/chromium/src/+/master:base/containers/span.h;l=157\n> >\n> > Reviewed-by: Hirokazu Honda <hiroh@chromium.org>\n> The patches have been merged in the master branch, so I think you will\n> need to incorporate your suggestions as patches over the latest master.\n> As far as I know, we are not 100% strict of the interface yet, so it\n> will be completely fine if you want to change it. I just wrote the best\n> possible for my use-case and would be interested to see it evolve to\n> address further use cases :)\n>\n> Just FYI -\n> I am following up with work that might be few changes in the\n> libjpeg-encoder (which are mostly internal) - so as it support\n> thumbnailing (scale-down) of the image for embedding into exif metadata.\n> Hence, I don't think I would be working out any major reworks for\n> PostProcessorJpeg.\n>\n> Thanks for the review.\n> >\n> > Regards,\n> > -Hiro\n> >\n> >> +#endif /* __ANDROID_POST_PROCESSOR_H__ */\n> >> --\n> >> 2.26.2\n> >>\n> >> _______________________________________________\n> >> libcamera-devel mailing list\n> >> libcamera-devel@lists.libcamera.org\n> >> https://lists.libcamera.org/listinfo/libcamera-devel\n> -\n> uajain","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 AFACABDB1F\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 19 Oct 2020 05:48:27 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 1FFEA61161;\n\tMon, 19 Oct 2020 07:48:27 +0200 (CEST)","from mail-ej1-x641.google.com (mail-ej1-x641.google.com\n\t[IPv6:2a00:1450:4864:20::641])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id DB84760352\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 19 Oct 2020 07:48:25 +0200 (CEST)","by mail-ej1-x641.google.com with SMTP id e22so12148799ejr.4\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSun, 18 Oct 2020 22:48:25 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=chromium.org header.i=@chromium.org\n\theader.b=\"ftDKlJel\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;\n\ts=google; \n\th=mime-version:references:in-reply-to:from:date:message-id:subject:to\n\t:cc; bh=v/ApXGxijL765Hwy3Oz/5+eRg7dm79fqefMuAt1ufhU=;\n\tb=ftDKlJeljbWmmV7D6KH8jDcXApex3crXXGDq2dU1RDOigkN4Qf6O2GHWIgjOQ8Vw+0\n\thL8tWpDQNtSRzXQ45XFvxmJn/qQKp5a/S/SLCP0ib3TPKDSnAezAuF0RALsj8b0Bs7/7\n\tSRio1IGsueUwCELScpQkLF/GYdGz8lK9+zy+s=","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=v/ApXGxijL765Hwy3Oz/5+eRg7dm79fqefMuAt1ufhU=;\n\tb=OMStfTZckNf2rVsSk7MDvt3eWBbPJSt5e3XmjTsUNcd5rwKxcwM9FUxmBBW8RM7AsF\n\tIOEdWQIkKNt67QksYdRQMi2jaS+mtp/y3CGfZfXGKIIfM8KzH90/6jqL/p2SMfP6YxcI\n\tqjpj91wPLagrncmcyE86rl0LtoUnlJaCqkaG1IomVt28ePCF+mP0Iv3NpAdIFvs5D3wn\n\tVp8g02HJHGdi5Oi0ciqKaBdrqeZKgn43C4nzu7G8GUfcXLoV3PYH0wvJd0PgIJX/Vk81\n\t5asQmJ6pqx21CKtZOTy/w3SMpyufLXzhdOqVRj7w84y8t1kLm/OMWN4cXsnP6hO/Hr08\n\tQ/ug==","X-Gm-Message-State":"AOAM5325Tp4xLrusZEwBGlVjskSFaPM9k3F+WhJD36uN+7S4OAjwIPmS\n\tX6jOAwD5vm5MXbljfHnB7WT1m8ijuTinvVlREAOyYQ==","X-Google-Smtp-Source":"ABdhPJy75by3V8PHeLA0JFkuqgZtvX7/qeb9tBzgFk7meGYVelMPA1848jN5HauqNB0sVBDFR8rVvUalMwJcwZLaSn0=","X-Received":"by 2002:a17:906:2894:: with SMTP id\n\to20mr15337687ejd.221.1603086505458; \n\tSun, 18 Oct 2020 22:48:25 -0700 (PDT)","MIME-Version":"1.0","References":"<20201016053754.17251-1-email@uajain.com>\n\t<20201016053754.17251-2-email@uajain.com>\n\t<CAO5uPHOYWTmtwwhK2mBdVekGbh3HYXj8BfBQEDCuBPUFgHpBxg@mail.gmail.com>\n\t<17ef758b-3563-dd9e-d364-9a2d5967d2bb@uajain.com>","In-Reply-To":"<17ef758b-3563-dd9e-d364-9a2d5967d2bb@uajain.com>","From":"Hirokazu Honda <hiroh@chromium.org>","Date":"Mon, 19 Oct 2020 14:48:15 +0900","Message-ID":"<CAO5uPHOv2UnzciN3ohv+BSMiDUZ5pAQsFj-az09APcOWpJ5=jQ@mail.gmail.com>","To":"Umang Jain <email@uajain.com>","Subject":"Re: [libcamera-devel] [PATCH v2 1/2] android: post_processor:\n\tIntroduce a PostProcessor interface","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=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]