{"id":19215,"url":"https://patchwork.libcamera.org/api/covers/19215/?format=json","web_url":"https://patchwork.libcamera.org/cover/19215/","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":"<20231121145350.5956-1-naush@raspberrypi.com>","date":"2023-11-21T14:53:44","name":"[libcamera-devel,v2,0/6] Vendor controls and properties","submitter":{"id":34,"url":"https://patchwork.libcamera.org/api/people/34/?format=json","name":"Naushir Patuck","email":"naush@raspberrypi.com"},"mbox":"https://patchwork.libcamera.org/cover/19215/mbox/","series":[{"id":4077,"url":"https://patchwork.libcamera.org/api/series/4077/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=4077","date":"2023-11-21T14:53:44","name":"Vendor controls and properties","version":2,"mbox":"https://patchwork.libcamera.org/series/4077/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/19215/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 54B2DC3220\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 21 Nov 2023 14:53:55 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 74FD7629BC;\n\tTue, 21 Nov 2023 15:53:54 +0100 (CET)","from mail-wm1-x330.google.com (mail-wm1-x330.google.com\n\t[IPv6:2a00:1450:4864:20::330])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 2732B61DAE\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 21 Nov 2023 15:53:53 +0100 (CET)","by mail-wm1-x330.google.com with SMTP id\n\t5b1f17b1804b1-40b2ddab817so645185e9.3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 21 Nov 2023 06:53:53 -0800 (PST)","from localhost.localdomain ([93.93.133.154])\n\tby smtp.gmail.com with ESMTPSA id\n\th18-20020a05600c351200b004063ea92492sm17570968wmq.22.2023.11.21.06.53.50\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tTue, 21 Nov 2023 06:53:51 -0800 (PST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1700578434;\n\tbh=u6ZI9HWMrOjIvEpr5QnSak8zUxNQWrtxuDGz17aEBK8=;\n\th=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:\n\tList-Help:List-Subscribe:From:Reply-To:From;\n\tb=E1bYbp4KBVRXUiRmgWSotr1d1gDVNBeSW4hyodpFa7yOHE3IPex9UPXpyDQw1FTKv\n\ty319MSH4fDqD+r0G7FtApFUf7HgEgJt7ISp/zJM4I0cGwK5i2wOJlspGPsb15n3Imh\n\tpe5406YO6NAC0/2uoMFT0yfkWwA7zkxrkc3i+DmZYOfA7njHBHwXiLFJ94kAF8f46u\n\tRx6gGL3HvTwufPyDGj3PyRY0/qTIpqqhPw+em9rR0Cud2Hcra7PFntWZv0yC/No8ra\n\tgdwPKJiQwFRQzfhkCLOXIc+EptN1XsCEgFRTj38W3RSoNPfRn9B23/EDxX7XN51u9l\n\tJ48abk4zbU1kA==","v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google; t=1700578432; x=1701183232;\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=pR7OkBvxNTxT1d3PH0B6f17mB8gpssf39zY6+miM7zc=;\n\tb=RFpprgCOkc8kf3Zd75ynRg7+zJ1MjE2h2eiHUdJPBUUSygeEzeGCOPVGTTSqwbTKpG\n\tAtVtAi4gTyPGwzIe4dicv40nFJtUkc3hrEgm+ucVOTa16ln+GZFYN+XD5UjdRNv1J7jT\n\tAsLbSXzIMshtpyJIcMQs7rIdEYsXr7jacObx3Xo3OAcJXMm/+vo2ay16XMK2PT/PeezE\n\tp3/+bnxwY8jX5vo1kc+UE2CxuEZ7dh1GRUrM8tgxwA+w9a3iE5rk1iG2Q6Qpn/sDn9eX\n\t9loWKr+oK4mn38JUzYqjjHzLV2hZ/I5hLihbbFrDk5YKVgS77lGHduz7EQjFewTmklhZ\n\tCntg=="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected) header.d=raspberrypi.com\n\theader.i=@raspberrypi.com\n\theader.b=\"RFpprgCO\"; dkim-atps=neutral","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1700578432; x=1701183232;\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=pR7OkBvxNTxT1d3PH0B6f17mB8gpssf39zY6+miM7zc=;\n\tb=ldBu1k+0tjXVxKoVYi/nFy9M1mIbv9uGXc8Vg8aGbIoXEUNr2xfQ7V6gRZe7t6y7uS\n\tlfhp4fhhrqIFAc4DXRyuB6qr7gaMJlP1ii5zQdIffOOFAwk4a2YNCdiFoaxufVWZn8if\n\tQJHU0Lc0Il63cxOSE+Fn9NcYpnCDitFVpFk0XZjEoCyHeR5eMXJNkLs/7MrIHIqeir8k\n\t++WUfCZn6iFq5p9wX1x8KerV0bPuNSpv/1KHbi3yJ0YMmEYk+yzcAZF2r9iNWSq6Ayxr\n\tEthdzC5GCRdcX4P/levRwtCQ58ot4eX90uoobflRQg7KsFYUUfYeu+MM7Q0DaJ5eDNzg\n\t4qkg==","X-Gm-Message-State":"AOJu0YzxUFEi0HXCcoPUkgZ1fCBq0odQog9uleBrGoOZ9ONK1qBMoGpo\n\tIXHZ5uB0rnIvKdpemQeQhPbLQe2WhkjVDWRDLo1dZw==","X-Google-Smtp-Source":"AGHT+IH12C1qchHflAld5R2gLMyXIFRiBeog5RqBtHke9ouRe0BlnBJW6JobHbZHNhoyHkYtg0tRtw==","X-Received":"by 2002:a05:600c:314f:b0:409:85d:5a6e with SMTP id\n\th15-20020a05600c314f00b00409085d5a6emr8975082wmo.29.1700578432170; \n\tTue, 21 Nov 2023 06:53:52 -0800 (PST)","To":"libcamera-devel@lists.libcamera.org","Date":"Tue, 21 Nov 2023 14:53:44 +0000","Message-Id":"<20231121145350.5956-1-naush@raspberrypi.com>","X-Mailer":"git-send-email 2.34.1","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Subject":"[libcamera-devel] [PATCH v2 0/6] Vendor controls and properties","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":"Naushir Patuck via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Naushir Patuck <naush@raspberrypi.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"Hi,\n\nHere's version 2 of the vendor controls series.  The biggest change from version\n1 is how we define vendor controls.  As requested, all controls in a particular\nYAML file now belong to one specific vendor.  I've also incorporated all of\nLaurent's preliminary suggestions into the patches.\n\nThanks,\nNaush\n\nNaushir Patuck (6):\n  controls: Add vendor control/property support to generation scripts\n  controls: Update argument handling for controls generation scripts\n  controls: build: Allow separate vendor control YAML files\n  libcamera: control: Add vendor control id range reservation\n  libcamera: controls: Use vendor tags for draft controls and properties\n  documentation: Document vendor specific control and properties\n    handling\n\n Documentation/guides/pipeline-handler.rst     |  52 ++++\n include/libcamera/control_ids.h.in            |   6 +-\n include/libcamera/meson.build                 |  61 ++++-\n include/libcamera/property_ids.h.in           |   8 +-\n meson.build                                   |   2 +\n src/ipa/rpi/common/ipa_base.cpp               |   2 +-\n src/ipa/rpi/vc4/vc4.cpp                       |   2 +-\n src/libcamera/control_ids.cpp.in              |  16 +-\n src/libcamera/control_ids.yaml                | 233 +----------------\n src/libcamera/control_ids_draft.yaml          | 240 ++++++++++++++++++\n src/libcamera/control_ids_rpi.yaml            |  16 ++\n src/libcamera/control_ranges.yaml             |  18 ++\n src/libcamera/meson.build                     |  22 +-\n src/libcamera/property_ids.cpp.in             |  16 +-\n src/libcamera/property_ids.yaml               |  34 +--\n src/libcamera/property_ids_draft.yaml         |  39 +++\n src/py/libcamera/gen-py-controls.py           |  78 +++---\n src/py/libcamera/meson.build                  |  28 +-\n src/py/libcamera/py_controls_generated.cpp.in |   6 +-\n .../libcamera/py_properties_generated.cpp.in  |   4 +-\n utils/gen-controls.py                         | 164 ++++++++----\n 21 files changed, 643 insertions(+), 404 deletions(-)\n create mode 100644 src/libcamera/control_ids_draft.yaml\n create mode 100644 src/libcamera/control_ids_rpi.yaml\n create mode 100644 src/libcamera/control_ranges.yaml\n create mode 100644 src/libcamera/property_ids_draft.yaml"}