From patchwork Fri Mar 31 07:23:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Naushir Patuck X-Patchwork-Id: 18496 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 05648C0F2A for ; Fri, 31 Mar 2023 07:40:50 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 48EE762724; Fri, 31 Mar 2023 09:40:49 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1680248449; bh=QJC2I2nACwW1FYDZAcsVfXSoY5IJYKV5hE2kU6v2ujk=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=BAHoeq/9pN8B2Bxk3vqvcX0ZdyzTFQfHBeoKRkzawOMIA4ZEYv6AmA69EGSNqxL3z kQjYflSkEu7DunM4xIsX/7ypzeENnFUO2SDNDvL9hhkbt19euoIrwo0vhCorjg/B1Y Q2PPl/rL0TNQpJ8Zs2SC3PIUAOLezUuHAu3uWsBq/EtdnGn13g5me8eIvnTkTZNTjv ElIVL45lwikSSe/qHiL6iroeQKCr5SwFEsbEPZWmQOd6klzB1MtrhiuisKyLlw7e3I KagPjDHeIWzyeOBeX2wp6+vfzApAhsnne0U74iFokBTb1v4QUmxHL7G9ftnSI17nxT nmkVXMPQrlT4g== Received: from mail-il1-x134.google.com (mail-il1-x134.google.com [IPv6:2607:f8b0:4864:20::134]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 86CD261ECB for ; Fri, 31 Mar 2023 09:40:47 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=raspberrypi.com header.i=@raspberrypi.com header.b="DfiqTEaH"; dkim-atps=neutral Received: by mail-il1-x134.google.com with SMTP id l9so11135625iln.1 for ; Fri, 31 Mar 2023 00:40:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.com; s=google; t=1680248446; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=hpUKB/hy6e+gWxemHN1k7TO222ceNnmH2ce+PdLPJY4=; b=DfiqTEaHqz4M+ue1CFnRdJZGdIrFWVKxvL2kKSPJhhmIwx+n+1jZxrc+xPwv8VHjON TRRWRu+T97jPhb/Afri4H+hLke/g6hjDMFfOUu4OLWZXMDkwMnT/KSne2tVmcw5/+aTk adwtM47OIeiUehPSOKILXki4w75alZOsHXJmsbaBYALtgkZoJEUEN/uISEPDd8rgB2Jl y9E0OmUtzHnObJ/oOilRDRT67RMkFgghaG93z5zsr2qz4PVP2IEMyP7RJ2HCsNTsC2/1 H9SsMWeLaQkqWhTR1gu/zWM0rB6BJu6B5KvNiUOHyNuJQrc0HYnrMNqSqp6RiPHNlOlk wFxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680248446; 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=hpUKB/hy6e+gWxemHN1k7TO222ceNnmH2ce+PdLPJY4=; b=NvOugQP1w9/UwK5k5FPV7e79NVfTu1bKGFWIjTugsPUyftpMtB/L/RskWVjaLOx0VK sOyax86CTAjtzxENya9jOQ22NaWbIhzw11Za/Y/1h9rpCsVXxFA90VKxLf6itzJOzg2R PpTHoRBACBbMVM7/Nt0+nQwJgDbLm4eT3FIaTwuPepuXT6arkMC7FNcKHkPECiKagrYZ yVRr61UlTrA54zokAUQES87xuXC/pGMRUFHTQl2kTRCaRGF81MrmCxgjlyEtRWqHaaFe 6t6hJ2P+Gn3IGQuDwtzpKHPjEmLWVTZey1EvFEiAoeTT/BgOQ+jrn9BxIgbFa7+gEX57 hyiA== X-Gm-Message-State: AAQBX9f123cMwHLNf3vCIV50ZtlsoELaTQLhpSfzSwOtuUHNkSMaqK6/ GKvKQuJFk8EsWsTXbZvo+JlM96nPYAlls9kBw7zmuw== X-Google-Smtp-Source: AKy350bCPsN2PIdQDKyYKesH3xpsvHOTfZKPnTXMRZ7x4bnQCmMYPCzjFGmD2pqjDjUy6SbwBuG4KA== X-Received: by 2002:a92:d40e:0:b0:315:375c:dc5a with SMTP id q14-20020a92d40e000000b00315375cdc5amr18488519ilm.20.1680248445888; Fri, 31 Mar 2023 00:40:45 -0700 (PDT) Received: from localhost.localdomain ([93.93.133.154]) by smtp.gmail.com with ESMTPSA id i17-20020a6bf411000000b0074555814e73sm421943iog.32.2023.03.31.00.40.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 31 Mar 2023 00:40:45 -0700 (PDT) To: libcamera-devel@lists.libcamera.org Date: Fri, 31 Mar 2023 08:23:31 +0100 Message-Id: <20230331072341.24851-1-naush@raspberrypi.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v3 00/10] Raspberry Pi: Generalised algorithms 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, Only a minor change to version 3 compared to the previous version: - Fixed a typo reported by Jacopo. - In patch 10/10, I've made some minor changes to not only remove the "rpi.focus" algorithm, but also to generalise the calculation of focus FoM values from the central region of the statistics. Only patch 10/10 is waiting for R-b tags now. If I've missed anything out please do shout! Regards, Naush David Plowman (2): ipa: raspberrypi: alsc: Replace std::vectors by Array2D class ipa: raspberrypi: alsc: Use a better type name for sparse arrays Naushir Patuck (7): ipa: raspberrypi Store the target string in the controller ipa: raspberrypi: Add hardware configuration to the controller ipa: raspberrypi: Generalise the ALSC algorithm ipa: raspberrypi: Generalise the contrast algorithm ipa: raspberrypi: Make RegionStats::get() always return a Region struct ipa: raspberrypi: Generalise the agc algorithm ipa: raspberrypi: Generalise the focus reporting code Nick Hollinghurst (1): ipa: raspberrypi: Generalise the autofocus algorithm src/ipa/raspberrypi/cam_helper_imx708.cpp | 23 +- src/ipa/raspberrypi/controller/algorithm.h | 8 + src/ipa/raspberrypi/controller/alsc_status.h | 13 +- .../raspberrypi/controller/contrast_status.h | 11 +- src/ipa/raspberrypi/controller/controller.cpp | 37 +++ src/ipa/raspberrypi/controller/controller.h | 15 + src/ipa/raspberrypi/controller/focus_status.h | 20 -- src/ipa/raspberrypi/controller/pdaf_data.h | 21 +- src/ipa/raspberrypi/controller/region_stats.h | 4 +- src/ipa/raspberrypi/controller/rpi/af.cpp | 176 +++++------ src/ipa/raspberrypi/controller/rpi/af.h | 29 +- src/ipa/raspberrypi/controller/rpi/agc.cpp | 20 +- src/ipa/raspberrypi/controller/rpi/agc.h | 9 +- src/ipa/raspberrypi/controller/rpi/alsc.cpp | 291 ++++++++++-------- src/ipa/raspberrypi/controller/rpi/alsc.h | 83 ++++- .../raspberrypi/controller/rpi/contrast.cpp | 30 +- src/ipa/raspberrypi/controller/rpi/contrast.h | 1 - src/ipa/raspberrypi/controller/rpi/focus.cpp | 49 --- src/ipa/raspberrypi/data/imx290.json | 3 - src/ipa/raspberrypi/data/imx296.json | 3 - src/ipa/raspberrypi/data/imx296_mono.json | 3 - src/ipa/raspberrypi/data/imx477.json | 3 - src/ipa/raspberrypi/data/imx477_noir.json | 3 - .../raspberrypi/data/imx477_scientific.json | 3 - src/ipa/raspberrypi/data/imx477_v1.json | 3 - src/ipa/raspberrypi/data/imx708.json | 3 - src/ipa/raspberrypi/data/imx708_noir.json | 3 - src/ipa/raspberrypi/data/imx708_wide.json | 3 - .../raspberrypi/data/imx708_wide_noir.json | 3 - src/ipa/raspberrypi/meson.build | 1 - src/ipa/raspberrypi/raspberrypi.cpp | 85 +++-- 31 files changed, 520 insertions(+), 439 deletions(-) delete mode 100644 src/ipa/raspberrypi/controller/focus_status.h delete mode 100644 src/ipa/raspberrypi/controller/rpi/focus.cpp