From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Nicolas Dufresne <nicolas@ndufresne.ca>
Cc: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>,
LMML <linux-media@vger.kernel.org>,
Wim Taymans <wtaymans@redhat.com>,
schaller@redhat.com
Subject: Re: [ANN] Meeting to discuss improvements to support MC-based cameras on generic apps
Date: Sat, 19 May 2018 08:17:42 +0300 [thread overview]
Message-ID: <2039084.mzKZ95HuWk@avalon> (raw)
In-Reply-To: <7f9f800349eb45fb9c3a96b37f238fab0a610ee4.camel@ndufresne.ca>
Hi Nicolas,
On Friday, 18 May 2018 18:15:20 EEST Nicolas Dufresne wrote:
> Le vendredi 18 mai 2018 à 15:38 +0300, Laurent Pinchart a écrit :
> >> Before libv4l, media support for a given device were limited to a few
> >> apps that knew how to decode the format. There were even cases were a
> >> proprietary app were required, as no open source decoders were
> >> available.
> >>
> >> From my PoV, the biggest gain with libv4l is that the same group of
> >> maintainers can ensure that the entire solution (Kernel driver and
> >> low level userspace support) will provide everything required for an
> >> open source app to work with it.
> >>
> >> I'm not sure how we would keep enforcing it if the pipeline setting
> >> and control propagation logic for an specific hardware will be
> >> delegated to PipeWire. It seems easier to keep doing it on a libv4l
> >> (version 2) and let PipeWire to use it.
> >
> > I believe we need to first study pipewire in more details. I have no
> > personal opinion yet as I haven't had time to investigate it. That being
> > said, I don't think that libv4l with closed-source plugins would be much
> > better than a closed-source pipewire plugin. What main concern once we
> > provide a userspace camera stack API is that vendors might implement that
> > API in a closed-source component that calls to a kernel driver
> > implementing a custom API, with all knowledge about the camera located in
> > the closed-source component. I'm not sure how to prevent that, my best
> > proposal would be to make V4L2 so useful that vendors wouldn't even think
> > about a different solution (possibly coupled by the pressure put by
> > platform vendors such as Google who mandate upstream kernel drivers for
> > Chrome OS, but that's still limited as even when it comes to Google
> > there's no such pressure on the Android side).
>
> If there is proprietary plugins, then I don't think it will make any
> difference were this is implemented.
I tend to agree overall, although the community that develops the framework we
will end up using can make a difference in that area.
> The difference is the feature set we expose. 3A is per device, but multiple
> streams, with per request controls is also possible.
Could you detail what you mean exactly by multiple streams ? Are you talking
about multiple independent streams coming from the same device (such as video
+ depth map, 3D video, ...) or streams created from a single source (sensor)
to serve different purposes (viewfinder, video capture, still image capture,
...) ?
> PipeWire gives central place to manage this, while giving multiple process
> access to the camera streams. I think in the end, what fits better would be
> something like or the Android Camera HAL2. But we could encourage OSS by
> maintaining a base implementation that covers all the V4L2 aspect, leaving
> only the 3A aspect of the work to be done.
Ideally that's the goal I'd like to reach, regardless of which multimedia
stack we go for.
> Maybe we need to come up with an abstraction that does not prevent multi-
> streams, but only requires 3A per vendors
That would be tricky to achieve, as it's usually very use-case- and ISP-
dependent. Maybe we could come up with an interface for another vendor-
specific component to handle this, but I fear it will be so intertwined with
the 3A implementation that it wouldn't be possible to isolate those two
components.
> (saying per vendors, as some of this could be Open Source by third parties).
Note that in practice 3A is often tuned per-device, starting from a per-vendor
implementation.
> just thinking out loud now ;-P
That's exactly what we need to do to start with :-)
> p.s. Do we have the Intel / IPU3 folks in in the loop ? This is likely
> the most pressing HW as it's shipping on many laptops now.
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2018-05-19 5:17 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-17 19:07 [ANN] Meeting to discuss improvements to support MC-based cameras on generic apps Mauro Carvalho Chehab
2018-05-17 21:38 ` Nicolas Dufresne
2018-05-18 8:15 ` Laurent Pinchart
2018-05-18 11:24 ` Mauro Carvalho Chehab
2018-05-18 12:38 ` Laurent Pinchart
2018-05-18 15:15 ` Nicolas Dufresne
2018-05-18 15:41 ` Tomasz Figa
2018-05-19 5:17 ` Laurent Pinchart [this message]
2018-05-23 16:19 ` Hans Verkuil
2018-05-23 19:35 ` Laurent Pinchart
2018-05-18 14:22 ` Nicolas Dufresne
2018-05-18 15:19 ` Laurent Pinchart
2018-05-18 12:27 ` Laurent Pinchart
2018-05-18 15:05 ` Mauro Carvalho Chehab
2018-05-18 15:31 ` Laurent Pinchart
2018-05-18 15:37 ` Dave Stevenson
2018-05-18 18:23 ` Nicolas Dufresne
2018-05-19 7:04 ` Laurent Pinchart
2018-05-21 12:16 ` Dave Stevenson
2018-05-21 13:04 ` Laurent Pinchart
2018-05-18 15:37 ` Tomasz Figa
2018-05-25 2:40 ` Zheng, Jian Xu
2018-06-13 14:36 ` Sakari Ailus
2018-06-14 1:06 ` Tomasz Figa
2018-05-28 13:43 ` Mauro Carvalho Chehab
2018-05-28 14:21 ` Niklas Söderlund
2018-05-31 13:22 ` Mauro Carvalho Chehab
2018-05-31 13:46 ` Kieran Bingham
2018-05-31 13:54 ` Laurent Pinchart
2018-05-31 13:58 ` Hans Verkuil
2018-05-31 14:18 ` Tomasz Figa
2018-05-31 15:15 ` Mauro Carvalho Chehab
2018-05-31 14:19 ` Hans Verkuil
2018-06-01 7:31 ` Javier Martinez Canillas
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=2039084.mzKZ95HuWk@avalon \
--to=laurent.pinchart@ideasonboard.com \
--cc=linux-media@vger.kernel.org \
--cc=mchehab+samsung@kernel.org \
--cc=nicolas@ndufresne.ca \
--cc=schaller@redhat.com \
--cc=wtaymans@redhat.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox