Cover Letter Detail
Show a cover letter.
GET /api/covers/15278/?format=api
{ "id": 15278, "url": "https://patchwork.libcamera.org/api/covers/15278/?format=api", "web_url": "https://patchwork.libcamera.org/cover/15278/", "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": "<20220113141558.5805-1-david.plowman@raspberrypi.com>", "date": "2022-01-13T14:15:56", "name": "[libcamera-devel,v2,0/2] Make sensor use its native Bayer order", "submitter": { "id": 42, "url": "https://patchwork.libcamera.org/api/people/42/?format=api", "name": "David Plowman", "email": "david.plowman@raspberrypi.com" }, "mbox": "https://patchwork.libcamera.org/cover/15278/mbox/", "series": [ { "id": 2893, "url": "https://patchwork.libcamera.org/api/series/2893/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=2893", "date": "2022-01-13T14:15:56", "name": "Make sensor use its native Bayer order", "version": 2, "mbox": "https://patchwork.libcamera.org/series/2893/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/covers/15278/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 CB943BF415\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 13 Jan 2022 14:16:05 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 0BA7260931;\n\tThu, 13 Jan 2022 15:16:05 +0100 (CET)", "from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com\n\t[IPv6:2a00:1450:4864:20::32e])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id D2355604F4\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 13 Jan 2022 15:16:02 +0100 (CET)", "by mail-wm1-x32e.google.com with SMTP id l4so3963223wmq.3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 13 Jan 2022 06:16:02 -0800 (PST)", "from pi4-davidp.lan (plowpeople3.plus.com. [80.229.223.72])\n\tby smtp.gmail.com with ESMTPSA id\n\tb2sm3284584wrd.35.2022.01.13.06.16.01\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tThu, 13 Jan 2022 06:16:01 -0800 (PST)" ], "Authentication-Results": "lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=raspberrypi.com header.i=@raspberrypi.com\n\theader.b=\"tD3mwsaF\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google;\n\th=from:to:cc:subject:date:message-id:mime-version\n\t:content-transfer-encoding;\n\tbh=XLkteIYOkjfpJvJPYrD7aDyyVOmx8YdVUWBTDuRLV9g=;\n\tb=tD3mwsaFcfEDDKP6UOiaAKsKIfvUv9n0Ko4VVaVV3iDX9W4fHuoaQM7bvURpPKJAdO\n\tCJd7nySX11dtgiB/ptinkBOj3NzuRliSdx81Bz5wj6IWv/NS7mB4QQtvMbcEqorHW9gV\n\tcNMEjFqrKE/bJEr+nfHnmzJiGHOk4GcgHYHm0hcm1sWU7zCcT+rp2rfE3g4RgAnsmK+m\n\to9quGGkNBakzZnryTLPqzuTjI+lm04uGBK3XAh5cmKyQD1o1fhiN5D51VlcUt09NeO8h\n\tZkhoHRNwWt+xbPpZ5CvUp1xSHxqnzqWzGwzdsuGSxWQNGhC47Mw+4gh//zB9f8Icr+tN\n\tbf8Q==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version\n\t:content-transfer-encoding;\n\tbh=XLkteIYOkjfpJvJPYrD7aDyyVOmx8YdVUWBTDuRLV9g=;\n\tb=ng500QRXeNZN0/EXjguhTXQuqwbq6ZCMI8QydQrot5dYZQ1bCOZIfimR/Rd0AJmKGN\n\tKaP59j4jaDG7UFTLZmuPkt/JBzw282pGFE+H3d9kKKFcMuYVT2f7cbIn175uKKxnFQBJ\n\t1exx3o9JIBeik84IdN8FuxV5HvIyQZu1EoGS+yGTyKb7m/uHfOQ8mkONGJicBzfOOlyf\n\tn8YNgceK9+TyS99tpj/Qkqpisvib3gOeISKfpGR6d/tRZgZ7sypaIBOK1IrA/aQyx0cV\n\tV0TNqdcIRvj/acIdnAlYmLnK82z3fpw9C7ufy4wbIeQlIPdUA25aqKeTodjPcqcBKJis\n\tXMXQ==", "X-Gm-Message-State": "AOAM531ZKh7UUVUr16+APrDCsFC8YQqxLaaQBkKHcyLsp3S0BEzZfig+\n\tPrA0mWNj1se3BxjiQirn+Eh/2+98LX2Aod6s", "X-Google-Smtp-Source": "ABdhPJxqbosdBnIB7Md0TZx+t1LNqzkyoxklI4JKPP0z7Spa5bgi770yxKkDmXpiEVEQs7t/4iGDtQ==", "X-Received": "by 2002:a7b:c772:: with SMTP id\n\tx18mr3952875wmk.158.1642083362230; \n\tThu, 13 Jan 2022 06:16:02 -0800 (PST)", "From": "David Plowman <david.plowman@raspberrypi.com>", "To": "libcamera-devel@lists.libcamera.org", "Date": "Thu, 13 Jan 2022 14:15:56 +0000", "Message-Id": "<20220113141558.5805-1-david.plowman@raspberrypi.com>", "X-Mailer": "git-send-email 2.30.2", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Subject": "[libcamera-devel] [PATCH v2 0/2] Make sensor use its native Bayer\n\torder", "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": "Hi everyone\n\nThis patch is a replacement for a patch formerly titled \"Fix\ncalculation of sensor's native Bayer order\".\n\nIn this version we resolve an anomaly where the Bayer orders in\nCameraSensor::init() were not well-defined - they can depend on\nwhatever hflip/vflip settings the camera happens to have when\nopened.\n\nA bug was introduced when the Raspberry Pi moved over to using media\ncontroller whereby it ended up getting the wrong native Bayer order\n(it was trying to clear the h/vflip bits, only it was too late because\nthe sensor had already cached the formats).\n\nSo anyway, the consequence of this was that the Bayer order in any raw\nstream would frequently be wrong, meaning it would also be incorrect\nin DNG files which is how I noticed it - the tuning tool was producing\ngarbage!\n\nI also suspect that other pipeline handlers (e.g. IPU3) may have\nsimilar problems, I don't know if anyone has tested the behaviour of\nDNG files when different transforms are requested of the\nsensor. Perhaps someone can enlighten me on that? But the change in\nthis patch set seems like it will be helpful to other PHs as well.\n\nSo there are 2 commits here:\n\n1. The first commit resets the h/vflip bits of the sensor when it is\nopened, so that we know we shall get the true native Bayer order.\n\n2. The 2nd commit just simplifies the RPi implementation a little, now\nthat we can rely on the sensor's formats using the native order.\n\nI'm definitely open to suggestions on this - my previous attempt left\nthe camera sensor alone and made the PH reverse engineer the true\nBayer order from the current formats and the sensor's current flip\nsettings. But this seems a bit fussy, particularly when other pipeline\nhandlers must surely copy this somewhat ugly behaviour (or not work).\n\nThanks!\nDavid\n\nDavid Plowman (2):\n libcamera: camera_sensor: Clear camera flips after opening the device\n pipeline: raspberrypi: Simplify calculation of sensor's native Bayer\n order\n\n src/libcamera/camera_sensor.cpp | 16 ++++++++++++++++\n .../pipeline/raspberrypi/raspberrypi.cpp | 9 ++-------\n 2 files changed, 18 insertions(+), 7 deletions(-)" }