Cover Letter Detail
Show a cover letter.
GET /api/1.1/covers/20701/?format=api
{ "id": 20701, "url": "https://patchwork.libcamera.org/api/1.1/covers/20701/?format=api", "web_url": "https://patchwork.libcamera.org/cover/20701/", "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": "<20240726095626.3632402-1-chenghaoyang@chromium.org>", "date": "2024-07-26T09:54:21", "name": "[v6,0/7] Add VirtualPipelineHandler", "submitter": { "id": 117, "url": "https://patchwork.libcamera.org/api/1.1/people/117/?format=api", "name": "Cheng-Hao Yang", "email": "chenghaoyang@chromium.org" }, "mbox": "https://patchwork.libcamera.org/cover/20701/mbox/", "series": [ { "id": 4461, "url": "https://patchwork.libcamera.org/api/1.1/series/4461/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=4461", "date": "2024-07-26T09:54:21", "name": "Add VirtualPipelineHandler", "version": 6, "mbox": "https://patchwork.libcamera.org/series/4461/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/covers/20701/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 43A6EBDC71\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 26 Jul 2024 09:56:36 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 1ADD263370;\n\tFri, 26 Jul 2024 11:56:35 +0200 (CEST)", "from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com\n\t[IPv6:2607:f8b0:4864:20::62f])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 7104F61994\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 26 Jul 2024 11:56:32 +0200 (CEST)", "by mail-pl1-x62f.google.com with SMTP id\n\td9443c01a7336-1fda7fa60a9so4597645ad.3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 26 Jul 2024 02:56:32 -0700 (PDT)", "from chenghaoyang-low.c.googlers.com.com\n\t(148.175.199.104.bc.googleusercontent.com. [104.199.175.148])\n\tby smtp.gmail.com with ESMTPSA id\n\td9443c01a7336-1fed7c7f63asm28396665ad.46.2024.07.26.02.56.29\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tFri, 26 Jul 2024 02:56:30 -0700 (PDT)" ], "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=chromium.org header.i=@chromium.org\n\theader.b=\"adnqk1du\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=chromium.org; s=google; t=1721987790; x=1722592590;\n\tdarn=lists.libcamera.org; \n\th=content-transfer-encoding:mime-version:message-id:date:subject:cc\n\t:to:from:from:to:cc:subject:date:message-id:reply-to;\n\tbh=wokjK785qNZxzNoDOtZKz0cjbe+UjyEBlgqLIYnUj54=;\n\tb=adnqk1du5qa990zZq9lmn8LSD7lHXFPPoz2jEjsIdTVSqJvNaGs1Kie1UIowXzq+F6\n\tw7aML455PqpT+yjpxdeR6H5m0lo95AFzVLtVWPKCF1zkAKHQq2kLOV3wtS/GJNmpp6y7\n\tDT7jQWH6ilcsbC76uw4WUm4YjeizC4p5QcgL8=", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1721987790; x=1722592590;\n\th=content-transfer-encoding:mime-version:message-id:date:subject:cc\n\t:to:from:x-gm-message-state:from:to:cc:subject:date:message-id\n\t:reply-to;\n\tbh=wokjK785qNZxzNoDOtZKz0cjbe+UjyEBlgqLIYnUj54=;\n\tb=czf8i7GdrBkScGInJlJXMsp1SfbAEyz1t1Qt8C27N4EMLHXIAKmoY1E7Dl1a8mqu6d\n\ti1sTDljNxn9ENzDU94enFwFC+BOp7pQ02ssj1mO7rSZNDKBFvhokLfQF1IvcScONyGuL\n\t9YFB+N43AyPu1DMp0gNnuPYzN1Md2zdJPh4YoO1mGdUqrEq9g9KbHLObK6HHXSVidlaQ\n\tFVfhuedpQvNvnzdCVpnTO3+QELKFNGAW3EGpTXIXG3pi4+79L8u80ia5QrJlRofvj7uV\n\tQeuT/dsAZK7lIYFQs2Co6Iz9TlgFIND1xUSN6L/nE9kGtsntVCY3PV4tLC66j5BTPSmS\n\t2anA==", "X-Gm-Message-State": "AOJu0Ywjfi6D54Z9VInr2PsxWEXiOVOvLR6+zjsyfDz1PlDW4TJbu57c\n\tiTmQS6G1As6vIX+ZP0SM7rJeDyq+1gPwrUXvMgWDma7k2wgA7exde7CnLGmalWLoU/mzwXa/Btf\n\tF6g==", "X-Google-Smtp-Source": "AGHT+IHueehMlNiT8p6pSTYijJOZ0LZAxm8g8bB5jPPPgWxnAttyV4Iluf3yOeKgNYI99yemWDEnyA==", "X-Received": "by 2002:a17:902:ced2:b0:1f9:fb48:7cf9 with SMTP id\n\td9443c01a7336-1fed92d4bb0mr51291615ad.63.1721987790490; \n\tFri, 26 Jul 2024 02:56:30 -0700 (PDT)", "From": "Harvey Yang <chenghaoyang@chromium.org>", "To": "libcamera-devel@lists.libcamera.org", "Cc": "Harvey Yang <chenghaoyang@chromium.org>", "Subject": "[PATCH v6 0/7] Add VirtualPipelineHandler ", "Date": "Fri, 26 Jul 2024 09:54:21 +0000", "Message-ID": "<20240726095626.3632402-1-chenghaoyang@chromium.org>", "X-Mailer": "git-send-email 2.46.0.rc1.232.g9752f9e123-goog", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "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": "Hi folks,\n\nSorry for the super late update. It's been a while since the last series\nof patches, as we were busy with mtkisp7's bringup & migration.\n\nThanks to Hans de Goede's work on DmaBufAllocator, the prerequisites of\nVirtualPipelineHandler are almost landed. Only a helper function added\nin the first patch.\n\nKonami, our intern in 2023, helped to add test patterns and real image\nloading into VirtualPipelineHandler.\n\nI tried to address the previous comments, while it's very likely that I\nleft some behind. Please leave the comments again if I do. Many thanks!\n\n\nBR,\nHarvey\n\nHarvey Yang (3):\n Add a helper function exportFrameBuffers in DmaBufAllocator to make it\n easier to use.\n The Fatal check of having at least one MediaDevice was to prevent\n pipeline handler implementations searching and owning media devices\n with custom conventions, instead of using the base function\n |acquireMediaDevice|. It also has the assumption that there's at\n least one media device to make a camera work.\n libcamera: pipeline: Add VirtualPipelineHandler\n\nKonami Shu (4):\n libcamera: pipeline: Add test pattern for VirtualPipelineHandler\n libcamera: pipeline: Read config and register cameras based on the\n config\n libcamera: pipeline: Shift test pattern by 1 pixel left every frame\n libcamera: pipeline: Load images\n\n .../libcamera/internal/dma_buf_allocator.h | 10 +\n meson.build | 1 +\n meson_options.txt | 3 +-\n src/libcamera/dma_buf_allocator.cpp | 57 +++-\n src/libcamera/pipeline/virtual/README.md | 76 +++++\n .../pipeline/virtual/common_functions.cpp | 27 ++\n .../pipeline/virtual/common_functions.h | 18 ++\n .../pipeline/virtual/data/virtual.yaml | 51 ++++\n .../pipeline/virtual/frame_generator.h | 33 +++\n .../virtual/image_frame_generator.cpp | 154 ++++++++++\n .../pipeline/virtual/image_frame_generator.h | 65 ++++\n src/libcamera/pipeline/virtual/meson.build | 32 ++\n src/libcamera/pipeline/virtual/parser.cpp | 243 +++++++++++++++\n src/libcamera/pipeline/virtual/parser.h | 48 +++\n .../virtual/test_pattern_generator.cpp | 148 ++++++++++\n .../pipeline/virtual/test_pattern_generator.h | 58 ++++\n src/libcamera/pipeline/virtual/virtual.cpp | 279 ++++++++++++++++++\n src/libcamera/pipeline/virtual/virtual.h | 96 ++++++\n src/libcamera/pipeline_handler.cpp | 11 +-\n 19 files changed, 1404 insertions(+), 6 deletions(-)\n create mode 100644 src/libcamera/pipeline/virtual/README.md\n create mode 100644 src/libcamera/pipeline/virtual/common_functions.cpp\n create mode 100644 src/libcamera/pipeline/virtual/common_functions.h\n create mode 100644 src/libcamera/pipeline/virtual/data/virtual.yaml\n create mode 100644 src/libcamera/pipeline/virtual/frame_generator.h\n create mode 100644 src/libcamera/pipeline/virtual/image_frame_generator.cpp\n create mode 100644 src/libcamera/pipeline/virtual/image_frame_generator.h\n create mode 100644 src/libcamera/pipeline/virtual/meson.build\n create mode 100644 src/libcamera/pipeline/virtual/parser.cpp\n create mode 100644 src/libcamera/pipeline/virtual/parser.h\n create mode 100644 src/libcamera/pipeline/virtual/test_pattern_generator.cpp\n create mode 100644 src/libcamera/pipeline/virtual/test_pattern_generator.h\n create mode 100644 src/libcamera/pipeline/virtual/virtual.cpp\n create mode 100644 src/libcamera/pipeline/virtual/virtual.h" }