Cover Letter Detail
Show a cover letter.
GET /api/covers/27387/?format=api
{ "id": 27387, "url": "https://patchwork.libcamera.org/api/covers/27387/?format=api", "web_url": "https://patchwork.libcamera.org/cover/27387/", "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": "<20260720115144.4392-1-david.plowman@raspberrypi.com>", "date": "2026-07-20T11:10:06", "name": "[v2,0/1] Make Gstreamer prefer non-raw caps", "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/27387/mbox/", "series": [ { "id": 6065, "url": "https://patchwork.libcamera.org/api/series/6065/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=6065", "date": "2026-07-20T11:10:06", "name": "Make Gstreamer prefer non-raw caps", "version": 2, "mbox": "https://patchwork.libcamera.org/series/6065/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/covers/27387/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 A229AC328C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 20 Jul 2026 11:51:51 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 015B867E2D;\n\tMon, 20 Jul 2026 13:51:51 +0200 (CEST)", "from mail-wr1-x42f.google.com (mail-wr1-x42f.google.com\n\t[IPv6:2a00:1450:4864:20::42f])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 8772066122\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 20 Jul 2026 13:51:48 +0200 (CEST)", "by mail-wr1-x42f.google.com with SMTP id\n\tffacd0b85a97d-47f785467faso515599f8f.2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 20 Jul 2026 04:51:48 -0700 (PDT)", "from davidp-pi5.pitowers.org\n\t([2a00:1098:3142:1f:4706:89ee:c47e:1087])\n\tby smtp.gmail.com with ESMTPSA id\n\tffacd0b85a97d-47f63ec7c69sm31270120f8f.17.2026.07.20.04.51.47\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tMon, 20 Jul 2026 04:51:47 -0700 (PDT)" ], "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=raspberrypi.com header.i=@raspberrypi.com\n\theader.b=\"W0xiBsfU\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google; t=1784548308; x=1785153108;\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:content-type;\n\tbh=lkUsUTck8f3VLY2iSPQTJ7cTpLuGJVhVK4AubtJfrAc=;\n\tb=W0xiBsfUIzfvw6iV8xRMRs1iW0hpxlZ7QqkNDJL+6DbYnFDy35nUCSCYnRH2AWQ8UI\n\t7v+ywjb0IIL/f0Ylwq04Vz70l4vs99JCgliOwl0QBgf6EacrvGQTvDbLCx1i2e4O5Uca\n\tqmQr97c/jb6IvbmTbjrvPIauLjmVwzjPI19y8KECTq+omUzg3wR/sKmBXMSvPlLFJE1G\n\tdEZsviJk6quaInAYcNgEZdvPqniRjXoCfzb5zXrGMIBsEmvNVuvduoKq3QDI9HjF4An3\n\t+inbFzgajkSons41rqGAYCzEIjz+XhJpRwg+NcOo4/GlFuRvp7YWP8luhPCIFRtwJMN3\n\tj/Iw==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20251104; t=1784548308; x=1785153108;\n\th=content-transfer-encoding:mime-version:message-id:date:subject:cc\n\t:to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n\t:message-id:reply-to:content-type;\n\tbh=lkUsUTck8f3VLY2iSPQTJ7cTpLuGJVhVK4AubtJfrAc=;\n\tb=km4VwxtaHdbTLlhakfXx4siKx/GvWCmrhEBahYmg1OF4nZ2apVZu+xc0vc7dBK1yrY\n\tDCiNGx4/rAfkhM1BQNgxx1HCK4vjKGg4/K2JFaznegBCg+FAyM77WcOk4gByrEoc/hKk\n\tSfZxli85PMG9jrhDran+kidKKnyO4qjSi5h/ZXv+al10+ts+rNS01LfYMAcxchg31t++\n\tpnNJhTVseSlmOeGwxB6xCi90f+d4982tUbClWqpVZRCgXM8+KM6ZeA8KdnVnxJwhPcfD\n\tdfPIq4CLp5HbHO3Es+zxWBRKmTS07xuAKj6/5nFn45uXJkYGRKKfflzDxa/jJ5KMtEWc\n\t4OBg==", "X-Gm-Message-State": "AOJu0YzWFoQSdU+yS+zzZeTh2KMPu3hNZyDBIqI5NdDwjHu75+1QXsWn\n\tUfX+p5+5phPfdgHy6hqPvQgtL3H//uqvYGsiMJwuW3tWZxk+DKR+0lyjrY0nSYUAkaJYHD7rbeD\n\t/ai1Y", "X-Gm-Gg": "AR+sD102lvM3nkx6mNggIYxVYynqXvWCvgJz1IbyaS2EpfYy5dNt3zuYPLhaoGrmchH\n\tcR7KiOtiRJRRMeEVf4ppw+IXYFxc9RJtzJKk7BgF+Jm28wyjdvDKjMFEJN4E42MKoZGzKVS8o3o\n\t1Sj4kJ1UMykdItO5+MlBxKZTZl/SsOgedopqBMnZevmBKnDGL8txdLutl/h6NLAoN2Ltb6OuxgT\n\taQOwisTor9XX8Hv5qm8kwA7B2x7N2QfMFYxWc5yNvf892ovZFyAo+EOh8pWgZkX9NCujKjoAcuo\n\tfh9EDmoHXOh3C5ZNL9wXDWACuDsluKLs42lYqwggA5UP0oKEHg4eTUcc7k4Uhr+rORcZKyy3jUU\n\tE7lMMvvqM6KusnFl3aVNl5DFp2qwCSa3fhWgyf8Y+Mp+vDuulAKFE8mWqnWLTUzGvMWtbVFzGTb\n\tdR7h4jXab3AgfJDXJGN2dShpw8MNtyEscOoJfnIcVlzx9YAvCD9LulgQvNlzs6GCSf+Fq4xwyeD\n\tAxedvkX+1uDsAt7LXgKyg==", "X-Received": "by 2002:a5d:5e8d:0:b0:47d:fc33:e6bc with SMTP id\n\tffacd0b85a97d-47f623310ffmr15978042f8f.47.1784548308005; \n\tMon, 20 Jul 2026 04:51:48 -0700 (PDT)", "From": "David Plowman <david.plowman@raspberrypi.com>", "To": "libcamera-devel@lists.libcamera.org", "Cc": "David Plowman <david.plowman@raspberrypi.com>", "Subject": "[PATCH v2 0/1] Make Gstreamer prefer non-raw caps", "Date": "Mon, 20 Jul 2026 12:10:06 +0100", "Message-ID": "<20260720115144.4392-1-david.plowman@raspberrypi.com>", "X-Mailer": "git-send-email 2.47.3", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "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\n\nHere's a version 2 which incorporates some suggestions from Nicolas\nwhich I agree makes things a bit clearer.\n\n1. Raw monochrome formats are identified by being video/x-raw with 1\ncomponent, matching the existing bare_structure_from_format function\nin this file.\n\n2. The comparison is rearranged to use a sorted list, as some other\ncomponents do. This keeps all the logic in one place and makes it\neasier to understand.\n\nActually, on point 1 above I do have some misgivings. Treating\nvideo/x-raw with 1 component as \"monochrome raw\" seems a bit\ncontroversial as we can't distinguish \"raw\" greyscale from \"processed\"\ngreyscale. I wonder a little bit if bare_structure_from_format should\ncategorise the greyscale formats as video/x-bayer but with a format\nset to something like \"mono\"? Is that possible?\n\nThat feels like it's a bit above my pay grade at this point, but in\nany case could be something for a subsequent commit.\n\nThanks\n\nDavid\n\n\nDavid Plowman (1):\n gstreamer: Prefer non-raw (i.e. non-Bayer) formats in caps negotiation\n\n src/gstreamer/gstlibcamera-utils.cpp | 125 ++++++++++++++++++++-------\n src/gstreamer/gstlibcamera-utils.h | 2 +-\n src/gstreamer/gstlibcamerasrc.cpp | 3 +-\n 3 files changed, 97 insertions(+), 33 deletions(-)" }