Lines Matching +full:pix +full:- +full:limits
1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
4 .. _diff-v4l:
23 and below in :ref:`v4l-dev`.
25 The teletext devices (minor range 192-223) have been removed in V4L2 and
35 .. _v4l-dev:
37 .. flat-table:: V4L Device Types, Names and Numbers
38 :header-rows: 1
39 :stub-columns: 0
41 * - Device Type
42 - File Name
43 - Minor Numbers
44 * - Video capture and overlay
45 - ``/dev/video`` and ``/dev/bttv0``\ [#f1]_, ``/dev/video0`` to
47 - 0-63
48 * - Radio receiver
49 - ``/dev/radio``\ [#f2]_, ``/dev/radio0`` to ``/dev/radio63``
50 - 64-127
51 * - Raw VBI capture
52 - ``/dev/vbi``, ``/dev/vbi0`` to ``/dev/vbi31``
53 - 224-255
79 .. flat-table::
80 :header-rows: 1
81 :stub-columns: 0
83 * - ``struct video_capability`` ``type``
84 - struct :c:type:`v4l2_capability`
86 - Purpose
87 * - ``VID_TYPE_CAPTURE``
88 - ``V4L2_CAP_VIDEO_CAPTURE``
89 - The :ref:`video capture <capture>` interface is supported.
90 * - ``VID_TYPE_TUNER``
91 - ``V4L2_CAP_TUNER``
92 - The device has a :ref:`tuner or modulator <tuner>`.
93 * - ``VID_TYPE_TELETEXT``
94 - ``V4L2_CAP_VBI_CAPTURE``
95 - The :ref:`raw VBI capture <raw-vbi>` interface is supported.
96 * - ``VID_TYPE_OVERLAY``
97 - ``V4L2_CAP_VIDEO_OVERLAY``
98 - The :ref:`video overlay <overlay>` interface is supported.
99 * - ``VID_TYPE_CHROMAKEY``
100 - ``V4L2_FBUF_CAP_CHROMAKEY`` in field ``capability`` of struct
102 - Whether chromakey overlay is supported. For more information on
104 * - ``VID_TYPE_CLIPPING``
105 - ``V4L2_FBUF_CAP_LIST_CLIPPING`` and
108 - Whether clipping the overlaid image is supported, see
110 * - ``VID_TYPE_FRAMERAM``
111 - ``V4L2_FBUF_CAP_EXTERNOVERLAY`` *not set* in field ``capability``
113 - Whether overlay overwrites frame buffer memory, see
115 * - ``VID_TYPE_SCALES``
116 - ``-``
117 - This flag indicates if the hardware can scale images. The V4L2 API
123 * - ``VID_TYPE_MONOCHROME``
124 - ``-``
125 - Applications can enumerate the supported image formats with the
129 * - ``VID_TYPE_SUBCAPTURE``
130 - ``-``
131 - Applications can call the :ref:`VIDIOC_G_CROP <VIDIOC_G_CROP>`
136 * - ``VID_TYPE_MPEG_DECODER``
137 - ``-``
138 - Applications can enumerate the supported image formats with the
141 * - ``VID_TYPE_MPEG_ENCODER``
142 - ``-``
143 - See above.
144 * - ``VID_TYPE_MJPEG_DECODER``
145 - ``-``
146 - See above.
147 * - ``VID_TYPE_MJPEG_ENCODER``
148 - ``-``
149 - See above.
178 .. flat-table::
179 :header-rows: 1
180 :stub-columns: 0
182 * - struct ``video_channel`` ``type``
183 - struct :c:type:`v4l2_input` ``type``
184 * - ``VIDEO_TYPE_TV``
185 - ``V4L2_INPUT_TYPE_TUNER``
186 * - ``VIDEO_TYPE_CAMERA``
187 - ``V4L2_INPUT_TYPE_CAMERA``
236 Japan with numbers 3-6 (sic).
255 .. _v4l-image-properties:
268 .. flat-table::
269 :header-rows: 1
270 :stub-columns: 0
272 * - struct ``video_picture``
273 - V4L2 Control ID
274 * - ``brightness``
275 - ``V4L2_CID_BRIGHTNESS``
276 * - ``hue``
277 - ``V4L2_CID_HUE``
278 * - ``colour``
279 - ``V4L2_CID_SATURATION``
280 * - ``contrast``
281 - ``V4L2_CID_CONTRAST``
282 * - ``whiteness``
283 - ``V4L2_CID_WHITENESS``
286 particular reset value. The V4L2 API permits arbitrary limits and
298 .. flat-table::
299 :header-rows: 1
300 :stub-columns: 0
302 * - struct ``video_picture`` ``palette``
303 - struct :c:type:`v4l2_pix_format` ``pixfmt``
304 * - ``VIDEO_PALETTE_GREY``
305 - :ref:`V4L2_PIX_FMT_GREY <V4L2-PIX-FMT-GREY>`
306 * - ``VIDEO_PALETTE_HI240``
307 - :ref:`V4L2_PIX_FMT_HI240 <pixfmt-reserved>` [#f3]_
308 * - ``VIDEO_PALETTE_RGB565``
309 - :ref:`V4L2_PIX_FMT_RGB565 <pixfmt-rgb>`
310 * - ``VIDEO_PALETTE_RGB555``
311 - :ref:`V4L2_PIX_FMT_RGB555 <pixfmt-rgb>`
312 * - ``VIDEO_PALETTE_RGB24``
313 - :ref:`V4L2_PIX_FMT_BGR24 <pixfmt-rgb>`
314 * - ``VIDEO_PALETTE_RGB32``
315 - :ref:`V4L2_PIX_FMT_BGR32 <pixfmt-rgb>` [#f4]_
316 * - ``VIDEO_PALETTE_YUV422``
317 - :ref:`V4L2_PIX_FMT_YUYV <V4L2-PIX-FMT-YUYV>`
318 * - ``VIDEO_PALETTE_YUYV``\ [#f5]_
319 - :ref:`V4L2_PIX_FMT_YUYV <V4L2-PIX-FMT-YUYV>`
320 * - ``VIDEO_PALETTE_UYVY``
321 - :ref:`V4L2_PIX_FMT_UYVY <V4L2-PIX-FMT-UYVY>`
322 * - ``VIDEO_PALETTE_YUV420``
323 - None
324 * - ``VIDEO_PALETTE_YUV411``
325 - :ref:`V4L2_PIX_FMT_Y41P <V4L2-PIX-FMT-Y41P>` [#f6]_
326 * - ``VIDEO_PALETTE_RAW``
327 - None [#f7]_
328 * - ``VIDEO_PALETTE_YUV422P``
329 - :ref:`V4L2_PIX_FMT_YUV422P <V4L2-PIX-FMT-YUV422P>`
330 * - ``VIDEO_PALETTE_YUV411P``
331 - :ref:`V4L2_PIX_FMT_YUV411P <V4L2-PIX-FMT-YUV411P>` [#f8]_
332 * - ``VIDEO_PALETTE_YUV420P``
333 - :ref:`V4L2_PIX_FMT_YVU420 <V4L2-PIX-FMT-YVU420>`
334 * - ``VIDEO_PALETTE_YUV410P``
335 - :ref:`V4L2_PIX_FMT_YVU410 <V4L2-PIX-FMT-YVU410>`
373 .. flat-table::
374 :header-rows: 1
375 :stub-columns: 0
377 * - struct ``video_audio``
378 - V4L2 Control ID
379 * - ``volume``
380 - ``V4L2_CID_AUDIO_VOLUME``
381 * - ``bass``
382 - ``V4L2_CID_AUDIO_BASS``
383 * - ``treble``
384 - ``V4L2_CID_AUDIO_TREBLE``
385 * - ``balance``
386 - ``V4L2_CID_AUDIO_BALANCE``
399 V4L2 API permits arbitrary limits and defaults which can be queried with
410 a flag to indicate non-destructive overlays instead of a ``NULL``
414 field was replaced by ``pixelformat``. See :ref:`pixfmt-rgb` for a
418 uses the general-purpose data format negotiation ioctls
441 to ``VIDEO_CLIP_BITMAP`` (-1) requests bitmap clipping, using a fixed
479 -------------------------------
491 ``VIDIOCSWIN`` ioctls. V4L2 uses the general-purpose data format
495 :c:type:`v4l2_pix_format` named ``pix`` of its
501 ------------------------------
504 memory, or more often just buffers allocated in DMA-able system memory,
510 .. flat-table::
511 :header-rows: 1
512 :stub-columns: 0
514 * - V4L
515 - V4L2
516 * -
517 - The image format must be selected before buffers are allocated,
521 * - Applications cannot change the number of buffers. The it is built
524 - The :ref:`VIDIOC_REQBUFS` ioctl allocates the
527 * - Drivers map all buffers as one contiguous range of memory. The
532 - Buffers are individually mapped. The offset and size of each
535 * - The ``VIDIOCMCAPTURE`` ioctl prepares a buffer for capturing. It
544 - Drivers maintain an incoming and outgoing queue.
558 For a more in-depth discussion of memory mapping and examples, see
566 driver supporting this interface was the BTTV driver, de-facto defining
571 .. flat-table::
572 :header-rows: 1
573 :stub-columns: 0
575 * - struct :c:type:`v4l2_vbi_format`
576 - V4L, BTTV driver
577 * - sampling_rate
578 - 28636363 Hz NTSC (or any other 525-line standard); 35468950 Hz PAL
579 and SECAM (625-line standards)
580 * - offset
581 - ?
582 * - samples_per_line
583 - 2048
584 * - sample_format
585 - V4L2_PIX_FMT_GREY. The last four bytes (a machine endianness
587 * - start[]
588 - 10, 273 NTSC; 22, 335 PAL and SECAM
589 * - count[]
590 - 16, 16 [#f9]_
591 * - flags
592 - 0
598 interface specified in :ref:`raw-vbi`.
621 devices is documented in :ref:`extended-controls`.
624 According to Documentation/admin-guide/devices.rst these should be symbolic links
629 According to ``Documentation/admin-guide/devices.rst`` a symbolic link to
637 Presumably all V4L RGB formats are little-endian, although some
639 defines little-endian, big-endian and red/blue swapped variants. For
640 details see :ref:`pixfmt-rgb`.