[libcamera-devel,00/13] libcamera: pipeline: rkisp1: Extend to support two streams
mbox series

Message ID 20200813005246.3265807-1-niklas.soderlund@ragnatech.se
Headers show
Series
  • libcamera: pipeline: rkisp1: Extend to support two streams
Related show

Message

Niklas Söderlund Aug. 13, 2020, 12:52 a.m. UTC
Hi,

This series extends the RkISP1 pipeline handler to work with 2 streams.  
It allows cameras backed by this pipeline to expose a main path stream, 
same as the one before this series. And a new self path stream that can 
operate in addition or independently from the main path.

The self path supports two new RGB formats that is not supported by the 
main path. This series does not extend support for RAW formats as this 
is such a special case for this pipeline. Only the main path may be 
active and no ISP parameters can be processed. This may be added on top 
but functionality have been proven as a prototype.

To be able to use both main and self path simultaneously must run a 
kernel that includes [1]. The development of the series is tested on the 
latest media-tree [2] with out-of-tree DTS patches for the test Scarlet 
platform to enable the camera sensors.

This series depends on libcamera series [3].

1. 60e915354c270357 ("media: staging: rkisp1: cap: fix return values from pm functions")
2. f45882cfb152f5d3 ("media: camss: fix memory leaks on error handling paths in probe")
3. [PATCH 0/2] libcamera: request: Make Stream pointer const


Niklas Söderlund (13):
  libcamera: pipeline: rkisp1: Fix line length typo
  libcamera: pipeline: rkisp1: Breakout mainpath size and format
    constraints
  libcamera: pipeline: rkisp1: Setup links as part of configuration
  libcamera: pipeline: rkisp1: Prepare buffer ready handlers for
    multiple streams
  libcamera: pipeline: rkisp1: Create RkISP1Frames from camera data
  libcamera: pipeline: rkisp1: Export stream formats to applicaitons
  libcamera: pipeline: rkisp1: Set the crop rectangle
  libcamera: pipeline: rkisp1: Prefix main path video and resizer
  libcamera: pipeline: rkisp1: Add self path devices
  libcamera: pipeline: rkisp1: Configure self path
  libcamera: pipeline: rkisp1: Track buffers for self path
  libcamera: pipeline: rkisp1: Add format validation for self path
  libcamera: pipeline: rkisp1: Expose self path stream

 src/libcamera/pipeline/rkisp1/rkisp1.cpp | 671 ++++++++++++++++-------
 1 file changed, 468 insertions(+), 203 deletions(-)