[libcamera-devel,0/7] vimc: Introduce multiple streaming
mbox series

Message ID 20200722133009.26528-1-kgupta@es.iitr.ac.in
Headers show
Series
  • vimc: Introduce multiple streaming
Related show

Message

Kaaira Gupta July 22, 2020, 1:30 p.m. UTC
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(-)