Show a cover letter.

GET /api/covers/20357/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 20357,
    "url": "https://patchwork.libcamera.org/api/covers/20357/?format=api",
    "web_url": "https://patchwork.libcamera.org/cover/20357/",
    "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": "<20240620213607.32583-1-joelselvaraj.oss@gmail.com>",
    "date": "2024-06-20T21:36:05",
    "name": "[0/2] qcam: rotate the viewfinder output as per camera properties",
    "submitter": {
        "id": 201,
        "url": "https://patchwork.libcamera.org/api/people/201/?format=api",
        "name": "Joel Selvaraj",
        "email": "joelselvaraj.oss@gmail.com"
    },
    "mbox": "https://patchwork.libcamera.org/cover/20357/mbox/",
    "series": [
        {
            "id": 4409,
            "url": "https://patchwork.libcamera.org/api/series/4409/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=4409",
            "date": "2024-06-20T21:36:05",
            "name": "qcam: rotate the viewfinder output as per camera properties",
            "version": 1,
            "mbox": "https://patchwork.libcamera.org/series/4409/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/covers/20357/comments/",
    "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 3474ABD87C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 20 Jun 2024 21:46:13 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 3364D654A3;\n\tThu, 20 Jun 2024 23:46:12 +0200 (CEST)",
            "from mail-oi1-x22e.google.com (mail-oi1-x22e.google.com\n\t[IPv6:2607:f8b0:4864:20::22e])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id E9133619ED\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 20 Jun 2024 23:36:20 +0200 (CEST)",
            "by mail-oi1-x22e.google.com with SMTP id\n\t5614622812f47-3d1b5f32065so62763b6e.2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 20 Jun 2024 14:36:20 -0700 (PDT)",
            "from localhost.localdomain ([67.6.32.220])\n\tby smtp.gmail.com with ESMTPSA id\n\t46e09a7af769-7009c65d116sm60530a34.57.2024.06.20.14.36.17\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tThu, 20 Jun 2024 14:36:18 -0700 (PDT)"
        ],
        "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"WZcNaf3S\"; dkim-atps=neutral",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=gmail.com; s=20230601; t=1718919379; x=1719524179;\n\tdarn=lists.libcamera.org; \n\th=content-transfer-encoding:mime-version:message-id:date:subject:cc\n\t:to:from:from:to:cc:subject:date:message-id:reply-to;\n\tbh=DLF92AZxWIk7gpMFVXyqP8eEjkEPCmT567VydCuUUxU=;\n\tb=WZcNaf3Sd/qO8HqHOlCIXhRNQHElCt8Yj7NaCvRUHW0hNqk8KkA81hRVWzvx3UmoTR\n\tLmAcbfpWYiIfuyz/ATSRmFGF2NgFY7WS7F89SoXbk+5+a8x4Hdr/OzZ4TR+rklow4HCc\n\tvOHsurR8eeJXGCjJPMDlt8fAOo4YFSStdDBD0Zs6BlLqKeZDjGYE6syLow/Cf1B20b9e\n\tlOxmQwpka8DTi7K9HfZPuosLm9NVpP5Wu44kPbsv1gDjrD/ufJ9Bfv0RwW/V9IWZoWzf\n\tsPXWrEVbiJvqxEC2DU8EoYX+0okBGCDu9gPD+qrYLDNPeEkiEvUlcUamLXqsPb9nJetY\n\t2uQg==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1718919379; x=1719524179;\n\th=content-transfer-encoding:mime-version:message-id:date:subject:cc\n\t:to:from:x-gm-message-state:from:to:cc:subject:date:message-id\n\t:reply-to;\n\tbh=DLF92AZxWIk7gpMFVXyqP8eEjkEPCmT567VydCuUUxU=;\n\tb=umdjNEbaiznbJMgN5SqoMrIVE4eaQBaq0Yt4EfZhDrZi68Hg9f+wlcEgTK6LBCdvnH\n\tvX0niWZrpx8gQPBEDMR534KHgaSTcB+2OcSmH0fVz14Gs6SxqdpRyxlGwkGvyHeG8/Sg\n\tQUJvN8d99xD99WDwsxNIxW5TmDuMr3A2k5M7D7MgoM0P+x2voebO+dFz/Jo2EG8w/KD7\n\tSZI7L8JnTXkAxrq9BRJhs4Qp/noXhAeiFOMAs7uCBDjjTqGg7vMsk4rzYfwD7ot3zAhj\n\tF25vo0I246xtWfomtHvInwmOSLv9pX8pVQVt2KWKE0mhJb9IKV6LQgH0NFbDjd6FBBs5\n\tQb9g==",
        "X-Gm-Message-State": "AOJu0Yx/6NeD86nYz5KpAAqhR9/bqs18DIlCUQxnulruNCOeo1hTPF03\n\tZ4ms0NOPg1N3CEol7IL2osBY3miXqe+SWEzv3Og49rmx3RptQdHzKur2m31X",
        "X-Google-Smtp-Source": "AGHT+IEUVdy4wP0EqSG7tnPdwbnsZvSLeGclzKMByUOTdLVEIFOhVucMzQvp2aDlG3Irey1I9Jzoig==",
        "X-Received": "by 2002:a05:6808:150f:b0:3d2:2356:d271 with SMTP id\n\t5614622812f47-3d51b9654ebmr8130272b6e.1.1718919378631; \n\tThu, 20 Jun 2024 14:36:18 -0700 (PDT)",
        "From": "Joel Selvaraj <joelselvaraj.oss@gmail.com>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Cc": "Joel Selvaraj <joelselvaraj.oss@gmail.com>",
        "Subject": "[PATCH 0/2] qcam: rotate the viewfinder output as per camera\n\tproperties",
        "Date": "Thu, 20 Jun 2024 16:36:05 -0500",
        "Message-ID": "<20240620213607.32583-1-joelselvaraj.oss@gmail.com>",
        "X-Mailer": "git-send-email 2.45.2",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-Mailman-Approved-At": "Thu, 20 Jun 2024 23:46:10 +0200",
        "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": "Devicetrees may specify the rotation at which the camera is\nmounted in the hardware. If available, this gets populated in camera \nproperties. Rotate the viewfinder output accordingly in qcam qt and\nopengl renderers. However, sometimes devicetrees may not specify the\nrotation or incorrectly specify it. So, also introduce a command line\nargument to quickly test different rotations. This also helps in\nquickly identifying the rotation at which the camera is mounted in\nthe device if kernel developer already doesn't know it.\n\nJoel Selvaraj (2):\n  qcam: rotate the viewfinder output as per camera properties\n  qcam: introduce a command line argument to rotate the viewfinder\n    output\n\n include/libcamera/orientation.h |  2 ++\n src/apps/qcam/main.cpp          |  3 +++\n src/apps/qcam/main_window.cpp   | 28 +++++++++++++++++++-\n src/apps/qcam/main_window.h     |  1 +\n src/apps/qcam/viewfinder.h      |  4 ++-\n src/apps/qcam/viewfinder_gl.cpp | 46 ++++++++++++++++++++++++++++++---\n src/apps/qcam/viewfinder_gl.h   |  4 ++-\n src/apps/qcam/viewfinder_qt.cpp | 18 +++++++++++--\n src/apps/qcam/viewfinder_qt.h   |  5 +++-\n src/libcamera/orientation.cpp   | 34 ++++++++++++++++++++++++\n 10 files changed, 136 insertions(+), 9 deletions(-)"
}