Lines Matching +full:magic +full:- +full:packet
1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
17 :ref:`raw VBI interface <raw-vbi>`. The data is passed as short
51 .. _sliced-vbi-format-negotitation:
103 -----------------------------
115 .. flat-table::
116 :header-rows: 0
117 :stub-columns: 0
120 * - __u16
121 - ``service_set``
122 - :cspan:`2`
124 If ``service_set`` is non-zero when passed with
130 a driver for the cx25840 video decoder sets lines 7-22 of both
140 * - __u16
141 - ``service_lines``\ [2][24]
142 - :cspan:`2`
152 Data services are defined in :ref:`vbi-services2`. Array indices
153 map to ITU-R line numbers\ [#f2]_ as follows:
154 * -
155 -
156 - Element
157 - 525 line systems
158 - 625 line systems
159 * -
160 -
161 - ``service_lines``\ [0][1]
162 - 1
163 - 1
164 * -
165 -
166 - ``service_lines``\ [0][23]
167 - 23
168 - 23
169 * -
170 -
171 - ``service_lines``\ [1][1]
172 - 264
173 - 314
174 * -
175 -
176 - ``service_lines``\ [1][23]
177 - 286
178 - 336
179 * -
180 -
181 - :cspan:`2` Drivers must set ``service_lines`` [0][0] and
188 * - __u32
189 - ``io_size``
190 - :cspan:`2` Maximum number of bytes passed by one
197 number of non-zero elements in the returned ``service_lines``
199 * - __u32
200 - ``reserved``\ [2]
201 - :cspan:`2` This array is reserved for future extensions.
209 .. _vbi-services2:
212 -------------------
220 .. flat-table::
221 :header-rows: 1
222 :stub-columns: 0
225 * - Symbol
226 - Value
227 - Reference
228 - Lines, usually
229 - Payload
230 * - ``V4L2_SLICED_TELETEXT_B`` (Teletext System B)
231 - 0x0001
232 - :ref:`ets300706`,
235 - PAL/SECAM line 7-22, 320-335 (second field 7-22)
236 - Last 42 of the 45 byte Teletext packet, that is without clock
237 run-in and framing code, lsb first transmitted.
238 * - ``V4L2_SLICED_VPS``
239 - 0x0400
240 - :ref:`ets300231`
241 - PAL line 16
242 - Byte number 3 to 15 according to Figure 9 of ETS 300 231, lsb
244 * - ``V4L2_SLICED_CAPTION_525``
245 - 0x1000
246 - :ref:`cea608`
247 - NTSC line 21, 284 (second field 21)
248 - Two bytes in transmission order, including parity bit, lsb first
250 * - ``V4L2_SLICED_WSS_625``
251 - 0x4000
252 - :ref:`itu1119`,
255 - PAL/SECAM line 23
256 -
263 * - ``V4L2_SLICED_VBI_525``
264 - 0x1000
265 - :cspan:`2` Set of services applicable to 525 line systems.
266 * - ``V4L2_SLICED_VBI_625``
267 - 0x4401
268 - :cspan:`2` Set of services applicable to 625 line systems.
299 ---------------------------
303 .. flat-table::
304 :header-rows: 0
305 :stub-columns: 0
308 * - __u32
309 - ``id``
310 - A flag from :ref:`vbi-services` identifying the type of data in
311 this packet. Only a single bit must be set. When the ``id`` of a
312 captured packet is zero, the packet is empty and the contents of
314 packets. When the ``id`` of a packet for output is zero the
317 * - __u32
318 - ``field``
319 - The video field number this data has been captured from, or shall
322 * - __u32
323 - ``line``
324 - The field (as opposed to frame) line number this data has been
325 captured from, or shall be inserted at. See :ref:`vbi-525` and
326 :ref:`vbi-625` for valid values. Sliced VBI capture devices can
330 * - __u32
331 - ``reserved``
332 - This field is reserved for future extensions. Applications and
334 * - __u8
335 - ``data``\ [48]
336 - The packet payload. See :ref:`vbi-services` for the contents and
351 packet array.
357 packet again, and disable the output of Closed Caption and Teletext
371 :ref:`negotiated sliced VBI services <sliced-vbi-format-negotitation>`
374 :ref:`V4L2_CID_MPEG_STREAM_VBI_FMT <v4l2-mpeg-stream-vbi-fmt>`
378 :ref:`V4L2_CID_MPEG_STREAM_VBI_FMT <v4l2-mpeg-stream-vbi-fmt>`
380 :ref:`V4L2_MPEG_STREAM_VBI_FMT_NONE <v4l2-mpeg-stream-vbi-fmt>`,
384 :ref:`V4L2_CID_MPEG_STREAM_VBI_FMT <v4l2-mpeg-stream-vbi-fmt>`
391 certain types of MPEG streams: for example in an MPEG-2 PS but not an
392 MPEG-2 TS. In this situation, if sliced VBI data insertion is requested,
401 --------------------------------------------------
404 :ref:`V4L2_MPEG_STREAM_VBI_FMT_NONE <v4l2-mpeg-stream-vbi-fmt>`
412 --------------------------------------------------
415 :ref:`V4L2_MPEG_STREAM_VBI_FMT_IVTV <v4l2-mpeg-stream-vbi-fmt>`
417 embed up to 36 lines of sliced VBI data per frame in an MPEG-2 *Private
418 Stream 1 PES* packet encapsulated in an MPEG-2 *Program Pack* in the
424 in the file ``Documentation/userspace-api/media/drivers/cx2341x-uapi.rst`` . The
431 exclusive to CX2341x devices, as the sliced VBI data packet insertion
433 ``cx18`` driver provides sliced VBI data insertion into an MPEG-2 PS in
436 The following definitions specify the payload of the MPEG-2 *Private
438 :ref:`V4L2_MPEG_STREAM_VBI_FMT_IVTV <v4l2-mpeg-stream-vbi-fmt>`
439 is set. (The MPEG-2 *Private Stream 1 PES* packet header and
440 encapsulating MPEG-2 *Program Pack* header are not detailed here. Please
441 refer to the MPEG-2 specifications for details on those packet headers.)
443 The payload of the MPEG-2 *Private Stream 1 PES* packets that contain
449 4-byte boundary. The payload shall never exceed 1552 bytes (2 fields
450 with 18 lines/field with 43 bytes of data/line and a 4 byte magic
456 -----------------------------
460 .. flat-table::
461 :header-rows: 0
462 :stub-columns: 0
465 * - __u8
466 - ``magic``\ [4]
467 - A "magic" constant from :ref:`v4l2-mpeg-vbi-fmt-ivtv-magic` that
471 * - union {
472 - (anonymous)
473 * - struct :c:type:`v4l2_mpeg_vbi_itv0`
474 - ``itv0``
475 - The primary form of the sliced VBI data payload that contains
479 * - struct :ref:`v4l2_mpeg_vbi_ITV0 <v4l2-mpeg-vbi-itv0-1>`
480 - ``ITV0``
481 - An alternate form of the sliced VBI data payload used when 36
485 * - }
486 -
488 .. _v4l2-mpeg-vbi-fmt-ivtv-magic:
490 Magic Constants for struct v4l2_mpeg_vbi_fmt_ivtv magic field
491 -------------------------------------------------------------
495 .. flat-table::
496 :header-rows: 1
497 :stub-columns: 0
500 * - Defined Symbol
501 - Value
502 - Description
503 * - ``V4L2_MPEG_VBI_IVTV_MAGIC0``
504 - "itv0"
505 - Indicates the ``itv0`` member of the union in struct
508 * - ``V4L2_MPEG_VBI_IVTV_MAGIC1``
509 - "ITV0"
510 - Indicates the ``ITV0`` member of the union in struct
520 -------------------------------------------------
524 .. flat-table::
525 :header-rows: 0
526 :stub-columns: 0
529 * - __le32
530 - ``linemask``\ [2]
531 - Bitmasks indicating the VBI service lines present. These
547 linemask[1] b4-b31: unused and set to 0
548 * - struct
550 - ``line``\ [35]
551 - This is a variable length array that holds from 1 to 35 lines of
564 .. _v4l2-mpeg-vbi-itv0-1:
567 -------------------------
571 .. flat-table::
572 :header-rows: 0
573 :stub-columns: 0
576 * - struct
578 - ``line``\ [36]
579 - A fixed length array of 36 lines of sliced VBI data. ``line``\ [0]
588 ------------------------------
592 .. flat-table::
593 :header-rows: 0
594 :stub-columns: 0
597 * - __u8
598 - ``id``
599 - A line identifier value from
600 :ref:`ITV0-Line-Identifier-Constants` that indicates the type of
602 * - __u8
603 - ``data``\ [42]
604 - The sliced VBI data for the line.
607 .. _ITV0-Line-Identifier-Constants:
610 ------------------------------------------------------------
614 .. flat-table::
615 :header-rows: 1
616 :stub-columns: 0
619 * - Defined Symbol
620 - Value
621 - Description
622 * - ``V4L2_MPEG_VBI_IVTV_TELETEXT_B``
623 - 1
624 - Refer to :ref:`Sliced VBI services <vbi-services2>` for a
626 * - ``V4L2_MPEG_VBI_IVTV_CAPTION_525``
627 - 4
628 - Refer to :ref:`Sliced VBI services <vbi-services2>` for a
630 * - ``V4L2_MPEG_VBI_IVTV_WSS_625``
631 - 5
632 - Refer to :ref:`Sliced VBI services <vbi-services2>` for a
634 * - ``V4L2_MPEG_VBI_IVTV_VPS``
635 - 7
636 - Refer to :ref:`Sliced VBI services <vbi-services2>` for a
641 According to :ref:`ETS 300 706 <ets300706>` lines 6-22 of the first
642 field and lines 5-22 of the second field may carry Teletext data.
645 See also :ref:`vbi-525` and :ref:`vbi-625`.