Merge remote-tracking branch 'selinux/next'
[deliverable/linux.git] / Documentation / media / uapi / mediactl / media-types.rst
CommitLineData
5377d91f
MH
1.. -*- coding: utf-8; mode: rst -*-
2
3.. _media-controller-types:
4
5Types and flags used to represent the media graph elements
6==========================================================
7
d53c4261 8.. tabularcolumns:: |p{8.0cm}|p{10.5cm}|
5377d91f
MH
9
10.. _media-entity-type:
11
d53c4261
MCC
12.. cssclass:: longtable
13
5377d91f
MH
14.. flat-table:: Media entity types
15 :header-rows: 0
16 :stub-columns: 0
17
18
19 - .. row 1
20
d53c4261 21 .. _MEDIA-ENT-F-UNKNOWN:
d2c68150
MCC
22 .. _MEDIA-ENT-F-V4L2-SUBDEV-UNKNOWN:
23
d53c4261
MCC
24 - ``MEDIA_ENT_F_UNKNOWN`` and
25
26 ``MEDIA_ENT_F_V4L2_SUBDEV_UNKNOWN``
5377d91f
MH
27
28 - Unknown entity. That generally indicates that a driver didn't
0579e6e3 29 initialize properly the entity, with is a Kernel bug
5377d91f
MH
30
31 - .. row 2
32
d2c68150
MCC
33 .. _MEDIA-ENT-F-IO-V4L:
34
5377d91f
MH
35 - ``MEDIA_ENT_F_IO_V4L``
36
37 - Data streaming input and/or output entity.
38
39 - .. row 3
40
d2c68150
MCC
41 .. _MEDIA-ENT-F-IO-VBI:
42
5377d91f
MH
43 - ``MEDIA_ENT_F_IO_VBI``
44
45 - V4L VBI streaming input or output entity
46
47 - .. row 4
48
d2c68150
MCC
49 .. _MEDIA-ENT-F-IO-SWRADIO:
50
5377d91f
MH
51 - ``MEDIA_ENT_F_IO_SWRADIO``
52
53 - V4L Software Digital Radio (SDR) streaming input or output entity
54
55 - .. row 5
56
d2c68150
MCC
57 .. _MEDIA-ENT-F-IO-DTV:
58
5377d91f
MH
59 - ``MEDIA_ENT_F_IO_DTV``
60
61 - DVB Digital TV streaming input or output entity
62
63 - .. row 6
64
d2c68150
MCC
65 .. _MEDIA-ENT-F-DTV-DEMOD:
66
5377d91f
MH
67 - ``MEDIA_ENT_F_DTV_DEMOD``
68
69 - Digital TV demodulator entity.
70
71 - .. row 7
72
d2c68150
MCC
73 .. _MEDIA-ENT-F-TS-DEMUX:
74
5377d91f
MH
75 - ``MEDIA_ENT_F_TS_DEMUX``
76
77 - MPEG Transport stream demux entity. Could be implemented on
0579e6e3 78 hardware or in Kernelspace by the Linux DVB subsystem.
5377d91f
MH
79
80 - .. row 8
81
d2c68150
MCC
82 .. _MEDIA-ENT-F-DTV-CA:
83
5377d91f
MH
84 - ``MEDIA_ENT_F_DTV_CA``
85
86 - Digital TV Conditional Access module (CAM) entity
87
88 - .. row 9
89
d2c68150
MCC
90 .. _MEDIA-ENT-F-DTV-NET-DECAP:
91
5377d91f
MH
92 - ``MEDIA_ENT_F_DTV_NET_DECAP``
93
94 - Digital TV network ULE/MLE desencapsulation entity. Could be
0579e6e3 95 implemented on hardware or in Kernelspace
5377d91f
MH
96
97 - .. row 10
98
d2c68150
MCC
99 .. _MEDIA-ENT-F-CONN-RF:
100
5377d91f
MH
101 - ``MEDIA_ENT_F_CONN_RF``
102
103 - Connector for a Radio Frequency (RF) signal.
104
105 - .. row 11
106
d2c68150
MCC
107 .. _MEDIA-ENT-F-CONN-SVIDEO:
108
5377d91f
MH
109 - ``MEDIA_ENT_F_CONN_SVIDEO``
110
111 - Connector for a S-Video signal.
112
113 - .. row 12
114
d2c68150
MCC
115 .. _MEDIA-ENT-F-CONN-COMPOSITE:
116
5377d91f
MH
117 - ``MEDIA_ENT_F_CONN_COMPOSITE``
118
119 - Connector for a RGB composite signal.
120
121 - .. row 13
122
d2c68150
MCC
123 .. _MEDIA-ENT-F-CAM-SENSOR:
124
5377d91f
MH
125 - ``MEDIA_ENT_F_CAM_SENSOR``
126
127 - Camera video sensor entity.
128
129 - .. row 14
130
d2c68150
MCC
131 .. _MEDIA-ENT-F-FLASH:
132
5377d91f
MH
133 - ``MEDIA_ENT_F_FLASH``
134
135 - Flash controller entity.
136
137 - .. row 15
138
d2c68150
MCC
139 .. _MEDIA-ENT-F-LENS:
140
5377d91f
MH
141 - ``MEDIA_ENT_F_LENS``
142
143 - Lens controller entity.
144
145 - .. row 16
146
d2c68150
MCC
147 .. _MEDIA-ENT-F-ATV-DECODER:
148
5377d91f
MH
149 - ``MEDIA_ENT_F_ATV_DECODER``
150
151 - Analog video decoder, the basic function of the video decoder is
0579e6e3
MCC
152 to accept analogue video from a wide variety of sources such as
153 broadcast, DVD players, cameras and video cassette recorders, in
154 either NTSC, PAL, SECAM or HD format, separating the stream into
155 its component parts, luminance and chrominance, and output it in
156 some digital video standard, with appropriate timing signals.
5377d91f
MH
157
158 - .. row 17
159
d2c68150
MCC
160 .. _MEDIA-ENT-F-TUNER:
161
5377d91f
MH
162 - ``MEDIA_ENT_F_TUNER``
163
164 - Digital TV, analog TV, radio and/or software radio tuner, with
0579e6e3
MCC
165 consists on a PLL tuning stage that converts radio frequency (RF)
166 signal into an Intermediate Frequency (IF). Modern tuners have
167 internally IF-PLL decoders for audio and video, but older models
168 have those stages implemented on separate entities.
5377d91f
MH
169
170 - .. row 18
171
d2c68150
MCC
172 .. _MEDIA-ENT-F-IF-VID-DECODER:
173
5377d91f
MH
174 - ``MEDIA_ENT_F_IF_VID_DECODER``
175
176 - IF-PLL video decoder. It receives the IF from a PLL and decodes
0579e6e3
MCC
177 the analog TV video signal. This is commonly found on some very
178 old analog tuners, like Philips MK3 designs. They all contain a
179 tda9887 (or some software compatible similar chip, like tda9885).
180 Those devices use a different I2C address than the tuner PLL.
5377d91f
MH
181
182 - .. row 19
183
d2c68150
MCC
184 .. _MEDIA-ENT-F-IF-AUD-DECODER:
185
5377d91f
MH
186 - ``MEDIA_ENT_F_IF_AUD_DECODER``
187
188 - IF-PLL sound decoder. It receives the IF from a PLL and decodes
0579e6e3
MCC
189 the analog TV audio signal. This is commonly found on some very
190 old analog hardware, like Micronas msp3400, Philips tda9840,
191 tda985x, etc. Those devices use a different I2C address than the
192 tuner PLL and should be controlled together with the IF-PLL video
193 decoder.
5377d91f
MH
194
195 - .. row 20
196
d2c68150
MCC
197 .. _MEDIA-ENT-F-AUDIO-CAPTURE:
198
5377d91f
MH
199 - ``MEDIA_ENT_F_AUDIO_CAPTURE``
200
201 - Audio Capture Function Entity.
202
203 - .. row 21
204
d2c68150
MCC
205 .. _MEDIA-ENT-F-AUDIO-PLAYBACK:
206
5377d91f
MH
207 - ``MEDIA_ENT_F_AUDIO_PLAYBACK``
208
209 - Audio Playback Function Entity.
210
211 - .. row 22
212
d2c68150
MCC
213 .. _MEDIA-ENT-F-AUDIO-MIXER:
214
5377d91f
MH
215 - ``MEDIA_ENT_F_AUDIO_MIXER``
216
217 - Audio Mixer Function Entity.
218
2dd4f709
MCC
219 - .. row 23
220
d2c68150
MCC
221 .. _MEDIA-ENT-F-PROC-VIDEO-COMPOSER:
222
2dd4f709
MCC
223 - ``MEDIA_ENT_F_PROC_VIDEO_COMPOSER``
224
225 - Video composer (blender). An entity capable of video
226 composing must have at least two sink pads and one source
227 pad, and composes input video frames onto output video
228 frames. Composition can be performed using alpha blending,
229 color keying, raster operations (ROP), stitching or any other
230 means.
231
232 - .. row 24
233
d2c68150
MCC
234 .. _MEDIA-ENT-F-PROC-VIDEO-PIXEL-FORMATTER:
235
2dd4f709
MCC
236 - ``MEDIA_ENT_F_PROC_VIDEO_PIXEL_FORMATTER``
237
238 - Video pixel formatter. An entity capable of pixel formatting
239 must have at least one sink pad and one source pad. Read
240 pixel formatters read pixels from memory and perform a subset
241 of unpacking, cropping, color keying, alpha multiplication
242 and pixel encoding conversion. Write pixel formatters perform
243 a subset of dithering, pixel encoding conversion and packing
244 and write pixels to memory.
245
246 - .. row 25
247
d2c68150
MCC
248 .. _MEDIA-ENT-F-PROC-VIDEO-PIXEL-ENC-CONV:
249
2dd4f709
MCC
250 - ``MEDIA_ENT_F_PROC_VIDEO_PIXEL_ENC_CONV``
251
252 - Video pixel encoding converter. An entity capable of pixel
253 enconding conversion must have at least one sink pad and one
254 source pad, and convert the encoding of pixels received on
255 its sink pad(s) to a different encoding output on its source
256 pad(s). Pixel encoding conversion includes but isn't limited
257 to RGB to/from HSV, RGB to/from YUV and CFA (Bayer) to RGB
258 conversions.
259
260 - .. row 26
261
d2c68150
MCC
262 .. _MEDIA-ENT-F-PROC-VIDEO-LUT:
263
2dd4f709
MCC
264 - ``MEDIA_ENT_F_PROC_VIDEO_LUT``
265
266 - Video look-up table. An entity capable of video lookup table
267 processing must have one sink pad and one source pad. It uses
268 the values of the pixels received on its sink pad to look up
269 entries in internal tables and output them on its source pad.
270 The lookup processing can be performed on all components
271 separately or combine them for multi-dimensional table
272 lookups.
273
274 - .. row 27
275
d2c68150
MCC
276 .. _MEDIA-ENT-F-PROC-VIDEO-SCALER:
277
2dd4f709
MCC
278 - ``MEDIA_ENT_F_PROC_VIDEO_SCALER``
279
280 - Video scaler. An entity capable of video scaling must have
281 at least one sink pad and one source pad, and scale the
282 video frame(s) received on its sink pad(s) to a different
283 resolution output on its source pad(s). The range of
284 supported scaling ratios is entity-specific and can differ
285 between the horizontal and vertical directions (in particular
286 scaling can be supported in one direction only). Binning and
287 skipping are considered as scaling.
288
289 - .. row 28
290
d2c68150
MCC
291 .. _MEDIA-ENT-F-PROC-VIDEO-STATISTICS:
292
2dd4f709
MCC
293 - ``MEDIA_ENT_F_PROC_VIDEO_STATISTICS``
294
295 - Video statistics computation (histogram, 3A, ...). An entity
296 capable of statistics computation must have one sink pad and
297 one source pad. It computes statistics over the frames
298 received on its sink pad and outputs the statistics data on
299 its source pad.
5377d91f
MH
300
301
d53c4261
MCC
302.. tabularcolumns:: |p{5.5cm}|p{12.0cm}|
303
5377d91f
MH
304.. _media-entity-flag:
305
306.. flat-table:: Media entity flags
307 :header-rows: 0
308 :stub-columns: 0
309
310
311 - .. row 1
312
d2c68150
MCC
313 .. _MEDIA-ENT-FL-DEFAULT:
314
5377d91f
MH
315 - ``MEDIA_ENT_FL_DEFAULT``
316
317 - Default entity for its type. Used to discover the default audio,
0579e6e3 318 VBI and video devices, the default camera sensor, ...
5377d91f
MH
319
320 - .. row 2
321
d2c68150
MCC
322 .. _MEDIA-ENT-FL-CONNECTOR:
323
5377d91f
MH
324 - ``MEDIA_ENT_FL_CONNECTOR``
325
326 - The entity represents a data conector
327
328
d53c4261 329.. tabularcolumns:: |p{6.5cm}|p{6.0cm}|p{5.0cm}|
5377d91f
MH
330
331.. _media-intf-type:
332
333.. flat-table:: Media interface types
334 :header-rows: 0
335 :stub-columns: 0
336
337
338 - .. row 1
339
d2c68150
MCC
340 .. _MEDIA-INTF-T-DVB-FE:
341
5377d91f
MH
342 - ``MEDIA_INTF_T_DVB_FE``
343
344 - Device node interface for the Digital TV frontend
345
346 - typically, /dev/dvb/adapter?/frontend?
347
348 - .. row 2
349
d2c68150
MCC
350 .. _MEDIA-INTF-T-DVB-DEMUX:
351
5377d91f
MH
352 - ``MEDIA_INTF_T_DVB_DEMUX``
353
354 - Device node interface for the Digital TV demux
355
356 - typically, /dev/dvb/adapter?/demux?
357
358 - .. row 3
359
d2c68150
MCC
360 .. _MEDIA-INTF-T-DVB-DVR:
361
5377d91f
MH
362 - ``MEDIA_INTF_T_DVB_DVR``
363
364 - Device node interface for the Digital TV DVR
365
366 - typically, /dev/dvb/adapter?/dvr?
367
368 - .. row 4
369
d2c68150
MCC
370 .. _MEDIA-INTF-T-DVB-CA:
371
5377d91f
MH
372 - ``MEDIA_INTF_T_DVB_CA``
373
374 - Device node interface for the Digital TV Conditional Access
375
376 - typically, /dev/dvb/adapter?/ca?
377
378 - .. row 5
379
d2c68150
MCC
380 .. _MEDIA-INTF-T-DVB-NET:
381
382 - ``MEDIA_INTF_T_DVB_NET``
5377d91f
MH
383
384 - Device node interface for the Digital TV network control
385
386 - typically, /dev/dvb/adapter?/net?
387
388 - .. row 6
389
d2c68150
MCC
390 .. _MEDIA-INTF-T-V4L-VIDEO:
391
5377d91f
MH
392 - ``MEDIA_INTF_T_V4L_VIDEO``
393
394 - Device node interface for video (V4L)
395
396 - typically, /dev/video?
397
398 - .. row 7
399
d2c68150
MCC
400 .. _MEDIA-INTF-T-V4L-VBI:
401
5377d91f
MH
402 - ``MEDIA_INTF_T_V4L_VBI``
403
404 - Device node interface for VBI (V4L)
405
406 - typically, /dev/vbi?
407
408 - .. row 8
409
d2c68150
MCC
410 .. _MEDIA-INTF-T-V4L-RADIO:
411
5377d91f
MH
412 - ``MEDIA_INTF_T_V4L_RADIO``
413
414 - Device node interface for radio (V4L)
415
708c05b8 416 - typically, /dev/radio?
5377d91f
MH
417
418 - .. row 9
419
d2c68150
MCC
420 .. _MEDIA-INTF-T-V4L-SUBDEV:
421
5377d91f
MH
422 - ``MEDIA_INTF_T_V4L_SUBDEV``
423
424 - Device node interface for a V4L subdevice
425
426 - typically, /dev/v4l-subdev?
427
428 - .. row 10
429
d2c68150
MCC
430 .. _MEDIA-INTF-T-V4L-SWRADIO:
431
5377d91f
MH
432 - ``MEDIA_INTF_T_V4L_SWRADIO``
433
434 - Device node interface for Software Defined Radio (V4L)
435
436 - typically, /dev/swradio?
437
438 - .. row 11
439
233b213a
ND
440 .. _MEDIA-INTF-T-V4L-TOUCH:
441
442 - ``MEDIA_INTF_T_V4L_TOUCH``
443
444 - Device node interface for Touch device (V4L)
445
446 - typically, /dev/v4l-touch?
447
448 - .. row 12
449
d2c68150
MCC
450 .. _MEDIA-INTF-T-ALSA-PCM-CAPTURE:
451
5377d91f
MH
452 - ``MEDIA_INTF_T_ALSA_PCM_CAPTURE``
453
454 - Device node interface for ALSA PCM Capture
455
456 - typically, /dev/snd/pcmC?D?c
457
233b213a 458 - .. row 13
5377d91f 459
d2c68150
MCC
460 .. _MEDIA-INTF-T-ALSA-PCM-PLAYBACK:
461
5377d91f
MH
462 - ``MEDIA_INTF_T_ALSA_PCM_PLAYBACK``
463
464 - Device node interface for ALSA PCM Playback
465
466 - typically, /dev/snd/pcmC?D?p
467
233b213a 468 - .. row 14
5377d91f 469
d2c68150
MCC
470 .. _MEDIA-INTF-T-ALSA-CONTROL:
471
5377d91f
MH
472 - ``MEDIA_INTF_T_ALSA_CONTROL``
473
474 - Device node interface for ALSA Control
475
476 - typically, /dev/snd/controlC?
477
233b213a 478 - .. row 15
5377d91f 479
d2c68150
MCC
480 .. _MEDIA-INTF-T-ALSA-COMPRESS:
481
5377d91f
MH
482 - ``MEDIA_INTF_T_ALSA_COMPRESS``
483
484 - Device node interface for ALSA Compress
485
486 - typically, /dev/snd/compr?
487
233b213a 488 - .. row 16
5377d91f 489
d2c68150
MCC
490 .. _MEDIA-INTF-T-ALSA-RAWMIDI:
491
5377d91f
MH
492 - ``MEDIA_INTF_T_ALSA_RAWMIDI``
493
494 - Device node interface for ALSA Raw MIDI
495
496 - typically, /dev/snd/midi?
497
233b213a 498 - .. row 17
5377d91f 499
d2c68150
MCC
500 .. _MEDIA-INTF-T-ALSA-HWDEP:
501
5377d91f
MH
502 - ``MEDIA_INTF_T_ALSA_HWDEP``
503
504 - Device node interface for ALSA Hardware Dependent
505
506 - typically, /dev/snd/hwC?D?
507
233b213a 508 - .. row 18
5377d91f 509
d2c68150
MCC
510 .. _MEDIA-INTF-T-ALSA-SEQUENCER:
511
5377d91f
MH
512 - ``MEDIA_INTF_T_ALSA_SEQUENCER``
513
514 - Device node interface for ALSA Sequencer
515
516 - typically, /dev/snd/seq
517
233b213a 518 - .. row 19
5377d91f 519
d2c68150
MCC
520 .. _MEDIA-INTF-T-ALSA-TIMER:
521
5377d91f
MH
522 - ``MEDIA_INTF_T_ALSA_TIMER``
523
524 - Device node interface for ALSA Timer
525
526 - typically, /dev/snd/timer
527
528
d53c4261 529.. tabularcolumns:: |p{5.5cm}|p{12.0cm}|
5377d91f
MH
530
531.. _media-pad-flag:
532
533.. flat-table:: Media pad flags
534 :header-rows: 0
535 :stub-columns: 0
536
537
538 - .. row 1
539
d2c68150
MCC
540 .. _MEDIA-PAD-FL-SINK:
541
5377d91f
MH
542 - ``MEDIA_PAD_FL_SINK``
543
544 - Input pad, relative to the entity. Input pads sink data and are
0579e6e3 545 targets of links.
5377d91f
MH
546
547 - .. row 2
548
d2c68150
MCC
549 .. _MEDIA-PAD-FL-SOURCE:
550
5377d91f
MH
551 - ``MEDIA_PAD_FL_SOURCE``
552
553 - Output pad, relative to the entity. Output pads source data and
0579e6e3 554 are origins of links.
5377d91f
MH
555
556 - .. row 3
557
d2c68150
MCC
558 .. _MEDIA-PAD-FL-MUST-CONNECT:
559
5377d91f
MH
560 - ``MEDIA_PAD_FL_MUST_CONNECT``
561
562 - If this flag is set and the pad is linked to any other pad, then
0579e6e3
MCC
563 at least one of those links must be enabled for the entity to be
564 able to stream. There could be temporary reasons (e.g. device
565 configuration dependent) for the pad to need enabled links even
566 when this flag isn't set; the absence of the flag doesn't imply
567 there is none.
5377d91f
MH
568
569
570One and only one of ``MEDIA_PAD_FL_SINK`` and ``MEDIA_PAD_FL_SOURCE``
571must be set for every pad.
572
d53c4261 573.. tabularcolumns:: |p{5.5cm}|p{12.0cm}|
5377d91f
MH
574
575.. _media-link-flag:
576
577.. flat-table:: Media link flags
578 :header-rows: 0
579 :stub-columns: 0
580
581
582 - .. row 1
583
d2c68150
MCC
584 .. _MEDIA-LNK-FL-ENABLED:
585
5377d91f
MH
586 - ``MEDIA_LNK_FL_ENABLED``
587
588 - The link is enabled and can be used to transfer media data. When
0579e6e3
MCC
589 two or more links target a sink pad, only one of them can be
590 enabled at a time.
5377d91f
MH
591
592 - .. row 2
593
d2c68150
MCC
594 .. _MEDIA-LNK-FL-IMMUTABLE:
595
5377d91f
MH
596 - ``MEDIA_LNK_FL_IMMUTABLE``
597
598 - The link enabled state can't be modified at runtime. An immutable
0579e6e3 599 link is always enabled.
5377d91f
MH
600
601 - .. row 3
602
d2c68150
MCC
603 .. _MEDIA-LNK-FL-DYNAMIC:
604
5377d91f
MH
605 - ``MEDIA_LNK_FL_DYNAMIC``
606
607 - The link enabled state can be modified during streaming. This flag
0579e6e3 608 is set by drivers and is read-only for applications.
5377d91f
MH
609
610 - .. row 4
611
d2c68150
MCC
612 .. _MEDIA-LNK-FL-LINK-TYPE:
613
5377d91f
MH
614 - ``MEDIA_LNK_FL_LINK_TYPE``
615
616 - This is a bitmask that defines the type of the link. Currently,
0579e6e3 617 two types of links are supported:
5377d91f 618
d2c68150
MCC
619 .. _MEDIA-LNK-FL-DATA-LINK:
620
0579e6e3 621 ``MEDIA_LNK_FL_DATA_LINK`` if the link is between two pads
5377d91f 622
d2c68150
MCC
623 .. _MEDIA-LNK-FL-INTERFACE-LINK:
624
0579e6e3
MCC
625 ``MEDIA_LNK_FL_INTERFACE_LINK`` if the link is between an
626 interface and an entity
This page took 0.072572 seconds and 5 git commands to generate.