From patchwork Tue Mar 24 17:56:42 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kaaira Gupta X-Patchwork-Id: 3309 X-Patchwork-Delegate: kieran.bingham@ideasonboard.com Return-Path: Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com [IPv6:2607:f8b0:4864:20::631]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 28AC760411 for ; Tue, 24 Mar 2020 18:57:09 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=es-iitr-ac-in.20150623.gappssmtp.com header.i=@es-iitr-ac-in.20150623.gappssmtp.com header.b="uf7Omt8z"; dkim-atps=neutral Received: by mail-pl1-x631.google.com with SMTP id b9so7699831pls.12 for ; Tue, 24 Mar 2020 10:57:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=es-iitr-ac-in.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=BxCHFxmMHeDPopi6DfMS46XCjrfnqI6dzpiKbtcYCkw=; b=uf7Omt8z/OWYeZWI39Aw3uAZvX7LLdayv5Y4pLCzl9MAULeD9aZVHUBv9B4Jccv599 r4/yDjRBAhv+lNPGbG5DUcfPgIC/HQYE/LyVK6Bf0jG0EwuiwcaTWASeZNB325vE81j5 kLAyrdy2tUGi4321I8p8qGWdyHu9T7dnGJlSgRCvXlaH1RnfxZEywb+FOxZKEeJflAJT ct/5DsvZ1WMo7dBZTAVnnMYld3cfqk/npY6anWdxfZjFjlA55aLmb6FaeNyHZQgLvlku 7gajNjETcGNGMjYNCuGsz7V14BRU8LFCkgQYfrzUG8ukQ3ScIC+bnTz9c97v/a6mfuNf TTsw== 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; bh=BxCHFxmMHeDPopi6DfMS46XCjrfnqI6dzpiKbtcYCkw=; b=KqY6CnzrQLTo7P3mee6SsB3KQ7AyA8zgZKtFyB5XTWeqst42hUcjS9mY3GMnOwYDcX YSmUR4mTbj2AgfwL9ZAr0M1z7rprpA+jLlP2ndi1iK18ldnHUWX7XeC+sOj1up/0EoTy RmxS+7BlWVkzLppiJvGS+2J55GPXRNs9OpQGPVuclkq7KVW0x+nrAo/wCe2LNkbCsHFt 9UsdpYwWfwV7QtpbujIFBxGtxnc13B0AYr1ytsmU6cq5pXEJ0XpnQHsXcTtNImyXiFeD pICvqhuMm4cKiegsbaKWHzBFZs4WTMB/MVIc/awLhESFyMYQyhBPxzybnuQ+MuGyUsfz 18hQ== X-Gm-Message-State: ANhLgQ1s5jGe8zgs0FnubZz6gSEXYTT/2j7h/2uGToBuSDhMEoUpH1MM SzVtILCUb2euWdDL7ZUq9H3XDA== X-Google-Smtp-Source: ADFU+vul9yArNEP5pJCtJKQG8HJ3MaQYdjSqz6C8mlg8WgCCGFwy66Ss2gMs5VXFcGsT3PDg/+ijbA== X-Received: by 2002:a17:90a:d585:: with SMTP id v5mr6776996pju.168.1585072627149; Tue, 24 Mar 2020 10:57:07 -0700 (PDT) Received: from kaaira-HP-Pavilion-Notebook ([103.113.213.154]) by smtp.gmail.com with ESMTPSA id j38sm14995443pgi.51.2020.03.24.10.57.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Mar 2020 10:57:06 -0700 (PDT) From: Kaaira Gupta To: libcamera-devel@lists.libcamera.org, Kieran Bingham , Helen Koike , Vaishali Thakkar Cc: Kaaira Gupta Date: Tue, 24 Mar 2020 23:26:42 +0530 Message-Id: <20200324175643.22382-3-kgupta@es.iitr.ac.in> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200324175643.22382-1-kgupta@es.iitr.ac.in> References: <20200324175643.22382-1-kgupta@es.iitr.ac.in> Subject: [libcamera-devel] [PATCH v2 2/3] libcamera: pipeline: rkisp1: Use parameterized StreamConfiguration 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: , X-List-Received-Date: Tue, 24 Mar 2020 17:57:09 -0000 Replace default constructor StreamConfiguration() by its parameterized counterpart by using StreamFormats in generateConfiguration() in rkisp1. Signed-off-by: Kaaira Gupta Reviewed-by: Jacopo Mondi --- src/libcamera/pipeline/rkisp1/rkisp1.cpp | 39 ++++++++++++++++-------- 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp index 04b0ed3..cfbfc9e 100644 --- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp +++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp @@ -218,6 +218,21 @@ private: Camera *activeCamera_; }; +namespace { + +static const std::array formats{ + PixelFormat(DRM_FORMAT_YUYV), + PixelFormat(DRM_FORMAT_YVYU), + PixelFormat(DRM_FORMAT_VYUY), + PixelFormat(DRM_FORMAT_NV16), + PixelFormat(DRM_FORMAT_NV61), + PixelFormat(DRM_FORMAT_NV21), + PixelFormat(DRM_FORMAT_NV12), + /* \todo Add support for 8-bit greyscale to DRM formats */ +}; + +} /* namespace */ + RkISP1Frames::RkISP1Frames(PipelineHandler *pipe) : pipe_(dynamic_cast(pipe)) { @@ -430,17 +445,6 @@ RkISP1CameraConfiguration::RkISP1CameraConfiguration(Camera *camera, CameraConfiguration::Status RkISP1CameraConfiguration::validate() { - static const std::array formats{ - PixelFormat(DRM_FORMAT_YUYV), - PixelFormat(DRM_FORMAT_YVYU), - PixelFormat(DRM_FORMAT_VYUY), - PixelFormat(DRM_FORMAT_NV16), - PixelFormat(DRM_FORMAT_NV61), - PixelFormat(DRM_FORMAT_NV21), - PixelFormat(DRM_FORMAT_NV12), - /* \todo Add support for 8-bit greyscale to DRM formats */ - }; - const CameraSensor *sensor = data_->sensor_; Status status = Valid; @@ -541,7 +545,18 @@ CameraConfiguration *PipelineHandlerRkISP1::generateConfiguration(Camera *camera if (roles.empty()) return config; - StreamConfiguration cfg{}; + std::map> pixelformats; + for (PixelFormat pixelformat : formats) { + std::vector sizes{ + /* Minimum and maximum capabilities of ISP output */ + SizeRange{ { 32, 16 }, { 4416, 3312 } } + }; + pixelformats[pixelformat] = sizes; + } + + StreamFormats format(pixelformats); + StreamConfiguration cfg(format); + cfg.pixelFormat = PixelFormat(DRM_FORMAT_NV12); cfg.size = data->sensor_->resolution();