Gerd Knorr wrote:
4. I don't understand 'timeperframe'. We already have v4l2_standard,
shouldn't it just be retrieved from that?
Hmm, bttv implements it this way ...
v4l2_video_std_construct(&s, bttv_tvnorms[btv->tvnorm].v4l2_id);
parm->parm.capture.timeperframe = v4l2_video_std_tpf(&s);
... which clearly indicates it is indeed redundant. At least for TV
cards, what about usb webcams?
That reminds me, how should (digital) USB webcams implement
VIDIOC_ENUMSTD? Should they set std.id = V4L2_STD_UNKNOWN? Should they
just return -EINVAL? Or should we have have a V4L2_STD_DIGITAL_CAM for
devices where modulation standards and fixed frame rates don't apply?
And to answer your question, with USB webcams you cannot infer the
timeperframe from any other fields in the V4L(2) API. The frame rate
depends on many different factors including resolution, allocated USB
bandwidth, palette, etc... The app should just request a target frame
rate and the camera should do it's best to stay above (or below?) that.
Oh, and speaking of digital things, will there be V4L2_STD #defines for
the various digital broadcast standards? Or should we create a new ioctl
for that?
--
Mark McClelland
mark@xxxxxxxxxxxxxxxx