Show a patch.

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

{
    "id": 14139,
    "url": "https://patchwork.libcamera.org/api/1.1/patches/14139/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/14139/",
    "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": "<20211014174208.50509-4-jacopo@jmondi.org>",
    "date": "2021-10-14T17:41:55",
    "name": "[libcamera-devel,v4,03/16] libcamera: ipu3: Rationalize constant expressions names",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "823b0d61469549e357fc53590812023797be40a7",
    "submitter": {
        "id": 3,
        "url": "https://patchwork.libcamera.org/api/1.1/people/3/?format=api",
        "name": "Jacopo Mondi",
        "email": "jacopo@jmondi.org"
    },
    "delegate": null,
    "mbox": "https://patchwork.libcamera.org/patch/14139/mbox/",
    "series": [
        {
            "id": 2628,
            "url": "https://patchwork.libcamera.org/api/1.1/series/2628/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=2628",
            "date": "2021-10-14T17:41:52",
            "name": "IPU3 control info update and HAL frame durations",
            "version": 4,
            "mbox": "https://patchwork.libcamera.org/series/2628/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/14139/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/14139/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 D8851C323E\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 14 Oct 2021 17:41:29 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id B57D568F58;\n\tThu, 14 Oct 2021 19:41:29 +0200 (CEST)",
            "from relay9-d.mail.gandi.net (relay9-d.mail.gandi.net\n\t[217.70.183.199])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 29F4D68F55\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 14 Oct 2021 19:41:27 +0200 (CEST)",
            "(Authenticated sender: jacopo@jmondi.org)\n\tby relay9-d.mail.gandi.net (Postfix) with ESMTPSA id 0DB2EFF805;\n\tThu, 14 Oct 2021 17:41:25 +0000 (UTC)"
        ],
        "From": "Jacopo Mondi <jacopo@jmondi.org>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Date": "Thu, 14 Oct 2021 19:41:55 +0200",
        "Message-Id": "<20211014174208.50509-4-jacopo@jmondi.org>",
        "X-Mailer": "git-send-email 2.33.0",
        "In-Reply-To": "<20211014174208.50509-1-jacopo@jmondi.org>",
        "References": "<20211014174208.50509-1-jacopo@jmondi.org>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[libcamera-devel] [PATCH v4 03/16] libcamera: ipu3: Rationalize\n\tconstant expressions names",
        "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": "Following the previous patch that moved all the ImgU-related contants in\nthe ImgUDevice class namespace and that aligned their naming scheme to\nthe 'kNameOfConstant' scheme, apply the same changes to the other\ncomponents of the IPU3 pipeline handler.\n\nCosmetic change, no functional changes intended.\n\nSigned-off-by: Jacopo Mondi <jacopo@jmondi.org>\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n---\n src/libcamera/pipeline/ipu3/cio2.cpp |  6 +++---\n src/libcamera/pipeline/ipu3/cio2.h   |  2 +-\n src/libcamera/pipeline/ipu3/ipu3.cpp | 22 +++++++++++-----------\n 3 files changed, 15 insertions(+), 15 deletions(-)",
    "diff": "diff --git a/src/libcamera/pipeline/ipu3/cio2.cpp b/src/libcamera/pipeline/ipu3/cio2.cpp\nindex dc62ab197acb..59dda56bdd3d 100644\n--- a/src/libcamera/pipeline/ipu3/cio2.cpp\n+++ b/src/libcamera/pipeline/ipu3/cio2.cpp\n@@ -234,7 +234,7 @@ StreamConfiguration CIO2Device::generateConfiguration(Size size) const\n \n \tcfg.size = sensorFormat.size;\n \tcfg.pixelFormat = mbusCodesToPixelFormat.at(sensorFormat.mbus_code);\n-\tcfg.bufferCount = CIO2_BUFFER_COUNT;\n+\tcfg.bufferCount = kBufferCount;\n \n \treturn cfg;\n }\n@@ -338,11 +338,11 @@ int CIO2Device::exportBuffers(unsigned int count,\n \n int CIO2Device::start()\n {\n-\tint ret = output_->exportBuffers(CIO2_BUFFER_COUNT, &buffers_);\n+\tint ret = output_->exportBuffers(kBufferCount, &buffers_);\n \tif (ret < 0)\n \t\treturn ret;\n \n-\tret = output_->importBuffers(CIO2_BUFFER_COUNT);\n+\tret = output_->importBuffers(kBufferCount);\n \tif (ret)\n \t\tLOG(IPU3, Error) << \"Failed to import CIO2 buffers\";\n \ndiff --git a/src/libcamera/pipeline/ipu3/cio2.h b/src/libcamera/pipeline/ipu3/cio2.h\nindex 5fffe921f213..ba8f0052c5b3 100644\n--- a/src/libcamera/pipeline/ipu3/cio2.h\n+++ b/src/libcamera/pipeline/ipu3/cio2.h\n@@ -30,7 +30,7 @@ struct StreamConfiguration;\n class CIO2Device\n {\n public:\n-\tstatic constexpr unsigned int CIO2_BUFFER_COUNT = 4;\n+\tstatic constexpr unsigned int kBufferCount = 4;\n \n \tCIO2Device();\n \ndiff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp\nindex 76fe9edb7dbc..11ac55c02681 100644\n--- a/src/libcamera/pipeline/ipu3/ipu3.cpp\n+++ b/src/libcamera/pipeline/ipu3/ipu3.cpp\n@@ -39,10 +39,6 @@ namespace libcamera {\n \n LOG_DEFINE_CATEGORY(IPU3)\n \n-static constexpr unsigned int IPU3_BUFFER_COUNT = 4;\n-static constexpr unsigned int IPU3_MAX_STREAMS = 3;\n-static constexpr Size IPU3ViewfinderSize(1280, 720);\n-\n static const ControlInfoMap::Map IPU3Controls = {\n \t{ &controls::draft::PipelineDepth, ControlInfo(2, 3) },\n };\n@@ -93,6 +89,9 @@ private:\n class IPU3CameraConfiguration : public CameraConfiguration\n {\n public:\n+\tstatic constexpr unsigned int kBufferCount = 4;\n+\tstatic constexpr unsigned int kMaxStreams = 3;\n+\n \tIPU3CameraConfiguration(IPU3CameraData *data);\n \n \tStatus validate() override;\n@@ -119,6 +118,7 @@ class PipelineHandlerIPU3 : public PipelineHandler\n {\n public:\n \tstatic constexpr unsigned int V4L2_CID_IPU3_PIPE_MODE = 0x009819c1;\n+\tstatic constexpr Size kViewfinderSize{ 1280, 720 };\n \n \tenum IPU3PipeModes {\n \t\tIPU3PipeModeVideo = 0,\n@@ -218,8 +218,8 @@ CameraConfiguration::Status IPU3CameraConfiguration::validate()\n \tcombinedTransform_ = combined;\n \n \t/* Cap the number of entries to the available streams. */\n-\tif (config_.size() > IPU3_MAX_STREAMS) {\n-\t\tconfig_.resize(IPU3_MAX_STREAMS);\n+\tif (config_.size() > kMaxStreams) {\n+\t\tconfig_.resize(kMaxStreams);\n \t\tstatus = Adjusted;\n \t}\n \n@@ -356,7 +356,7 @@ CameraConfiguration::Status IPU3CameraConfiguration::validate()\n \t\t\t\t\t      ImgUDevice::kOutputAlignHeight);\n \n \t\t\tcfg->pixelFormat = formats::NV12;\n-\t\t\tcfg->bufferCount = IPU3_BUFFER_COUNT;\n+\t\t\tcfg->bufferCount = kBufferCount;\n \t\t\tcfg->stride = info.stride(cfg->size.width, 0, 1);\n \t\t\tcfg->frameSize = info.frameSize(cfg->size, 1);\n \n@@ -444,7 +444,7 @@ CameraConfiguration *PipelineHandlerIPU3::generateConfiguration(Camera *camera,\n \t\t\t\t.alignedDownTo(ImgUDevice::kOutputMarginWidth,\n \t\t\t\t\t       ImgUDevice::kOutputMarginHeight);\n \t\t\tpixelFormat = formats::NV12;\n-\t\t\tbufferCount = IPU3_BUFFER_COUNT;\n+\t\t\tbufferCount = IPU3CameraConfiguration::kBufferCount;\n \t\t\tstreamFormats[pixelFormat] = { { ImgUDevice::kOutputMinSize, size } };\n \n \t\t\tbreak;\n@@ -469,11 +469,11 @@ CameraConfiguration *PipelineHandlerIPU3::generateConfiguration(Camera *camera,\n \t\t\t * capped to the maximum sensor resolution and aligned\n \t\t\t * to the ImgU output constraints.\n \t\t\t */\n-\t\t\tsize = sensorResolution.boundedTo(IPU3ViewfinderSize)\n+\t\t\tsize = sensorResolution.boundedTo(kViewfinderSize)\n \t\t\t\t\t       .alignedDownTo(ImgUDevice::kOutputAlignWidth,\n \t\t\t\t\t\t\t      ImgUDevice::kOutputAlignHeight);\n \t\t\tpixelFormat = formats::NV12;\n-\t\t\tbufferCount = IPU3_BUFFER_COUNT;\n+\t\t\tbufferCount = IPU3CameraConfiguration::kBufferCount;\n \t\t\tstreamFormats[pixelFormat] = { { ImgUDevice::kOutputMinSize, size } };\n \n \t\t\tbreak;\n@@ -1004,7 +1004,7 @@ int PipelineHandlerIPU3::initControls(IPU3CameraData *data)\n \t * Either the smallest margin-aligned size larger than the viewfinder\n \t * size or the adjusted sensor resolution.\n \t */\n-\tminSize = IPU3ViewfinderSize.grownBy({ 1, 1 })\n+\tminSize = kViewfinderSize.grownBy({ 1, 1 })\n \t\t  .alignedUpTo(ImgUDevice::kOutputMarginWidth,\n \t\t\t       ImgUDevice::kOutputMarginHeight)\n \t\t  .boundedTo(minSize);\n",
    "prefixes": [
        "libcamera-devel",
        "v4",
        "03/16"
    ]
}