[{"id":19895,"web_url":"https://patchwork.libcamera.org/comment/19895/","msgid":"<20210927195102.rzwjbr2xeah7d2xd@uno.localdomain>","date":"2021-09-27T19:51:02","subject":"Re: [libcamera-devel] [PATCH v4 2/2] android: Fix generation of\n\tthumbnail for EXIF data","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/people/3/","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"content":"Hi Umang,\n\nOn Thu, Sep 23, 2021 at 02:07:48PM +0530, Umang Jain wrote:\n> Generation of thumbnail is not occuring currently because\n> ANDROID_JPEG_THUMBNAIL_SIZE is not set for request metadata passed\n> to PostProcessorJpeg::process(). This is a regression introduced in\n> 1264628d3c92(\"android: jpeg: Configure thumbnailer based on request\n> metadata\").\n>\n> The patch fixes this issue by setting ANDROID_JPEG_THUMBNAIL_SIZE in\n> the request metadata template populated by\n> CameraCapabilities::requestTemplatePreview(). The value for\n> ANDROID_JPEG_THUMBNAIL_SIZE is set to be the first non-zero size\n> reported by static metadata ANDROID_JPEG_AVAILABLE_THUMBNAIL_SIZES.\n>\n> Fixes: 1264628d3c92(\"android: jpeg: Configure thumbnailer based on request metadata\")\n> Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>\n> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> Reviewed-by: Hirokazu Honda <hiroh@chromium.org>\n\nReviewed-by: Jacopo Mondi <jacopo@jmondi.org>\n\nThanks\n  j\n\n> ---\n>  src/android/camera_capabilities.cpp | 21 ++++++++++++++++++++-\n>  1 file changed, 20 insertions(+), 1 deletion(-)\n>\n> diff --git a/src/android/camera_capabilities.cpp b/src/android/camera_capabilities.cpp\n> index edeb6943..ed59ae1c 100644\n> --- a/src/android/camera_capabilities.cpp\n> +++ b/src/android/camera_capabilities.cpp\n> @@ -1347,7 +1347,7 @@ std::unique_ptr<CameraMetadata> CameraCapabilities::requestTemplatePreview() con\n>  \t * CameraMetadata is capable of resizing the container on the fly, if\n>  \t * adding a new entry will exceed its capacity.\n>  \t */\n> -\tauto requestTemplate = std::make_unique<CameraMetadata>(21, 36);\n> +\tauto requestTemplate = std::make_unique<CameraMetadata>(22, 38);\n>  \tif (!requestTemplate->isValid()) {\n>  \t\treturn nullptr;\n>  \t}\n> @@ -1368,6 +1368,25 @@ std::unique_ptr<CameraMetadata> CameraCapabilities::requestTemplatePreview() con\n>  \trequestTemplate->addEntry(ANDROID_CONTROL_AE_TARGET_FPS_RANGE,\n>  \t\t\t\t  entry.data.i32, 2);\n>\n> +\t/*\n> +\t * Get thumbnail sizes from static metadata and add the first non-zero\n> +\t * size to the template.\n> +\t */\n> +\tfound = staticMetadata_->getEntry(ANDROID_JPEG_AVAILABLE_THUMBNAIL_SIZES,\n> +\t\t\t\t\t  &entry);\n> +\tASSERT(found && entry.count >= 4);\n> +\tunsigned int j = 0;\n> +\twhile (j < entry.count / 2) {\n> +\t\tif (entry.data.i32[j] == 0 || entry.data.i32[j + 1] == 0) {\n> +\t\t\tj += 2;\n> +\t\t\tcontinue;\n> +\t\t}\n> +\n> +\t\trequestTemplate->addEntry(ANDROID_JPEG_THUMBNAIL_SIZE,\n> +\t\t\t\t\t  entry.data.i32 + j, 2);\n> +\t\tbreak;\n}\n> +\t}\n>  \tuint8_t aeMode = ANDROID_CONTROL_AE_MODE_ON;\n>  \trequestTemplate->addEntry(ANDROID_CONTROL_AE_MODE, aeMode);\n>\n> --\n> 2.31.1\n>","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 4F6A6BDC71\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 27 Sep 2021 19:50:16 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id ABBAA6918E;\n\tMon, 27 Sep 2021 21:50:15 +0200 (CEST)","from relay2-d.mail.gandi.net (relay2-d.mail.gandi.net\n\t[217.70.183.194])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id BA5236012C\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 27 Sep 2021 21:50:14 +0200 (CEST)","(Authenticated sender: jacopo@jmondi.org)\n\tby relay2-d.mail.gandi.net (Postfix) with ESMTPSA id 466DB40004;\n\tMon, 27 Sep 2021 19:50:13 +0000 (UTC)"],"Date":"Mon, 27 Sep 2021 21:51:02 +0200","From":"Jacopo Mondi <jacopo@jmondi.org>","To":"Umang Jain <umang.jain@ideasonboard.com>","Message-ID":"<20210927195102.rzwjbr2xeah7d2xd@uno.localdomain>","References":"<20210923083748.146265-1-umang.jain@ideasonboard.com>\n\t<20210923083748.146265-3-umang.jain@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20210923083748.146265-3-umang.jain@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH v4 2/2] android: Fix generation of\n\tthumbnail for EXIF data","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","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]