All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Niklas Söderlund" <niklas.soderlund+renesas@ragnatech.se>
To: Helen Koike <helen.koike@collabora.com>, linux-media@vger.kernel.org
Cc: libcamera-devel@lists.libcamera.org,
	"Niklas Söderlund" <niklas.soderlund+renesas@ragnatech.se>
Subject: [PATCH 0/3] vimc: Allow multiple capture devices to use the same sensor
Date: Sat, 18 May 2019 03:07:41 +0200	[thread overview]
Message-ID: <20190518010744.15195-1-niklas.soderlund+renesas@ragnatech.se> (raw)

Hi,

This series adds support for two (or more) capture devices to be 
connected to the same senors and run simultaneously. Each capture device 
can be started and stopped independent of each other.

Patch 1/3 and 2/3 deals with solving the issues that arises once two 
capture devices can be part of the same pipeline. While 3/3 allows for 
two capture devices to be part of the same pipeline and thus allows for 
simultaneously use.

The series is based on the latest media-tree and it functionality can be 
demonstrated with the following test.

>>> begin test <<<
mdev=/dev/media0

media-ctl -d $mdev -l "'Debayer A':1 -> 'Scaler':0 [1]"
media-ctl -d $mdev -l "'Debayer B':1 -> 'Scaler':0 [0]"

media-ctl -d $mdev -V "'Debayer A':0 [fmt:RGB888_1X24/640x480 field:none]"
media-ctl -d /dev/media0 -V "'Sensor A':0 [fmt:SRGGB8_1X8/640x480 field:none]"

yavta -f RGB24 -s 1920x1440 --field none /dev/video2
yavta -f SRGGB8 -s 640x480 --field none /dev/video0

yavta -f RGB24 -s 1920x1440 --field none /dev/video2 --capture=100 &
yavta -f SRGGB8 -s 640x480 --field none /dev/video0 --capture=100
wait
>>> end test <<<

In addition to testing with this test the series is tested with multiple 
qv4l2 instances controlling different capture devices connected to the 
same sensor.

Niklas Söderlund (3):
  vimc: Add usage count to subdevices
  vimc: Serialize vimc_streamer_s_stream()
  vimc: Join pipeline if one already exists

 drivers/media/platform/vimc/vimc-capture.c  | 35 ++++++++++++++++++++-
 drivers/media/platform/vimc/vimc-debayer.c  |  8 +++++
 drivers/media/platform/vimc/vimc-scaler.c   |  8 +++++
 drivers/media/platform/vimc/vimc-sensor.c   |  7 +++++
 drivers/media/platform/vimc/vimc-streamer.c | 23 +++++++++-----
 5 files changed, 73 insertions(+), 8 deletions(-)

-- 
2.21.0


             reply	other threads:[~2019-05-18  1:07 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-18  1:07 Niklas Söderlund [this message]
2019-05-18  1:07 ` [PATCH 1/3] vimc: Add usage count to subdevices Niklas Söderlund
2020-03-16 19:40   ` Helen Koike
2020-03-16 20:32     ` Niklas Söderlund
2019-05-18  1:07 ` [PATCH 2/3] vimc: Serialize vimc_streamer_s_stream() Niklas Söderlund
2019-05-18  1:07 ` [PATCH 3/3] vimc: Join pipeline if one already exists Niklas Söderlund
2019-07-09 18:24   ` Helen Koike
2019-07-11  4:35     ` Niklas Söderlund
2019-10-23  7:01 ` [PATCH 0/3] vimc: Allow multiple capture devices to use the same sensor Hans Verkuil
2019-10-23 10:22   ` Niklas Söderlund

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190518010744.15195-1-niklas.soderlund+renesas@ragnatech.se \
    --to=niklas.soderlund+renesas@ragnatech.se \
    --cc=helen.koike@collabora.com \
    --cc=libcamera-devel@lists.libcamera.org \
    --cc=linux-media@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.