Message ID | 20250824-b4-v0-5-2-gpuisp-v2-a-v2-6-96f4576c814e@linaro.org |
---|---|
State | New |
Headers | show
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 [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id CF37FBEFBE for <parsemail@patchwork.libcamera.org>; Sun, 24 Aug 2025 00:48:53 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 049CF692FD; Sun, 24 Aug 2025 02:48:52 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="gAayJoIV"; dkim-atps=neutral Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com [IPv6:2a00:1450:4864:20::32e]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 1FDA8692F4 for <libcamera-devel@lists.libcamera.org>; Sun, 24 Aug 2025 02:48:42 +0200 (CEST) Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-45b5c12dd87so3404785e9.2 for <libcamera-devel@lists.libcamera.org>; Sat, 23 Aug 2025 17:48:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1755996522; x=1756601322; darn=lists.libcamera.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=tJg4W7XvV4RX190Y3LBbTV0mnGTCxezpMPVHDsEmziY=; b=gAayJoIVxcSeZI0RHdnOcKTQkW8uSLuSxO6jwIh3DnEv0XuwD4nTFfEvD88w0CCuK8 D0y+aUUiz881uPDD1ufIM7HWR5yJzNXY4B7XwbeGph5trjEA5SCQLXXnfeoiOAUcLSjD 3R66QFC5ZtO3B5zgzNdxTGlxE/Gzuz66V7sWqUYllx3Fs8gX7W1JMStgnCeMq3cFwWzk LiOXvhLiuj9BIqq8PRKfVToL/3ghykZ+QycHbQ2Tfjlu03jEu6XCt1Wc9mCC5if7nTtV W4Uo3WrnnLe31+ZNIea8q/Vor5Fo+pcrYgdxbniHbqfiRhP+j4nHmLJxHhWNUWRiNjph GwtA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755996522; x=1756601322; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=tJg4W7XvV4RX190Y3LBbTV0mnGTCxezpMPVHDsEmziY=; b=gtasYvGWFaxoMhY61kgiS+vMBo8Sc19048TXz4VMmZKHKTDvguK3OGnwp6LandZqQ+ ss21OoigRtdJDGSUkpqHac20gPkoVpghGUgIjeh7wxQqWlCc7qmJB4Ru2k033qcsOPOt i8vN1Qd8exOXWO+uk/CLAk5Fe1qgexbOr2Wp4JsApn+4AQsZlLce2dI/m5afmjT0tQmZ JuXTE/It4CXRRnsobUoACSyLKp8qS33jsMFyuuqEMQ+9au9NBCPRbDYGk5LkjEJfChsF QfmLcCpWrn+CYxpgPose0b/B8cq+DC7x6eEHe9sdFTrz6ALWlJpY+jliRc4typDCOg2J c3Ww== X-Gm-Message-State: AOJu0Yx04f/kmV2u27ntj/cDX1oP+rITrem01jiaHdXDfFTexDCXBKG1 dA9kOMkYrKL2k4hdCSp2pS9inTfFQVdHP/CHzbgkWzlLMz8/JvDZ935dXhKq5bzMFdFpphe6HRs q5ClRZBY= X-Gm-Gg: ASbGncs0amb3gTwew7QCeY0rDMZbX7ob9pn81KV5Hc+EamfRs4ix1TdCaZZT/UoAmxv PBfiu0k50Z/DPdhmFhXKE6lwkpJ/cTqgTgxREJB1YjDOODJAWuTDmNzOIX7FWZX6p0tl8nnBT4I HoUK0wCXJgIoQc6ZlmtAUBaXGYAVrDIE1ginWg0qf4XuWjMgH+Nmg4bjGOgn885JjRC0RExzZgP 4vvl2K80Gmc/akcc+oj/3LyN0Tlf2EC2vDOyMXMvttHMcUZJVNzo224dwWOevbSPYnEb6LqmD7o crUimmjRJS7j5uzTOqzlCoM84wBhg3chs/FGAt8nZ4wBCKvxjjiF2RVnn8QtxGO5ulUHQdnFfGJ +i19ry4Wk6IxbPVGNKjd+z6DZu6TudMhvqIEiIX3FKi4d1fg+45n1dMTnxIOLxbs5M1SC5SW8tJ XNvFVTYRe66d2nWHag5ukf X-Google-Smtp-Source: AGHT+IGHJUcFlLcMzLARueAew8ikbm5r0IQf+3nyms/NpIQQs7YpdCCEY9VHxi4xjBJ8uy6l2o5Uew== X-Received: by 2002:a05:600c:1988:b0:458:bd2a:496f with SMTP id 5b1f17b1804b1-45b517cbf19mr56877175e9.21.1755996521641; Sat, 23 Aug 2025 17:48:41 -0700 (PDT) Received: from [192.168.0.13] (188-141-3-146.dynamic.upc.ie. [188.141.3.146]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45b4e1d530esm69347225e9.0.2025.08.23.17.48.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 23 Aug 2025 17:48:41 -0700 (PDT) From: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Date: Sun, 24 Aug 2025 01:48:18 +0100 Subject: [PATCH v2 06/37] libcamera: MappedFrameBuffer: Add MappedFrameBuffer::getPlaneFD() MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20250824-b4-v0-5-2-gpuisp-v2-a-v2-6-96f4576c814e@linaro.org> References: <20250824-b4-v0-5-2-gpuisp-v2-a-v2-0-96f4576c814e@linaro.org> In-Reply-To: <20250824-b4-v0-5-2-gpuisp-v2-a-v2-0-96f4576c814e@linaro.org> To: libcamera-devel@lists.libcamera.org Cc: Bryan O'Donoghue <bryan.odonoghue@linaro.org>, Milan Zamazal <mzamazal@redhat.com> X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1906; i=bryan.odonoghue@linaro.org; h=from:subject:message-id; bh=092EHdwSf+5Rt7hozTx/KrEY70u8ynItZ52MVZPGE5A=; b=owEBbQKS/ZANAwAKASJxO7Ohjcg6AcsmYgBoqmFdbIkGja6JJej9jP0/5WwrdeetoxArXcrBt ZKCvNTT+uaJAjMEAAEKAB0WIQTmk/sqq6Nt4Rerb7QicTuzoY3IOgUCaKphXQAKCRAicTuzoY3I OkxND/0R1LrpsCuA4GrNJgOqLSNxj8mWwGo69073laNzkzzF1FZXmqCKJV5rWUBZxWfKv4ldPE+ nhbJRdnOJmSRJucb5+Zw+XEbUf9Qra6RECRLsUDHVCkJj5X7MiT8sel0Pb/Q2U2fr0hoYoi67b8 XzOmPkQW8qnYBxm8DEi/K8Uu80WabINfTugZ8IhBaYdvaJHHWTSum9LnCHXPe1kQhtUMpY6mrCX 9ktm7R848N1jfiO+Cptpp6swRzLa8vsnNSEB7cVbcmavo85X/KQdQFOFlwicBrJPa7WKsXVcxeY iQbgF3a5DlbeQ4gnQeIPcGfyUKHi/ouhOvXA/TazZga2QXMs1ZItaoMDUdZHIfWhKx7L5KgeHLO Z7OmOvUfOoM3aOjrM8uS1hEwaAW6dqBd60JrPi7LEJjqEylMu8q3eU96kR60a/Y52+pnVTJqvB3 JZt/pxzjcyo9nzdIjEhXj8ni05nvnNwx06cDK78mYpg/5vg0gAU2wfJm81Cd2vwGctCAr+l05Hg wYCz6MfXpwDoVyAxW9TMnabuIqG/s7M0SvdKeSKsSymymIO0ty2tEcZUZcQhMfU8Zrepd5c56ru ctPjCUmvX4QsssI1fDR6pMtLyMp5DakBdorDOijMpi0fjbckE/9ikTUeQeQ3QVZbv3u0275otUq 7mVnriRyQPaig6g== X-Developer-Key: i=bryan.odonoghue@linaro.org; a=openpgp; fpr=E693FB2AABA36DE117AB6FB422713BB3A18DC83A 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>, <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>, <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> |
Series |
|
Related |
show
|
diff --git a/include/libcamera/internal/mapped_framebuffer.h b/include/libcamera/internal/mapped_framebuffer.h index 6aaabf5086b4658363e4e2ed02242248bfffdcbc..f7a6870764c4d035f77544354aa46a70095952a0 100644 --- a/include/libcamera/internal/mapped_framebuffer.h +++ b/include/libcamera/internal/mapped_framebuffer.h @@ -55,6 +55,10 @@ public: using MapFlags = Flags<MapFlag>; MappedFrameBuffer(const FrameBuffer *buffer, MapFlags flags); + int getPlaneFD(unsigned int plane); + +private: + const FrameBuffer *buffer_; }; LIBCAMERA_FLAGS_ENABLE_OPERATORS(MappedFrameBuffer::MapFlag) diff --git a/src/libcamera/mapped_framebuffer.cpp b/src/libcamera/mapped_framebuffer.cpp index f54bbf21f10987aecdf02c0a946edbb4931dd4c0..e85030d904ffaa5cd8cfae7b02d4b1b7010452a5 100644 --- a/src/libcamera/mapped_framebuffer.cpp +++ b/src/libcamera/mapped_framebuffer.cpp @@ -238,6 +238,16 @@ MappedFrameBuffer::MappedFrameBuffer(const FrameBuffer *buffer, MapFlags flags) planes_.emplace_back(info.address + plane.offset, plane.length); } + + buffer_ = buffer; +} + +int MappedFrameBuffer::getPlaneFD(unsigned int plane) +{ + if (plane > buffer_->planes().size()) + return -EINVAL; + + return buffer_->planes()[plane].fd.get(); } } /* namespace libcamera */