Patch Detail
Show a patch.
GET /api/patches/13859/?format=api
{ "id": 13859, "url": "https://patchwork.libcamera.org/api/patches/13859/?format=api", "web_url": "https://patchwork.libcamera.org/patch/13859/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/projects/1/?format=api", "name": "libcamera", "link_name": "libcamera", "list_id": "libcamera_core", "list_email": "libcamera-devel@lists.libcamera.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20210916095109.3500965-1-paul.elder@ideasonboard.com>", "date": "2021-09-16T09:51:09", "name": "[libcamera-devel] android: Plumb lens filter density", "commit_ref": null, "pull_url": null, "state": "not-applicable", "archived": false, "hash": "caf78ebc6f1f154a991b64c52ba7bccab258d255", "submitter": { "id": 17, "url": "https://patchwork.libcamera.org/api/people/17/?format=api", "name": "Paul Elder", "email": "paul.elder@ideasonboard.com" }, "delegate": { "id": 17, "url": "https://patchwork.libcamera.org/api/users/17/?format=api", "username": "epaul", "first_name": "Paul", "last_name": "Elder", "email": "paul.elder@ideasonboard.com" }, "mbox": "https://patchwork.libcamera.org/patch/13859/mbox/", "series": [ { "id": 2536, "url": "https://patchwork.libcamera.org/api/series/2536/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=2536", "date": "2021-09-16T09:51:09", "name": "[libcamera-devel] android: Plumb lens filter density", "version": 1, "mbox": "https://patchwork.libcamera.org/series/2536/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/13859/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/13859/checks/", "tags": {}, "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 7B1C7BF01C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 16 Sep 2021 09:51:22 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id CC31969186;\n\tThu, 16 Sep 2021 11:51:21 +0200 (CEST)", "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 6B5FB69181\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 16 Sep 2021 11:51:20 +0200 (CEST)", "from pyrite.rasen.tech (unknown\n\t[IPv6:2400:4051:61:600:2c71:1b79:d06d:5032])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id A89C22A5;\n\tThu, 16 Sep 2021 11:51:18 +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=\"Aiebl/T9\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1631785879;\n\tbh=LKOtPhlzBv5P8nIaswy3WDoyMdWHiGH01Zi9LP2XSVE=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=Aiebl/T9IECNsmkSD/toh33pvHhVcao6zkeCXVv7sPfH7ViytKD7waMcf2ttb7esz\n\tN0+A3ddoePFRhJ9ZijjeurLQrDXD0v8WnFBEU1okKrP05xBAiGtcsOB4KLZWgF2te9\n\tM5sI+NBjiWwTh4B+lTs76jhl+BcXqZi5jDqdfXVw=", "From": "Paul Elder <paul.elder@ideasonboard.com>", "To": "libcamera-devel@lists.libcamera.org", "Date": "Thu, 16 Sep 2021 18:51:09 +0900", "Message-Id": "<20210916095109.3500965-1-paul.elder@ideasonboard.com>", "X-Mailer": "git-send-email 2.27.0", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Subject": "[libcamera-devel] [PATCH] android: Plumb lens filter density", "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>", "Errors-To": "libcamera-devel-bounces@lists.libcamera.org", "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>" }, "content": "Plumb the lens filter density android control through the HAL. Hardcode\nthe template and result controls to zero, and ignore the request\ncontrol. Report only the zero filter density in the static metadata.\n\nSigned-off-by: Paul Elder <paul.elder@ideasonboard.com>\n---\n src/android/camera_capabilities.cpp | 11 +++++++++++\n src/android/camera_device.cpp | 3 +++\n 2 files changed, 14 insertions(+)", "diff": "diff --git a/src/android/camera_capabilities.cpp b/src/android/camera_capabilities.cpp\nindex cf0ce0b3..40b74274 100644\n--- a/src/android/camera_capabilities.cpp\n+++ b/src/android/camera_capabilities.cpp\n@@ -734,6 +734,7 @@ int CameraCapabilities::initializeStaticMetadata()\n \t\tANDROID_JPEG_MAX_SIZE,\n \t\tANDROID_LENS_FACING,\n \t\tANDROID_LENS_INFO_AVAILABLE_APERTURES,\n+\t\tANDROID_LENS_INFO_AVAILABLE_FILTER_DENSITIES,\n \t\tANDROID_LENS_INFO_AVAILABLE_FOCAL_LENGTHS,\n \t\tANDROID_LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION,\n \t\tANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION,\n@@ -787,6 +788,7 @@ int CameraCapabilities::initializeStaticMetadata()\n \t\tANDROID_JPEG_THUMBNAIL_QUALITY,\n \t\tANDROID_JPEG_THUMBNAIL_SIZE,\n \t\tANDROID_LENS_APERTURE,\n+\t\tANDROID_LENS_FILTER_DENSITY,\n \t\tANDROID_LENS_OPTICAL_STABILIZATION_MODE,\n \t\tANDROID_NOISE_REDUCTION_MODE,\n \t\tANDROID_SCALER_CROP_REGION,\n@@ -824,6 +826,7 @@ int CameraCapabilities::initializeStaticMetadata()\n \t\tANDROID_JPEG_THUMBNAIL_QUALITY,\n \t\tANDROID_JPEG_THUMBNAIL_SIZE,\n \t\tANDROID_LENS_APERTURE,\n+\t\tANDROID_LENS_FILTER_DENSITY,\n \t\tANDROID_LENS_FOCAL_LENGTH,\n \t\tANDROID_LENS_FOCUS_DISTANCE,\n \t\tANDROID_LENS_OPTICAL_STABILIZATION_MODE,\n@@ -1241,6 +1244,11 @@ int CameraCapabilities::initializeStaticMetadata()\n \tstaticMetadata_->addEntry(ANDROID_LENS_INFO_AVAILABLE_APERTURES,\n \t\t\t\t lensApertures);\n \n+\t/* Only required for FULL, but it's hardcoded anyway. */\n+\tstd::vector<float> availableFilterDensities = { 0 };\n+\tstaticMetadata_->addEntry(ANDROID_LENS_INFO_AVAILABLE_FILTER_DENSITIES,\n+\t\t\t\t availableFilterDensities);\n+\n \tuint8_t lensFacing;\n \tswitch (facing_) {\n \tdefault:\n@@ -1543,6 +1551,9 @@ std::unique_ptr<CameraMetadata> CameraCapabilities::requestTemplatePreview() con\n \tfloat lensAperture = 2.53 / 100;\n \trequestTemplate->addEntry(ANDROID_LENS_APERTURE, lensAperture);\n \n+\tfloat filterDensity = 0.0f;\n+\trequestTemplate->addEntry(ANDROID_LENS_FILTER_DENSITY, filterDensity);\n+\n \tuint8_t opticalStabilization = ANDROID_LENS_OPTICAL_STABILIZATION_MODE_OFF;\n \trequestTemplate->addEntry(ANDROID_LENS_OPTICAL_STABILIZATION_MODE,\n \t\t\t\t opticalStabilization);\ndiff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp\nindex c1f8847f..724b39b1 100644\n--- a/src/android/camera_device.cpp\n+++ b/src/android/camera_device.cpp\n@@ -1428,6 +1428,9 @@ CameraDevice::getResultMetadata(const Camera3RequestDescriptor &descriptor) cons\n \tif (settings.getEntry(ANDROID_LENS_APERTURE, &entry))\n \t\tresultMetadata->addEntry(ANDROID_LENS_APERTURE, entry.data.f, 1);\n \n+\tfloat filterDensity = 0.0f;\n+\tresultMetadata->addEntry(ANDROID_LENS_FILTER_DENSITY, filterDensity);\n+\n \tfloat focal_length = 1.0;\n \tresultMetadata->addEntry(ANDROID_LENS_FOCAL_LENGTH, focal_length);\n \n", "prefixes": [ "libcamera-devel" ] }