Cover Letter Detail
Show a cover letter.
GET /api/1.1/covers/1999/?format=api
{ "id": 1999, "url": "https://patchwork.libcamera.org/api/1.1/covers/1999/?format=api", "web_url": "https://patchwork.libcamera.org/cover/1999/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/1.1/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": "<20190924172503.30864-1-jacopo@jmondi.org>", "date": "2019-09-24T17:24:42", "name": "[libcamera-devel,00/21] Implement control serialization", "submitter": { "id": 3, "url": "https://patchwork.libcamera.org/api/1.1/people/3/?format=api", "name": "Jacopo Mondi", "email": "jacopo@jmondi.org" }, "mbox": "https://patchwork.libcamera.org/cover/1999/mbox/", "series": [ { "id": 506, "url": "https://patchwork.libcamera.org/api/1.1/series/506/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=506", "date": "2019-09-24T17:24:42", "name": "Implement control serialization", "version": 1, "mbox": "https://patchwork.libcamera.org/series/506/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/covers/1999/comments/", "headers": { "Return-Path": "<jacopo@jmondi.org>", "Received": [ "from relay3-d.mail.gandi.net (relay3-d.mail.gandi.net\n\t[217.70.183.195])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 6B08160BCF\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 24 Sep 2019 19:23:28 +0200 (CEST)", "from uno.homenet.telecomitalia.it\n\t(host89-248-dynamic.45-213-r.retail.telecomitalia.it [213.45.248.89])\n\t(Authenticated sender: jacopo@jmondi.org)\n\tby relay3-d.mail.gandi.net (Postfix) with ESMTPSA id EF3AA60006\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 24 Sep 2019 17:23:27 +0000 (UTC)" ], "X-Originating-IP": "213.45.248.89", "From": "Jacopo Mondi <jacopo@jmondi.org>", "To": "libcamera-devel@lists.libcamera.org", "Date": "Tue, 24 Sep 2019 19:24:42 +0200", "Message-Id": "<20190924172503.30864-1-jacopo@jmondi.org>", "X-Mailer": "git-send-email 2.23.0", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=UTF-8", "Content-Transfer-Encoding": "8bit", "Subject": "[libcamera-devel] [PATCH 00/21] Implement control serialization", "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>", "X-List-Received-Date": "Tue, 24 Sep 2019 17:23:28 -0000" }, "content": "Hello, this series implements and test serialization of Control and\nV4L2Controls.\n\nIt is based on v2 of the just sent\n\"[PATCH v2 0/5] libcamera: Control framework backend rework\"\n\nThe series stats by defining an interface for serializable types, which should\nimplement the serialize() and deserialize() operations.\n\nIt provides an helper class with methods to serialize/deserialize DataValue and\nDataInfo types (introduced in the above mentioned series) to a known memory\nformat. Space optimization are indeed possible, this is just an initial version.\n\nIt then makes ControlList and V4L2ControlList containers of DataValue instances\nand ControlInfoMap and V4L2ControlInfoMap containers of DataInfo.\n\nOnce all types are backed by serializable classes (DataValue and DataInfo) it\nis possible to easy implements their serialization/deserialization processes.\n\nTests are added for all the 4 serializable types.\n\nThe last 7 patches, based on the out-of-tree:\n\"ipa: Remove IPAInterface::init()\"\n\"ipa: Convert the IPA API to plain C\"\n(here included for reference)\n\nare proof of concept (POC) patches which implements serialization of a\nControlList in the dummy_ipa class, adding support for setting controls to the\ncam application. Being POC patches I have not added documentation there, expect\nDoxygen warnings on this part of the series.\n\nThanks\n j\n\nJacopo Mondi (20):\n libcamera: utils: Provide an ALIGN macro\n libcamera: Define interface for serializable data types\n libcamera: Implement serialization helper class\n libcamera: controls: Implement ControlList serialization\n libcamera: controls: Make ControlInfoMap a class\n libcamera: controls: Implement ControlInfoMap serialization\n libcamera: v4l2_controls: Make V4L2Control a DataValue\n libcamera: v4l2_controls: Implement V4L2ControlList serialization\n libcamera: v4l2_controls: Make V4L2ControlInfoMap a class\n libcamera: v4l2_controls: Implement V4L2ControlInfoMap serialization\n libcamera: controls: Remove explicit from ControlInfo constructor\n test: serialization: Add control serialization test\n test: serialization: Add control info serialization test\n test: serialization: Add V4L2ControlList serialization test\n test: serialization: Add V4L2ControlInfoList serialization test\n ipa: Convert the IPA API to plain C\n POC: Add control related operation to IPA\n POC: dummy_ipa: printout deserialize control value\n POC: vimc: Initialize and set controls from request\n POC: cam: Set random controls\n\nNiklas Söderlund (1):\n ipa: Remove IPAInterface::init()\n\n Documentation/Doxyfile.in | 1 +\n Documentation/meson.build | 2 +\n include/ipa/ipa_interface.h | 27 +-\n include/libcamera/controls.h | 36 +-\n include/libcamera/meson.build | 1 +\n include/libcamera/serializable.h | 44 ++\n src/cam/capture.cpp | 12 +\n src/cam/capture.h | 2 +\n src/ipa/ipa_dummy.cpp | 32 +-\n src/ipa/libipa/ipa_interface_wrapper.cpp | 95 ++++\n src/ipa/libipa/ipa_interface_wrapper.h | 35 ++\n src/ipa/libipa/meson.build | 10 +\n src/ipa/meson.build | 3 +\n src/libcamera/controls.cpp | 208 ++++++++-\n src/libcamera/include/ipa_context_wrapper.h | 33 ++\n src/libcamera/include/ipa_module.h | 5 +-\n src/libcamera/include/meson.build | 2 +\n src/libcamera/include/serializer.h | 93 ++++\n src/libcamera/include/utils.h | 2 +\n src/libcamera/include/v4l2_controls.h | 45 +-\n src/libcamera/ipa_context_wrapper.cpp | 71 +++\n src/libcamera/ipa_interface.cpp | 80 +++-\n src/libcamera/ipa_manager.cpp | 67 ++-\n src/libcamera/ipa_module.cpp | 23 +-\n src/libcamera/meson.build | 3 +\n src/libcamera/pipeline/uvcvideo.cpp | 6 +-\n src/libcamera/pipeline/vimc.cpp | 16 +-\n src/libcamera/proxy/ipa_proxy_linux.cpp | 17 +-\n .../proxy/worker/ipa_proxy_linux_worker.cpp | 8 +-\n src/libcamera/serializable.cpp | 110 +++++\n src/libcamera/serializer.cpp | 420 ++++++++++++++++++\n src/libcamera/utils.cpp | 11 +\n src/libcamera/v4l2_controls.cpp | 242 ++++++++--\n src/libcamera/v4l2_device.cpp | 11 +-\n test/meson.build | 1 +\n test/serialization/control_info_list.cpp | 122 +++++\n test/serialization/control_list.cpp | 101 +++++\n test/serialization/meson.build | 14 +\n test/serialization/serialization_test.cpp | 292 ++++++++++++\n test/serialization/serialization_test.h | 86 ++++\n test/serialization/v4l2_control_info_list.cpp | 107 +++++\n test/serialization/v4l2_control_list.cpp | 114 +++++\n 42 files changed, 2510 insertions(+), 100 deletions(-)\n create mode 100644 include/libcamera/serializable.h\n create mode 100644 src/ipa/libipa/ipa_interface_wrapper.cpp\n create mode 100644 src/ipa/libipa/ipa_interface_wrapper.h\n create mode 100644 src/ipa/libipa/meson.build\n create mode 100644 src/libcamera/include/ipa_context_wrapper.h\n create mode 100644 src/libcamera/include/serializer.h\n create mode 100644 src/libcamera/ipa_context_wrapper.cpp\n create mode 100644 src/libcamera/serializable.cpp\n create mode 100644 src/libcamera/serializer.cpp\n create mode 100644 test/serialization/control_info_list.cpp\n create mode 100644 test/serialization/control_list.cpp\n create mode 100644 test/serialization/meson.build\n create mode 100644 test/serialization/serialization_test.cpp\n create mode 100644 test/serialization/serialization_test.h\n create mode 100644 test/serialization/v4l2_control_info_list.cpp\n create mode 100644 test/serialization/v4l2_control_list.cpp\n\n--\n2.23.0" }