• Home
  • Raw
  • Download

Lines Matching +full:audio +full:- +full:video

1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
4 .. _diff-v4l:
10 The Video For Linux API was first introduced in Linux 2.1 to unify and
21 for V4L2 video capture, overlay, radio and raw vbi capture devices did
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
70 device types like this, better think of basic video input, video output
71 and radio devices supporting a set of related functions like video
72 capturing, video overlay and VBI capturing. See :ref:`open` for an
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.
152 ``V4L2_CAP_AUDIO``, indicating *if* the device has any audio inputs or
153 outputs. To determine their number applications can enumerate audio
155 audio ioctls are described in :ref:`audio`.
161 current video standard, cropping and scaling limitations.
163 Video Sources
167 ``video_channel`` to enumerate the video inputs of a V4L
172 :c:type:`v4l2_input` as discussed in :ref:`video`.
175 video input types were renamed as follows:
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``
190 input, V4L2 assumes each video input is connected to at most one tuner.
197 The redundant ``VIDEO_VC_TUNER`` flag was dropped. Video inputs
200 considers devices with up to 32 audio inputs. Each set bit in the
201 ``audioset`` field represents one audio input this video input combines
202 with. For information about audio inputs and how to switch between them
203 see :ref:`audio`.
205 The ``norm`` field describing the supported video standards was replaced
210 video standards, see :ref:`standard` for more information.
226 flags indicating the supported video standards were dropped. This
229 ``VIDEO_TUNER_NORM`` flag indicating whether the video standard can be
230 switched. The ``mode`` field to select a different video standard was
236 Japan with numbers 3-6 (sic).
240 permits the detection of monaural and bilingual audio, see the
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``
291 The ``depth`` (average number of bits per pixel) of a video image is
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>`
340 Audio chapter
344 ``video_audio`` are used to enumerate the audio inputs
348 :c:type:`v4l2_audio` as discussed in :ref:`audio`.
350 The ``audio`` "channel number" field counting audio inputs was renamed
355 ``VIDEO_SOUND_LANG2`` audio demodulation modes. When the current audio
359 ``VIDIOCGAUDIO`` the driver returns the *actually received* audio
363 information on tuners. Related to audio modes struct
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``
397 ``video_audio`` ``step`` field. The V4L audio controls
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
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
538 video signal had been detected. When the driver supports more than
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`.
615 find the VBI device associated with a video capture device (or vice
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`.