All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hans Verkuil <hverkuil@xs4all.nl>
To: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Nicolas Dufresne <nicolas@ndufresne.ca>,
	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: Wed, 23 May 2018 18:19:37 +0200	[thread overview]
Message-ID: <727fc55e-970c-53c3-f286-f7e7c1035184@xs4all.nl> (raw)
In-Reply-To: <20180518082447.3068c34c@vento.lan>

On 18/05/18 13:24, Mauro Carvalho Chehab wrote:
> One of the biggest reasons why we decided to start libv4l project,
> in the past, was to ensure an open source solution. The problem we
> faced on that time is to ensure that, when a new media driver were
> added with some proprietary output format, an open source decoding
> software were also added at libv4l.
> 
> This approach ensured that all non-MC cameras are supported by all
> V4L2 applications.
> 
> 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've decided not to attend this meeting. It is not quite my core expertise
and it is a bit too far to make it worth my time. If there are good reasons
for me being there that I missed, then please let me know asap and I might
reconsider this.

What I would like to say though it that I think libv4l is a bit of a dead
end and probably not suitable for adding support for this.

Currently libv4l2 is too intertwined with libv4lconvert and too messy.
Its original motivation was for converting custom formats and that is
mostly obsolete now that UVC has standardized formats to just a few.

I think a core library is needed that provides the basic functionality
and that can be used directly by applications if they don't want to use
v4l2_open() and friends.

I.e. it should be possible for e.g. gstreamer to use this core library
to easily configure and use the MC instead of having to call v4l2_open() etc.
and rely on magic code to do this for them. It's simply ugly to overload
mmap with v4l2_mmap or to emulate read() if the driver doesn't support it.

We might still have a libv4l2-like library sitting on top of this, but
perhaps with limited functionality. For example, I think it would be
reasonable to no longer support custom formats. If an application wants
to support that, then it should call conversion functions for the core
library explicitly. This has the big advantage of solving the dmabuf
and mmap issues in today's libv4l2.

Regards,

	Hans

  parent reply	other threads:[~2018-05-23 16:19 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
2018-05-23 16:19       ` Hans Verkuil [this message]
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=727fc55e-970c-53c3-f286-f7e7c1035184@xs4all.nl \
    --to=hverkuil@xs4all.nl \
    --cc=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 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.