From: Hans Verkuil <hverkuil@xs4all.nl>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
linux-media@vger.kernel.org
Cc: linux-api@vger.kernel.org,
Sakari Ailus <sakari.ailus@linux.intel.com>,
Pawel Osciak <pawel@osciak.com>,
Marek Szyprowski <m.szyprowski@samsung.com>,
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Subject: Re: [PATCH/RFC 0/2] Repurpose the v4l2_plane data_offset field
Date: Fri, 17 Apr 2015 12:27:41 +0200 [thread overview]
Message-ID: <5530E01D.3050105@xs4all.nl> (raw)
In-Reply-To: <1429040689-23808-1-git-send-email-laurent.pinchart@ideasonboard.com>
Hi Laurent,
On 04/14/2015 09:44 PM, Laurent Pinchart wrote:
> Hello,
>
> The v4l2_plane data_offset field has been introduced at the same time as the
> the multiplane API to convey header size information between kernelspace and
> userspace.
>
> The API then became slightly controversial, both because different developers
> understood the purpose of the field differently (resulting for instance in an
> out-of-tree driver abusing the field for a different purpose), and because of
> competing proposals (see for instance "[RFC] Multi format stream support" at
> http://www.spinics.net/lists/linux-media/msg69130.html).
>
> Furthermore, the data_offset field isn't used by any mainline driver except
> vivid (for testing purpose).
>
> I need a different data offset in planes to allow data capture to or data
> output from a userspace-selected offset within a buffer (mainly for the
> DMABUF and MMAP memory types). As the data_offset field already has the
> right name, is unused, and ill-defined, I propose repurposing it. This is what
> this RFC is about.
>
> If the proposal is accepted I'll add another patch to update data_offset usage
> in the vivid driver.
I am skeptical about all this for a variety of reasons:
1) The data_offset field is well-defined in the spec. There really is no doubt
about the meaning of the field.
2) We really don't know who else might be using it, or which applications might
be using it (a lot of work was done in gstreamer recently, I wonder if data_offset
support was implemented there).
3) You offer no alternative to this feature. Basically this is my main objection.
It is not at all unusual to have headers in front of the frame data. We (Cisco)
use it in one of our product series for example. And I suspect it is something that
happens especially in systems with an FPGA that does custom processing, and those
systems are exactly the ones that are generally not upstreamed and so are not
visible to us.
IMHO the functionality it provides is very much relevant, and I would like to see
an alternative in place before it is repurposed.
But frankly, I really don't see why you would want to repurpose it. Adding a new
field (buf_offset) would do exactly what you want it to do without causing an ABI
change.
Should we ever implement a better alternative for data_offset, then that field can
be renamed to 'reserved2' or whatever at some point.
Frankly, I don't think data_offset is all that bad. What is missing is info about
the format (so add a 'data_format' field) and possible similar info about a footer
(footer_size, footer_format). Yes, the name could have been better (header_size),
but nobody is perfect...
Regards,
Hans
next prev parent reply other threads:[~2015-04-17 10:28 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-14 19:44 [PATCH/RFC 0/2] Repurpose the v4l2_plane data_offset field Laurent Pinchart
2015-04-14 19:44 ` [PATCH/RFC 1/2] v4l: " Laurent Pinchart
2015-04-14 20:10 ` Sakari Ailus
2015-04-15 20:37 ` Laurent Pinchart
2015-04-14 19:44 ` [PATCH/RFC 2/2] videobuf2: " Laurent Pinchart
2015-04-17 10:27 ` Hans Verkuil [this message]
2015-04-17 12:53 ` [PATCH/RFC 0/2] " Laurent Pinchart
2015-04-20 9:34 ` Hans Verkuil
2015-04-20 9:43 ` Laurent Pinchart
2015-04-22 13:02 ` Nicolas Dufresne
2015-04-18 13:04 ` Sakari Ailus
2015-04-20 9:16 ` Hans Verkuil
2015-04-20 15:44 ` Laurent Pinchart
2015-04-22 13:19 ` Sakari Ailus
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=5530E01D.3050105@xs4all.nl \
--to=hverkuil@xs4all.nl \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-api@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=m.szyprowski@samsung.com \
--cc=mchehab@osg.samsung.com \
--cc=pawel@osciak.com \
--cc=sakari.ailus@linux.intel.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