From patchwork Tue Mar 28 08:55:19 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Plowman X-Patchwork-Id: 18482 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 D835BBD160 for ; Tue, 28 Mar 2023 08:55:28 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 9C5146273D; Tue, 28 Mar 2023 10:55:27 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1679993727; bh=UC7KZFqOw4kZu85osfwEW9UyD45YIVtD8+D+vXCNL7k=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=ZBE8USYwLLmHDf6wirRmVeJhGSHaEmWNb612Q57KRerfNl4ebQacazdWn4o0hzk9N +9TI5oYIW9anCJqaIcFR6rQBg7jq2xMoV79iAXSiqHswwE+mvaNMczpSkf9ukkLyLf NrIFIo+O7liAtP1Eg0Qfqh7u0fC/xMDdny5uLO9gtBJr6/XZ0J8Jn4HRoayfLYJF5V kwecuz6YrXoBmvSneyDAVUz0KCKIDfNh8qcJaQI6R1dd2HfvrM4FvYQMPkk4YL5DHh 9eD93fAvGKoGLmRaToZpgsuggB5ZpSVRe8Ma00X0Ismdjsm/Z7o+sAepIfuqwvnsaZ /pwwZwQCWHNzg== Received: from mail-il1-x12f.google.com (mail-il1-x12f.google.com [IPv6:2607:f8b0:4864:20::12f]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 38EE1626E2 for ; Tue, 28 Mar 2023 10:55:26 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=raspberrypi.com header.i=@raspberrypi.com header.b="iQv5zmu+"; dkim-atps=neutral Received: by mail-il1-x12f.google.com with SMTP id q5so643842ilg.12 for ; Tue, 28 Mar 2023 01:55:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.com; s=google; t=1679993725; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=EPdelFvEi0je7lscbxyFsk/QAb2TFXDjMTqBn8FMzDI=; b=iQv5zmu+i4+dbwIK5ZNe6SE9L2tabxCpx10X0QEhhBBWocX+Y5dzh3+xUxwf5eEtjF iyml3aeE4hewd6faY6NWc7GIoWXWqoVhpD3llbjUZfsfQ+fF5INeqNJeJ0XStTlU08yA Wu3uADOBLX+gq1wR5bZT9HD74sXPfmOXsC7Zzf6wkVD8EwAbpU4cMP7Y9CtKbOLuyTHx JoGEHVZ6VZvIfyUhbD87135soAZk/3yxd6lZnIq004ze6c29846PPb3jo7mP9boBTv7W FRWRk5Qz47+sRv2vqHMWBtvgkM48W80UHGb6sidEW5ikEBQrwKh59o11krSGJeDImDrx YcEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679993725; 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=EPdelFvEi0je7lscbxyFsk/QAb2TFXDjMTqBn8FMzDI=; b=pKnZeVADJCIe/u31wts+XbECN1EGtZ1upIbLZ4uzWFzcGy2QQQ6AOrZzZVwU7nJOX/ C4YnnZ+j58VYZOnPiC94veiXaS/JZWUzb90k27AVel0UEtZLzIt/UPNrs9U5c8eRTVX3 8WzMHZJkp6Y009bI7ggipBtLdfyt4Ly7p7kpyZxgXszeV6vAILTw1Vlx0ibQA53r2rUJ RU/FTk1F857pN3RWRqyqlk9DImK9O5Lnko72J69Qd0fLqw7+7n6a2MAO8j9HnBs+oQfH X68j7ynvhggLkoPo9O9rXAIechqwS56jiNFKHAdNDUSNJOW7cnWrz6jFwHQ3DZ5NoBca LMLw== X-Gm-Message-State: AAQBX9cHp9K6hcchDQhpY1W4lTozbXnRHVDDPKdLli333Yq4hT7lq4WG Vyidn/4s4v8ySbMZMI8X0cF63Ilf2OgKjOF6bTnOgw== X-Google-Smtp-Source: AKy350a+l2RRg53jh5d238wYHplMdHgHkEGyPJ+SzZ45hfHtm3VB4hIGm/LQgklzxRU6dpBJppU05w== X-Received: by 2002:a92:c104:0:b0:325:b60b:e309 with SMTP id p4-20020a92c104000000b00325b60be309mr10830298ile.4.1679993724703; Tue, 28 Mar 2023 01:55:24 -0700 (PDT) Received: from pi4-davidp.pitowers.org ([2a00:1098:3142:14:2bce:64d6:1a5c:49a2]) by smtp.gmail.com with ESMTPSA id g1-20020a028501000000b0040380d7c768sm9887414jai.106.2023.03.28.01.55.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Mar 2023 01:55:24 -0700 (PDT) To: libcamera-devel@lists.libcamera.org Date: Tue, 28 Mar 2023 09:55:19 +0100 Message-Id: <20230328085521.7409-1-david.plowman@raspberrypi.com> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v3 0/2] Add flicker avoidance controls 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: David Plowman via libcamera-devel From: David Plowman Reply-To: David Plowman Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Hi everyone Here's an updated version of flicker avoidance controls. It's similar to what I had previously, except that I've split the control which gave an explicit flicker period into two, one for reporting a currently detected value, and another for setting a custom flicker period. So we now have 3 controls in total. In terms of Android, the AeFlickerDetected control corresponds fairly directly to Android's scene_flicker control, which is (from my reading of it) merely reporting any currently detected flicker period. AeFlickerDetected, however, allows arbitrary flicker periods to be identified, not just 50 or 60Hz. The other controls (AeFlickerMode and AeFlickerCustom) correspond to Android's anti-banding control. Again, we extend it to allow arbitrary flicker periods. Hope that all makes sense! Thanks David David Plowman (2): libcamera: controls: Add controls for AEC/AGC flicker avoidance ipa: raspberrypi: Handle AEC/AGC flicker controls src/ipa/raspberrypi/raspberrypi.cpp | 80 +++++++++++++++++++++++++++ src/libcamera/control_ids.yaml | 84 +++++++++++++++++++++++------ 2 files changed, 147 insertions(+), 17 deletions(-)