Show a patch.

GET /api/patches/1851/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "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"
    ]
}