Show a patch.

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

{
    "id": 17284,
    "url": "https://patchwork.libcamera.org/api/1.1/patches/17284/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/17284/",
    "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": "<20220903003513.2516-1-laurent.pinchart@ideasonboard.com>",
    "date": "2022-09-03T00:35:13",
    "name": "[libcamera-devel,v2] qcam: viewfinder_gl: Fix maybe-uninitialized warnings",
    "commit_ref": "5771125bfa4ae6c51a214d42933c393352395a89",
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "005f285de365f0acafe51b376df99e50ae2f0282",
    "submitter": {
        "id": 2,
        "url": "https://patchwork.libcamera.org/api/1.1/people/2/?format=api",
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@ideasonboard.com"
    },
    "delegate": null,
    "mbox": "https://patchwork.libcamera.org/patch/17284/mbox/",
    "series": [
        {
            "id": 3463,
            "url": "https://patchwork.libcamera.org/api/1.1/series/3463/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=3463",
            "date": "2022-09-03T00:35:13",
            "name": "[libcamera-devel,v2] qcam: viewfinder_gl: Fix maybe-uninitialized warnings",
            "version": 2,
            "mbox": "https://patchwork.libcamera.org/series/3463/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/17284/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/17284/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 1ED05C3272\n\tfor <parsemail@patchwork.libcamera.org>;\n\tSat,  3 Sep 2022 00:35:29 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 5B3836201D;\n\tSat,  3 Sep 2022 02:35:28 +0200 (CEST)",
            "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 B6A2061FF2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSat,  3 Sep 2022 02:35:26 +0200 (CEST)",
            "from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi\n\t[62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 141416DD;\n\tSat,  3 Sep 2022 02:35:26 +0200 (CEST)"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1662165328;\n\tbh=eGvw1YxkJUCUs5BoknHKVfrqSrghVz9sEpI9PONZsHM=;\n\th=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:\n\tList-Help:List-Subscribe:From:Reply-To:Cc:From;\n\tb=HQAR0Wb7EZUlEXcndRoeC0qTIV5bJ2eapCH2efdkmEzrEKd1idHWMP3qMJyFK1Gqp\n\tMTXzYx6Reuum3g2STdbpwe62l0/svjb9+9EdQcAcXCCW9hV5PIohX4k/uf0a2oVaJv\n\tH4vSB7awq1+ejslZcp3AwW1jkbo0tAJ3GVm/Yz4EjeyjPk44HUJ1c+gFqSbulkjWZ3\n\tB3uJrHAhMvbcKuPWls6nbQRDn0lK7I7TABuAEsM5lFhd6i3z8fcVp9zShK9sn0riwm\n\tUBYCgd+/A/gGFV3ypSEgB6yF2cZfxDGQkjRMGiSfUU5jsYnn1DvApcJ58wMvbKupK9\n\t1s6yZt0vSCNsw==",
            "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1662165326;\n\tbh=eGvw1YxkJUCUs5BoknHKVfrqSrghVz9sEpI9PONZsHM=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=hddYH04Wxv8gHgHXPxfxxGgHWnXKFCugiqRPMynueIDp6tixxfgiUK99SRgxpjyXa\n\tr0nIsqsaT3DnkSU3YdeIAuTw5PJMN7Mxgnm93COm8ZuHnt9t+Gxu9P3Lw4IDnjyVlA\n\tcywWoJpuOzFIQsV6/ZqB5z/FL8PFevoewJ7WXfVA="
        ],
        "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"hddYH04W\"; dkim-atps=neutral",
        "To": "libcamera-devel@lists.libcamera.org",
        "Date": "Sat,  3 Sep 2022 03:35:13 +0300",
        "Message-Id": "<20220903003513.2516-1-laurent.pinchart@ideasonboard.com>",
        "X-Mailer": "git-send-email 2.35.1",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=UTF-8",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[libcamera-devel] [PATCH v2] qcam: viewfinder_gl: Fix\n\tmaybe-uninitialized warnings",
        "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>",
        "From": "Laurent Pinchart via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>",
        "Reply-To": "Laurent Pinchart <laurent.pinchart@ideasonboard.com>",
        "Cc": "mfe@pengutronix.de, drebert@web.de",
        "Errors-To": "libcamera-devel-bounces@lists.libcamera.org",
        "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"
    },
    "content": "From: Marco Felsch <m.felsch@pengutronix.de>\n\nCommit 251f0534b74b (\"qcam: viewfinder_gl: Take color space into account\nfor YUV rendering\") introduced maybe-uninitialized warnings with gcc 11\nand 12 when compiling with -O3. Both compilers warn that\n\n../../src/qcam/viewfinder_gl.cpp: In member function ‘void ViewFinderGL::selectColorSpace(const libcamera::ColorSpace&)’:\n../../src/qcam/viewfinder_gl.cpp:392:21: error: ‘offset’ may be used uninitialized in this function [-Werror=maybe-uninitialized]\n  391 |         fragmentShaderDefines_.append(QString(\"#define YUV2RGB_Y_OFFSET %1\")\n      |                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n  392 |                 .arg(offset, 0, 'f', 1));\n      |                 ~~~~^~~~~~~~~~~~~~~~~~~\n\nAdditionally, gcc 12 warns that\n\n../../src/qcam/viewfinder_gl.cpp: In member function ‘void ViewFinderGL::selectColorSpace(const libcamera::ColorSpace&)’:\n../../src/qcam/viewfinder_gl.cpp:379:36: error: ‘yuv2rgb’ may be used uninitialized [-Werror=maybe-uninitialized]\n  379 |                         yuv2rgb[i] *= 255.0 / 219.0;\n../../src/qcam/viewfinder_gl.cpp:330:31: note: ‘yuv2rgb’ declared here\n  330 |         std::array<double, 9> yuv2rgb;\n      |\n\nWhile this should never happen here, the compiler isn't necessarily\nwrong, as C++17 allows initializing a scoped enum from an integer using\ndirect-list-initialization, even if the integer value doesn't match any\nof the enumerators for the scoped enum ([1]). Whether this is valid or\nborderline paranoia from gcc may be debatable, but in any case it can't\nbe classified as blatantly wrong. Fix the warnings by adding default\ncases to the switch statements in ViewFinderGL::selectColorSpace().\nWhich case is selected as the default doesn't matter, as this is not\nmeant to happen.\n\n[1] https://en.cppreference.com/w/cpp/language/enum#enum_relaxed_init_cpp17\n\nFixes: 251f0534b74b (\"qcam: viewfinder_gl: Take color space into account for YUV rendering\")\nSigned-off-by: Marco Felsch <m.felsch@pengutronix.de>\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\nRewrote commit message, added a default case for the encoding switch.\n\nSigned-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n---\n src/qcam/viewfinder_gl.cpp | 2 ++\n 1 file changed, 2 insertions(+)\n\n\nbase-commit: 251f0534b74bcb46c777aa0df34b1b4142b664f5",
    "diff": "diff --git a/src/qcam/viewfinder_gl.cpp b/src/qcam/viewfinder_gl.cpp\nindex e2aa24703ff0..38ddad58e09e 100644\n--- a/src/qcam/viewfinder_gl.cpp\n+++ b/src/qcam/viewfinder_gl.cpp\n@@ -332,6 +332,7 @@ void ViewFinderGL::selectColorSpace(const libcamera::ColorSpace &colorSpace)\n \t/* OpenGL stores arrays in column-major order. */\n \tswitch (colorSpace.ycbcrEncoding) {\n \tcase libcamera::ColorSpace::YcbcrEncoding::None:\n+\tdefault:\n \t\tyuv2rgb = {\n \t\t\t1.0000,  0.0000,  0.0000,\n \t\t\t0.0000,  1.0000,  0.0000,\n@@ -368,6 +369,7 @@ void ViewFinderGL::selectColorSpace(const libcamera::ColorSpace &colorSpace)\n \n \tswitch (colorSpace.range) {\n \tcase libcamera::ColorSpace::Range::Full:\n+\tdefault:\n \t\toffset = 0.0;\n \t\tbreak;\n \n",
    "prefixes": [
        "libcamera-devel",
        "v2"
    ]
}