Hi Gary,

On Thursday 25 August 2011 18:07:38 Gary Thomas wrote:
> Background:  I have working video capture drivers based on the
> TI PSP codebase from 2.6.32.  In particular, I managed to get
> a driver for the TVP5150 (analogue BT656) working with that kernel.
> 
> Now I need to update to Linux 3.0, so I'm trying to get a driver
> working with the rewritten ISP code.  Sadly, I'm having a hard
> time with this - probably just missing something basic.
> 
> I've tried to clone the TVP514x driver which says that it works
> with the OMAP3 ISP code.  I've updated it to use my decoder device,
> but I can't even seem to get into that code from user land.
> 
> Here are the problems I've had so far:
>    * udev doesn't create any video devices although they have been
>      registered.  I see a full set in /sys/class/video4linux
>         # ls /sys/class/video4linux/
>         v4l-subdev0  v4l-subdev3  v4l-subdev6  video1       video4
>         v4l-subdev1  v4l-subdev4  v4l-subdev7  video2       video5
>         v4l-subdev2  v4l-subdev5  video0       video3       video6

It looks like a udev issue. I don't think that's related to the kernel 
drivers.

>      Indeed, if I create /dev/videoX by hand, I can get somewhere, but
>      I don't really understand how this is supposed to work.  e.g.
>        # v4l2-dbg --info /dev/video3
>        Driver info:
>            Driver name   : ispvideo
>            Card type     : OMAP3 ISP CCP2 input
>            Bus info      : media
>            Driver version: 1
>            Capabilities  : 0x04000002
>                    Video Output
>                    Streaming
> 
>    * If I try to grab video, the ISP layer gets a ton of warnings, but
>      I never see it call down into my driver, e.g. to check the current
>      format, etc.  I have some of my own code from before which fails
>      miserably (not a big surprise given the hack level of those programs).
>      I tried something off-the-shelf which also fails pretty bad:
>        # ffmpeg -t 10 -f video4linux2 -s 720x480 -r 30 -i /dev/video2
> junk.mp4
> 
> I've read through Documentation/video4linux/omap3isp.txt without learning
> much about what might be wrong.
> 
> Can someone give me some ideas/guidance, please?

In a nutshell, you will first have to configure the OMAP3 ISP pipeline, and 
then capture video.

Configuring the pipeline is done through the media controller API and the V4L2 
subdev pad-level API. To experiment with those you can use the media-ctl 
command line application available at http://git.ideasonboard.org/?p=media-
ctl.git;a=summary. You can run it with --print-dot and pipe the result to dot 
-Tps to get a postscript graphical view of your device.

Here's a sample pipeline configuration to capture scaled-down YUV data from a 
sensor:

./media-ctl -r -l '"mt9t001 3-005d":0->"OMAP3 ISP CCDC":0[1], "OMAP3 ISP 
CCDC":2->"OMAP3 ISP preview":0[1], "OMAP3 ISP preview":1->"OMAP3 ISP 
resizer":0[1], "OMAP3 ISP resizer":1->"OMAP3 ISP resizer output":0[1]'
./media-ctl -f '"mt9t001 3-005d":0[SGRBG10 1024x768], "OMAP3 ISP 
CCDC":2[SGRBG10 1024x767], "OMAP3 ISP preview":1[YUYV 1006x759], "OMAP3 ISP 
resizer":1[YUYV 800x600]'

After configuring your pipeline you will be able to capture video using the 
V4L2 API on the device node at the output of the pipeline.

-- 
Regards,

Laurent Pinchart
--
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

Reply via email to