From: Thierry Merle <thierry.merle@free.fr>
To: Mauro Carvalho Chehab <mchehab@infradead.org>
Cc: video4linux-list@redhat.com, linux-kernel@vger.kernel.org,
Andrew Morton <akpm@linux-foundation.org>,
Jiri Slaby <jirislaby@gmail.com>
Subject: Re: [PATCH 1/1] V4L: stk11xx, add a new webcam driver
Date: Tue, 29 May 2007 21:04:00 +0200 [thread overview]
Message-ID: <465C7920.2080203@free.fr> (raw)
In-Reply-To: <1180448712.21547.314.camel@localhost>
Mauro Carvalho Chehab a écrit :
>
>
>>> Hi Mauro and Markus,
>>> Just to summ up what I understood we need:
>>>
>>> What do we need in userspace, only for v4l (dvb is not concerned):
>>> - colorspace translations
>>> - filters that be done in hardware if the selected hardware can,
>>> otherwise software plugin
>>> - decompression algorithm like stk11xx or usbvision (the decompression
>>> algorithm is in kernelspace since it is of linear complexity but shall
>>> be moved to userspace)
>>>
>
> Yes. The first focus, IMO, should be the last one.
>
>
OK, so we must open the V4L2 API to add a custom pixel format.
While brainstorming, I thought it would be funny to create userspace
drivers like FUSE based projects do.
Applications would see nothing but a new device driver to access, all
decompression algorithm would be in userspace.
The path from the application to the v4l2 kernel driver:
[Application]<->[/mnt/video0 (created by FUSE-like userspace
lib)]<->[/dev/video0 (created by kernel v4l2 driver)]
There are limitations that I don't know, but this would be transparent
for the applications.
>>> Using pwlib will not mean that application developers will use pwlib
>>> to decode v4l driver outputs.
>>> C bindings are much more popular than C++ bindings and do not prevent
>>> object oriented design.
>>>
>
> IMO, we should implement very simple and efficient C subroutines.
>
>
>>> Application developers implement their own codecs.
>>>
>
> They can do it if they want. However, if we have a very consistent and
> easy to use subroutines for those weird decompress stuff, it is likely
> that they will use it.
>
>
>>> As an example, every application do deinterlacing internally or not...
>>> Application developers will probably not use pwlib v4l extensions
>>> because they will prefer to write adapted codecs for their framework.
>>>
>
> I think we shouldn't deal with deinterlacing. the API should be as
> simple as possible, focusing on implementing some stuff highly linked
> with the hardware (like specific decompression stuff, proprietary
> colospace conversions, etc).
>
>>> Much more important for me is to see the actual specification of the
>>> needed v4l extensions points, with advice/participation of
>>> application/codec developers.
>>>
>> As an example, we could empacket frames with a header containing
>> audio/video format as it is done for MPEG streams.
>> Is it possible without breaking the current ABI?
>>
>
> Yes, it is possible. In fact, some devices currently work by generating
> a common audio and video stream. The driver may just send the packet
> as-is, leaving to the userspace API the function to de-merge and
> synchronize audio and video.
>
So we have a userspace lib that will demux/uncompress device driver output.
This lib will know each device driver particularities to know how to
demux/uncompress in a a/v format that will be understood by the application.
>
>> Do application developers would cope with that?
>>
>
> Maybe.
>
> Cheers,
> Mauro
>
>
Thanks
Thierry
next prev parent reply other threads:[~2007-05-29 19:00 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-24 14:01 [PATCH 1/1] V4L: stk11xx, add a new webcam driver Jiri Slaby
2007-05-24 14:24 ` Markus Rechberger
2007-05-24 15:07 ` Jiri Slaby
2007-05-28 15:21 ` Markus Rechberger
2007-05-24 23:07 ` Jiri Slaby
2007-05-25 8:22 ` Stefan Richter
2007-05-25 8:30 ` Jiri Slaby
2007-05-24 17:38 ` Diego Calleja
2007-05-24 18:01 ` Ismail Dönmez
2007-05-25 8:19 ` Stefan Richter
[not found] ` <4af2d03a0705250127j3d05cd6bkb114cad0e6ecb449@mail.gmail.com>
2007-05-25 9:50 ` Stefan Richter
2007-05-28 15:00 ` Mauro Carvalho Chehab
2007-05-28 15:14 ` Markus Rechberger
2007-05-28 16:28 ` Luca Risolia
2007-05-28 16:42 ` Markus Rechberger
2007-05-28 18:57 ` Mauro Carvalho Chehab
2007-05-28 19:17 ` Markus Rechberger
2007-05-28 20:11 ` Mauro Carvalho Chehab
2007-05-28 21:30 ` Thierry Merle
2007-05-29 5:32 ` Thierry Merle
2007-05-29 14:25 ` Mauro Carvalho Chehab
2007-05-29 19:04 ` Thierry Merle [this message]
2007-05-29 19:31 ` Mauro Carvalho Chehab
2007-05-31 20:43 ` Thierry Merle
2007-06-01 23:10 ` Mauro Carvalho Chehab
2007-06-02 9:00 ` Thierry Merle
2007-06-04 18:55 ` Mauro Carvalho Chehab
2007-06-15 21:08 ` Jiri Slaby
2007-06-16 11:46 ` Thierry Merle
2007-06-16 12:07 ` Jiri Slaby
[not found] ` <200706190941.47459.oliver@neukum.org>
2007-06-19 7:44 ` Jiri Slaby
2007-05-30 19:44 ` Jiri Slaby
2007-06-01 23:00 ` Mauro Carvalho Chehab
-- strict thread matches above, loose matches on Subject: below --
2007-08-26 14:09 Jiri Slaby
2007-08-27 22:40 ` Andrew Morton
2007-08-28 5:33 ` Jiri Slaby
2007-08-28 5:36 ` Andrew Morton
2007-08-28 5:41 ` Jiri Slaby
2007-08-28 6:35 ` Alexander E. Patrakov
2007-11-06 7:40 ` Andrew Morton
2007-11-06 10:48 ` Jiri Slaby
2007-11-07 17:57 ` Mauro Carvalho Chehab
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=465C7920.2080203@free.fr \
--to=thierry.merle@free.fr \
--cc=akpm@linux-foundation.org \
--cc=jirislaby@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mchehab@infradead.org \
--cc=video4linux-list@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.