Re: video capture driver interlacing question (easycap)
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
Re: video capture driver interlacing question (easycap)
On Thu, Apr 26, 2012 at 5:33 PM, Ezequiel García elezegar...@gmail.com 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)
Hi Ezequiel On Sat, 28 Apr 2012, Ezequiel García wrote: On Thu, Apr 26, 2012 at 5:33 PM, Ezequiel García elezegar...@gmail.com 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
video capture driver interlacing question (easycap)
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