From patchwork Tue Jan 29 02:00:42 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Niklas_S=C3=B6derlund?= X-Patchwork-Id: 434 Return-Path: Received: from bin-mail-out-05.binero.net (bin-mail-out-05.binero.net [195.74.38.228]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 6D26960DB6 for ; Tue, 29 Jan 2019 03:00:57 +0100 (CET) X-Halon-ID: b3c8d347-2369-11e9-874f-005056917f90 Authorized-sender: niklas@soderlund.pp.se Received: from bismarck.berto.se (unknown [89.233.230.99]) by bin-vsp-out-02.atm.binero.net (Halon) with ESMTPA id b3c8d347-2369-11e9-874f-005056917f90; Tue, 29 Jan 2019 03:00:54 +0100 (CET) From: =?utf-8?q?Niklas_S=C3=B6derlund?= To: libcamera-devel@lists.libcamera.org Date: Tue, 29 Jan 2019 03:00:42 +0100 Message-Id: <20190129020048.16774-1-niklas.soderlund@ragnatech.se> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v4 0/6] libcamera: add basic support for streams and format configuration X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Jan 2019 02:00:57 -0000 Hi, This series aims to add support of Streams to the Camera object. A Stream is a single video stream origination from a video source, multiple video streams might form the same Camera is possible as long as they all originate from the same video source. Biggest change from v3 is that the stream ids are gone and the new key to identify streams are a Stream*. To allow pipeline handlers to still map a incoming configuration a stream the ownership of the Stream objects are moved from the Camera object to the pipeline handlers. Laurent Pinchart (1): libcamera: camera: Add acquire() and release() Niklas Söderlund (5): libcamera: stream: add initial Stream class libcamera: stream: add initial StreamConfiguration structure libcamera: camera: extend camera object to support streams libcamera: pipeline: extend pipelines to support stream configuration libcamera: camera: extend camera object to support configuration of streams include/libcamera/camera.h | 17 ++- include/libcamera/libcamera.h | 1 + include/libcamera/meson.build | 1 + include/libcamera/stream.h | 24 +++++ src/libcamera/camera.cpp | 132 ++++++++++++++++++++++- src/libcamera/include/pipeline_handler.h | 7 ++ src/libcamera/meson.build | 1 + src/libcamera/pipeline/ipu3/ipu3.cpp | 45 +++++++- src/libcamera/pipeline/uvcvideo.cpp | 40 ++++++- src/libcamera/pipeline/vimc.cpp | 40 ++++++- src/libcamera/pipeline_handler.cpp | 34 ++++++ src/libcamera/stream.cpp | 77 +++++++++++++ 12 files changed, 410 insertions(+), 9 deletions(-) create mode 100644 include/libcamera/stream.h create mode 100644 src/libcamera/stream.cpp