{"id":18427,"url":"https://patchwork.libcamera.org/api/1.1/covers/18427/?format=json","web_url":"https://patchwork.libcamera.org/cover/18427/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/1.1/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":"<20230322130612.5208-1-naush@raspberrypi.com>","date":"2023-03-22T13:06:02","name":"[libcamera-devel,v1,00/10] Raspberry Pi: Generalised algorithms","submitter":{"id":34,"url":"https://patchwork.libcamera.org/api/1.1/people/34/?format=json","name":"Naushir Patuck","email":"naush@raspberrypi.com"},"mbox":"https://patchwork.libcamera.org/cover/18427/mbox/","series":[{"id":3810,"url":"https://patchwork.libcamera.org/api/1.1/series/3810/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=3810","date":"2023-03-22T13:06:02","name":"Raspberry Pi: Generalised algorithms","version":1,"mbox":"https://patchwork.libcamera.org/series/3810/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/18427/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 A6BF2C0F1B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 22 Mar 2023 13:06:20 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id CA5106270D;\n\tWed, 22 Mar 2023 14:06:19 +0100 (CET)","from mail-io1-xd2b.google.com (mail-io1-xd2b.google.com\n\t[IPv6:2607:f8b0:4864:20::d2b])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 16D7A61ECE\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 22 Mar 2023 14:06:17 +0100 (CET)","by mail-io1-xd2b.google.com with SMTP id d14so5520210ion.9\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 22 Mar 2023 06:06:17 -0700 (PDT)","from localhost.localdomain ([93.93.133.154])\n\tby smtp.gmail.com with ESMTPSA id\n\tl6-20020a026646000000b003c488204c6fsm4927960jaf.76.2023.03.22.06.06.15\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tWed, 22 Mar 2023 06:06:15 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1679490379;\n\tbh=WF8Wll4m4uK+yLCID/teg1dpVN+z5A9hZXLsj2Q1MXc=;\n\th=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:\n\tList-Help:List-Subscribe:From:Reply-To:From;\n\tb=GlI13I51a4pgOsR7AQFoj1hLx9lZQ6fKjtbkzZGHpamBFV1DgaG2MceSMXbvn7HcB\n\tpmMqpdy05C2cWrw1GZREvQ/PoMYjG0DPhI3VCNSDom2FhwtGwZimcfB2GK/Aezi31D\n\t3FLH4oiUkxO7o3TRQGIixQZbba7T0G8H7TL9T2LuxtRxT7qRccm1P3yOIU1W2YdoN8\n\tSsMhJaEfPp8xNBXdBkXA4L2zQUN3o+hCtg3XSutygcLbG9toCq0MP4Ny2FUASFdW1l\n\t2dUplstlHi3wUWQfiXxkrBEvACvFI5HvFHLT3X7IKTNGz1YoJcaSOJTz/H3t4m9fv/\n\tCyL71snyZuivA==","v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google; t=1679490376;\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=euXEkiT98mlp7jLjndD3nWFnhqZQxC7UoFiknG1A6Eg=;\n\tb=Ro5RHmRj+2iFXFOjIfsM0faFdd7rfe/6onXiu6+8ZaHGC55K7Dl6825A6i5aeWJfcU\n\tJP8F919mZcpZVwoIvhoSy0ZZlwih4m0pMPKCTHv18mGH4DYyFa2Y+lvmEK9+4ixg8BU8\n\tS3ErI+AMvsDquwO56bVHc2uk51Ihk322O937o7Poya2UhQ+DKc/ejytzd4Ogmt3VgFTp\n\tk8l9jkjPtrKtEtiypy+E8NAZrAVnPhPgr0KFIL3zj7944cQrohSoxtyTlC68RezUGx1o\n\t8pl4BLiVUElF/KDl0UQrhR3WsU54XjcG2ND4qXipr17C/fklgkPS+l6SjmqSr7wjv+u0\n\tNVzg=="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected) header.d=raspberrypi.com\n\theader.i=@raspberrypi.com\n\theader.b=\"Ro5RHmRj\"; dkim-atps=neutral","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112; t=1679490376;\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=euXEkiT98mlp7jLjndD3nWFnhqZQxC7UoFiknG1A6Eg=;\n\tb=oIRysH8cADSVKSth8obu204Qych/TQNOAXsaWarch60uZVQ54TrA7br9vFV0fODaBA\n\tsmAaWS7dC/4Pk+K4tU2RbifyGc7jnrSA5zaHgbnGcIe5Phe+NbJTSbX09oFmpjf7MIba\n\tIAcJk8FbIGOCYk0CxjS22i3fzUKjCSMVhiRwcLwmMYLl53Y508zTwe6heQnsr8rbOdrF\n\t87Ge13vh0uTMa6m9MD+xT+WEOXlBxmjJ71lVOuxI7lvAe6panPtiEr9gWhe7E8f7Xb+i\n\tai/iCyNrxvGlTRmuwaU2RGLMEBPlJvx4+p7o3b8tXKioCSoSo5aqUcznVZnp4GsqS/S+\n\t9WXw==","X-Gm-Message-State":"AO0yUKWfew858hQ2vBtTlK2GepM/smXx5HbxXgliWR72ypVt5smfftSr\n\to6M3T2ufnmvtXcIDJTv92iWLVLsh2gSnqKXmnDhnqg==","X-Google-Smtp-Source":"AK7set/c3xQrFqV6DMTji7xL5+21ImhvN3WP27hrNf1+evRUdznOqIWXzVof3KKKuOT/caleD+PdRA==","X-Received":"by 2002:a6b:4902:0:b0:758:a859:6247 with SMTP id\n\tu2-20020a6b4902000000b00758a8596247mr1238826iob.9.1679490376292; \n\tWed, 22 Mar 2023 06:06:16 -0700 (PDT)","To":"libcamera-devel@lists.libcamera.org","Date":"Wed, 22 Mar 2023 13:06:02 +0000","Message-Id":"<20230322130612.5208-1-naush@raspberrypi.com>","X-Mailer":"git-send-email 2.34.1","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Subject":"[libcamera-devel] [PATCH v1 00/10] Raspberry Pi: Generalised\n\talgorithms","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\nThe aim of this patch series is to generalise our algorithm code as much as\npossible and remove any hardcoded assumptions about the hardware statistics\nstructures.  This is built onto of the generalised statistics struture work that\nhas been recently merged.\n\nAlong the way there are some tidy ups to the algorithm code, particularly ALSC\nwhere we use pre-allocated temporary arrays for the run-time calculations.\n\nRegards,\nNaush\n\nDavid Plowman (2):\n  ipa: raspberrypi: alsc: Replace std::vectors by Array2D class\n  ipa: raspberrypi: alsc: Use a better type name for sparse arrays\n\nNaushir Patuck (7):\n  ipa: raspberrypi Store the target string in the controller\n  ipa: raspberrypi: Add hardware configuration to the controller\n  ipa: raspberrypi: Generalise the ALSC algorithm\n  ipa: raspberrypi: Generalise the contrast algorithm\n  ipa: raspberrypi: Make RegionStats::get() always return a Region\n    struct\n  ipa: raspberrypi: Generalise the focus algorithm\n  ipa: raspberrypi: Generalise the agc algorithm\n\nNick Hollinghurst (1):\n  ipa: raspberrypi: Generalise the autofocus algorithm\n\n src/ipa/raspberrypi/cam_helper_imx708.cpp     |  23 +-\n src/ipa/raspberrypi/controller/algorithm.h    |   8 +\n src/ipa/raspberrypi/controller/alsc_status.h  |  13 +-\n .../raspberrypi/controller/contrast_status.h  |  11 +-\n src/ipa/raspberrypi/controller/controller.cpp |  45 +++\n src/ipa/raspberrypi/controller/controller.h   |  15 +\n src/ipa/raspberrypi/controller/focus_status.h |  20 --\n src/ipa/raspberrypi/controller/pdaf_data.h    |  21 +-\n src/ipa/raspberrypi/controller/region_stats.h |   4 +-\n src/ipa/raspberrypi/controller/rpi/af.cpp     | 161 +++++-----\n src/ipa/raspberrypi/controller/rpi/af.h       |  28 +-\n src/ipa/raspberrypi/controller/rpi/agc.cpp    |  19 +-\n src/ipa/raspberrypi/controller/rpi/agc.h      |   9 +-\n src/ipa/raspberrypi/controller/rpi/alsc.cpp   | 291 ++++++++++--------\n src/ipa/raspberrypi/controller/rpi/alsc.h     |  83 ++++-\n .../raspberrypi/controller/rpi/contrast.cpp   |  30 +-\n src/ipa/raspberrypi/controller/rpi/contrast.h |   1 -\n src/ipa/raspberrypi/controller/rpi/focus.cpp  |  12 +-\n src/ipa/raspberrypi/raspberrypi.cpp           |  64 ++--\n 19 files changed, 498 insertions(+), 360 deletions(-)\n delete mode 100644 src/ipa/raspberrypi/controller/focus_status.h"}