{"id":18898,"url":"https://patchwork.libcamera.org/api/covers/18898/?format=json","web_url":"https://patchwork.libcamera.org/cover/18898/","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":"<20230728133700.3713-1-david.plowman@raspberrypi.com>","date":"2023-07-28T13:36:57","name":"[libcamera-devel,0/3] Raspberry Pi AGC tidying","submitter":{"id":42,"url":"https://patchwork.libcamera.org/api/people/42/?format=json","name":"David Plowman","email":"david.plowman@raspberrypi.com"},"mbox":"https://patchwork.libcamera.org/cover/18898/mbox/","series":[{"id":3993,"url":"https://patchwork.libcamera.org/api/series/3993/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=3993","date":"2023-07-28T13:36:57","name":"Raspberry Pi AGC tidying","version":1,"mbox":"https://patchwork.libcamera.org/series/3993/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/18898/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 A5088BDC71\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 28 Jul 2023 13:37:05 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id D7D3B627EE;\n\tFri, 28 Jul 2023 15:37:04 +0200 (CEST)","from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com\n\t[IPv6:2a00:1450:4864:20::42e])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 2D315627E6\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 28 Jul 2023 15:37:03 +0200 (CEST)","by mail-wr1-x42e.google.com with SMTP id\n\tffacd0b85a97d-3090d3e9c92so2193543f8f.2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 28 Jul 2023 06:37:03 -0700 (PDT)","from pi4-davidp.pitowers.org\n\t([2a00:1098:3142:14:2bce:64d6:1a5c:49a2])\n\tby smtp.gmail.com with ESMTPSA id\n\ti15-20020adffdcf000000b003145559a691sm4847758wrs.41.2023.07.28.06.37.01\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tFri, 28 Jul 2023 06:37:02 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1690551424;\n\tbh=oXOSWnW8WeuDYahMlccbdowOBXGw04yZMfnvlcf7YR8=;\n\th=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:\n\tList-Help:List-Subscribe:From:Reply-To:From;\n\tb=d5c4H97AbQChB7VnrwaQiH9i5n/sMmTqy+0+QwI5aYy16QwkOe9ijNl//xBgMMfFj\n\tdz22iDLE0/z3pzCyfLHR5ayPIDOFyTZ2cIy7y7tUHJOfs3C8SK6x3Ad4LDtXQCzuzi\n\tPcfCM4CllsiS0ji2rnl1ft6jabGLq6NHP74uOzcY4K9dLNPtA21PyeW+uqD1COZNJc\n\t6sX3ePveRZ8pG30OFw/EfrHo8iuemTiFr9GvQ6BsoWcTi1annPI7CRXw8m6Wpo+EgI\n\tXOzbK5wDw2hkWwIFhx7rV3MqBaQWFeBpzIsErfVBuzkklGbbj5zW3yMn0t8VI3CR5F\n\twG9OZyli31uug==","v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google; t=1690551422; x=1691156222;\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=LtczxYVE1Y4h79dImUSdE2qXXjHwaJNey8rAfk0efgQ=;\n\tb=qCJT/DoWelbSwsG04TRpP0IHwc/8/p9u/5kUkJ7zPM1v9B81yn/KlysBnI0RO15vhU\n\tFY7kgLrsM+J3N2X65I/OxqQPHaWizuVS8kEU4kyzf77BNOcshG5s7rOMkvgpy+xDVGQm\n\tsODzMHimsxlawnaaiWwULrFxtSq8DgrR0fcHWgm1g1TXELyc5S50e4dU4ToD3dWU3xd4\n\tdqFOwKSCmBU0HWipKGuqEJ+FOaQHptp/yKB+XsMukmnhGlgy4mpPf+e5U6BwZvkT0NFo\n\twHHqzeSnZpgp6fwwAcp/+7TjoJhu074dCsLO8a+l6mTMCMkJ164xVtOoECw1qmQQMxlT\n\tMkFA=="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected) header.d=raspberrypi.com\n\theader.i=@raspberrypi.com\n\theader.b=\"qCJT/DoW\"; dkim-atps=neutral","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20221208; t=1690551422; x=1691156222;\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=LtczxYVE1Y4h79dImUSdE2qXXjHwaJNey8rAfk0efgQ=;\n\tb=C58ZKniAJ1spD/XXiUF2N3Ob2mHhFGnMEtQKgA2TFirHf0M2xL3zhhQ+1AV2z+05cQ\n\tusuGW/n++lj+g6lR4XSYbnqub+SEb46DhCizuOLMgOD8hGAyplXHFY8ThqszM1ndJuYh\n\tDEwxOfHQZj0/WbiLGqMqZnKeKChWLqC2Hn0WAIGDTYNFkaCd3r/LYenwzstPZCtlEOmd\n\tc3O3YZIJGm8GAFVnZKQtffs+2v1OqZ4llTxv4VmYHb/Gqyv6ra+kihGhabaKGd7wk4lR\n\tjvQRL6MtV/S7WDaD64Ukg6fxHJnOLESDtKKUJOhcNDhwJNQwpKg17d5O5rxJAxdNatIh\n\tyRSw==","X-Gm-Message-State":"ABy/qLZfhptZ21WWu0AZLA8VtiBKulOrtS8GabafVTLc7MOZR+Dz0McA\n\tIMP6PqXRDu90z2x6drqWXWStn8MuCnceuYP0Ubc=","X-Google-Smtp-Source":"APBJJlGkSmdbpGOzoVfPNJeVDUeIms1vUJKWeajNm4fJjKgGdB95lynEUffq8x6LPzi0HDfWQFHIiw==","X-Received":"by 2002:a5d:6192:0:b0:314:101c:42ba with SMTP id\n\tj18-20020a5d6192000000b00314101c42bamr1953065wru.54.1690551422381; \n\tFri, 28 Jul 2023 06:37:02 -0700 (PDT)","To":"libcamera-devel@lists.libcamera.org","Date":"Fri, 28 Jul 2023 14:36:57 +0100","Message-Id":"<20230728133700.3713-1-david.plowman@raspberrypi.com>","X-Mailer":"git-send-email 2.30.2","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Subject":"[libcamera-devel] [PATCH 0/3] Raspberry Pi AGC tidying","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":"David Plowman via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"David Plowman <david.plowman@raspberrypi.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"Hi\n\nThis short series just tidies up some aspects of the AGC/AEC code.\nNone of it should have any functional impact at this point.\n\nThere are 3 commits:\n\n* The first tidies up where we fetch the AWB status.\n\n* The second calculates the required digital gain in a more natural\n  place which simplifies the code. It should probably always have been\n  like this!\n\n* The last commit splits out a separate agc.prepare_status from the\n  agc.status. Although it has no effect now, it will prevent surprises\n  if we fail to call either prepare() or process(), or call them in a\n  different order.\n\nThis work is all preparatory to a rather larger reorganisation of our\nAGC that will introduce the idea of AGC \"channels\", allowing, for\nexample, separate long and short exposure channels to be driven\nsimultaneously.\n\nThanks!\n\nDavid\n\nDavid Plowman (3):\n  ipa: rpi: agc: Fetch AWB status in process method, not prepare\n  ipa: rpi: agc: Filter exposures before dealing with digital gain\n  ipa: rpi: agc: Split AgcStatus into AgcStatus and AgcPrepareStatus\n\n src/ipa/rpi/common/ipa_base.cpp     |  8 ++---\n src/ipa/rpi/controller/agc_status.h |  9 +++--\n src/ipa/rpi/controller/rpi/agc.cpp  | 53 ++++++++++-------------------\n src/ipa/rpi/controller/rpi/agc.h    |  4 +--\n src/ipa/rpi/vc4/vc4.cpp             |  6 ++--\n 5 files changed, 34 insertions(+), 46 deletions(-)"}