^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) ************
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) Introduction
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) ************
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) Some video capture devices can sample a subsection of a picture and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) shrink or enlarge it to an image of arbitrary size. Next, the devices
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) can insert the image into larger one. Some video output devices can crop
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) part of an input image, scale it up or down and insert it at an
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) arbitrary scan line and horizontal offset into a video signal. We call
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) these abilities cropping, scaling and composing.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) On a video *capture* device the source is a video signal, and the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) cropping target determine the area actually sampled. The sink is an
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) image stored in a memory buffer. The composing area specifies which part
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) of the buffer is actually written to by the hardware.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) On a video *output* device the source is an image in a memory buffer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) and the cropping target is a part of an image to be shown on a display.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) The sink is the display or the graphics screen. The application may
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) select the part of display where the image should be displayed. The size
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) and position of such a window is controlled by the compose target.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) Rectangles for all cropping and composing targets are defined even if
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) the device does supports neither cropping nor composing. Their size and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) position will be fixed in such a case. If the device does not support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) scaling then the cropping and composing rectangles have the same size.