Re: [RFC] Remove support for the video overlay interface

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Le mardi 28 février 2023 à 17:52 +0100, Hans Verkuil a écrit :
> While working on the vb2 conversion of the saa7146 driver I dug a bit deeper into
> the video capture overlay support of that driver.
> 
> For more info of that feature see:
> 
> https://linuxtv.org/downloads/v4l-dvb-apis-new/userspace-api/v4l/dev-overlay.html
> 
> Specifically, video overlay support relies on userspace passing the address of
> the framebuffer to the driver with VIDIOC_S_FBUF. The PCI driver can then DMA
> the captured frame straight into the framebuffer. This was useful 20 years ago,
> but today not so much.
> 
> Typically userspace would get the address from the /dev/fbX device using the
> FBIOGET_FSCREENINFO ioctl.
> 
> But drm_fb_helper.c sets the smem_start field explicitly to 0 unless:
> 
> 1) CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is set, and
> 2) CONFIG_EXPERT is set, and
> 3) set the drm_kms_helper module parameter drm_leak_fbdev_smem to 1.
> 
> Actually, even with all that set, I *still* get a 0 value. I probably
> missed something.
> 
> In any case, I think destructive overlay support is effectively dead and it
> should be removed from the v4l2 drivers.
> 
> This would affect saa7146, bttv, saa7134 and vivid.
> 
> Output overlay support is still around (ivtv, omap_vout). There is also a
> single driver with a non-destructive capture overlay:
> drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c
> 
> No idea what that's doing exactly in the bcm2835 driver.

On the Pi, the firmware implements arbitrary number of graphic layers. It will
start rendering the camera on a layer on top. It is non-destructive, but on
newer code base, using libcamera, they replaced that with a QT popup window. So
maybe they also consider this as their legacy.

Note this is CAPTURE overlay, they don't do OUTPUT overlay in any drivers there.

> 
> Removing support for this has some nice related benefits: the overlay
> window supports clipping (either a list of rectangles or a bitmap), and
> that would also disappear. That makes the compat32 code quite a bit easier.
> A fair amount of code is dedicated to that.
> 
> So, I propose to drop destructive overlay support from saa7146, bttv and
> saa7134 and vivid for the 6.4 kernel. In addition, support for
> V4L2_FBUF_CAP_LIST_CLIPPING and V4L2_FBUF_CAP_BITMAP_CLIPPING is also
> dropped. This only affects the vivid driver which is the only driver that
> supports this for output overlays.
> 
> Any objections?
> 
> Regards,
> 
> 	Hans





[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux