video capture driver interlacing question (easycap)

2012-04-26 Thread Ezequiel García
Hi everyone,

As you may know I'm re-writing from scratch the staging/easycap driver.

Finally, after digging through the labyrinthic staging/easycap code,
I've reached a point where I'm able to understand isoc packets.
Despite not having any documentation (I asked several times) from chip vendor,
I can separate packets in odd and even.

So, instead of receiving frames the device is sending me fields, right?

My doubt now is this:
* Do I have to *merge* this pair of fields for each frame, or can I
give it to v4l?
If affirmative: how should I *merge* them?
* Is this related to multiplanar buffers (should I use vb2_plane_addr)?

Currently, staging/easycap does some strange and complex conversion,
from the pair of fields buffers, to get a "frame" buffer (!) but I'm
not sure if it's the correct way to do it?

I guess I can keep staring at em28xx (together with vivi/uvc/pwc) driver,
but if someone cares to give me a small hint or point me at a small portion
of code I'll be grateful.

Thanks,
Ezequiel.
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: video capture driver interlacing question (easycap)

2012-04-28 Thread Ezequiel García
On Thu, Apr 26, 2012 at 5:33 PM, Ezequiel García  wrote:
> Hi everyone,
>
> As you may know I'm re-writing from scratch the staging/easycap driver.
>
> Finally, after digging through the labyrinthic staging/easycap code,
> I've reached a point where I'm able to understand isoc packets.
> Despite not having any documentation (I asked several times) from chip vendor,
> I can separate packets in odd and even.
>
> So, instead of receiving frames the device is sending me fields, right?
>
> My doubt now is this:
> * Do I have to *merge* this pair of fields for each frame, or can I
> give it to v4l?
> If affirmative: how should I *merge* them?
> * Is this related to multiplanar buffers (should I use vb2_plane_addr)?
>
> Currently, staging/easycap does some strange and complex conversion,
> from the pair of fields buffers, to get a "frame" buffer (!) but I'm
> not sure if it's the correct way to do it?
>
> I guess I can keep staring at em28xx (together with vivi/uvc/pwc) driver,
> but if someone cares to give me a small hint or point me at a small portion
> of code I'll be grateful.
>
> Thanks,
> Ezequiel.

Anyone?
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: video capture driver interlacing question (easycap)

2012-04-28 Thread Guennadi Liakhovetski
Hi Ezequiel

On Sat, 28 Apr 2012, Ezequiel García wrote:

> On Thu, Apr 26, 2012 at 5:33 PM, Ezequiel García  
> wrote:
> > Hi everyone,
> >
> > As you may know I'm re-writing from scratch the staging/easycap driver.
> >
> > Finally, after digging through the labyrinthic staging/easycap code,
> > I've reached a point where I'm able to understand isoc packets.
> > Despite not having any documentation (I asked several times) from chip 
> > vendor,
> > I can separate packets in odd and even.
> >
> > So, instead of receiving frames the device is sending me fields, right?
> >
> > My doubt now is this:
> > * Do I have to *merge* this pair of fields for each frame, or can I
> > give it to v4l?
> > If affirmative: how should I *merge* them?
> > * Is this related to multiplanar buffers (should I use vb2_plane_addr)?
> >
> > Currently, staging/easycap does some strange and complex conversion,
> > from the pair of fields buffers, to get a "frame" buffer (!) but I'm
> > not sure if it's the correct way to do it?
> >
> > I guess I can keep staring at em28xx (together with vivi/uvc/pwc) driver,
> > but if someone cares to give me a small hint or point me at a small portion
> > of code I'll be grateful.
> >
> > Thanks,
> > Ezequiel.
> 
> Anyone?

This might help:

http://linuxtv.org/downloads/v4l-dvb-apis/field-order.html

i.e., no, you should not merge fields in the driver, IIRC, you just hand 
them over to the user in separate buffers.

Thanks
Guennadi
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: video capture driver interlacing question (easycap)

2012-04-29 Thread Ezequiel García
Hi,

>
> i.e., no, you should not merge fields in the driver, IIRC, you just hand
> them over to the user in separate buffers.
>

Thanks a lot for your answer. However, in that case I'm a little
confused by the fact that em28xx driver merges both fields by copying
one line from each into a buffer before handing it back to user.

I'd love if someone could clarify this issue.

Thanks a lot again,
Ezequiel.
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html