Cover Letter Detail
Show a cover letter.
GET /api/covers/1255/?format=api
{ "id": 1255, "url": "https://patchwork.libcamera.org/api/covers/1255/?format=api", "web_url": "https://patchwork.libcamera.org/cover/1255/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/projects/1/?format=api", "name": "libcamera", "link_name": "libcamera", "list_id": "libcamera_core", "list_email": "libcamera-devel@lists.libcamera.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20190522210220.1631-1-paul.elder@ideasonboard.com>", "date": "2019-05-22T21:02:15", "name": "[libcamera-devel,RFC,0/5] Add IPAManager", "submitter": { "id": 17, "url": "https://patchwork.libcamera.org/api/people/17/?format=api", "name": "Paul Elder", "email": "paul.elder@ideasonboard.com" }, "mbox": "https://patchwork.libcamera.org/cover/1255/mbox/", "series": [ { "id": 317, "url": "https://patchwork.libcamera.org/api/series/317/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=317", "date": "2019-05-22T21:02:15", "name": "Add IPAManager", "version": 1, "mbox": "https://patchwork.libcamera.org/series/317/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/covers/1255/comments/", "headers": { "Return-Path": "<paul.elder@ideasonboard.com>", "Received": [ "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 2D44F60C02\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 22 May 2019 23:02:39 +0200 (CEST)", "from localhost.localdomain (unknown [96.44.9.117])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id D4C11443;\n\tWed, 22 May 2019 23:02:36 +0200 (CEST)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1558558957;\n\tbh=tC4O7pOJaBnl3i78633BJ54ZbyCVv3cRk3Hmk8GLuU4=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=XVsYbWkyqbjyRAcUDuPoEUiJDHhoz9q9y3wuzfRz1sm1snEQh+ZU+VPsFdeBLG4Ks\n\tmQ/89fcOdF0ZWbuDe+viAlRUxtJjXfjEOeKUpE5BqXYqFUwu8uoP39uP5WW46vi0Z3\n\tSE7WmFA4fF+vMrHHwWI9lljzeJsoI5FVO5k+fGYI=", "From": "Paul Elder <paul.elder@ideasonboard.com>", "To": "libcamera-devel@lists.libcamera.org", "Date": "Wed, 22 May 2019 17:02:15 -0400", "Message-Id": "<20190522210220.1631-1-paul.elder@ideasonboard.com>", "X-Mailer": "git-send-email 2.20.1", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Subject": "[libcamera-devel] [RFC PATCH 0/5] Add IPAManager", "X-BeenThere": "libcamera-devel@lists.libcamera.org", "X-Mailman-Version": "2.1.23", "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>", "X-List-Received-Date": "Wed, 22 May 2019 21:02:39 -0000" }, "content": "Pipeline handlers need a way to acquire an IPA module. To achieve this,\nwe use an IPA manager, that loads many IPA modules, after which a\npipeline handler can ask the IPA manager for an IPA module that matches\nit. Each IPA can only be used with one pipeline, but a pipeline may work\nwith many IPAs (not simultaneously).\n\nI took inspiration from the DeviceEnumerator, and went for one\nIPAManager, that scans a directory (or many) for IPA modules, and loads\nthem into a list, after which a pipeline handler can aquire one.\n5/5 \"libcamera: pipelines: add IPAManager\" shows how this might work.\nThe pipeline handler fills in parameters into a struct IPAModuleInfo\nwhich the IPA manager uses to find a matching IPA module.\n\nI do realize that some (a lot) of the documentation is unfinished, but I\nwanted to get some feedback on this direction before doing so.\n\nPaul Elder (5):\n libcamera: ipa_module_info: update struct to allow IPA matching\n libcamera: ipa_module: add aquired attribute\n libcamera: ipa_manager: implement class for managing IPA modules\n test: ipa_manager: add test for IPAManager\n libcamera: pipelines: add IPAManager\n\n include/libcamera/ipa/ipa_module_info.h | 8 +-\n src/libcamera/camera_manager.cpp | 8 +-\n src/libcamera/include/ipa_manager.h | 38 +++++++++\n src/libcamera/include/ipa_module.h | 5 ++\n src/libcamera/include/pipeline_handler.h | 3 +-\n src/libcamera/ipa_manager.cpp | 102 +++++++++++++++++++++++\n src/libcamera/ipa_module.cpp | 21 ++++-\n src/libcamera/meson.build | 2 +\n src/libcamera/pipeline/ipu3/ipu3.cpp | 5 +-\n src/libcamera/pipeline/rkisp1/rkisp1.cpp | 5 +-\n src/libcamera/pipeline/uvcvideo.cpp | 18 +++-\n src/libcamera/pipeline/vimc.cpp | 4 +-\n test/ipa/ipa_manager_test.cpp | 43 ++++++++++\n test/ipa/ipa_test.cpp | 37 +++++---\n test/ipa/meson.build | 3 +-\n test/ipa/shared_test.c | 4 +-\n test/ipa/shared_test.cpp | 6 +-\n 17 files changed, 283 insertions(+), 29 deletions(-)\n create mode 100644 src/libcamera/include/ipa_manager.h\n create mode 100644 src/libcamera/ipa_manager.cpp\n create mode 100644 test/ipa/ipa_manager_test.cpp" }