{"id":27387,"url":"https://patchwork.libcamera.org/api/covers/27387/?format=json","web_url":"https://patchwork.libcamera.org/cover/27387/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","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=json","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=json","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(-)"}