Cover Letter Detail
Show a cover letter.
GET /api/covers/12802/?format=api
{ "id": 12802, "url": "https://patchwork.libcamera.org/api/covers/12802/?format=api", "web_url": "https://patchwork.libcamera.org/cover/12802/", "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": "<20210704232817.8205-1-laurent.pinchart@ideasonboard.com>", "date": "2021-07-04T23:28:14", "name": "[libcamera-devel,0/3] libcamera: Make Framebuffer class Extensible", "submitter": { "id": 2, "url": "https://patchwork.libcamera.org/api/people/2/?format=api", "name": "Laurent Pinchart", "email": "laurent.pinchart@ideasonboard.com" }, "mbox": "https://patchwork.libcamera.org/cover/12802/mbox/", "series": [ { "id": 2206, "url": "https://patchwork.libcamera.org/api/series/2206/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=2206", "date": "2021-07-04T23:28:14", "name": "libcamera: Make Framebuffer class Extensible", "version": 1, "mbox": "https://patchwork.libcamera.org/series/2206/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/covers/12802/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 B8F0BC0100\n\tfor <parsemail@patchwork.libcamera.org>;\n\tSun, 4 Jul 2021 23:29:04 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 293486850B;\n\tMon, 5 Jul 2021 01:29:04 +0200 (CEST)", "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id F06BB60285\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 5 Jul 2021 01:29:01 +0200 (CEST)", "from pendragon.lan (62-78-145-57.bb.dnainternet.fi [62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 69350E7;\n\tMon, 5 Jul 2021 01:29:01 +0200 (CEST)" ], "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=\"YERfuQw5\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1625441341;\n\tbh=Bip7QMWvgsgEfg0YGDcZpQdqFG1HCI4yAHYz1J8U+p8=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=YERfuQw55bUwFmmAIkIqQZWQzgUqWhrsXELZOcLF/rfb/JYeCBFBVrYr3qREXAKun\n\tJ8eJIXcmFM93gtqTFyv7+ZL2f5u1LZMPeC6Br8DcSZ+iJs7cjSSoA129yi9VLWGbam\n\thwQmyHqzdMCEM+7krf75jA9ISF17q8XsKBtelFrg=", "From": "Laurent Pinchart <laurent.pinchart@ideasonboard.com>", "To": "libcamera-devel@lists.libcamera.org", "Date": "Mon, 5 Jul 2021 02:28:14 +0300", "Message-Id": "<20210704232817.8205-1-laurent.pinchart@ideasonboard.com>", "X-Mailer": "git-send-email 2.31.1", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Subject": "[libcamera-devel] [PATCH 0/3] libcamera: Make Framebuffer class\n\tExtensible", "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>", "Errors-To": "libcamera-devel-bounces@lists.libcamera.org", "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>" }, "content": "Hello,\n\nThis small patch series makes the FrameBuffer class inherit from\nExtensible, for two reasons:\n\n- FrameBuffer being such a cornerstone of the libcamera API, it will\n most likely need to be extended after stabilizing the public API.\n Making the class Extensible prepares for this.\n\n- There's a todo item to hide the FrameBuffer::setRequest() function\n from the public API, as it's meant to be called internally only. Patch\n 3/3 showcases how internal functions can be hidden from the public API\n by moving them to the Private data class.\n\nThe second reason is what I'm most interested here, as I'd like to get\nfeedback on the concepts. In particular, it depends on patch 1/3 that\nmakes it possible to expose the Private data class to users internal to\nlibcamera. I expect possible bikeshedding on names, as the existing\nPrivate class name may be seen as misleading when it exposes public (in\nthe C++ sense) data to users within libcamera.\n\nPatch 2/3 is just a drive-by fix.\n\nLaurent Pinchart (3):\n libcamera: base: class: Expose Extensible private data to other\n classes\n libcamera: buffer: Rename buffer.h to framebuffer.h\n libcamera: framebuffer: Make FrameBuffer class Extensible\n\n include/libcamera/base/class.h | 14 +++++-\n include/libcamera/{buffer.h => framebuffer.h} | 16 +++----\n .../internal/{buffer.h => framebuffer.h} | 23 +++++++--\n .../libcamera/internal/ipa_data_serializer.h | 2 +-\n include/libcamera/internal/meson.build | 2 +-\n .../libcamera/internal/tracepoints/request.tp | 2 +-\n include/libcamera/internal/v4l2_videodevice.h | 2 +-\n include/libcamera/ipa/ipa_interface.h | 2 +-\n include/libcamera/meson.build | 2 +-\n include/libcamera/stream.h | 2 +-\n src/android/camera_device.h | 4 +-\n src/android/camera_stream.h | 4 +-\n src/android/camera_worker.h | 2 +-\n src/android/jpeg/encoder.h | 2 +-\n src/android/jpeg/encoder_libjpeg.h | 2 +-\n src/android/jpeg/post_processor_jpeg.h | 2 +-\n src/android/jpeg/thumbnailer.h | 2 +-\n src/android/mm/generic_camera_buffer.cpp | 2 +-\n src/android/post_processor.h | 4 +-\n src/cam/buffer_writer.h | 2 +-\n src/cam/capture.h | 2 +-\n src/ipa/ipu3/ipu3.cpp | 4 +-\n src/ipa/raspberrypi/raspberrypi.cpp | 4 +-\n src/ipa/rkisp1/rkisp1.cpp | 2 +-\n src/libcamera/{buffer.cpp => framebuffer.cpp} | 48 +++++++++++--------\n src/libcamera/framebuffer_allocator.cpp | 2 +-\n src/libcamera/meson.build | 2 +-\n src/libcamera/pipeline/ipu3/cio2.cpp | 3 +-\n src/libcamera/pipeline/ipu3/frames.cpp | 7 +--\n .../pipeline/raspberrypi/raspberrypi.cpp | 2 +-\n src/libcamera/pipeline/rkisp1/rkisp1.cpp | 2 +-\n src/libcamera/pipeline/simple/converter.cpp | 2 +-\n src/libcamera/pipeline_handler.cpp | 2 +-\n src/libcamera/request.cpp | 9 ++--\n src/qcam/dng_writer.h | 2 +-\n src/qcam/main_window.h | 2 +-\n src/qcam/viewfinder.h | 2 +-\n src/qcam/viewfinder_gl.h | 2 +-\n src/qcam/viewfinder_qt.h | 2 +-\n src/v4l2/v4l2_camera.h | 2 +-\n test/mapped-buffer.cpp | 2 +-\n test/v4l2_subdevice/v4l2_subdevice_test.h | 2 +-\n test/v4l2_videodevice/buffer_sharing.cpp | 2 +-\n test/v4l2_videodevice/capture_async.cpp | 2 +-\n test/v4l2_videodevice/v4l2_m2mdevice.cpp | 2 +-\n test/v4l2_videodevice/v4l2_videodevice_test.h | 2 +-\n 46 files changed, 121 insertions(+), 87 deletions(-)\n rename include/libcamera/{buffer.h => framebuffer.h} (80%)\n rename include/libcamera/internal/{buffer.h => framebuffer.h} (63%)\n rename src/libcamera/{buffer.cpp => framebuffer.cpp} (94%)" }