From patchwork Thu Nov 30 14:25:28 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Naushir Patuck X-Patchwork-Id: 19248 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id C346AC31E9 for ; Thu, 30 Nov 2023 14:25:42 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 15B3E629CD; Thu, 30 Nov 2023 15:25:42 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1701354342; bh=bboJ6CZl5iDXozfS4ozRvVI9p5xXmmnUVzxRz0WA9Vk=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=oTjLtX7q553j7UnMQtoWHDpaEnpIhfwyNvMHuqB/LSFXNwSMRMy5dsDeVjyRWj7oz +Om4eThX7Q/Htx8caRQ/ta/Q8zqEPI/gXdQTki4AaXrSoTr/CXicvQwyVPDcSM+7yi s/F9Wexf2+6PmpZ1cQZ+CT4WGCJHsfijE2mCOuhHRa8eI7QuDoXvg/JswkbJMGHx6j luWgFresQieF7qBG3RLv9gQQTk5JKn3DzYBYaWyIRsjKNR2hMZ+cbNwIQdKXYQaABc i/HCuCZs9xIw3nDr/lRSorY9y9JYYiTggey7as6SXjb4L2uOQe0UBmbEmFD57Jgo/9 g5uLzcWaXASSg== Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com [IPv6:2a00:1450:4864:20::62d]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 1677261DA0 for ; Thu, 30 Nov 2023 15:25:41 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=raspberrypi.com header.i=@raspberrypi.com header.b="aIg/U5Vq"; dkim-atps=neutral Received: by mail-ej1-x62d.google.com with SMTP id a640c23a62f3a-a00a9c6f1e9so144375366b.3 for ; Thu, 30 Nov 2023 06:25:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.com; s=google; t=1701354340; x=1701959140; darn=lists.libcamera.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=rw2IimLwO4xFWNrbDAzT5f5wvQrbeBdL0bmL8cqH9ZI=; b=aIg/U5Vq/S6vw6YAvxnaYbikekaSuoKiDykAWibtg/NeYOOt8td7CS2Vd1KPgKIhQ8 cKpkg8HPPrOTrNKKGDCTSHz/Ac0oa/KvaDwxMtAmOmws3w437cLE01Yv6AB+uL9YngWw iyW2lUDXSl8ETUbZETh9//4+Ek/qJgSqnHH1BvDc7+pPv8DD4FZAJUBfwgDXUIwfnjUf PSbqRkhmgF1KByvLVMCkB4tIXwtxv3rtJT7gFpCbJ1iDu9OXYr4hK7PaGiOXkJv88yLA M3NiU24hLCxrJcSbenBFsPcj56LB6Mf/aKGBt9qKsRaPc0+tH3LNCUwGjEJoEM5QE5Ab 3CoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701354340; x=1701959140; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=rw2IimLwO4xFWNrbDAzT5f5wvQrbeBdL0bmL8cqH9ZI=; b=tdXzCGlzkl3tALUC94cesjxdDk/U3rkIzy1r4TixNhDNttLJ6tqfOuAwWGpu5QSVtP RvOg1EQt1zNECq48eM/IIHTkCZcl5t2nE+93P79R1SnzEwz3o7p+W29WY22sxykorTTG OZ4Pk1CL/hyMJLyk38xlm7Ksn0QO4CTc4VvIgjSAvm9IJ5+R0C39pjYIPScJnmGOlGnO z7tW79ebM2bAqyTM7vHZgT0ezQzggYIB3fAZqRzOtuoSgb0CWiP6+NPWXAwbMF68Az20 /k9VepqHp8G7p1B1q0Gn/vSHtR7H+Qdkj1jv4rCI0HNnwDFJI+1rzwBxmPOwkb3+kueF qLBw== X-Gm-Message-State: AOJu0YwBu9b07dr1KwgrGM3cqu6OGffPySm4zlvu8mK91p2QV4BCEaGk IrHktoYhMLo44r2eMpKMU+SR8qnIFJhMgEWmxfIq+Q== X-Google-Smtp-Source: AGHT+IHTQKDsG96awWaxTdxZ0wiUZtnLj8XIUyamCVPh7/eATU7fpw7MU7vdYm+emHbIkghFlVPOkQ== X-Received: by 2002:a17:906:3fd0:b0:9b2:c583:cd71 with SMTP id k16-20020a1709063fd000b009b2c583cd71mr13414637ejj.50.1701354340224; Thu, 30 Nov 2023 06:25:40 -0800 (PST) Received: from localhost.localdomain ([88.97.53.79]) by smtp.gmail.com with ESMTPSA id a5-20020a17090640c500b009e50ea0a05asm725577ejk.99.2023.11.30.06.25.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Nov 2023 06:25:39 -0800 (PST) To: libcamera-devel@lists.libcamera.org Date: Thu, 30 Nov 2023 14:25:28 +0000 Message-Id: <20231130142534.2075-1-naush@raspberrypi.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v4 0/6] Vendor controls and properties X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Naushir Patuck via libcamera-devel From: Naushir Patuck Reply-To: Naushir Patuck Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Hi, Version 4 of this series encompasses all the minor fixes and suggestions. One notable change is that I've removed the commit adding the Raspberry Pi vendor controls file. This will be re-introduced when we merge the Pi 5 pipeline handler. Thanks, Naush Naushir Patuck (6): controls: Add vendor control/property support to generation scripts controls: Update argument handling for controls generation scripts build: controls: Rework how controls and properties are generated libcamera: control: Add vendor control id range reservation libcamera: controls: Use vendor tags for draft controls and properties documentation: Document vendor specific controls and properties handling Documentation/guides/pipeline-handler.rst | 60 ++++- include/libcamera/control_ids.h.in | 6 +- include/libcamera/meson.build | 55 ++++- include/libcamera/property_ids.h.in | 8 +- meson.build | 2 + src/ipa/rpi/common/ipa_base.cpp | 2 +- src/ipa/rpi/vc4/vc4.cpp | 2 +- src/libcamera/control_ids.cpp.in | 14 +- ...control_ids.yaml => control_ids_core.yaml} | 233 +----------------- src/libcamera/control_ids_draft.yaml | 230 +++++++++++++++++ src/libcamera/control_ranges.yaml | 18 ++ src/libcamera/meson.build | 25 +- src/libcamera/property_ids.cpp.in | 14 +- ...operty_ids.yaml => property_ids_core.yaml} | 34 +-- src/libcamera/property_ids_draft.yaml | 39 +++ src/py/libcamera/gen-py-controls.py | 87 ++++--- src/py/libcamera/meson.build | 26 +- src/py/libcamera/py_controls_generated.cpp.in | 6 +- .../libcamera/py_properties_generated.cpp.in | 6 +- utils/gen-controls.py | 147 +++++++---- 20 files changed, 595 insertions(+), 419 deletions(-) rename src/libcamera/{control_ids.yaml => control_ids_core.yaml} (79%) create mode 100644 src/libcamera/control_ids_draft.yaml create mode 100644 src/libcamera/control_ranges.yaml rename src/libcamera/{property_ids.yaml => property_ids_core.yaml} (96%) create mode 100644 src/libcamera/property_ids_draft.yaml