public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Pawel Osciak <posciak@chromium.org>
Cc: Hugues FRUCHET <hugues.fruchet@st.com>,
	Mauro Carvalho Chehab <m.chehab@samsung.com>,
	media-workshop <media-workshop@linuxtv.org>,
	Oliver Schinagl <oliver+list@schinagl.nl>,
	"linux-media@vger.kernel.org" <linux-media@vger.kernel.org>,
	Benjamin Gaignard <benjamin.gaignard@linaro.org>
Subject: Re: [media-workshop] Agenda for the Edinburgh mini-summit
Date: Tue, 10 Sep 2013 11:44:35 +0200	[thread overview]
Message-ID: <20279051.9lvO0TtBRq@avalon> (raw)
In-Reply-To: <CACHYQ-pPNx7WokQhALEdXaG0+Fv-sK2E0QVkSxvte6UxUHypeg@mail.gmail.com>

Hi Pawel,

On Saturday 07 September 2013 18:31:17 Pawel Osciak wrote:
> On Fri, Sep 6, 2013 at 10:45 PM, Laurent Pinchart wrote:
> > On Thursday 05 September 2013 13:37:49 Hugues FRUCHET wrote:
> > > Hi Mauro,
> > > 
> > > For floating point issue, we have not encountered such issue while
> > > integrating various codec (currently H264, MPEG4, VP8 of both Google G1
> > > IP & ST IPs), could you precise which codec you experienced which
> > > required FP support ?
> > > 
> > > For user-space library, problem we encountered is that interface between
> > > parsing side (for ex. H264 SPS/PPS decoding, slice header decoding,
> > > references frame list management, ...moreover all that is needed to
> > > prepare hardware IPs call) and decoder side (hardware IPs handling) is
> > > not standardized and differs largely regarding IPs or CPU/copro
> > > partitioning. This means that even if we use the standard V4L2 capture
> > > interface to inject video bitstream (H264 access units for ex), some
> > > proprietary meta are needed to be attached to each buffers, making de
> > > facto "un-standard" the V4L2 interface for this driver.
> > 
> > We're working on APIs to pass meta data from/to the kernel. The necessary
> > infrastructure is more or less there already, we "just" need to agree on
> > guidelines and standardize the process. One option that will likely be
> > implemented is to store meta-data in a plane, using the multiplanar API.
> 
> What API is that? Is there an RFC somewhere?

It has been discussed recently as part of the frame descriptors RFC 
(http://www.spinics.net/lists/linux-media/msg67295.html).

> > The resulting plane format will be driver-specific, so we'll loose part of
> > the benefits that the V4L2 API provides. We could try to solve this by
> > writing a libv4l plugin, specific to your driver, that would handle
> > bitstream parsing and fill the meta-data planes correctly. Applications
> > using libv4l would thus only need to pass encoded frames to the library,
> > which would create multiplanar buffers with video data and meta-data, and
> > pass them to the driver. This would be fully transparent for the
> > application.
> 
> If V4L2 API is not hardware-independent, it's a big loss. If this happens,
> there will be need for another, middleware API, like OMX IL. This makes V4L2
> by itself impractical for real world applications. And the incentives of
> using V4L2 are gone, because it's much easier to write a custom DRM driver
> and add any userspace API on top of it. Perhaps this is inevitable, given
> differences in hardware, but a plugin approach would be a way to keep V4L2
> abstract and retain the ability to do the bulk of processing in userspace...

I believe we can reach that goal with libv4l. The V4L2 kernel API can't 
abstract all hardware features, as this would require an API level that can't 
be properly implemented in kernel space, but with libv4l to the rescue we 
should be pretty good.

-- 
Regards,

Laurent Pinchart


  reply	other threads:[~2013-09-10  9:44 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-30 13:01 Agenda for the Edinburgh mini-summit Hans Verkuil
2013-08-30 13:21 ` Oliver Schinagl
2013-08-30 13:31   ` Mauro Carvalho Chehab
2013-08-30 16:54     ` [media-workshop] " Laurent Pinchart
     [not found]       ` <CACHYQ-qyuP+MjWNc7bVHhUa0xxzQHEmb3JFe+9n6C0GzOnj54A@mail.gmail.com>
2013-08-31  0:03         ` Laurent Pinchart
     [not found]           ` <CACHYQ-qDD5S5FJvzT-oUBe+Y+S=CB_ZN+QNQPpu+BFE-ZPr45g@mail.gmail.com>
2013-08-31 20:19             ` Laurent Pinchart
     [not found]               ` <CA+M3ks7whrGtkboVcstoEQBRTkiLGF7Hf9nEsYEkyUD6=QPG9w@mail.gmail.com>
2013-09-04 10:48                 ` Mauro Carvalho Chehab
2013-09-05 11:37                   ` Hugues FRUCHET
2013-09-06 13:45                     ` Laurent Pinchart
2013-09-07  9:31                       ` Pawel Osciak
2013-09-10  9:44                         ` Laurent Pinchart [this message]
2013-09-09 10:32                     ` Hans Verkuil
2013-09-10  7:36                       ` Hugues FRUCHET
2013-09-10  7:54                         ` Hans Verkuil
2013-08-30 13:54   ` Hans Verkuil
2013-08-31  6:43 ` Hans Verkuil
2013-08-31 18:38   ` [media-workshop] " Guennadi Liakhovetski
2013-08-31 20:25     ` Laurent Pinchart
2013-08-31 20:36       ` Guennadi Liakhovetski
2013-09-01 11:13         ` Hans Verkuil
2013-08-31 14:40 ` 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=20279051.9lvO0TtBRq@avalon \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=benjamin.gaignard@linaro.org \
    --cc=hugues.fruchet@st.com \
    --cc=linux-media@vger.kernel.org \
    --cc=m.chehab@samsung.com \
    --cc=media-workshop@linuxtv.org \
    --cc=oliver+list@schinagl.nl \
    --cc=posciak@chromium.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox