All three are v4l2-defined interfaces. For more information, see
Http://v4l2spec.bytesex.org/spec-single/v4l2.html#OVERLAY
Video overlay:
Video overlay devices have the ability to genlock (TV-) video into the (VGA-) video signal of a graphics card, or to store captured images directly in video memory of a graphics card, typically with clipping
Video overlay can synchronize video to the display output, or directly store captured images to the memory of framebuffer. That is to say, video overlay can be implemented in two ways:
The first is that the video data (probably decoded video data) is directly converted to the video signal through hardware processing without modifying the framebuffer content. For example, tvout overlay of the Samsung fimc Controller
The second is that the camera data will not be transmitted to the upper layer and will be directly sent to framebuffer. For example, the ipu_prp_vf_sdc Implementation of FSL MX51.
Video output:
Video output devices encode stills or image sequences as analog video signal.
According to the spec of v4l2, the video output device encodes static images into analog video signals, which means that the output device outputs analog video signals.
For the output device output is a simulated signal, we can find the side certificate from the output type definition of the http://v4l2spec.bytesex.org/spec-single/v4l2.html#VIDIOC-ENUMOUTPUT.
Data modification: the data can be modified through the read/write function of the device node/dev/videox and the memory ing of the stream.
Note: The four types of analog video signals are CVBS, S-video, ypbpr, and RGB.
Video output overlay:
Also known as on-screen display, it overwrites the content in framebuffer to the output video signal. Note that the output video signal is a analog signal in v4l2 spce.
Enable overlay: the video output overlay interface uses the fb_blank/fb_unblank ioctl interface of framebuffer to enable and disable overlay.
Data modification: you can modify the overlay content by modifying the ramebuffer of the device/dev/fbx.
For OSD on a television displaying the current channel and volume