I've made a first swing at separating out the compatibility layer in
videodevX.
ftp://ftp.thedirks.org/pub/v4l2/kernel2.4/videodevX/
videodevX-20010416.tgz
The compatibility layer is in a separate module called v4l_compat. When
loaded it calls a new compatibility layer registration function,
v4l2_v4l_compat_register(), in videodevX with its interface. The
interface has two methods, translate_ioctl() and fix_offset(). The
latter is used in the v4l2_mmap() wrapper.
Note: If you install the new one, you will not have v4l->V4L2
compatibility unless you do an explicit modprobe v4l_compat. That can be
fixed with either a post-install line in /etc/modules.conf or a
request_module() in videodevX, but I haven't done it yet.
Gerd Knorr wrote:
> Why register? The driver can simply call the functions in the helper
> module.
More flexible, cleaner, I guess. It can be loaded and unloaded; doesn't
have to be made a compile-time option in to the drivers. It can be
called from videodevX transparent to the driver.
Gerd Knorr wrote:
> Bill Dirks wrote:
> > I don't think one can "put bits of V4L2 that are better
> > into V4L" and end up with a decent, coherent interface. V4L2
> > is arranged differently.
>
> I agree. Nearly all ioctls work different. I think the only
> ones which are completely unchanged are VIDIOC_G_FREQ/VIDIOC_S_FREQ.
And even those will probably have to change. The set-top box guys are
after me to support multiple tuners. Overlay (preview) support needs
much expansion for the set-top box market too. I started working on it
here: http://www.thedirks.org/v4l2/proposed/overlay.htm
(I've got to tweak the terminology, where you see "plane" think
"overlay" or "visual".)
> > Once V4L2 is in the kernel, v4l support can later be made
> > optonal, and eventually be phased out.
>
> v4l has been _the_ interface for years. And it probably takes
> at least one more year until v4l2 shows up in a stable kernel
> (2.6). I don't think we can phase out v4l1 ...
Well, I meant phase it out three years later, or somesuch.
Bill.
_______________________________________________
Video4linux-list mailing list
[EMAIL PROTECTED]
https://listman.redhat.com/mailman/listinfo/video4linux-list