[Linux-uvc-devel] Re: [ANNOUNCE] Linux UVC driver available
Linux UVC driver and tools
Brought to you by:
pinchartl
From: Laurent P. <lau...@sk...> - 2006-01-06 10:17:32
|
Hi William, I cc'ed my answer to lin...@li..., please use the mailing list instead of contacting me directly (so that other people can learn from your problems and/or help you). > Thank you for doing all of this work. I pulled down the sources from > SVN and built the driver under SuSE 10, for on the stock 2.6.13 kernel > supplied with the distribution, then under 2.6.15 which I built. It > does not load under 2.6.13, but does load fine under 2.6.15. There is, > however, a problem when I try to use it. Why does it fail with the 2.6.13 kernel ? What happens ? > First, I've written an application that uses ffmpeg and SDL to perform > image processing. It works with either pre-recorded videos or webcams. > The webcam section works with a Logitech 4000 Pro and the pwc driver > from Saillard. This is the section of my application code that fails > with your driver: > > // Hard code this for now. > // > params.device = filename; > params.channel = 0; > params.standard = "ntsc"; > params.width = 640; > params.height = 480; > params.time_base.den = 24; > params.time_base.num = 1; > AVInputFormat > *ciformat = av_find_input_format(videoSubsystem); > > if (ciformat) > { > DBG << "Found " << videoSubsystem << std::endl; > } > else > { > ERR << "AVInputFormat from av_find_input_format " > "for " << videoSubsystem << " is null!" << std::endl; > } > > DBG << "Attempting to open device: " << filename << std::endl; > > if (av_open_input_file(&fmtContext, filename, ciformat, 0, ¶ms) > < 0) { > ERR << "Could not open device: " << filename << std::endl; > return 0; > } > > Evreything works fine for the older driver and the 4000 Pro. When I > load your driver and plug in the Logitech Fusion I get "VIDIOCGCAP: > Invalid argument" when calling av_open_input_file(...). I set up > ciformat with av_find_input_format(...) where videoSubsystem is a > const cstring equal to "video4linux". I know that you state that your > driver does not support V4L, but V4L2. My basic questions are do I > have V4L2 installed on my SuSE distribution, and how to I invoke it > from ffmpeg? V4L2 is an API. It describes the way user-space applications (in your case ffmpeg) communicate with the driver. You can't "install" V4L2. You will need to code V4L2 support in ffmpeg. Or ask nicely someone to do it for you :-) Laurent Pinchart |