Patch Detail
Show a patch.
GET /api/patches/1851/?format=api
{ "id": 1851, "url": "https://patchwork.libcamera.org/api/patches/1851/?format=api", "web_url": "https://patchwork.libcamera.org/patch/1851/", "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": "<20190818011329.14499-15-laurent.pinchart@ideasonboard.com>", "date": "2019-08-18T01:13:29", "name": "[libcamera-devel,14/14] android: camera_device: Store static metadata in cache", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "4934ea6d390968ff72f2297c26561f15d5dde791", "submitter": { "id": 2, "url": "https://patchwork.libcamera.org/api/people/2/?format=api", "name": "Laurent Pinchart", "email": "laurent.pinchart@ideasonboard.com" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/1851/mbox/", "series": [ { "id": 464, "url": "https://patchwork.libcamera.org/api/series/464/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=464", "date": "2019-08-18T01:13:15", "name": "Assorted fixes for Android camera HAL", "version": 1, "mbox": "https://patchwork.libcamera.org/series/464/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/1851/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/1851/checks/", "tags": {}, "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 E38E161929\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSun, 18 Aug 2019 03:13:45 +0200 (CEST)", "from pendragon.bb.dnainternet.fi\n\t(dfj612yhrgyx302h3jwwy-3.rev.dnainternet.fi\n\t[IPv6:2001:14ba:21f5:5b00:ce28:277f:58d7:3ca4])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 7CB6051C\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSun, 18 Aug 2019 03:13:45 +0200 (CEST)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1566090825;\n\tbh=rktlRI8NhJhkP4pGa7foujYjoTlOhpZQf+vZ+qjb5jM=;\n\th=From:To:Subject:Date:In-Reply-To:References:From;\n\tb=FQW7g58Q172ZSBGyIW0Asm2yue1TpGmk1KPZYDQIzLxETukm56xuBhgUXO4Zi/1uM\n\tXqJQnawredeS6Azb1eeUuKzGRJr3ro1hBNzHSuUEyub7fgXh4JRKoSckVn61VqFxCe\n\tV2tZuEdOo4x+7yF/gPj3omoJnVXvG040Bf95oFww=", "From": "Laurent Pinchart <laurent.pinchart@ideasonboard.com>", "To": "libcamera-devel@lists.libcamera.org", "Date": "Sun, 18 Aug 2019 04:13:29 +0300", "Message-Id": "<20190818011329.14499-15-laurent.pinchart@ideasonboard.com>", "X-Mailer": "git-send-email 2.21.0", "In-Reply-To": "<20190818011329.14499-1-laurent.pinchart@ideasonboard.com>", "References": "<20190818011329.14499-1-laurent.pinchart@ideasonboard.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Subject": "[libcamera-devel] [PATCH 14/14] android: camera_device: Store\n\tstatic metadata in cache", "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": "Sun, 18 Aug 2019 01:13:46 -0000" }, "content": "The CameraDevice class has a mechanism to cache static metadata, but\ndoesn't use it. Fix it.\n\nSigned-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n---\n src/android/camera_device.cpp | 42 +++++++++++++++++------------------\n 1 file changed, 21 insertions(+), 21 deletions(-)", "diff": "diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp\nindex 9acfed694abc..c27175ac090d 100644\n--- a/src/android/camera_device.cpp\n+++ b/src/android/camera_device.cpp\n@@ -131,14 +131,14 @@ camera_metadata_t *CameraDevice::getStaticMetadata()\n \t/* \\todo Use correct sizes */\n \t#define STATIC_ENTRY_CAP 256\n \t#define STATIC_DATA_CAP 6688\n-\tcamera_metadata_t *staticMetadata =\n-\t\tallocate_camera_metadata(STATIC_ENTRY_CAP, STATIC_DATA_CAP);\n+\tstaticMetadata_ = allocate_camera_metadata(STATIC_ENTRY_CAP,\n+\t\t\t\t\t\t STATIC_DATA_CAP);\n \n \t/* Sensor static metadata. */\n \tint32_t pixelArraySize[] = {\n \t\t2592, 1944,\n \t};\n-\tret = add_camera_metadata_entry(staticMetadata,\n+\tret = add_camera_metadata_entry(staticMetadata_,\n \t\t\t\tANDROID_SENSOR_INFO_PIXEL_ARRAY_SIZE,\n \t\t\t\t&pixelArraySize, 2);\n \tMETADATA_ASSERT(ret);\n@@ -146,7 +146,7 @@ camera_metadata_t *CameraDevice::getStaticMetadata()\n \tint32_t sensorSizes[] = {\n \t\t0, 0, 2560, 1920,\n \t};\n-\tret = add_camera_metadata_entry(staticMetadata,\n+\tret = add_camera_metadata_entry(staticMetadata_,\n \t\t\t\tANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE,\n \t\t\t\t&sensorSizes, 4);\n \tMETADATA_ASSERT(ret);\n@@ -154,13 +154,13 @@ camera_metadata_t *CameraDevice::getStaticMetadata()\n \tint32_t sensitivityRange[] = {\n \t\t32, 2400,\n \t};\n-\tret = add_camera_metadata_entry(staticMetadata,\n+\tret = add_camera_metadata_entry(staticMetadata_,\n \t\t\t\tANDROID_SENSOR_INFO_SENSITIVITY_RANGE,\n \t\t\t\t&sensitivityRange, 2);\n \tMETADATA_ASSERT(ret);\n \n \tuint16_t filterArr = ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG;\n-\tret = add_camera_metadata_entry(staticMetadata,\n+\tret = add_camera_metadata_entry(staticMetadata_,\n \t\t\t\tANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT,\n \t\t\t\t&filterArr, 1);\n \tMETADATA_ASSERT(ret);\n@@ -168,33 +168,33 @@ camera_metadata_t *CameraDevice::getStaticMetadata()\n \tint64_t exposureTimeRange[] = {\n \t\t100000, 200000000,\n \t};\n-\tret = add_camera_metadata_entry(staticMetadata,\n+\tret = add_camera_metadata_entry(staticMetadata_,\n \t\t\t\tANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE,\n \t\t\t\t&exposureTimeRange, 2);\n \tMETADATA_ASSERT(ret);\n \n \tint32_t orientation = 0;\n-\tret = add_camera_metadata_entry(staticMetadata,\n+\tret = add_camera_metadata_entry(staticMetadata_,\n \t\t\t\tANDROID_SENSOR_ORIENTATION,\n \t\t\t\t&orientation, 1);\n \tMETADATA_ASSERT(ret);\n \n \t/* Flash static metadata. */\n \tchar flashAvailable = ANDROID_FLASH_INFO_AVAILABLE_FALSE;\n-\tret = add_camera_metadata_entry(staticMetadata,\n+\tret = add_camera_metadata_entry(staticMetadata_,\n \t\t\tANDROID_FLASH_INFO_AVAILABLE,\n \t\t\t&flashAvailable, 1);\n \tMETADATA_ASSERT(ret);\n \n \t/* Lens static metadata. */\n \tfloat fn = 2.53 / 100;\n-\tret = add_camera_metadata_entry(staticMetadata,\n+\tret = add_camera_metadata_entry(staticMetadata_,\n \t\t\t\tANDROID_LENS_INFO_AVAILABLE_APERTURES, &fn, 1);\n \tMETADATA_ASSERT(ret);\n \n \t/* Control metadata. */\n \tchar controlMetadata = ANDROID_CONTROL_MODE_AUTO;\n-\tret = add_camera_metadata_entry(staticMetadata,\n+\tret = add_camera_metadata_entry(staticMetadata_,\n \t\t\tANDROID_CONTROL_AVAILABLE_MODES,\n \t\t\t&controlMetadata, 1);\n \tMETADATA_ASSERT(ret);\n@@ -205,7 +205,7 @@ camera_metadata_t *CameraDevice::getStaticMetadata()\n \t\tANDROID_CONTROL_AE_ANTIBANDING_MODE_60HZ,\n \t\tANDROID_CONTROL_AE_ANTIBANDING_MODE_AUTO,\n \t};\n-\tret = add_camera_metadata_entry(staticMetadata,\n+\tret = add_camera_metadata_entry(staticMetadata_,\n \t\t\tANDROID_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES,\n \t\t\tavailableAntiBandingModes, 4);\n \tMETADATA_ASSERT(ret);\n@@ -214,19 +214,19 @@ camera_metadata_t *CameraDevice::getStaticMetadata()\n \t\tANDROID_CONTROL_AE_MODE_ON,\n \t\tANDROID_CONTROL_AE_MODE_OFF,\n \t};\n-\tret = add_camera_metadata_entry(staticMetadata,\n+\tret = add_camera_metadata_entry(staticMetadata_,\n \t\t\tANDROID_CONTROL_AE_AVAILABLE_MODES,\n \t\t\taeAvailableModes, 2);\n \tMETADATA_ASSERT(ret);\n \n \tcontrolMetadata = ANDROID_CONTROL_AE_LOCK_AVAILABLE_TRUE;\n-\tret = add_camera_metadata_entry(staticMetadata,\n+\tret = add_camera_metadata_entry(staticMetadata_,\n \t\t\tANDROID_CONTROL_AE_LOCK_AVAILABLE,\n \t\t\t&controlMetadata, 1);\n \tMETADATA_ASSERT(ret);\n \n \tuint8_t awbLockAvailable = ANDROID_CONTROL_AWB_LOCK_AVAILABLE_FALSE;\n-\tret = add_camera_metadata_entry(staticMetadata,\n+\tret = add_camera_metadata_entry(staticMetadata_,\n \t\t\tANDROID_CONTROL_AWB_LOCK_AVAILABLE,\n \t\t\t&awbLockAvailable, 1);\n \n@@ -236,7 +236,7 @@ camera_metadata_t *CameraDevice::getStaticMetadata()\n \t\tANDROID_SCALER_AVAILABLE_FORMATS_YCbCr_420_888,\n \t\tANDROID_SCALER_AVAILABLE_FORMATS_IMPLEMENTATION_DEFINED,\n \t};\n-\tret = add_camera_metadata_entry(staticMetadata,\n+\tret = add_camera_metadata_entry(staticMetadata_,\n \t\t\tANDROID_SCALER_AVAILABLE_FORMATS,\n \t\t\tavailableStreamFormats.data(),\n \t\t\tavailableStreamFormats.size());\n@@ -250,7 +250,7 @@ camera_metadata_t *CameraDevice::getStaticMetadata()\n \t\tANDROID_SCALER_AVAILABLE_FORMATS_IMPLEMENTATION_DEFINED, 2560, 1920,\n \t\tANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT,\n \t};\n-\tret = add_camera_metadata_entry(staticMetadata,\n+\tret = add_camera_metadata_entry(staticMetadata_,\n \t\t\tANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS,\n \t\t\tavailableStreamConfigurations.data(),\n \t\t\tavailableStreamConfigurations.size());\n@@ -259,7 +259,7 @@ camera_metadata_t *CameraDevice::getStaticMetadata()\n \tstd::vector<int64_t> availableStallDurations = {\n \t\tANDROID_SCALER_AVAILABLE_FORMATS_BLOB, 2560, 1920, 33333333,\n \t};\n-\tret = add_camera_metadata_entry(staticMetadata,\n+\tret = add_camera_metadata_entry(staticMetadata_,\n \t\t\tANDROID_SCALER_AVAILABLE_STALL_DURATIONS,\n \t\t\tavailableStallDurations.data(),\n \t\t\tavailableStallDurations.size());\n@@ -270,18 +270,18 @@ camera_metadata_t *CameraDevice::getStaticMetadata()\n \t\tANDROID_SCALER_AVAILABLE_FORMATS_IMPLEMENTATION_DEFINED, 2560, 1920, 33333333,\n \t\tANDROID_SCALER_AVAILABLE_FORMATS_YCbCr_420_888, 2560, 1920, 33333333,\n \t};\n-\tret = add_camera_metadata_entry(staticMetadata,\n+\tret = add_camera_metadata_entry(staticMetadata_,\n \t\t\tANDROID_SCALER_AVAILABLE_MIN_FRAME_DURATIONS,\n \t\t\tminFrameDurations.data(), minFrameDurations.size());\n \tMETADATA_ASSERT(ret);\n \n \t/* Info static metadata. */\n \tuint8_t supportedHWLevel = ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED;\n-\tret = add_camera_metadata_entry(staticMetadata,\n+\tret = add_camera_metadata_entry(staticMetadata_,\n \t\t\tANDROID_INFO_SUPPORTED_HARDWARE_LEVEL,\n \t\t\t&supportedHWLevel, 1);\n \n-\treturn staticMetadata;\n+\treturn staticMetadata_;\n }\n \n /*\n", "prefixes": [ "libcamera-devel", "14/14" ] }