From patchwork Wed Oct 21 01:39:53 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hirokazu Honda X-Patchwork-Id: 10152 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 E1851BDB13 for ; Wed, 21 Oct 2020 01:40:07 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id AFF1761D92; Wed, 21 Oct 2020 03:40:07 +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="OrwyHBYn"; dkim-atps=neutral Received: from mail-pj1-x1034.google.com (mail-pj1-x1034.google.com [IPv6:2607:f8b0:4864:20::1034]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 7FE1061D92 for ; Wed, 21 Oct 2020 03:40:06 +0200 (CEST) Received: by mail-pj1-x1034.google.com with SMTP id az3so304333pjb.4 for ; Tue, 20 Oct 2020 18:40:06 -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:in-reply-to:references :mime-version:content-transfer-encoding; bh=M1L+tvSkqyjLlNPAcNYzSqTS5DAX1JMc6YHt5RfYHCY=; b=OrwyHBYnJCBESzcsYtEkbJEl2aWDZ5LpTI/bKsslVNoUcN+234dZRL3FzUQ7Bw2x/U Z6cigpPY8YQC4AtUYm1V0gf6nhGL4mJJKBO+Ax0hNTZKw0GO8zv0PdIX0z8vPfaCRrdR e+81ucrhPu6akDiOTsRqysjakEfWTFVq8fMk8= 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=M1L+tvSkqyjLlNPAcNYzSqTS5DAX1JMc6YHt5RfYHCY=; b=liqv1LPLWr9UG0NjrulkYxjDhxgtMGnKVvgfLJyEX4Zo+FPXeNUdFqhkfK2dTzG/11 IyzD226BIb3gqUwnOhQEjRLnxL3FFyTBshkGF7jC9p/ysn1VOqOtjW8Oat8Sy9WD2xo9 hdkzERAlJVbCWG/ELvUr1xH4MnoRVfCCo26uF123tAHqMEvGX8eusSKsZ9mCgCAZFhju 7epzrsBG3ei8AJDZdvuN9BOhdlH6Iq1hG5iPk9A1jeI+Sf6ADcE4+7JdfUilwLswe3QT 1fGcECn+gsqwacfWIF0ObvzlWyXeytm8uHGU/ZnOAeQSwVPuKNMKiwk1ciq3l2zoI0z6 WPqg== X-Gm-Message-State: AOAM531k9fIlYtbH7VJM7TfY5ReBZ3fWANON4yIdCKfTMXu90qPDTsYX S3ZMEvwnYwqyjmvcZNr8G1tTYcQ5g+WGZA== X-Google-Smtp-Source: ABdhPJw1/sWy5AvR9Wt/gbQoKIMFIKt915cWIjc9uPM65Mx3l0cIugwiiC2ZyTL4zCt5cyQmMKI9+A== X-Received: by 2002:a17:90a:c982:: with SMTP id w2mr783014pjt.205.1603244404580; Tue, 20 Oct 2020 18:40:04 -0700 (PDT) Received: from hiroh.tok.corp.google.com ([2401:fa00:8f:2:de4a:3eff:fe7d:f78f]) by smtp.gmail.com with ESMTPSA id w2sm368066pgi.56.2020.10.20.18.40.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Oct 2020 18:40:03 -0700 (PDT) From: Hirokazu Honda To: libcamera-devel@lists.libcamera.org Date: Wed, 21 Oct 2020 10:39:53 +0900 Message-Id: <20201021013955.301790-2-hiroh@chromium.org> X-Mailer: git-send-email 2.29.0.rc1.297.gfa9743e501-goog In-Reply-To: <20201021013955.301790-1-hiroh@chromium.org> References: <20201021013955.301790-1-hiroh@chromium.org> MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v3 2/4] android: Modify Encoder 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 Encoder::encode(), the |source| argument doesn't have to be a pointer. This replaces 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/jpeg/encoder.h | 4 ++-- src/android/jpeg/encoder_libjpeg.cpp | 6 +++--- src/android/jpeg/encoder_libjpeg.h | 4 ++-- src/android/jpeg/post_processor_jpeg.cpp | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/android/jpeg/encoder.h b/src/android/jpeg/encoder.h index 4e85996..270ea60 100644 --- a/src/android/jpeg/encoder.h +++ b/src/android/jpeg/encoder.h @@ -17,8 +17,8 @@ public: virtual ~Encoder() {} virtual int configure(const libcamera::StreamConfiguration &cfg) = 0; - virtual int encode(const libcamera::FrameBuffer *source, - const libcamera::Span &destination, + virtual int encode(const libcamera::FrameBuffer &source, + libcamera::Span destination, const libcamera::Span &exifData) = 0; }; diff --git a/src/android/jpeg/encoder_libjpeg.cpp b/src/android/jpeg/encoder_libjpeg.cpp index f11e004..5a2f88f 100644 --- a/src/android/jpeg/encoder_libjpeg.cpp +++ b/src/android/jpeg/encoder_libjpeg.cpp @@ -179,11 +179,11 @@ void EncoderLibJpeg::compressNV(const libcamera::MappedBuffer *frame) } } -int EncoderLibJpeg::encode(const FrameBuffer *source, - const libcamera::Span &dest, +int EncoderLibJpeg::encode(const FrameBuffer &source, + libcamera::Span dest, const libcamera::Span &exifData) { - MappedFrameBuffer frame(source, PROT_READ); + MappedFrameBuffer frame(&source, PROT_READ); if (!frame.isValid()) { LOG(JPEG, Error) << "Failed to map FrameBuffer : " << strerror(frame.error()); diff --git a/src/android/jpeg/encoder_libjpeg.h b/src/android/jpeg/encoder_libjpeg.h index 934caef..391a53c 100644 --- a/src/android/jpeg/encoder_libjpeg.h +++ b/src/android/jpeg/encoder_libjpeg.h @@ -21,8 +21,8 @@ public: ~EncoderLibJpeg(); int configure(const libcamera::StreamConfiguration &cfg) override; - int encode(const libcamera::FrameBuffer *source, - const libcamera::Span &destination, + int encode(const libcamera::FrameBuffer &source, + libcamera::Span destination, const libcamera::Span &exifData) override; private: diff --git a/src/android/jpeg/post_processor_jpeg.cpp b/src/android/jpeg/post_processor_jpeg.cpp index 90bf10d..8b01bd6 100644 --- a/src/android/jpeg/post_processor_jpeg.cpp +++ b/src/android/jpeg/post_processor_jpeg.cpp @@ -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;