1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> 2 <HTML 3 ><HEAD 4 ><TITLE 5 >ioctl VIDIOC_G_SLICED_VBI_CAP</TITLE 6 ><META 7 NAME="GENERATOR" 8 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK 9 REL="HOME" 10 TITLE="Video for Linux Two API Specification" 11 HREF="book1.htm"><LINK 12 REL="UP" 13 TITLE="Function Reference" 14 HREF="r7624.htm"><LINK 15 REL="PREVIOUS" 16 TITLE="ioctl VIDIOC_G_PRIORITY, VIDIOC_S_PRIORITY" 17 HREF="r11946.htm"><LINK 18 REL="NEXT" 19 TITLE="ioctl VIDIOC_G_STD, VIDIOC_S_STD" 20 HREF="r12265.htm"></HEAD 21 ><BODY 22 CLASS="REFENTRY" 23 BGCOLOR="#FFFFFF" 24 TEXT="#000000" 25 LINK="#0000FF" 26 VLINK="#840084" 27 ALINK="#0000FF" 28 ><DIV 29 CLASS="NAVHEADER" 30 ><TABLE 31 SUMMARY="Header navigation table" 32 WIDTH="100%" 33 BORDER="0" 34 CELLPADDING="0" 35 CELLSPACING="0" 36 ><TR 37 ><TH 38 COLSPAN="3" 39 ALIGN="center" 40 >Video for Linux Two API Specification: Revision 0.24</TH 41 ></TR 42 ><TR 43 ><TD 44 WIDTH="10%" 45 ALIGN="left" 46 VALIGN="bottom" 47 ><A 48 HREF="r11946.htm" 49 ACCESSKEY="P" 50 >Prev</A 51 ></TD 52 ><TD 53 WIDTH="80%" 54 ALIGN="center" 55 VALIGN="bottom" 56 ></TD 57 ><TD 58 WIDTH="10%" 59 ALIGN="right" 60 VALIGN="bottom" 61 ><A 62 HREF="r12265.htm" 63 ACCESSKEY="N" 64 >Next</A 65 ></TD 66 ></TR 67 ></TABLE 68 ><HR 69 ALIGN="LEFT" 70 WIDTH="100%"></DIV 71 ><H1 72 ><A 73 NAME="VIDIOC-G-SLICED-VBI-CAP" 74 ></A 75 >ioctl VIDIOC_G_SLICED_VBI_CAP</H1 76 ><DIV 77 CLASS="REFNAMEDIV" 78 ><A 79 NAME="AEN12055" 80 ></A 81 ><H2 82 >Name</H2 83 >VIDIOC_G_SLICED_VBI_CAP -- Query sliced VBI capabilities</DIV 84 ><DIV 85 CLASS="REFSYNOPSISDIV" 86 ><A 87 NAME="AEN12058" 88 ></A 89 ><H2 90 >Synopsis</H2 91 ><DIV 92 CLASS="FUNCSYNOPSIS" 93 ><P 94 ></P 95 ><A 96 NAME="AEN12059" 97 ></A 98 ><P 99 ><CODE 100 ><CODE 101 CLASS="FUNCDEF" 102 >int ioctl</CODE 103 >(int fd, int request, struct v4l2_sliced_vbi_cap *argp);</CODE 104 ></P 105 ><P 106 ></P 107 ></DIV 108 ></DIV 109 ><DIV 110 CLASS="REFSECT1" 111 ><A 112 NAME="AEN12069" 113 ></A 114 ><H2 115 >Arguments</H2 116 ><P 117 ></P 118 ><DIV 119 CLASS="VARIABLELIST" 120 ><DL 121 ><DT 122 ><CODE 123 CLASS="PARAMETER" 124 >fd</CODE 125 ></DT 126 ><DD 127 ><P 128 >File descriptor returned by <A 129 HREF="r14090.htm" 130 ><CODE 131 CLASS="FUNCTION" 132 >open()</CODE 133 ></A 134 >.</P 135 ></DD 136 ><DT 137 ><CODE 138 CLASS="PARAMETER" 139 >request</CODE 140 ></DT 141 ><DD 142 ><P 143 >VIDIOC_G_SLICED_VBI_CAP</P 144 ></DD 145 ><DT 146 ><CODE 147 CLASS="PARAMETER" 148 >argp</CODE 149 ></DT 150 ><DD 151 ><P 152 ></P 153 ></DD 154 ></DL 155 ></DIV 156 ></DIV 157 ><DIV 158 CLASS="REFSECT1" 159 ><A 160 NAME="AEN12089" 161 ></A 162 ><H2 163 >Description</H2 164 ><P 165 >To find out which data services are supported by a sliced 166 VBI capture or output device, applications initialize the 167 <CODE 168 CLASS="STRUCTFIELD" 169 >type</CODE 170 > field of a struct <A 171 HREF="r12051.htm#V4L2-SLICED-VBI-CAP" 172 >v4l2_sliced_vbi_cap</A 173 >, 174 clear the <CODE 175 CLASS="STRUCTFIELD" 176 >reserved</CODE 177 > array and 178 call the <CODE 179 CLASS="CONSTANT" 180 >VIDIOC_G_SLICED_VBI_CAP</CODE 181 > ioctl. The 182 driver fills in the remaining fields or returns an <SPAN 183 CLASS="ERRORCODE" 184 >EINVAL</SPAN 185 > error code if the 186 sliced VBI API is unsupported or <CODE 187 CLASS="STRUCTFIELD" 188 >type</CODE 189 > 190 is invalid.</P 191 ><P 192 >Note the <CODE 193 CLASS="STRUCTFIELD" 194 >type</CODE 195 > field was added, 196 and the ioctl changed from read-only to write-read, in Linux 2.6.19.</P 197 ><DIV 198 CLASS="TABLE" 199 ><A 200 NAME="V4L2-SLICED-VBI-CAP" 201 ></A 202 ><P 203 ><B 204 >Table 1. struct <CODE 205 CLASS="STRUCTNAME" 206 >v4l2_sliced_vbi_cap</CODE 207 ></B 208 ></P 209 ><TABLE 210 BORDER="0" 211 FRAME="void" 212 WIDTH="100%" 213 CLASS="CALSTABLE" 214 ><COL 215 WIDTH="25%" 216 TITLE="C1"><COL 217 WIDTH="25%" 218 TITLE="C2"><COL 219 WIDTH="17%" 220 TITLE="C3"><COL 221 WIDTH="17%" 222 TITLE="C4"><COL 223 WIDTH="17%" 224 TITLE="C5"><TBODY 225 VALIGN="TOP" 226 ><TR 227 ><TD 228 >__u16</TD 229 ><TD 230 ><CODE 231 CLASS="STRUCTFIELD" 232 >service_set</CODE 233 ></TD 234 ><TD 235 COLSPAN="3" 236 >A set of all data services 237 supported by the driver. Equal to the union of all elements of the 238 <CODE 239 CLASS="STRUCTFIELD" 240 >service_lines </CODE 241 > array.</TD 242 ></TR 243 ><TR 244 ><TD 245 >__u16</TD 246 ><TD 247 ><CODE 248 CLASS="STRUCTFIELD" 249 >service_lines</CODE 250 >[2][24]</TD 251 ><TD 252 COLSPAN="3" 253 >Each element of this array 254 contains a set of data services the hardware can look for or insert 255 into a particular scan line. Data services are defined in <A 256 HREF="r12051.htm#VBI-SERVICES" 257 >Table 2</A 258 >. Array indices map to ITU-R 259 line numbers (see also <A 260 HREF="x7013.htm#VBI-525" 261 >Figure 4-2</A 262 > and <A 263 HREF="x7013.htm#VBI-625" 264 >Figure 4-3</A 265 >) as follows:</TD 266 ></TR 267 ><TR 268 ><TD 269 > </TD 270 ><TD 271 > </TD 272 ><TD 273 >Element</TD 274 ><TD 275 >525 line systems</TD 276 ><TD 277 >625 line systems</TD 278 ></TR 279 ><TR 280 ><TD 281 > </TD 282 ><TD 283 > </TD 284 ><TD 285 ><CODE 286 CLASS="STRUCTFIELD" 287 >service_lines</CODE 288 >[0][1]</TD 289 ><TD 290 ALIGN="CENTER" 291 >1</TD 292 ><TD 293 ALIGN="CENTER" 294 >1</TD 295 ></TR 296 ><TR 297 ><TD 298 > </TD 299 ><TD 300 > </TD 301 ><TD 302 ><CODE 303 CLASS="STRUCTFIELD" 304 >service_lines</CODE 305 >[0][23]</TD 306 ><TD 307 ALIGN="CENTER" 308 >23</TD 309 ><TD 310 ALIGN="CENTER" 311 >23</TD 312 ></TR 313 ><TR 314 ><TD 315 > </TD 316 ><TD 317 > </TD 318 ><TD 319 ><CODE 320 CLASS="STRUCTFIELD" 321 >service_lines</CODE 322 >[1][1]</TD 323 ><TD 324 ALIGN="CENTER" 325 >264</TD 326 ><TD 327 ALIGN="CENTER" 328 >314</TD 329 ></TR 330 ><TR 331 ><TD 332 > </TD 333 ><TD 334 > </TD 335 ><TD 336 ><CODE 337 CLASS="STRUCTFIELD" 338 >service_lines</CODE 339 >[1][23]</TD 340 ><TD 341 ALIGN="CENTER" 342 >286</TD 343 ><TD 344 ALIGN="CENTER" 345 >336</TD 346 ></TR 347 ><TR 348 ><TD 349 > </TD 350 ><TD 351 > </TD 352 ><TD 353 > </TD 354 ><TD 355 > </TD 356 ><TD 357 > </TD 358 ></TR 359 ><TR 360 ><TD 361 > </TD 362 ><TD 363 > </TD 364 ><TD 365 COLSPAN="3" 366 >The number of VBI lines the 367 hardware can capture or output per frame, or the number of services it 368 can identify on a given line may be limited. For example on PAL line 369 16 the hardware may be able to look for a VPS or Teletext signal, but 370 not both at the same time. Applications can learn about these limits 371 using the <A 372 HREF="r10944.htm" 373 ><CODE 374 CLASS="CONSTANT" 375 >VIDIOC_S_FMT</CODE 376 ></A 377 > ioctl as described in <A 378 HREF="x7236.htm" 379 >Section 4.8</A 380 >.</TD 381 ></TR 382 ><TR 383 ><TD 384 > </TD 385 ><TD 386 > </TD 387 ><TD 388 > </TD 389 ><TD 390 > </TD 391 ><TD 392 > </TD 393 ></TR 394 ><TR 395 ><TD 396 > </TD 397 ><TD 398 > </TD 399 ><TD 400 COLSPAN="3" 401 >Drivers must set 402 <CODE 403 CLASS="STRUCTFIELD" 404 >service_lines</CODE 405 >[0][0] and 406 <CODE 407 CLASS="STRUCTFIELD" 408 >service_lines</CODE 409 >[1][0] to zero.</TD 410 ></TR 411 ><TR 412 ><TD 413 >enum <A 414 HREF="x5953.htm#V4L2-BUF-TYPE" 415 >v4l2_buf_type</A 416 ></TD 417 ><TD 418 ><CODE 419 CLASS="STRUCTFIELD" 420 >type</CODE 421 ></TD 422 ><TD 423 >Type of the data stream, see <A 424 HREF="x5953.htm#V4L2-BUF-TYPE" 425 >Table 3-2</A 426 >. Should be 427 <CODE 428 CLASS="CONSTANT" 429 >V4L2_BUF_TYPE_SLICED_VBI_CAPTURE</CODE 430 > or 431 <CODE 432 CLASS="CONSTANT" 433 >V4L2_BUF_TYPE_SLICED_VBI_OUTPUT</CODE 434 >.</TD 435 ><TD 436 > </TD 437 ><TD 438 > </TD 439 ></TR 440 ><TR 441 ><TD 442 >__u32</TD 443 ><TD 444 ><CODE 445 CLASS="STRUCTFIELD" 446 >reserved</CODE 447 >[3]</TD 448 ><TD 449 COLSPAN="3" 450 >This array is reserved for future 451 extensions. Applications and drivers must set it to zero.</TD 452 ></TR 453 ></TBODY 454 ></TABLE 455 ></DIV 456 ><DIV 457 CLASS="TABLE" 458 ><A 459 NAME="VBI-SERVICES" 460 ></A 461 ><P 462 ><B 463 >Table 2. Sliced VBI services</B 464 ></P 465 ><TABLE 466 BORDER="0" 467 FRAME="void" 468 WIDTH="100%" 469 CLASS="CALSTABLE" 470 ><COL 471 WIDTH="25%" 472 TITLE="C1"><COL 473 WIDTH="12%" 474 TITLE="C2"><COL 475 WIDTH="12%" 476 TITLE="C3"><COL 477 WIDTH="25%" 478 TITLE="C4"><COL 479 WIDTH="25%" 480 TITLE="C5"><THEAD 481 ><TR 482 ><TH 483 >Symbol</TH 484 ><TH 485 >Value</TH 486 ><TH 487 >Reference</TH 488 ><TH 489 >Lines, usually</TH 490 ><TH 491 >Payload</TH 492 ></TR 493 ></THEAD 494 ><TBODY 495 VALIGN="TOP" 496 ><TR 497 ><TD 498 ><CODE 499 CLASS="CONSTANT" 500 >V4L2_SLICED_TELETEXT_B</CODE 501 > (Teletext 502 System B)</TD 503 ><TD 504 >0x0001</TD 505 ><TD 506 ><A 507 HREF="b17127.htm#ETS300706" 508 ><ABBR 509 CLASS="ABBREV" 510 >ETS 300 706</ABBR 511 ></A 512 >, <A 513 HREF="b17127.htm#ITU653" 514 ><ABBR 515 CLASS="ABBREV" 516 >ITU BT.653</ABBR 517 ></A 518 ></TD 519 ><TD 520 >PAL/SECAM line 7-22, 320-335 (second field 7-22)</TD 521 ><TD 522 >Last 42 of the 45 byte Teletext packet, that is 523 without clock run-in and framing code, lsb first transmitted.</TD 524 ></TR 525 ><TR 526 ><TD 527 ><CODE 528 CLASS="CONSTANT" 529 >V4L2_SLICED_VPS</CODE 530 ></TD 531 ><TD 532 >0x0400</TD 533 ><TD 534 ><A 535 HREF="b17127.htm#ETS300231" 536 ><ABBR 537 CLASS="ABBREV" 538 >ETS 300 231</ABBR 539 ></A 540 ></TD 541 ><TD 542 >PAL line 16</TD 543 ><TD 544 >Byte number 3 to 15 according to Figure 9 of 545 ETS 300 231, lsb first transmitted.</TD 546 ></TR 547 ><TR 548 ><TD 549 ><CODE 550 CLASS="CONSTANT" 551 >V4L2_SLICED_CAPTION_525</CODE 552 ></TD 553 ><TD 554 >0x1000</TD 555 ><TD 556 ><A 557 HREF="b17127.htm#EIA608" 558 ><ABBR 559 CLASS="ABBREV" 560 >EIA 608-B</ABBR 561 ></A 562 ></TD 563 ><TD 564 >NTSC line 21, 284 (second field 21)</TD 565 ><TD 566 >Two bytes in transmission order, including parity 567 bit, lsb first transmitted.</TD 568 ></TR 569 ><TR 570 ><TD 571 ><CODE 572 CLASS="CONSTANT" 573 >V4L2_SLICED_WSS_625</CODE 574 ></TD 575 ><TD 576 >0x4000</TD 577 ><TD 578 ><A 579 HREF="b17127.htm#EN300294" 580 ><ABBR 581 CLASS="ABBREV" 582 >EN 300 294</ABBR 583 ></A 584 >, <A 585 HREF="b17127.htm#ITU1119" 586 ><ABBR 587 CLASS="ABBREV" 588 >ITU BT.1119</ABBR 589 ></A 590 ></TD 591 ><TD 592 >PAL/SECAM line 23</TD 593 ><TD 594 ><PRE 595 CLASS="SCREEN" 596 >Byte 0 1 597 msb lsb msb lsb 598 Bit 7 6 5 4 3 2 1 0 x x 13 12 11 10 9</PRE 599 ></TD 600 ></TR 601 ><TR 602 ><TD 603 ><CODE 604 CLASS="CONSTANT" 605 >V4L2_SLICED_VBI_525</CODE 606 ></TD 607 ><TD 608 >0x1000</TD 609 ><TD 610 COLSPAN="3" 611 >Set of services applicable to 525 612 line systems.</TD 613 ></TR 614 ><TR 615 ><TD 616 ><CODE 617 CLASS="CONSTANT" 618 >V4L2_SLICED_VBI_625</CODE 619 ></TD 620 ><TD 621 >0x4401</TD 622 ><TD 623 COLSPAN="3" 624 >Set of services applicable to 625 625 line systems.</TD 626 ></TR 627 ></TBODY 628 ></TABLE 629 ></DIV 630 ></DIV 631 ><DIV 632 CLASS="REFSECT1" 633 ><A 634 NAME="AEN12252" 635 ></A 636 ><H2 637 >Return Value</H2 638 ><P 639 >On success <SPAN 640 CLASS="RETURNVALUE" 641 >0</SPAN 642 > is returned, on error <SPAN 643 CLASS="RETURNVALUE" 644 >-1</SPAN 645 > and the <CODE 646 CLASS="VARNAME" 647 >errno</CODE 648 > variable is set appropriately:</P 649 ><P 650 ></P 651 ><DIV 652 CLASS="VARIABLELIST" 653 ><DL 654 ><DT 655 ><SPAN 656 CLASS="ERRORCODE" 657 >EINVAL</SPAN 658 ></DT 659 ><DD 660 ><P 661 >The device does not support sliced VBI capturing or 662 output, or the value in the <CODE 663 CLASS="STRUCTFIELD" 664 >type</CODE 665 > field is 666 wrong.</P 667 ></DD 668 ></DL 669 ></DIV 670 ></DIV 671 ><DIV 672 CLASS="NAVFOOTER" 673 ><HR 674 ALIGN="LEFT" 675 WIDTH="100%"><TABLE 676 SUMMARY="Footer navigation table" 677 WIDTH="100%" 678 BORDER="0" 679 CELLPADDING="0" 680 CELLSPACING="0" 681 ><TR 682 ><TD 683 WIDTH="33%" 684 ALIGN="left" 685 VALIGN="top" 686 ><A 687 HREF="r11946.htm" 688 ACCESSKEY="P" 689 >Prev</A 690 ></TD 691 ><TD 692 WIDTH="34%" 693 ALIGN="center" 694 VALIGN="top" 695 ><A 696 HREF="book1.htm" 697 ACCESSKEY="H" 698 >Home</A 699 ></TD 700 ><TD 701 WIDTH="33%" 702 ALIGN="right" 703 VALIGN="top" 704 ><A 705 HREF="r12265.htm" 706 ACCESSKEY="N" 707 >Next</A 708 ></TD 709 ></TR 710 ><TR 711 ><TD 712 WIDTH="33%" 713 ALIGN="left" 714 VALIGN="top" 715 >ioctl VIDIOC_G_PRIORITY, VIDIOC_S_PRIORITY</TD 716 ><TD 717 WIDTH="34%" 718 ALIGN="center" 719 VALIGN="top" 720 ><A 721 HREF="r7624.htm" 722 ACCESSKEY="U" 723 >Up</A 724 ></TD 725 ><TD 726 WIDTH="33%" 727 ALIGN="right" 728 VALIGN="top" 729 >ioctl VIDIOC_G_STD, VIDIOC_S_STD</TD 730 ></TR 731 ></TABLE 732 ></DIV 733 ></BODY 734 ></HTML 735 > 736