All of lore.kernel.org
 help / color / mirror / Atom feed
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: Thu, 31 May 2007 22:43:13 +0200	[thread overview]
Message-ID: <465F3361.106@free.fr> (raw)
In-Reply-To: <1180467116.9509.73.camel@localhost>



Mauro Carvalho Chehab a écrit :
> Em Ter, 2007-05-29 às 21:04 +0200, Thierry Merle escreveu:
>   
>> 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.
>>     
> I don't think we need to change the API. The API already exports the
> format, as a fourcc-like info. We just need to add newer codes as
> they'll be added into kernel.
>
>   
>> 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.
>>     
>
> This seems to be an interesting approach.
>
>   
Interesting but impossible to do for ioctl calls.
When the application does a ioctl(fd_of_mnt_video0,VIDIOC_G_FMT,&arg) 
for example, there is no way for the userspace helper to catch this ioctl.
The application could only open/read from the userspace helper's file 
/mnt/video0.
ioctl would still have to be done on the kernel device driver.
I thought also about a /proc interface for decompression algorithms (a 
helper would listen on a /proc file and write on another /proc file) but 
/proc is not designed for that kind of thing.
A separate library seems to be the simplest solution.
>>> 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.
>>     
>
> Yes. However, we should try to do loose coupling whenever possible, to
> keep maintainership of the "library"(*) as simple as possible.
>
> (*) With this approach, it seems that it will turn into a helper daemon,
> instead of just a library.
>
> Cheers,
> Mauro
>
>   

  reply	other threads:[~2007-05-31 20:40 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
2007-05-29 19:31                   ` Mauro Carvalho Chehab
2007-05-31 20:43                     ` Thierry Merle [this message]
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=465F3361.106@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.