[{"id":15551,"web_url":"https://patchwork.libcamera.org/comment/15551/","msgid":"<CAEmqJPqx6i8fT_Lj3xbEvapu1gYJwugRakPBjdoV9Vwiu5RmqA@mail.gmail.com>","date":"2021-03-09T07:21:54","subject":"Re: [libcamera-devel] [PATCH v4 0/7] DelayedControls updates and\n\tfixes","submitter":{"id":34,"url":"https://patchwork.libcamera.org/api/people/34/","name":"Naushir Patuck","email":"naush@raspberrypi.com"},"content":"Hi,\n\nAnother nudge for some feedback on this patch series.\n\nRegards,\nNaush\n\nOn Thu, 4 Mar 2021 at 08:17, Naushir Patuck <naush@raspberrypi.com> wrote:\n\n> Hi,\n>\n> This version (v4) of the patch series adds two further commits to v3.\n>\n> Patches 1 to 5 are identical to v3, except that I have added a line to the\n> commit\n> messages saying the change would break the unit tests because of a change\n> in the\n> logic of the helper.\n>\n> Patch 6 updates the unit tests with the correct behavior.  Unfortunately,\n> my\n> attempts to get vimc working on my platform did not end well, so I made a\n> local\n> mod to run the tests with a physical camera device. All tests do pass, but\n> I\n> would appreciate if somebody else could run this again with the vimc\n> device to\n> verify everything is passing.\n>\n> Patch 7 simply fixes a typo in the unit test filename.\n>\n> Thanks,\n> Naush\n>\n> Naushir Patuck (7):\n>   libcamera: delayed_controls: Add notion of priority write\n>   utils: raspberrypi: Add a DelayedControls log parser\n>   libcamera: delayed_controls: Remove unneeded write when starting up\n>   libcamera: delayed_controls: Remove spurious no-op queued controls\n>   libcamera: delayed_controls: Fix off-by-one error in get()\n>   test: delayed_controls: Fixup tests after recent DelayedControls\n>     changes\n>   test: delayed_controls: Rename delayed_contols.cpp to\n>     delayed_controls.cpp\n>\n>  include/libcamera/internal/delayed_controls.h |  13 +-\n>  src/libcamera/delayed_controls.cpp            |  74 ++++++++----\n>  src/libcamera/pipeline/ipu3/ipu3.cpp          |   8 +-\n>  .../pipeline/raspberrypi/raspberrypi.cpp      |  13 +-\n>  src/libcamera/pipeline/rkisp1/rkisp1.cpp      |   8 +-\n>  ...layed_contols.cpp => delayed_controls.cpp} |  51 +++++---\n>  test/meson.build                              |   2 +-\n>  utils/raspberrypi/delayedctrls_parse.py       | 111 ++++++++++++++++++\n>  8 files changed, 219 insertions(+), 61 deletions(-)\n>  rename test/{delayed_contols.cpp => delayed_controls.cpp} (84%)\n>  create mode 100644 utils/raspberrypi/delayedctrls_parse.py\n>\n> --\n> 2.25.1\n>\n>","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 096E6BD80C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue,  9 Mar 2021 07:22:14 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 3B2BF68A9C;\n\tTue,  9 Mar 2021 08:22:13 +0100 (CET)","from mail-lf1-x12b.google.com (mail-lf1-x12b.google.com\n\t[IPv6:2a00:1450:4864:20::12b])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 82A94602E4\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue,  9 Mar 2021 08:22:12 +0100 (CET)","by mail-lf1-x12b.google.com with SMTP id v9so25426246lfa.1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 08 Mar 2021 23:22:12 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=raspberrypi.com header.i=@raspberrypi.com\n\theader.b=\"TMGDe2b9\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google;\n\th=mime-version:references:in-reply-to:from:date:message-id:subject:to;\n\tbh=9gA/YNbpWYGM0BiUuNcUQ+5LIWWuiDztt/DkUrKl2Ts=;\n\tb=TMGDe2b9fYOTSjLXtW/tDVDu8p946rPlBo7HlqTwivF2juxTptg/w/my+mcEr30GtA\n\tYg7/D8qLfRd+ZwdazN1dFnnA4IowgxrM6i02DBbhMb4wq8j3hP3oAjNrWh5aP9R2HX8Z\n\t9qbPdaDf9Aym72LaR0KwdtEjhxSbC3T5eyPmaBr/TM2ssHO1PFKEVPkNjdH1xX5DVuUf\n\tE3M42ynz7CKIOaP9qxGLtEb3MpaAvhjMOfBr9fhnNEsXppL60vMjCyzgl0gTsDj9CmCf\n\t4gSD/s2HiL9kcxORWcCgNBmEfiAoK3tQuC/83wYj/wA28EhtVCjXmi+J1OGslt23bhNX\n\thqTA==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:references:in-reply-to:from:date\n\t:message-id:subject:to;\n\tbh=9gA/YNbpWYGM0BiUuNcUQ+5LIWWuiDztt/DkUrKl2Ts=;\n\tb=TPWYpOYxp3p2qT3Gyfo2o7JPReM6PgJ2F7jS1AwStPvOf/a+wfraKhLYlLIitys9jM\n\tEl19Hn5/U3vWfaO8RTUCusoao1ZdNOfaHtkZxEvsMOq/9eyrZXzRwclfbrXPgKrhyPT7\n\tHqzXQr8M0Er/k3oAAlUgCP/iOII0RVso3EvoRJ/ciQmtvxA1ga5YCkqvlN1+NXhUFQY4\n\tTxXvEUk6juZOkPxIy+XP/zy9rkZdcmgR9rFmP/Ndg9Tqix44K3scNxEfqpBcdHJSiyCN\n\theGlYdC4uNiW+5J+8K+Uq/wbhh/cH6VwFe7f5Euv838dyVdUm9r3hzY/nHUCb+QCYeLi\n\tyWYA==","X-Gm-Message-State":"AOAM532Y915V6pyj4LUBCs5Z+bOxkVAz+EmiTWfCPv5Vxn7llSRnt/dE\n\tOivTBIN02Z4qbFlT9ZuTA5LXXQAk8iR+P1gP6ZwZpkeSBGFraA==","X-Google-Smtp-Source":"ABdhPJxIyqcpAXiVVABFtWTYVCOMui9SmvD5ol7rQkzDcmNujwrM87UAdYTpFEbVQTM7yQ+t0Wk9JqwlyNMhg/3YcMs=","X-Received":"by 2002:a05:6512:3226:: with SMTP id\n\tf6mr16193975lfe.171.1615274531405; \n\tMon, 08 Mar 2021 23:22:11 -0800 (PST)","MIME-Version":"1.0","References":"<20210304081728.1058394-1-naush@raspberrypi.com>","In-Reply-To":"<20210304081728.1058394-1-naush@raspberrypi.com>","From":"Naushir Patuck <naush@raspberrypi.com>","Date":"Tue, 9 Mar 2021 07:21:54 +0000","Message-ID":"<CAEmqJPqx6i8fT_Lj3xbEvapu1gYJwugRakPBjdoV9Vwiu5RmqA@mail.gmail.com>","To":"libcamera devel <libcamera-devel@lists.libcamera.org>","Subject":"Re: [libcamera-devel] [PATCH v4 0/7] DelayedControls updates and\n\tfixes","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>","Content-Type":"multipart/mixed;\n\tboundary=\"===============0697616278182146879==\"","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":15558,"web_url":"https://patchwork.libcamera.org/comment/15558/","msgid":"<20210309094922.GA90611@pyrite.rasen.tech>","date":"2021-03-09T09:49:22","subject":"Re: [libcamera-devel] [PATCH v4 7/7] test: delayed_controls: Rename\n\tdelayed_contols.cpp to delayed_controls.cpp","submitter":{"id":17,"url":"https://patchwork.libcamera.org/api/people/17/","name":"Paul Elder","email":"paul.elder@ideasonboard.com"},"content":"Hi Naush,\n\nOn Thu, Mar 04, 2021 at 08:17:28AM +0000, Naushir Patuck wrote:\n> There was a typo in the unit test filename. Fix this typo, no other\n> functional change in this commit.\n> \n> Signed-off-by: Naushir Patuck <naush@raspberrypi.com>\n\nReviewed-by: Paul Elder <paul.elder@ideasonboard.com>\n\n> ---\n>  test/{delayed_contols.cpp => delayed_controls.cpp} | 0\n>  test/meson.build                                   | 2 +-\n>  2 files changed, 1 insertion(+), 1 deletion(-)\n>  rename test/{delayed_contols.cpp => delayed_controls.cpp} (100%)\n> \n> diff --git a/test/delayed_contols.cpp b/test/delayed_controls.cpp\n> similarity index 100%\n> rename from test/delayed_contols.cpp\n> rename to test/delayed_controls.cpp\n> diff --git a/test/meson.build b/test/meson.build\n> index 89e6ebff5f6b..310b7cad0600 100644\n> --- a/test/meson.build\n> +++ b/test/meson.build\n> @@ -30,7 +30,7 @@ internal_tests = [\n>      ['bayer-format',                    'bayer-format.cpp'],\n>      ['byte-stream-buffer',              'byte-stream-buffer.cpp'],\n>      ['camera-sensor',                   'camera-sensor.cpp'],\n> -    ['delayed_contols',                 'delayed_contols.cpp'],\n> +    ['delayed_controls',                'delayed_controls.cpp'],\n>      ['event',                           'event.cpp'],\n>      ['event-dispatcher',                'event-dispatcher.cpp'],\n>      ['event-thread',                    'event-thread.cpp'],\n> -- \n> 2.25.1\n> \n> _______________________________________________\n> libcamera-devel mailing list\n> libcamera-devel@lists.libcamera.org\n> https://lists.libcamera.org/listinfo/libcamera-devel","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 68C02BD1F1\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue,  9 Mar 2021 09:49:31 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 2695968A92;\n\tTue,  9 Mar 2021 10:49:31 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 7C34A6051F\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue,  9 Mar 2021 10:49:29 +0100 (CET)","from pyrite.rasen.tech (unknown\n\t[IPv6:2400:4051:61:600:2c71:1b79:d06d:5032])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 244E4E9;\n\tTue,  9 Mar 2021 10:49:27 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"j30An+H8\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1615283369;\n\tbh=PIfYSvooVd5falGL7CA68xTjpErltDf1kKW/bcVNZjI=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=j30An+H8GLUwf1fyt4tTRcgYbU78+KfQfQyLJVL+l6OeaJLvw8eEqpXold/xKwDwm\n\tzWuA/3D0Fyk2EwjalJ373gaU5+NbQ9Q9uRbOLfZt9fZLK9m31/nZee4/RorM3Tod/8\n\tu9B2GpyW3rUSh4wb4OKuB+RlHc/6qEfR1mSiphwM=","Date":"Tue, 9 Mar 2021 18:49:22 +0900","From":"paul.elder@ideasonboard.com","To":"Naushir Patuck <naush@raspberrypi.com>","Message-ID":"<20210309094922.GA90611@pyrite.rasen.tech>","References":"<20210304081728.1058394-1-naush@raspberrypi.com>\n\t<20210304081728.1058394-8-naush@raspberrypi.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<20210304081728.1058394-8-naush@raspberrypi.com>","Subject":"Re: [libcamera-devel] [PATCH v4 7/7] test: delayed_controls: Rename\n\tdelayed_contols.cpp to delayed_controls.cpp","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>","Cc":"libcamera-devel@lists.libcamera.org","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":15565,"web_url":"https://patchwork.libcamera.org/comment/15565/","msgid":"<YEdO8/gLs3dt4SFK@pendragon.ideasonboard.com>","date":"2021-03-09T10:33:23","subject":"Re: [libcamera-devel] [PATCH v4 0/7] DelayedControls updates and\n\tfixes","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Naush,\n\nOn Thu, Mar 04, 2021 at 08:17:21AM +0000, Naushir Patuck wrote:\n> Hi,\n> \n> This version (v4) of the patch series adds two further commits to v3.\n> \n> Patches 1 to 5 are identical to v3, except that I have added a line to the commit\n> messages saying the change would break the unit tests because of a change in the\n> logic of the helper.\n> \n> Patch 6 updates the unit tests with the correct behavior.  Unfortunately, my\n> attempts to get vimc working on my platform did not end well, so I made a local\n> mod to run the tests with a physical camera device. All tests do pass, but I\n> would appreciate if somebody else could run this again with the vimc device to\n> verify everything is passing.\n> \n> Patch 7 simply fixes a typo in the unit test filename.\n\nJust for my information, I'd like to get a clear understanding of the\nissues that this series fixes. As far as I know, it addresses\noscillations in the algorithms for Raspberry Pi. Were those oscillations\nintroduced by the switch from the StaggeredCtrls implementation to\nDelayedControls but only noticed later, or are there other changes that\nare involved here ?\n\n> Naushir Patuck (7):\n>   libcamera: delayed_controls: Add notion of priority write\n>   utils: raspberrypi: Add a DelayedControls log parser\n>   libcamera: delayed_controls: Remove unneeded write when starting up\n>   libcamera: delayed_controls: Remove spurious no-op queued controls\n>   libcamera: delayed_controls: Fix off-by-one error in get()\n>   test: delayed_controls: Fixup tests after recent DelayedControls\n>     changes\n>   test: delayed_controls: Rename delayed_contols.cpp to\n>     delayed_controls.cpp\n> \n>  include/libcamera/internal/delayed_controls.h |  13 +-\n>  src/libcamera/delayed_controls.cpp            |  74 ++++++++----\n>  src/libcamera/pipeline/ipu3/ipu3.cpp          |   8 +-\n>  .../pipeline/raspberrypi/raspberrypi.cpp      |  13 +-\n>  src/libcamera/pipeline/rkisp1/rkisp1.cpp      |   8 +-\n>  ...layed_contols.cpp => delayed_controls.cpp} |  51 +++++---\n>  test/meson.build                              |   2 +-\n>  utils/raspberrypi/delayedctrls_parse.py       | 111 ++++++++++++++++++\n>  8 files changed, 219 insertions(+), 61 deletions(-)\n>  rename test/{delayed_contols.cpp => delayed_controls.cpp} (84%)\n>  create mode 100644 utils/raspberrypi/delayedctrls_parse.py","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 2A588BD1F1\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue,  9 Mar 2021 10:33:57 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 8640468A9F;\n\tTue,  9 Mar 2021 11:33:56 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id B41DD6051F\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue,  9 Mar 2021 11:33:54 +0100 (CET)","from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi\n\t[62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 2C3FAE9;\n\tTue,  9 Mar 2021 11:33:54 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"klC2YYTP\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1615286034;\n\tbh=1TXKu3cFZ+rfQrl/n3OS6027XTt9RvMJrTxM5oaE5KM=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=klC2YYTPxnPGxh28jXiIxojZV2n7kzs9NxWsrmXzT6PLAseefDA32SiU+Zaq+dwZ2\n\tSUCL3SwVX3ldF5dA8/FoFPvtKR4QFdjhvYk5v5RhZtUvz1GXUbpd/hBWL9ztZR1QlU\n\tkbqEyHi7kpgjjiEjOWy84k/xcgPNWp8U8XgLSzQQ=","Date":"Tue, 9 Mar 2021 12:33:23 +0200","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Naushir Patuck <naush@raspberrypi.com>","Message-ID":"<YEdO8/gLs3dt4SFK@pendragon.ideasonboard.com>","References":"<20210304081728.1058394-1-naush@raspberrypi.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<20210304081728.1058394-1-naush@raspberrypi.com>","Subject":"Re: [libcamera-devel] [PATCH v4 0/7] DelayedControls updates and\n\tfixes","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>","Cc":"libcamera-devel@lists.libcamera.org","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":15566,"web_url":"https://patchwork.libcamera.org/comment/15566/","msgid":"<CAEmqJPqC56H3997C0jos0LA+eFRc_0R=dcTE=UkK7=3p=rh7nw@mail.gmail.com>","date":"2021-03-09T10:50:09","subject":"Re: [libcamera-devel] [PATCH v4 0/7] DelayedControls updates and\n\tfixes","submitter":{"id":34,"url":"https://patchwork.libcamera.org/api/people/34/","name":"Naushir Patuck","email":"naush@raspberrypi.com"},"content":"Hi Laurent,\n\nOn Tue, 9 Mar 2021 at 10:33, Laurent Pinchart <\nlaurent.pinchart@ideasonboard.com> wrote:\n\n> Hi Naush,\n>\n> On Thu, Mar 04, 2021 at 08:17:21AM +0000, Naushir Patuck wrote:\n> > Hi,\n> >\n> > This version (v4) of the patch series adds two further commits to v3.\n> >\n> > Patches 1 to 5 are identical to v3, except that I have added a line to\n> the commit\n> > messages saying the change would break the unit tests because of a\n> change in the\n> > logic of the helper.\n> >\n> > Patch 6 updates the unit tests with the correct behavior.\n> Unfortunately, my\n> > attempts to get vimc working on my platform did not end well, so I made\n> a local\n> > mod to run the tests with a physical camera device. All tests do pass,\n> but I\n> > would appreciate if somebody else could run this again with the vimc\n> device to\n> > verify everything is passing.\n> >\n> > Patch 7 simply fixes a typo in the unit test filename.\n>\n> Just for my information, I'd like to get a clear understanding of the\n> issues that this series fixes. As far as I know, it addresses\n> oscillations in the algorithms for Raspberry Pi. Were those oscillations\n> introduced by the switch from the StaggeredCtrls implementation to\n> DelayedControls but only noticed later, or are there other changes that\n> are involved here ?\n>\n\nThis series addresses the AGC oscillations observed on the Raspberry Pi\nusing our algorithm.  The key difference between DelayedControls and\nStaggeredCtrls is that the former allows us to queue multiple batches of\nctrls,\nwhereas the latter would only apply the last queued value.  Hence there\nis a pair of indexes to track in DelayedControls, vs a single index in\nStaggeredCtrl.  Because of this difference, the behavior between the two\nwas slightly different (e.g. an additional frame needed to queue a control\nto the device by DelayedControls, causing a delay mismatch).\n\nThis patch aligns the behavior of the two while keeping the new\nfunctionality\nof allowing us to queue multiple batches of ctrls.  This effectively fixes\nour\nAGC oscillations as well.  This change should work equally well for all\nother\nvendor AGC algorithms, there is nothing specific to Raspberry Pi in these\ncommits.\n\nHope that makes things clearer.\n\nRegards,\nNaush\n\n\n>\n> > Naushir Patuck (7):\n> >   libcamera: delayed_controls: Add notion of priority write\n> >   utils: raspberrypi: Add a DelayedControls log parser\n> >   libcamera: delayed_controls: Remove unneeded write when starting up\n> >   libcamera: delayed_controls: Remove spurious no-op queued controls\n> >   libcamera: delayed_controls: Fix off-by-one error in get()\n> >   test: delayed_controls: Fixup tests after recent DelayedControls\n> >     changes\n> >   test: delayed_controls: Rename delayed_contols.cpp to\n> >     delayed_controls.cpp\n> >\n> >  include/libcamera/internal/delayed_controls.h |  13 +-\n> >  src/libcamera/delayed_controls.cpp            |  74 ++++++++----\n> >  src/libcamera/pipeline/ipu3/ipu3.cpp          |   8 +-\n> >  .../pipeline/raspberrypi/raspberrypi.cpp      |  13 +-\n> >  src/libcamera/pipeline/rkisp1/rkisp1.cpp      |   8 +-\n> >  ...layed_contols.cpp => delayed_controls.cpp} |  51 +++++---\n> >  test/meson.build                              |   2 +-\n> >  utils/raspberrypi/delayedctrls_parse.py       | 111 ++++++++++++++++++\n> >  8 files changed, 219 insertions(+), 61 deletions(-)\n> >  rename test/{delayed_contols.cpp => delayed_controls.cpp} (84%)\n> >  create mode 100644 utils/raspberrypi/delayedctrls_parse.py\n>\n> --\n> Regards,\n>\n> Laurent Pinchart\n>","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 31D17BD80C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue,  9 Mar 2021 10:50:29 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 7A65268AA3;\n\tTue,  9 Mar 2021 11:50:28 +0100 (CET)","from mail-lj1-x22b.google.com (mail-lj1-x22b.google.com\n\t[IPv6:2a00:1450:4864:20::22b])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id A59F56051F\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue,  9 Mar 2021 11:50:26 +0100 (CET)","by mail-lj1-x22b.google.com with SMTP id h4so20042018ljl.0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 09 Mar 2021 02:50:26 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=raspberrypi.com header.i=@raspberrypi.com\n\theader.b=\"oaTdyHgd\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google;\n\th=mime-version:references:in-reply-to:from:date:message-id:subject:to\n\t:cc; bh=uUzJQr3EPjZPtpKat4Gsqdiyz6lgDulGV5mgwMJ2yiQ=;\n\tb=oaTdyHgdv9wLM7tiwXOUUpLJ/j1oonGALivM58DqPXa1k00wPCX1IxhtEFgxlb85Rm\n\tsAXHXazZtZmt+9WZ3jCmHnTOlreMQdJtJ7r2ccnqAHnNTKTQn7RAgEG5QtcGFTK4XoxL\n\tA7bg87Bpuxdtm1RX8ci9qs7srGCphNkBc/MwYSv1FsrSPsF6HRw7McSQdUk7+2ON0qsN\n\tCm5A7SS0LBR7MDgK/Ikrn6f+vyp1zPDFr9JK2zjKuTJv8GLvBVbXkg0Yog8aA6JjdDF5\n\tERIW7B1TglUUFmXbn25oyJz14gMMp3ysemadsfR3fg7h9naHY2WDOVu6NdCl/oF5jDbm\n\tSexA==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:references:in-reply-to:from:date\n\t:message-id:subject:to:cc;\n\tbh=uUzJQr3EPjZPtpKat4Gsqdiyz6lgDulGV5mgwMJ2yiQ=;\n\tb=WpdWpGqn2QPq2jc8W0QiKB3FipKipyLASb6kctAl2KZ2GhULL8r7tVm7S3sHn/Rl6f\n\tLTWd+V27oc/KrdmdQ2htvRlTNAVybznDFNsCKdjgyLgOJKlaynvSCXcG+KgaiLkMOem6\n\t08RIAU9+DLvhINZewk0jDIuoUXXKJ6HUaUNzi3qDcDaMfFxNV3Y23SCszW869A58+C+6\n\tc8fHTelMjYsW2LqMJFzVOG6jK9xUygsVHa9Zi26irMZl2hLLPA5/Dm4yOO8XrWv9GENx\n\tjIOJAcvwHZOdNF3HpSpmasq1cZjIhF0XhmU/QCSl+VOcrKgC05ozEPplbg/VCDW4gzPV\n\tyYKw==","X-Gm-Message-State":"AOAM530Nj6sSxg+wf7Mo0yr+NWLc7Djt63WEF8Igg6IbeLi5JV0RcxZS\n\tnw0I8BUhgP1TAcwSQaqzxwW9W4FHqwaZY7HsMYzaJg==","X-Google-Smtp-Source":"ABdhPJwQ+h2QdYje6R2CkJtQ+W+YsVD7RyKKGY+4C9CCBdBj7AiJdHDmkjLNXXJ1cM4hOOJRK+exQ9XQNd3G44Q2iUo=","X-Received":"by 2002:a2e:a58f:: with SMTP id\n\tm15mr16048088ljp.400.1615287025785; \n\tTue, 09 Mar 2021 02:50:25 -0800 (PST)","MIME-Version":"1.0","References":"<20210304081728.1058394-1-naush@raspberrypi.com>\n\t<YEdO8/gLs3dt4SFK@pendragon.ideasonboard.com>","In-Reply-To":"<YEdO8/gLs3dt4SFK@pendragon.ideasonboard.com>","From":"Naushir Patuck <naush@raspberrypi.com>","Date":"Tue, 9 Mar 2021 10:50:09 +0000","Message-ID":"<CAEmqJPqC56H3997C0jos0LA+eFRc_0R=dcTE=UkK7=3p=rh7nw@mail.gmail.com>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH v4 0/7] DelayedControls updates and\n\tfixes","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>","Cc":"libcamera devel <libcamera-devel@lists.libcamera.org>","Content-Type":"multipart/mixed;\n\tboundary=\"===============1569654237378863071==\"","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":15618,"web_url":"https://patchwork.libcamera.org/comment/15618/","msgid":"<d6f0be96-4ab0-77ea-9597-c98243448d85@ideasonboard.com>","date":"2021-03-12T13:38:44","subject":"Re: [libcamera-devel] [PATCH v4 7/7] test: delayed_controls: Rename\n\tdelayed_contols.cpp to delayed_controls.cpp","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"On 04/03/2021 08:17, Naushir Patuck wrote:\n> There was a typo in the unit test filename. Fix this typo, no other\n> functional change in this commit.\n> \n\nPhew, an easy one.... ;-)\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n> Signed-off-by: Naushir Patuck <naush@raspberrypi.com>\n> ---\n>  test/{delayed_contols.cpp => delayed_controls.cpp} | 0\n>  test/meson.build                                   | 2 +-\n>  2 files changed, 1 insertion(+), 1 deletion(-)\n>  rename test/{delayed_contols.cpp => delayed_controls.cpp} (100%)\n> \n> diff --git a/test/delayed_contols.cpp b/test/delayed_controls.cpp\n> similarity index 100%\n> rename from test/delayed_contols.cpp\n> rename to test/delayed_controls.cpp\n> diff --git a/test/meson.build b/test/meson.build\n> index 89e6ebff5f6b..310b7cad0600 100644\n> --- a/test/meson.build\n> +++ b/test/meson.build\n> @@ -30,7 +30,7 @@ internal_tests = [\n>      ['bayer-format',                    'bayer-format.cpp'],\n>      ['byte-stream-buffer',              'byte-stream-buffer.cpp'],\n>      ['camera-sensor',                   'camera-sensor.cpp'],\n> -    ['delayed_contols',                 'delayed_contols.cpp'],\n> +    ['delayed_controls',                'delayed_controls.cpp'],\n>      ['event',                           'event.cpp'],\n>      ['event-dispatcher',                'event-dispatcher.cpp'],\n>      ['event-thread',                    'event-thread.cpp'],\n>","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 86BB6BD1F1\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 12 Mar 2021 13:38:49 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 420CE68C6A;\n\tFri, 12 Mar 2021 14:38:49 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id AA9C668C67\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 12 Mar 2021 14:38:48 +0100 (CET)","from [192.168.0.20]\n\t(cpc89244-aztw30-2-0-cust3082.18-1.cable.virginm.net [86.31.172.11])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 478E5A2A;\n\tFri, 12 Mar 2021 14:38:48 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"G7/LPnGF\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1615556328;\n\tbh=sZNxP38vvlRBH3E1zvGjVpcnSLn7anAbCWuXPgUNypk=;\n\th=Reply-To:Subject:To:References:From:Date:In-Reply-To:From;\n\tb=G7/LPnGFcSaazjq40XM6ufUf5tBnM+az4/Yd+ItK+kNGoS4Y/1WEGJ43fkpFtaNYf\n\taW68K29asbkq8uhwMNOQdCNnE0BjKTYul5WNv10+havdk8iHNc/L/bLo1Kk+vByKL/\n\tab9s+F43S0qG4DmuG01SMxLRZ5zMgClO6gRGwrF0=","To":"Naushir Patuck <naush@raspberrypi.com>,\n\tlibcamera-devel@lists.libcamera.org","References":"<20210304081728.1058394-1-naush@raspberrypi.com>\n\t<20210304081728.1058394-8-naush@raspberrypi.com>","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Autocrypt":"addr=kieran.bingham@ideasonboard.com; keydata=\n\t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\n\tWZw01QYHU/GUV/zHJSFk","Organization":"Ideas on Board","Message-ID":"<d6f0be96-4ab0-77ea-9597-c98243448d85@ideasonboard.com>","Date":"Fri, 12 Mar 2021 13:38:44 +0000","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101\n\tThunderbird/68.10.0","MIME-Version":"1.0","In-Reply-To":"<20210304081728.1058394-8-naush@raspberrypi.com>","Content-Language":"en-GB","Subject":"Re: [libcamera-devel] [PATCH v4 7/7] test: delayed_controls: Rename\n\tdelayed_contols.cpp to delayed_controls.cpp","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>","Reply-To":"kieran.bingham@ideasonboard.com","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]