Patch Detail
Show a patch.
GET /api/1.1/patches/9008/?format=api
{ "id": 9008, "url": "https://patchwork.libcamera.org/api/1.1/patches/9008/?format=api", "web_url": "https://patchwork.libcamera.org/patch/9008/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/1.1/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": "<20200725164243.168297-2-jacopo@jmondi.org>", "date": "2020-07-25T16:42:39", "name": "[libcamera-devel,1/5] android: camera_device: Report more control modes", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "3f555f9778f8fbf34fcd4f9a75a8407f00f22bf3", "submitter": { "id": 3, "url": "https://patchwork.libcamera.org/api/1.1/people/3/?format=api", "name": "Jacopo Mondi", "email": "jacopo@jmondi.org" }, "delegate": { "id": 15, "url": "https://patchwork.libcamera.org/api/1.1/users/15/?format=api", "username": "jmondi", "first_name": "Jacopo", "last_name": "Mondi", "email": "jacopo@jmondi.org" }, "mbox": "https://patchwork.libcamera.org/patch/9008/mbox/", "series": [ { "id": 1147, "url": "https://patchwork.libcamera.org/api/1.1/series/1147/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=1147", "date": "2020-07-25T16:42:38", "name": "android: cts: Fix Manual and VideoRecording templates", "version": 1, "mbox": "https://patchwork.libcamera.org/series/1147/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/9008/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/9008/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 F2121BD86F\n\tfor <parsemail@patchwork.libcamera.org>;\n\tSat, 25 Jul 2020 16:39:12 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id CE9BB61366;\n\tSat, 25 Jul 2020 18:39:12 +0200 (CEST)", "from relay4-d.mail.gandi.net (relay4-d.mail.gandi.net\n\t[217.70.183.196])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id F30A761212\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSat, 25 Jul 2020 18:39:10 +0200 (CEST)", "from uno.lan (2-224-242-101.ip172.fastwebnet.it [2.224.242.101])\n\t(Authenticated sender: jacopo@jmondi.org)\n\tby relay4-d.mail.gandi.net (Postfix) with ESMTPSA id 70A3FE0004;\n\tSat, 25 Jul 2020 16:39:10 +0000 (UTC)" ], "X-Originating-IP": "2.224.242.101", "From": "Jacopo Mondi <jacopo@jmondi.org>", "To": "libcamera-devel@lists.libcamera.org", "Date": "Sat, 25 Jul 2020 18:42:39 +0200", "Message-Id": "<20200725164243.168297-2-jacopo@jmondi.org>", "X-Mailer": "git-send-email 2.27.0", "In-Reply-To": "<20200725164243.168297-1-jacopo@jmondi.org>", "References": "<20200725164243.168297-1-jacopo@jmondi.org>", "MIME-Version": "1.0", "Subject": "[libcamera-devel] [PATCH 1/5] android: camera_device: Report more\n\tcontrol modes", "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>", "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>" }, "content": "In order to prepare to construct the request template for the manual\nmode use case, which requires all automatic controls of the pipeline to\nbe disabled, advertise support for the AE, AWB and AF algorithms on/off\nmodes to the static camera characteristics metadata pack,\n\nWhile at it, change the type of the supported control modes from char to\nuint8_t, as it's the type used for all other 'byte' controls.\n\nSigned-off-by: Jacopo Mondi <jacopo@jmondi.org>\n---\n src/android/camera_device.cpp | 13 ++++++++++---\n 1 file changed, 10 insertions(+), 3 deletions(-)", "diff": "diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp\nindex d667c4f126f3..fa4570fabdd7 100644\n--- a/src/android/camera_device.cpp\n+++ b/src/android/camera_device.cpp\n@@ -377,7 +377,7 @@ std::tuple<uint32_t, uint32_t> CameraDevice::calculateStaticMetadataSize()\n \t * Currently: 50 entries, 647 bytes of static metadata\n \t */\n \tuint32_t numEntries = 50;\n-\tuint32_t byteSize = 667;\n+\tuint32_t byteSize = 671;\n \n \t/*\n \t * Calculate space occupation in bytes for dynamically built metadata\n@@ -438,6 +438,7 @@ const camera_metadata_t *CameraDevice::getStaticMetadata()\n \n \tstd::vector<uint8_t> aeAvailableModes = {\n \t\tANDROID_CONTROL_AE_MODE_ON,\n+\t\tANDROID_CONTROL_AE_MODE_OFF,\n \t};\n \tstaticMetadata_->addEntry(ANDROID_CONTROL_AE_AVAILABLE_MODES,\n \t\t\t\t aeAvailableModes.data(),\n@@ -464,6 +465,7 @@ const camera_metadata_t *CameraDevice::getStaticMetadata()\n \t\t\t\t aeCompensationStep, 1);\n \n \tstd::vector<uint8_t> availableAfModes = {\n+\t\tANDROID_CONTROL_AF_MODE_AUTO,\n \t\tANDROID_CONTROL_AF_MODE_OFF,\n \t};\n \tstaticMetadata_->addEntry(ANDROID_CONTROL_AF_AVAILABLE_MODES,\n@@ -492,6 +494,7 @@ const camera_metadata_t *CameraDevice::getStaticMetadata()\n \t\t\t\t availableStabilizationModes.size());\n \n \tstd::vector<uint8_t> availableAwbModes = {\n+\t\tANDROID_CONTROL_AWB_MODE_AUTO,\n \t\tANDROID_CONTROL_AWB_MODE_OFF,\n \t};\n \tstaticMetadata_->addEntry(ANDROID_CONTROL_AWB_AVAILABLE_MODES,\n@@ -522,9 +525,13 @@ const camera_metadata_t *CameraDevice::getStaticMetadata()\n \tstaticMetadata_->addEntry(ANDROID_CONTROL_AWB_LOCK_AVAILABLE,\n \t\t\t\t &awbLockAvailable, 1);\n \n-\tchar availableControlModes = ANDROID_CONTROL_MODE_AUTO;\n+\tstd::vector<uint8_t> availableControlModes = {\n+\t\tANDROID_CONTROL_MODE_AUTO,\n+\t\tANDROID_CONTROL_MODE_OFF,\n+\t};\n \tstaticMetadata_->addEntry(ANDROID_CONTROL_AVAILABLE_MODES,\n-\t\t\t\t &availableControlModes, 1);\n+\t\t\t\t availableControlModes.data(),\n+\t\t\t\t availableControlModes.size());\n \n \t/* JPEG static metadata. */\n \tstd::vector<int32_t> availableThumbnailSizes = {\n", "prefixes": [ "libcamera-devel", "1/5" ] }