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_ENUMINPUT</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_ENUM_FRAMEINTERVALS" 17 HREF="r8724.htm"><LINK 18 REL="NEXT" 19 TITLE="ioctl VIDIOC_ENUMOUTPUT" 20 HREF="r9149.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="r8724.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="r9149.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-ENUMINPUT" 74 ></A 75 >ioctl VIDIOC_ENUMINPUT</H1 76 ><DIV 77 CLASS="REFNAMEDIV" 78 ><A 79 NAME="AEN8940" 80 ></A 81 ><H2 82 >Name</H2 83 >VIDIOC_ENUMINPUT -- Enumerate video inputs</DIV 84 ><DIV 85 CLASS="REFSYNOPSISDIV" 86 ><A 87 NAME="AEN8943" 88 ></A 89 ><H2 90 >Synopsis</H2 91 ><DIV 92 CLASS="FUNCSYNOPSIS" 93 ><P 94 ></P 95 ><A 96 NAME="AEN8944" 97 ></A 98 ><P 99 ><CODE 100 ><CODE 101 CLASS="FUNCDEF" 102 >int ioctl</CODE 103 >(int fd, int request, struct v4l2_input 104 *argp);</CODE 105 ></P 106 ><P 107 ></P 108 ></DIV 109 ></DIV 110 ><DIV 111 CLASS="REFSECT1" 112 ><A 113 NAME="AEN8954" 114 ></A 115 ><H2 116 >Arguments</H2 117 ><P 118 ></P 119 ><DIV 120 CLASS="VARIABLELIST" 121 ><DL 122 ><DT 123 ><CODE 124 CLASS="PARAMETER" 125 >fd</CODE 126 ></DT 127 ><DD 128 ><P 129 >File descriptor returned by <A 130 HREF="r14090.htm" 131 ><CODE 132 CLASS="FUNCTION" 133 >open()</CODE 134 ></A 135 >.</P 136 ></DD 137 ><DT 138 ><CODE 139 CLASS="PARAMETER" 140 >request</CODE 141 ></DT 142 ><DD 143 ><P 144 >VIDIOC_ENUMINPUT</P 145 ></DD 146 ><DT 147 ><CODE 148 CLASS="PARAMETER" 149 >argp</CODE 150 ></DT 151 ><DD 152 ><P 153 ></P 154 ></DD 155 ></DL 156 ></DIV 157 ></DIV 158 ><DIV 159 CLASS="REFSECT1" 160 ><A 161 NAME="AEN8974" 162 ></A 163 ><H2 164 >Description</H2 165 ><P 166 >To query the attributes of a video input applications 167 initialize the <CODE 168 CLASS="STRUCTFIELD" 169 >index</CODE 170 > field of struct <A 171 HREF="r8936.htm#V4L2-INPUT" 172 >v4l2_input</A 173 > 174 and call the <CODE 175 CLASS="CONSTANT" 176 >VIDIOC_ENUMINPUT</CODE 177 > ioctl with a 178 pointer to this structure. Drivers fill the rest of the structure or 179 return an <SPAN 180 CLASS="ERRORCODE" 181 >EINVAL</SPAN 182 > error code when the index is out of bounds. To enumerate all 183 inputs applications shall begin at index zero, incrementing by one 184 until the driver returns <SPAN 185 CLASS="ERRORCODE" 186 >EINVAL</SPAN 187 >.</P 188 ><DIV 189 CLASS="TABLE" 190 ><A 191 NAME="V4L2-INPUT" 192 ></A 193 ><P 194 ><B 195 >Table 1. struct <CODE 196 CLASS="STRUCTNAME" 197 >v4l2_input</CODE 198 ></B 199 ></P 200 ><TABLE 201 BORDER="0" 202 FRAME="void" 203 WIDTH="100%" 204 CLASS="CALSTABLE" 205 ><COL 206 WIDTH="25%" 207 TITLE="C1"><COL 208 WIDTH="25%" 209 TITLE="C2"><COL 210 WIDTH="50%" 211 TITLE="C3"><TBODY 212 VALIGN="TOP" 213 ><TR 214 ><TD 215 >__u32</TD 216 ><TD 217 ><CODE 218 CLASS="STRUCTFIELD" 219 >index</CODE 220 ></TD 221 ><TD 222 >Identifies the input, set by the 223 application.</TD 224 ></TR 225 ><TR 226 ><TD 227 >__u8</TD 228 ><TD 229 ><CODE 230 CLASS="STRUCTFIELD" 231 >name</CODE 232 >[32]</TD 233 ><TD 234 >Name of the video input, a NUL-terminated ASCII 235 string, for example: "Vin (Composite 2)". This information is intended 236 for the user, preferably the connector label on the device itself.</TD 237 ></TR 238 ><TR 239 ><TD 240 >__u32</TD 241 ><TD 242 ><CODE 243 CLASS="STRUCTFIELD" 244 >type</CODE 245 ></TD 246 ><TD 247 >Type of the input, see <A 248 HREF="r8936.htm#INPUT-TYPE" 249 >Table 2</A 250 >.</TD 251 ></TR 252 ><TR 253 ><TD 254 >__u32</TD 255 ><TD 256 ><CODE 257 CLASS="STRUCTFIELD" 258 >audioset</CODE 259 ></TD 260 ><TD 261 ><P 262 >Drivers can enumerate up to 32 video and 263 audio inputs. This field shows which audio inputs were selectable as 264 audio source if this was the currently selected video input. It is a 265 bit mask. The LSB corresponds to audio input 0, the MSB to input 31. 266 Any number of bits can be set, or none.</P 267 ><P 268 >When the driver 269 does not enumerate audio inputs no bits must be set. Applications 270 shall not interpret this as lack of audio support. Some drivers 271 automatically select audio sources and do not enumerate them since 272 there is no choice anyway.</P 273 ><P 274 >For details on audio inputs and 275 how to select the current input see <A 276 HREF="x341.htm" 277 >Section 1.5</A 278 >.</P 279 ></TD 280 ></TR 281 ><TR 282 ><TD 283 >__u32</TD 284 ><TD 285 ><CODE 286 CLASS="STRUCTFIELD" 287 >tuner</CODE 288 ></TD 289 ><TD 290 >Capture devices can have zero or more tuners (RF 291 demodulators). When the <CODE 292 CLASS="STRUCTFIELD" 293 >type</CODE 294 > is set to 295 <CODE 296 CLASS="CONSTANT" 297 >V4L2_INPUT_TYPE_TUNER</CODE 298 > this is an RF connector and 299 this field identifies the tuner. It corresponds to 300 struct <A 301 HREF="r12342.htm#V4L2-TUNER" 302 >v4l2_tuner</A 303 > field <CODE 304 CLASS="STRUCTFIELD" 305 >index</CODE 306 >. For details on 307 tuners see <A 308 HREF="x394.htm" 309 >Section 1.6</A 310 >.</TD 311 ></TR 312 ><TR 313 ><TD 314 ><A 315 HREF="r9288.htm#V4L2-STD-ID" 316 >v4l2_std_id</A 317 ></TD 318 ><TD 319 ><CODE 320 CLASS="STRUCTFIELD" 321 >std</CODE 322 ></TD 323 ><TD 324 >Every video input supports one or more different 325 video standards. This field is a set of all supported standards. For 326 details on video standards and how to switch see <A 327 HREF="x448.htm" 328 >Section 1.7</A 329 >.</TD 330 ></TR 331 ><TR 332 ><TD 333 >__u32</TD 334 ><TD 335 ><CODE 336 CLASS="STRUCTFIELD" 337 >status</CODE 338 ></TD 339 ><TD 340 >This field provides status information about the 341 input. See <A 342 HREF="r8936.htm#INPUT-STATUS" 343 >Table 3</A 344 > for flags. 345 <CODE 346 CLASS="STRUCTFIELD" 347 >status</CODE 348 > is only valid when this is the 349 current input.</TD 350 ></TR 351 ><TR 352 ><TD 353 >__u32</TD 354 ><TD 355 ><CODE 356 CLASS="STRUCTFIELD" 357 >reserved</CODE 358 >[4]</TD 359 ><TD 360 >Reserved for future extensions. Drivers must set 361 the array to zero.</TD 362 ></TR 363 ></TBODY 364 ></TABLE 365 ></DIV 366 ><DIV 367 CLASS="TABLE" 368 ><A 369 NAME="INPUT-TYPE" 370 ></A 371 ><P 372 ><B 373 >Table 2. Input Types</B 374 ></P 375 ><TABLE 376 BORDER="0" 377 FRAME="void" 378 WIDTH="100%" 379 CLASS="CALSTABLE" 380 ><COL 381 WIDTH="38%" 382 TITLE="C1"><COL 383 WIDTH="12%" 384 TITLE="C2"><COL 385 WIDTH="50%" 386 TITLE="C3"><TBODY 387 VALIGN="TOP" 388 ><TR 389 ><TD 390 ><CODE 391 CLASS="CONSTANT" 392 >V4L2_INPUT_TYPE_TUNER</CODE 393 ></TD 394 ><TD 395 >1</TD 396 ><TD 397 >This input uses a tuner (RF demodulator).</TD 398 ></TR 399 ><TR 400 ><TD 401 ><CODE 402 CLASS="CONSTANT" 403 >V4L2_INPUT_TYPE_CAMERA</CODE 404 ></TD 405 ><TD 406 >2</TD 407 ><TD 408 >Analog baseband input, for example CVBS / 409 Composite Video, S-Video, RGB.</TD 410 ></TR 411 ></TBODY 412 ></TABLE 413 ></DIV 414 ><DIV 415 CLASS="TABLE" 416 ><A 417 NAME="INPUT-STATUS" 418 ></A 419 ><P 420 ><B 421 >Table 3. Input Status Flags</B 422 ></P 423 ><TABLE 424 BORDER="0" 425 FRAME="void" 426 WIDTH="100%" 427 CLASS="CALSTABLE" 428 ><COL 429 WIDTH="33%" 430 TITLE="C1"><COL 431 WIDTH="33%" 432 ALIGN="CENTER" 433 TITLE="C2"><COL 434 WIDTH="33%" 435 TITLE="C3"><TBODY 436 VALIGN="TOP" 437 ><TR 438 ><TD 439 COLSPAN="3" 440 ALIGN="LEFT" 441 >General</TD 442 ></TR 443 ><TR 444 ><TD 445 ><CODE 446 CLASS="CONSTANT" 447 >V4L2_IN_ST_NO_POWER</CODE 448 ></TD 449 ><TD 450 >0x00000001</TD 451 ><TD 452 >Attached device is off.</TD 453 ></TR 454 ><TR 455 ><TD 456 ><CODE 457 CLASS="CONSTANT" 458 >V4L2_IN_ST_NO_SIGNAL</CODE 459 ></TD 460 ><TD 461 >0x00000002</TD 462 ><TD 463 > </TD 464 ></TR 465 ><TR 466 ><TD 467 ><CODE 468 CLASS="CONSTANT" 469 >V4L2_IN_ST_NO_COLOR</CODE 470 ></TD 471 ><TD 472 >0x00000004</TD 473 ><TD 474 >The hardware supports color decoding, but does not 475 detect color modulation in the signal.</TD 476 ></TR 477 ><TR 478 ><TD 479 COLSPAN="3" 480 ALIGN="LEFT" 481 >Analog Video</TD 482 ></TR 483 ><TR 484 ><TD 485 ><CODE 486 CLASS="CONSTANT" 487 >V4L2_IN_ST_NO_H_LOCK</CODE 488 ></TD 489 ><TD 490 >0x00000100</TD 491 ><TD 492 >No horizontal sync lock.</TD 493 ></TR 494 ><TR 495 ><TD 496 ><CODE 497 CLASS="CONSTANT" 498 >V4L2_IN_ST_COLOR_KILL</CODE 499 ></TD 500 ><TD 501 >0x00000200</TD 502 ><TD 503 >A color killer circuit automatically disables color 504 decoding when it detects no color modulation. When this flag is set 505 the color killer is enabled <SPAN 506 CLASS="emphasis" 507 ><I 508 CLASS="EMPHASIS" 509 >and</I 510 ></SPAN 511 > has shut off 512 color decoding.</TD 513 ></TR 514 ><TR 515 ><TD 516 COLSPAN="3" 517 ALIGN="LEFT" 518 >Digital Video</TD 519 ></TR 520 ><TR 521 ><TD 522 ><CODE 523 CLASS="CONSTANT" 524 >V4L2_IN_ST_NO_SYNC</CODE 525 ></TD 526 ><TD 527 >0x00010000</TD 528 ><TD 529 >No synchronization lock.</TD 530 ></TR 531 ><TR 532 ><TD 533 ><CODE 534 CLASS="CONSTANT" 535 >V4L2_IN_ST_NO_EQU</CODE 536 ></TD 537 ><TD 538 >0x00020000</TD 539 ><TD 540 >No equalizer lock.</TD 541 ></TR 542 ><TR 543 ><TD 544 ><CODE 545 CLASS="CONSTANT" 546 >V4L2_IN_ST_NO_CARRIER</CODE 547 ></TD 548 ><TD 549 >0x00040000</TD 550 ><TD 551 >Carrier recovery failed.</TD 552 ></TR 553 ><TR 554 ><TD 555 COLSPAN="3" 556 ALIGN="LEFT" 557 >VCR and Set-Top Box</TD 558 ></TR 559 ><TR 560 ><TD 561 ><CODE 562 CLASS="CONSTANT" 563 >V4L2_IN_ST_MACROVISION</CODE 564 ></TD 565 ><TD 566 >0x01000000</TD 567 ><TD 568 >Macrovision is an analog copy prevention system 569 mangling the video signal to confuse video recorders. When this 570 flag is set Macrovision has been detected.</TD 571 ></TR 572 ><TR 573 ><TD 574 ><CODE 575 CLASS="CONSTANT" 576 >V4L2_IN_ST_NO_ACCESS</CODE 577 ></TD 578 ><TD 579 >0x02000000</TD 580 ><TD 581 >Conditional access denied.</TD 582 ></TR 583 ><TR 584 ><TD 585 ><CODE 586 CLASS="CONSTANT" 587 >V4L2_IN_ST_VTR</CODE 588 ></TD 589 ><TD 590 >0x04000000</TD 591 ><TD 592 >VTR time constant. [?]</TD 593 ></TR 594 ></TBODY 595 ></TABLE 596 ></DIV 597 ></DIV 598 ><DIV 599 CLASS="REFSECT1" 600 ><A 601 NAME="AEN9135" 602 ></A 603 ><H2 604 >Return Value</H2 605 ><P 606 >On success <SPAN 607 CLASS="RETURNVALUE" 608 >0</SPAN 609 > is returned, on error <SPAN 610 CLASS="RETURNVALUE" 611 >-1</SPAN 612 > and the <CODE 613 CLASS="VARNAME" 614 >errno</CODE 615 > variable is set appropriately:</P 616 ><P 617 ></P 618 ><DIV 619 CLASS="VARIABLELIST" 620 ><DL 621 ><DT 622 ><SPAN 623 CLASS="ERRORCODE" 624 >EINVAL</SPAN 625 ></DT 626 ><DD 627 ><P 628 >The struct <A 629 HREF="r8936.htm#V4L2-INPUT" 630 >v4l2_input</A 631 > <CODE 632 CLASS="STRUCTFIELD" 633 >index</CODE 634 > is 635 out of bounds.</P 636 ></DD 637 ></DL 638 ></DIV 639 ></DIV 640 ><DIV 641 CLASS="NAVFOOTER" 642 ><HR 643 ALIGN="LEFT" 644 WIDTH="100%"><TABLE 645 SUMMARY="Footer navigation table" 646 WIDTH="100%" 647 BORDER="0" 648 CELLPADDING="0" 649 CELLSPACING="0" 650 ><TR 651 ><TD 652 WIDTH="33%" 653 ALIGN="left" 654 VALIGN="top" 655 ><A 656 HREF="r8724.htm" 657 ACCESSKEY="P" 658 >Prev</A 659 ></TD 660 ><TD 661 WIDTH="34%" 662 ALIGN="center" 663 VALIGN="top" 664 ><A 665 HREF="book1.htm" 666 ACCESSKEY="H" 667 >Home</A 668 ></TD 669 ><TD 670 WIDTH="33%" 671 ALIGN="right" 672 VALIGN="top" 673 ><A 674 HREF="r9149.htm" 675 ACCESSKEY="N" 676 >Next</A 677 ></TD 678 ></TR 679 ><TR 680 ><TD 681 WIDTH="33%" 682 ALIGN="left" 683 VALIGN="top" 684 >ioctl VIDIOC_ENUM_FRAMEINTERVALS</TD 685 ><TD 686 WIDTH="34%" 687 ALIGN="center" 688 VALIGN="top" 689 ><A 690 HREF="r7624.htm" 691 ACCESSKEY="U" 692 >Up</A 693 ></TD 694 ><TD 695 WIDTH="33%" 696 ALIGN="right" 697 VALIGN="top" 698 >ioctl VIDIOC_ENUMOUTPUT</TD 699 ></TR 700 ></TABLE 701 ></DIV 702 ></BODY 703 ></HTML 704 > 705