From patchwork Tue Oct 20 07:42:26 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hirokazu Honda X-Patchwork-Id: 10121 Return-Path: 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 87DCFBDB13 for ; Tue, 20 Oct 2020 07:42:41 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 5A270613B4; Tue, 20 Oct 2020 09:42:41 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=chromium.org header.i=@chromium.org header.b="HjB6j1nV"; dkim-atps=neutral Received: from mail-pl1-x62a.google.com (mail-pl1-x62a.google.com [IPv6:2607:f8b0:4864:20::62a]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 124DF61373 for ; Tue, 20 Oct 2020 09:42:39 +0200 (CEST) Received: by mail-pl1-x62a.google.com with SMTP id y1so578392plp.6 for ; Tue, 20 Oct 2020 00:42:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=KnajaLNsKfoDlc1CN0qMNCfYL0YiPngBQIC/4FGwMBs=; b=HjB6j1nVg9cvWdzr43RpwD78d17sPvg47pO+g0E8C6Q+fPhz96wIWf6UpsHeoCTLey 0/OAMoJw2Fx67cJCh9buS6SoFd2h4/A42e4r4ONooPAjxzKyhBAp5S9k2cttEjs334w1 1Ttcx2yzblJlLmJILVbzckkApZD+TvYP83RYA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=KnajaLNsKfoDlc1CN0qMNCfYL0YiPngBQIC/4FGwMBs=; b=lspVoREQo1bBDmkGXEDYlS8lQLN1IAnFg2D6hrIKN4VtNBu5xkcM0Oc5lyZ8p7NhBi 2DtDZHX5SOoUmv3QjByKZOPpHDcjAeUlCTu8iVKJCwHyaV3yXC7ByPQSQh6YYSC2dha3 RNabhzD+hxejAkKgixhj6bZYaG9UjR3PB4EXU1TowbhJ6Wm1bsf4OXuM/Ax3t1Df0vDr 2HA4Xboh8hwm9n9CMWadel6E18yfPtNPCGvHkAkfJVB4tcJqNVsMRG3r5sRh8mdn9RsV mWb0BtJWz/zTP+3cPoWUomN9sAwNEaJSH4mzQ5Oz+39mzKM2RDcO8QnEiwg6bda1dhot 3xhg== X-Gm-Message-State: AOAM533CcbmW1bsVXOzd708UKLV1Ra6d0zV4Rd5jZFDmXyYnVBy82Zz+ sp41z36FnfL4HAc/e04TBAOmU76e/hcHaw== X-Google-Smtp-Source: ABdhPJyb6Ek1wqsvsyRy1xH9GbX8FIk0/0m9mXd7k1ujy6e2xUQw3lFtTNdgDmAbMm3Yxnx5n+SnCQ== X-Received: by 2002:a17:902:ff14:b029:d3:f1e5:c992 with SMTP id f20-20020a170902ff14b02900d3f1e5c992mr1778085plj.72.1603179757417; Tue, 20 Oct 2020 00:42:37 -0700 (PDT) Received: from hiroh.tok.corp.google.com ([2401:fa00:8f:2:de4a:3eff:fe7d:f78f]) by smtp.gmail.com with ESMTPSA id d26sm1193684pfo.82.2020.10.20.00.42.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Oct 2020 00:42:36 -0700 (PDT) From: Hirokazu Honda To: libcamera-devel@lists.libcamera.org Date: Tue, 20 Oct 2020 16:42:26 +0900 Message-Id: <20201020074229.119151-1-hiroh@chromium.org> X-Mailer: git-send-email 2.29.0.rc1.297.gfa9743e501-goog MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v2 1/4] android: Modify PostProcessor interface X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" In PostProcessor::process(), the |source| argument doesn't have to be a pointer. This replace its type, const pointer, with const reference as the latter is preferred to the former. libcamera::Span is cheap to construct/copy/move. We should deal with the type as pass-by-value parameter. Therefore this also drops the const reference in the |destination| argument. Signed-off-by: Hirokazu Honda Reviewed-by: Umang Jain Reviewed-by: Kieran Bingham Reviewed-by: Laurent Pinchart --- src/android/camera_stream.cpp | 2 +- src/android/jpeg/post_processor_jpeg.cpp | 6 +++--- src/android/jpeg/post_processor_jpeg.h | 4 ++-- src/android/post_processor.h | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/android/camera_stream.cpp b/src/android/camera_stream.cpp index 1b8afa8..28a6e09 100644 --- a/src/android/camera_stream.cpp +++ b/src/android/camera_stream.cpp @@ -102,7 +102,7 @@ int CameraStream::process(const libcamera::FrameBuffer &source, if (!postProcessor_) return 0; - return postProcessor_->process(&source, dest->maps()[0], metadata); + return postProcessor_->process(source, dest->maps()[0], metadata); } FrameBuffer *CameraStream::getBuffer() diff --git a/src/android/jpeg/post_processor_jpeg.cpp b/src/android/jpeg/post_processor_jpeg.cpp index 753c28e..55b9088 100644 --- a/src/android/jpeg/post_processor_jpeg.cpp +++ b/src/android/jpeg/post_processor_jpeg.cpp @@ -44,8 +44,8 @@ int PostProcessorJpeg::configure(const StreamConfiguration &inCfg, return encoder_->configure(inCfg); } -int PostProcessorJpeg::process(const libcamera::FrameBuffer *source, - const libcamera::Span &destination, +int PostProcessorJpeg::process(const libcamera::FrameBuffer &source, + libcamera::Span destination, CameraMetadata *metadata) { if (!encoder_) @@ -67,7 +67,7 @@ int PostProcessorJpeg::process(const libcamera::FrameBuffer *source, if (exif.generate() != 0) LOG(JPEG, Error) << "Failed to generate valid EXIF data"; - int jpeg_size = encoder_->encode(source, destination, exif.data()); + int jpeg_size = encoder_->encode(&source, destination, exif.data()); if (jpeg_size < 0) { LOG(JPEG, Error) << "Failed to encode stream image"; return jpeg_size; diff --git a/src/android/jpeg/post_processor_jpeg.h b/src/android/jpeg/post_processor_jpeg.h index 62c8650..ae636ff 100644 --- a/src/android/jpeg/post_processor_jpeg.h +++ b/src/android/jpeg/post_processor_jpeg.h @@ -23,8 +23,8 @@ public: int configure(const libcamera::StreamConfiguration &incfg, const libcamera::StreamConfiguration &outcfg) override; - int process(const libcamera::FrameBuffer *source, - const libcamera::Span &destination, + int process(const libcamera::FrameBuffer &source, + libcamera::Span destination, CameraMetadata *metadata) override; private: diff --git a/src/android/post_processor.h b/src/android/post_processor.h index a891c43..5f87a5d 100644 --- a/src/android/post_processor.h +++ b/src/android/post_processor.h @@ -20,8 +20,8 @@ public: virtual int configure(const libcamera::StreamConfiguration &inCfg, const libcamera::StreamConfiguration &outCfg) = 0; - virtual int process(const libcamera::FrameBuffer *source, - const libcamera::Span &destination, + virtual int process(const libcamera::FrameBuffer &source, + libcamera::Span destination, CameraMetadata *metadata) = 0; };