From patchwork Wed Jul 22 13:30:02 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kaaira Gupta X-Patchwork-Id: 8917 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 2A3A6BDB1B for ; Wed, 22 Jul 2020 13:30:21 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 75E7F60948; Wed, 22 Jul 2020 15:30:20 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=es-iitr-ac-in.20150623.gappssmtp.com header.i=@es-iitr-ac-in.20150623.gappssmtp.com header.b="abrDMMz/"; dkim-atps=neutral Received: from mail-pf1-x443.google.com (mail-pf1-x443.google.com [IPv6:2607:f8b0:4864:20::443]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id C49266053C for ; Wed, 22 Jul 2020 15:30:17 +0200 (CEST) Received: by mail-pf1-x443.google.com with SMTP id u5so1278729pfn.7 for ; Wed, 22 Jul 2020 06:30:17 -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; bh=tC0OluVvmgGvLlrwINEOP9iDz2JcUMtBelbusjZauYw=; b=abrDMMz/jGvutOthpW5cwyz/34tLWbBVttf2uL6jPeHzBqutfz8+PQDOkbzcI2IRUo WVnC2xynM6h0sfy9qAVfOFjCEUTHqspoef0MEXsVH54YCAmCCAzrL147GCKtYiggy5yO ryphP6ZslSQ1TszLhiCsJyAvU2aUhJ9NwYZLscItGuCNK80h/FguYsJqAGg/3wAbbQmn FWEG9PwjyCbR5Nqt9zFFXwmBKNrmPQHcOKBiEMWltJitrf7ubXfDOiTIMNbgin1jS/Su Bi1OUWrXqQqbI0AZH8wWH3xh2bBqoLkcp7HVWP73jTBb/jYh9NNOpD4pceTyDikBP1Il f7cQ== 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; bh=tC0OluVvmgGvLlrwINEOP9iDz2JcUMtBelbusjZauYw=; b=FpSrw71voR6BvYjJb0k0wnqbinGdXx8stG3QV6DXPKhjkgL1GjYy73uoM0MXIn2ffC D5bDCp9E4XrhbpWLe7P/fanLfkmqQncnoX61Vl+gIgQ/NFIx7FSgm2+lpdkKnt8/x8mD x9QPdL+mTjUVmaC8uWKvDj1Pt0O/VHkLz2A2nM+qV3lbT2xnq011lFs+OiR1Bh9WKnvk 73b6cPRtVKuUXP2im3TJ0s22f/rtdghNoPDAAVUiX+eOhZ6kb7JsUTs9mhqsfEh9bU29 Y5iMqJ0/CdoXQPNdXeBT8OQGPrBZIHUUcAaeUcuxFoaZo00ihdxdaqCiiFk81Tqe1YPU Y3wg== X-Gm-Message-State: AOAM530+5QO0YBcQl0AsahOR4XfEzaWAUcg+WJErXG12WhBkwYdKUNkb nttECzl+UETjVoC8eXGBekS+o1jp6Rc= X-Google-Smtp-Source: ABdhPJwbyzRP6BI/4KQb19nxfA5JAWfymKupvhjGiO2H6mDUuLq0sG38taqrHYyHlQzj+dc3yCHl1w== X-Received: by 2002:a63:7054:: with SMTP id a20mr25856312pgn.17.1595424615808; Wed, 22 Jul 2020 06:30:15 -0700 (PDT) Received: from kaaira-HP-Pavilion-Notebook ([103.113.213.178]) by smtp.gmail.com with ESMTPSA id 66sm25151630pfa.92.2020.07.22.06.30.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Jul 2020 06:30:15 -0700 (PDT) From: Kaaira Gupta To: libcamera-devel@lists.libcamera.org, Kieran Bingham Date: Wed, 22 Jul 2020 19:00:02 +0530 Message-Id: <20200722133009.26528-1-kgupta@es.iitr.ac.in> X-Mailer: git-send-email 2.17.1 Subject: [libcamera-devel] [PATCH 0/7] vimc: Introduce multiple streaming 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: , Cc: Kaaira Gupta MIME-Version: 1.0 Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" This patchset introduces multiple streaming in VIMC piepline handler. The first patch in this series moves a helper to determine raw formats to PixelFormatInfo class, while rest introduce multiple streams (1 RAW and 1 RGB/YUV) to the pipeline handler. VIMC does not support multiple streams yet, so I used a patchset by Niklas to introduce the same. The link to patchset is: https://patchwork.kernel.org/cover/10948831/ Since this patchset is old, I will follow this patchset (Introduce multiple streams to the pipeline handler) with Niklas' patch rebased on the current media-tree so that it becomes easy to test my patchset. I tested this patchset with cam. The non-exhaustive list of commands I tried are: cam -c 1 -C -s role=viewfinder -s role=stillraw cam -c 1 -C -s height=30,width=30 -s height=50,width=50 cam -c 1 -C -s role=stillraw cam -c 1 -C -s height=50,width=50 -s height=20,width=20 Kaaira Gupta (7): libcamera: formats: Move isRaw() helper to formats.cpp libcamera: pipeline: vimc: Introduce rawStream_ libcamera: pipeline: vimc: Generate and Validate stream configurations libcamera: pipeline: vimc: Configure the entities of VIMC pipeline libcamera: pipeline: vimc: Take care of buffers libcamera: pipeline: vimc: Queue the buffers libcamera: pipeline: vimc: Initialise raw capture connection include/libcamera/internal/formats.h | 1 + src/libcamera/formats.cpp | 13 + .../pipeline/raspberrypi/raspberrypi.cpp | 27 +- src/libcamera/pipeline/vimc/vimc.cpp | 449 ++++++++++++------ 4 files changed, 341 insertions(+), 149 deletions(-)