{"id":15991,"url":"https://patchwork.libcamera.org/api/covers/15991/?format=json","web_url":"https://patchwork.libcamera.org/cover/15991/","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":"<20220520165234.7642-1-laurent.pinchart@ideasonboard.com>","date":"2022-05-20T16:52:31","name":"[libcamera-devel,v2,0/3] cam: Add support for capture scripts","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/?format=json","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"mbox":"https://patchwork.libcamera.org/cover/15991/mbox/","series":[{"id":3131,"url":"https://patchwork.libcamera.org/api/series/3131/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=3131","date":"2022-05-20T16:52:31","name":"cam: Add support for capture scripts","version":2,"mbox":"https://patchwork.libcamera.org/series/3131/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/15991/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 4D67BC3256\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 20 May 2022 16:52:47 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id A19B065668;\n\tFri, 20 May 2022 18:52:46 +0200 (CEST)","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 2024560440\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 20 May 2022 18:52:45 +0200 (CEST)","from localhost.localdomain (unknown [45.131.31.124])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 7E8D05A4;\n\tFri, 20 May 2022 18:52:44 +0200 (CEST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1653065566;\n\tbh=rbIuSuq1J9PBAPE9AkthiJKdPMNL4sROQQ+5dvTmBks=;\n\th=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:\n\tList-Help:List-Subscribe:From:Reply-To:From;\n\tb=NTSLiyAqaHRPrtBEqujOCH9yceq0o1BR/r68KqKjBMifP+fBkqRr/NzhCU9RukX7d\n\tfQEHFHTCBfpOrjTCQQ1XS+epMgnb+UQVCOn/Y59VzzH02pyB7POC2s3YRmjoQG+Dkx\n\tWwLPVbAzmmkUxvuk2mI55P5fC79ZSEy3RDdJvcLqy3lULDM9EuMlvsh1ih/obHnAXx\n\tfqjed08LZpo/oxi6uMpx6DvgLePZkl/rzQZKqYqK+U6+2SJ4QlJo4nfnSBAjqkzyAR\n\tLfanjI0eIPKQfmVgjt02jNlY2YI6yrgqBRbZ+7e4iD/h+rvyHPjU4J4vL4FWT0XSDh\n\tzIf4ccsRFazJQ==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1653065564;\n\tbh=rbIuSuq1J9PBAPE9AkthiJKdPMNL4sROQQ+5dvTmBks=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=WQOV72T+FNwceJOxPI64kUckTmA26hKlTrAKArb5xPduVXEyoNiQGad9gyv3pL03M\n\tJqaOJJKdEY2ITl+CeBZA6YPc4uQo09923PN6x7k9+hXZm2rbBEkWEuFjkQ7iE6JOrZ\n\tiiBaArSa3jI8bRlHSE0tzdBgUGyu/b2b+ww+ZX3s="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"WQOV72T+\"; dkim-atps=neutral","To":"libcamera-devel@lists.libcamera.org","Date":"Fri, 20 May 2022 19:52:31 +0300","Message-Id":"<20220520165234.7642-1-laurent.pinchart@ideasonboard.com>","X-Mailer":"git-send-email 2.35.1","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Subject":"[libcamera-devel] [PATCH v2 0/3] cam: Add support for capture\n\tscripts","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":"Laurent Pinchart via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"Hello,\n\nThis is a second version of Jacopo's series that I have reworked (with\nhis consent :-)) to integrate review comments. Patch 2/5 of the original\nseries has been dropped, and patches 4/5 and 5/5 squashed with two minor\nfixes. Patch 1/3 has seen the most rework, see its changelog for\ndetails.\n\nHere's a copy of the original cover letter for reference:\n\nThis series provides the initial plumbing into the cam test application\nof the support for driving the capture session through a \"capture\nscript\".\n\nThe target of this series is to allow users of the cam application to\nlist in a yaml file a list of frame ids and to associate to each frame a\ndictionary of controls that will be applied to the camera at the\nrequested frame number.\n\nThe ability to record in a configuration file the capture session\nparameters allows to automate the execution of reproducible tests and to\nvalidate how controls are applied by the pipeline handler/IPA.\n\nA simple example script has been added to in patch [1/3]\n\nGoing forward it could be possible to extend the capture script to\nspecify in all the capture parameters which are now provided through\ncommand line arguments, such as the streams resolutions, format and so\non.\n\nTested on UVC camera by running the example capture script and by\nvisually verifying the camera brightness actually changes.\n\nJacopo Mondi (3):\n  cam: Add a parser for capture scripts\n  cam: Queue requests through CameraSession::queueRequest()\n  cam: Use script parser to set controls\n\n src/cam/camera_session.cpp  |  16 +-\n src/cam/camera_session.h    |   3 +\n src/cam/capture-script.yaml |  46 +++++\n src/cam/capture_script.cpp  | 334 ++++++++++++++++++++++++++++++++++++\n src/cam/capture_script.h    |  60 +++++++\n src/cam/main.cpp            |   4 +\n src/cam/main.h              |   1 +\n src/cam/meson.build         |   2 +\n 8 files changed, 465 insertions(+), 1 deletion(-)\n create mode 100644 src/cam/capture-script.yaml\n create mode 100644 src/cam/capture_script.cpp\n create mode 100644 src/cam/capture_script.h\n\n\nbase-commit: 0c1b3f5e4c5f36c19d702529d4b597415f813394"}