• Home
  • Raw
  • Download

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

1 .. -*- coding: utf-8; mode: rst -*-
3 .. _diff-v4l:
9 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
36 .. _v4l-dev:
38 .. flat-table:: V4L Device Types, Names and Numbers
39 :header-rows: 1
40 :stub-columns: 0
42 * - Device Type
43 - File Name
44 - Minor Numbers
45 * - Video capture and overlay
46 - ``/dev/video`` and ``/dev/bttv0``\ [#f1]_, ``/dev/video0`` to
48 - 0-63
49 * - Radio receiver
50 - ``/dev/radio``\ [#f2]_, ``/dev/radio0`` to ``/dev/radio63``
51 - 64-127
52 * - Raw VBI capture
53 - ``/dev/vbi``, ``/dev/vbi0`` to ``/dev/vbi31``
54 - 224-255
73 device types like this, better think of basic video input, video output
74 and radio devices supporting a set of related functions like video
75 capturing, video overlay and VBI capturing. See :ref:`open` for an
82 .. flat-table::
83 :header-rows: 1
84 :stub-columns: 0
86 * - ``struct video_capability`` ``type``
87 - struct :c:type:`v4l2_capability`
89 - Purpose
90 * - ``VID_TYPE_CAPTURE``
91 - ``V4L2_CAP_VIDEO_CAPTURE``
92 - The :ref:`video capture <capture>` interface is supported.
93 * - ``VID_TYPE_TUNER``
94 - ``V4L2_CAP_TUNER``
95 - The device has a :ref:`tuner or modulator <tuner>`.
96 * - ``VID_TYPE_TELETEXT``
97 - ``V4L2_CAP_VBI_CAPTURE``
98 - The :ref:`raw VBI capture <raw-vbi>` interface is supported.
99 * - ``VID_TYPE_OVERLAY``
100 - ``V4L2_CAP_VIDEO_OVERLAY``
101 - The :ref:`video overlay <overlay>` interface is supported.
102 * - ``VID_TYPE_CHROMAKEY``
103 - ``V4L2_FBUF_CAP_CHROMAKEY`` in field ``capability`` of struct
105 - Whether chromakey overlay is supported. For more information on
107 * - ``VID_TYPE_CLIPPING``
108 - ``V4L2_FBUF_CAP_LIST_CLIPPING`` and
111 - Whether clipping the overlaid image is supported, see
113 * - ``VID_TYPE_FRAMERAM``
114 - ``V4L2_FBUF_CAP_EXTERNOVERLAY`` *not set* in field ``capability``
116 - Whether overlay overwrites frame buffer memory, see
118 * - ``VID_TYPE_SCALES``
119 - ``-``
120 - This flag indicates if the hardware can scale images. The V4L2 API
126 * - ``VID_TYPE_MONOCHROME``
127 - ``-``
128 - Applications can enumerate the supported image formats with the
132 * - ``VID_TYPE_SUBCAPTURE``
133 - ``-``
134 - Applications can call the :ref:`VIDIOC_G_CROP <VIDIOC_G_CROP>`
139 * - ``VID_TYPE_MPEG_DECODER``
140 - ``-``
141 - Applications can enumerate the supported image formats with the
144 * - ``VID_TYPE_MPEG_ENCODER``
145 - ``-``
146 - See above.
147 * - ``VID_TYPE_MJPEG_DECODER``
148 - ``-``
149 - See above.
150 * - ``VID_TYPE_MJPEG_ENCODER``
151 - ``-``
152 - See above.
156 ``V4L2_CAP_AUDIO``, indicating *if* the device has any audio inputs or
157 outputs. To determine their number applications can enumerate audio
159 audio ioctls are described in :ref:`audio`.
165 current video standard, cropping and scaling limitations.
168 Video Sources
172 ``video_channel`` to enumerate the video inputs of a V4L
177 :c:type:`v4l2_input` as discussed in :ref:`video`.
180 video input types were renamed as follows:
184 .. flat-table::
185 :header-rows: 1
186 :stub-columns: 0
188 * - struct ``video_channel`` ``type``
189 - struct :c:type:`v4l2_input` ``type``
190 * - ``VIDEO_TYPE_TV``
191 - ``V4L2_INPUT_TYPE_TUNER``
192 * - ``VIDEO_TYPE_CAMERA``
193 - ``V4L2_INPUT_TYPE_CAMERA``
197 input, V4L2 assumes each video input is connected to at most one tuner.
204 The redundant ``VIDEO_VC_TUNER`` flag was dropped. Video inputs
207 considers devices with up to 32 audio inputs. Each set bit in the
208 ``audioset`` field represents one audio input this video input combines
209 with. For information about audio inputs and how to switch between them
210 see :ref:`audio`.
212 The ``norm`` field describing the supported video standards was replaced
217 video standards, see :ref:`standard` for more information.
234 flags indicating the supported video standards were dropped. This
237 ``VIDEO_TUNER_NORM`` flag indicating whether the video standard can be
238 switched. The ``mode`` field to select a different video standard was
244 Japan with numbers 3-6 (sic).
248 permits the detection of monaural and bilingual audio, see the
264 .. _v4l-image-properties:
278 .. flat-table::
279 :header-rows: 1
280 :stub-columns: 0
282 * - struct ``video_picture``
283 - V4L2 Control ID
284 * - ``brightness``
285 - ``V4L2_CID_BRIGHTNESS``
286 * - ``hue``
287 - ``V4L2_CID_HUE``
288 * - ``colour``
289 - ``V4L2_CID_SATURATION``
290 * - ``contrast``
291 - ``V4L2_CID_CONTRAST``
292 * - ``whiteness``
293 - ``V4L2_CID_WHITENESS``
302 The ``depth`` (average number of bits per pixel) of a video image is
310 .. flat-table::
311 :header-rows: 1
312 :stub-columns: 0
314 * - struct ``video_picture`` ``palette``
315 - struct :c:type:`v4l2_pix_format` ``pixfmt``
316 * - ``VIDEO_PALETTE_GREY``
317 - :ref:`V4L2_PIX_FMT_GREY <V4L2-PIX-FMT-GREY>`
318 * - ``VIDEO_PALETTE_HI240``
319 - :ref:`V4L2_PIX_FMT_HI240 <pixfmt-reserved>` [#f3]_
320 * - ``VIDEO_PALETTE_RGB565``
321 - :ref:`V4L2_PIX_FMT_RGB565 <pixfmt-rgb>`
322 * - ``VIDEO_PALETTE_RGB555``
323 - :ref:`V4L2_PIX_FMT_RGB555 <pixfmt-rgb>`
324 * - ``VIDEO_PALETTE_RGB24``
325 - :ref:`V4L2_PIX_FMT_BGR24 <pixfmt-rgb>`
326 * - ``VIDEO_PALETTE_RGB32``
327 - :ref:`V4L2_PIX_FMT_BGR32 <pixfmt-rgb>` [#f4]_
328 * - ``VIDEO_PALETTE_YUV422``
329 - :ref:`V4L2_PIX_FMT_YUYV <V4L2-PIX-FMT-YUYV>`
330 * - ``VIDEO_PALETTE_YUYV``\ [#f5]_
331 - :ref:`V4L2_PIX_FMT_YUYV <V4L2-PIX-FMT-YUYV>`
332 * - ``VIDEO_PALETTE_UYVY``
333 - :ref:`V4L2_PIX_FMT_UYVY <V4L2-PIX-FMT-UYVY>`
334 * - ``VIDEO_PALETTE_YUV420``
335 - None
336 * - ``VIDEO_PALETTE_YUV411``
337 - :ref:`V4L2_PIX_FMT_Y41P <V4L2-PIX-FMT-Y41P>` [#f6]_
338 * - ``VIDEO_PALETTE_RAW``
339 - None [#f7]_
340 * - ``VIDEO_PALETTE_YUV422P``
341 - :ref:`V4L2_PIX_FMT_YUV422P <V4L2-PIX-FMT-YUV422P>`
342 * - ``VIDEO_PALETTE_YUV411P``
343 - :ref:`V4L2_PIX_FMT_YUV411P <V4L2-PIX-FMT-YUV411P>` [#f8]_
344 * - ``VIDEO_PALETTE_YUV420P``
345 - :ref:`V4L2_PIX_FMT_YVU420 <V4L2-PIX-FMT-YVU420>`
346 * - ``VIDEO_PALETTE_YUV410P``
347 - :ref:`V4L2_PIX_FMT_YVU410 <V4L2-PIX-FMT-YVU410>`
354 Audio chapter
358 ``video_audio`` are used to enumerate the audio inputs
362 :c:type:`v4l2_audio` as discussed in :ref:`audio`.
364 The ``audio`` "channel number" field counting audio inputs was renamed
369 ``VIDEO_SOUND_LANG2`` audio demodulation modes. When the current audio
373 ``VIDIOCGAUDIO`` the driver returns the *actually received* audio
377 information on tuners. Related to audio modes struct
388 .. flat-table::
389 :header-rows: 1
390 :stub-columns: 0
392 * - struct ``video_audio``
393 - V4L2 Control ID
394 * - ``volume``
395 - ``V4L2_CID_AUDIO_VOLUME``
396 * - ``bass``
397 - ``V4L2_CID_AUDIO_BASS``
398 * - ``treble``
399 - ``V4L2_CID_AUDIO_TREBLE``
400 * - ``balance``
401 - ``V4L2_CID_AUDIO_BALANCE``
413 ``video_audio`` ``step`` field. The V4L audio controls
427 a flag to indicate non-destructive overlays instead of a ``NULL``
431 field was replaced by ``pixelformat``. See :ref:`pixfmt-rgb` for a
435 uses the general-purpose data format negotiation ioctls
458 to ``VIDEO_CLIP_BITMAP`` (-1) requests bitmap clipping, using a fixed
499 -------------------------------
502 V4L2 device using the :ref:`read() <func-read>` function, however V4L2
507 :ref:`select() <func-select>` and :ref:`poll() <func-poll>`
511 ``VIDIOCSWIN`` ioctls. V4L2 uses the general-purpose data format
522 ------------------------------
525 memory, or more often just buffers allocated in DMA-able system memory,
532 .. flat-table::
533 :header-rows: 1
534 :stub-columns: 0
536 * - V4L
537 - V4L2
538 * -
539 - The image format must be selected before buffers are allocated,
543 * - Applications cannot change the number of buffers. The it is built
546 - The :ref:`VIDIOC_REQBUFS` ioctl allocates the
549 * - Drivers map all buffers as one contiguous range of memory. The
553 for the :ref:`mmap() <func-mmap>` function.
554 - Buffers are individually mapped. The offset and size of each
557 * - The ``VIDIOCMCAPTURE`` ioctl prepares a buffer for capturing. It
560 video signal had been detected. When the driver supports more than
566 - Drivers maintain an incoming and outgoing queue.
571 :ref:`select() <func-select>` or :ref:`poll() <func-poll>` can
581 For a more in-depth discussion of memory mapping and examples, see
590 driver supporting this interface was the BTTV driver, de-facto defining
596 .. flat-table::
597 :header-rows: 1
598 :stub-columns: 0
600 * - struct :c:type:`v4l2_vbi_format`
601 - V4L, BTTV driver
602 * - sampling_rate
603 - 28636363 Hz NTSC (or any other 525-line standard); 35468950 Hz PAL
604 and SECAM (625-line standards)
605 * - offset
606 - ?
607 * - samples_per_line
608 - 2048
609 * - sample_format
610 - V4L2_PIX_FMT_GREY. The last four bytes (a machine endianness
612 * - start[]
613 - 10, 273 NTSC; 22, 335 PAL and SECAM
614 * - count[]
615 - 16, 16 [#f9]_
616 * - flags
617 - 0
624 interface specified in :ref:`raw-vbi`.
633 parameters are reset on :ref:`open() <func-open>` and
642 find the VBI device associated with a video capture device (or vice
648 devices is documented in :ref:`extended-controls`.
651 According to Documentation/admin-guide/devices.rst these should be symbolic links
656 According to ``Documentation/admin-guide/devices.rst`` a symbolic link to
664 Presumably all V4L RGB formats are little-endian, although some
666 defines little-endian, big-endian and red/blue swapped variants. For
667 details see :ref:`pixfmt-rgb`.