Patch Detail
Show a patch.
GET /api/patches/852/?format=api
{ "id": 852, "url": "https://patchwork.libcamera.org/api/patches/852/?format=api", "web_url": "https://patchwork.libcamera.org/patch/852/", "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": "<20190402162134.3894-11-jacopo@jmondi.org>", "date": "2019-04-02T16:21:32", "name": "[libcamera-devel,v6,10/12] libcamera: ipu3: Set stream configuration", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": false, "hash": "7e5ad8406b2c3c1497e2ce30d26459a34116692f", "submitter": { "id": 3, "url": "https://patchwork.libcamera.org/api/people/3/?format=api", "name": "Jacopo Mondi", "email": "jacopo@jmondi.org" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/852/mbox/", "series": [ { "id": 229, "url": "https://patchwork.libcamera.org/api/series/229/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=229", "date": "2019-04-02T16:21:22", "name": "libcamera: ipu3: Add ImgU support", "version": 6, "mbox": "https://patchwork.libcamera.org/series/229/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/852/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/852/checks/", "tags": {}, "headers": { "Return-Path": "<jacopo@jmondi.org>", "Received": [ "from relay7-d.mail.gandi.net (relay7-d.mail.gandi.net\n\t[217.70.183.200])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id A20D9611A8\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 2 Apr 2019 18:21:02 +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 relay7-d.mail.gandi.net (Postfix) with ESMTPSA id 3AEF42000A;\n\tTue, 2 Apr 2019 16:21:02 +0000 (UTC)" ], "X-Originating-IP": "2.224.242.101", "From": "Jacopo Mondi <jacopo@jmondi.org>", "To": "libcamera-devel@lists.libcamera.org", "Date": "Tue, 2 Apr 2019 18:21:32 +0200", "Message-Id": "<20190402162134.3894-11-jacopo@jmondi.org>", "X-Mailer": "git-send-email 2.21.0", "In-Reply-To": "<20190402162134.3894-1-jacopo@jmondi.org>", "References": "<20190402162134.3894-1-jacopo@jmondi.org>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Subject": "[libcamera-devel] [PATCH v6 10/12] libcamera: ipu3: Set stream\n\tconfiguration", "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": "Tue, 02 Apr 2019 16:21:02 -0000" }, "content": "Use the cached sensor maximum resolution and the pixel format\ngenerated by the ImgU output devices as default stream configuration.\n\nWhile at it, replace the hardcoded numerical value for the number of\nbuffers with a named constexpr.\n\nSigned-off-by: Jacopo Mondi <jacopo@jmondi.org>\n---\n src/libcamera/pipeline/ipu3/ipu3.cpp | 34 ++++++++++++----------------\n 1 file changed, 15 insertions(+), 19 deletions(-)", "diff": "diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp\nindex f6d08af906da..e4f8f90e2302 100644\n--- a/src/libcamera/pipeline/ipu3/ipu3.cpp\n+++ b/src/libcamera/pipeline/ipu3/ipu3.cpp\n@@ -183,6 +183,8 @@ private:\n \t\tStream stream_;\n \t};\n \n+\tstatic constexpr unsigned int IPU3_BUFFER_COUNT = 4;\n+\n \tIPU3CameraData *cameraData(const Camera *camera)\n \t{\n \t\treturn static_cast<IPU3CameraData *>(\n@@ -215,26 +217,20 @@ std::map<Stream *, StreamConfiguration>\n PipelineHandlerIPU3::streamConfiguration(Camera *camera,\n \t\t\t\t\t std::set<Stream *> &streams)\n {\n-\tIPU3CameraData *data = cameraData(camera);\n \tstd::map<Stream *, StreamConfiguration> configs;\n-\tV4L2SubdeviceFormat format = {};\n-\n-\t/*\n-\t * FIXME: As of now, return the image format reported by the sensor.\n-\t * In future good defaults should be provided for each stream.\n-\t */\n-\tif (data->cio2_.sensor_->getFormat(0, &format)) {\n-\t\tLOG(IPU3, Error) << \"Failed to create stream configurations\";\n-\t\treturn configs;\n-\t}\n-\n-\tStreamConfiguration config = {};\n-\tconfig.width = format.width;\n-\tconfig.height = format.height;\n-\tconfig.pixelFormat = V4L2_PIX_FMT_IPU3_SGRBG10;\n-\tconfig.bufferCount = 4;\n-\n-\tconfigs[&data->stream_] = config;\n+\tIPU3CameraData *data = cameraData(camera);\n+\tStreamConfiguration *config = &configs[&data->stream_];\n+\tSize *maxSize = &data->.cio2_.maxSize_;\n+\n+\tconfig->width = maxSize->width;\n+\tconfig->height = maxSize->height;\n+\tconfig->pixelFormat = V4L2_PIX_FMT_NV12;\n+\tconfig->bufferCount = IPU3_BUFFER_COUNT;\n+\n+\tLOG(IPU3, Debug)\n+\t\t<< \"Stream format set to \" << config->width << \"x\"\n+\t\t<< config->height << \"-0x\" << std::hex << std::setfill('0')\n+\t\t<< std::setw(8) << config->pixelFormat;\n \n \treturn configs;\n }\n", "prefixes": [ "libcamera-devel", "v6", "10/12" ] }