Home | History | Annotate | Download | only in spec
      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_ENUM_FMT</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_ENUMAUDOUT"
     17 HREF="r8304.htm"><LINK
     18 REL="NEXT"
     19 TITLE="ioctl VIDIOC_ENUM_FRAMESIZES"
     20 HREF="r8494.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="r8304.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="r8494.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-ENUM-FMT"
     74 ></A
     75 >ioctl VIDIOC_ENUM_FMT</H1
     76 ><DIV
     77 CLASS="REFNAMEDIV"
     78 ><A
     79 NAME="AEN8371"
     80 ></A
     81 ><H2
     82 >Name</H2
     83 >VIDIOC_ENUM_FMT&nbsp;--&nbsp;Enumerate image formats</DIV
     84 ><DIV
     85 CLASS="REFSYNOPSISDIV"
     86 ><A
     87 NAME="AEN8374"
     88 ></A
     89 ><H2
     90 >Synopsis</H2
     91 ><DIV
     92 CLASS="FUNCSYNOPSIS"
     93 ><P
     94 ></P
     95 ><A
     96 NAME="AEN8375"
     97 ></A
     98 ><P
     99 ><CODE
    100 ><CODE
    101 CLASS="FUNCDEF"
    102 >int ioctl</CODE
    103 >(int fd, int request, struct v4l2_fmtdesc
    104 *argp);</CODE
    105 ></P
    106 ><P
    107 ></P
    108 ></DIV
    109 ></DIV
    110 ><DIV
    111 CLASS="REFSECT1"
    112 ><A
    113 NAME="AEN8385"
    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_ENUM_FMT</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="AEN8405"
    162 ></A
    163 ><H2
    164 >Description</H2
    165 ><P
    166 >To enumerate image formats applications initialize the
    167 <CODE
    168 CLASS="STRUCTFIELD"
    169 >type</CODE
    170 > and <CODE
    171 CLASS="STRUCTFIELD"
    172 >index</CODE
    173 >
    174 field of struct&nbsp;<A
    175 HREF="r8367.htm#V4L2-FMTDESC"
    176 >v4l2_fmtdesc</A
    177 > and call the
    178 <CODE
    179 CLASS="CONSTANT"
    180 >VIDIOC_ENUM_FMT</CODE
    181 > ioctl with a pointer to this
    182 structure. Drivers fill the rest of the structure or return an
    183 <SPAN
    184 CLASS="ERRORCODE"
    185 >EINVAL</SPAN
    186 > error code. All formats are enumerable by beginning at index zero and
    187 incrementing by one until <SPAN
    188 CLASS="ERRORCODE"
    189 >EINVAL</SPAN
    190 > is
    191 returned.</P
    192 ><DIV
    193 CLASS="TABLE"
    194 ><A
    195 NAME="V4L2-FMTDESC"
    196 ></A
    197 ><P
    198 ><B
    199 >Table 1. struct <CODE
    200 CLASS="STRUCTNAME"
    201 >v4l2_fmtdesc</CODE
    202 ></B
    203 ></P
    204 ><TABLE
    205 BORDER="0"
    206 FRAME="void"
    207 WIDTH="100%"
    208 CLASS="CALSTABLE"
    209 ><COL
    210 WIDTH="25%"
    211 TITLE="C1"><COL
    212 WIDTH="25%"
    213 TITLE="C2"><COL
    214 WIDTH="50%"
    215 TITLE="C3"><TBODY
    216 VALIGN="TOP"
    217 ><TR
    218 ><TD
    219 >__u32</TD
    220 ><TD
    221 ><CODE
    222 CLASS="STRUCTFIELD"
    223 >index</CODE
    224 ></TD
    225 ><TD
    226 >Number of the format in the enumeration, set by
    227 the application. This is in no way related to the <CODE
    228 CLASS="STRUCTFIELD"
    229 >pixelformat</CODE
    230 > field.</TD
    231 ></TR
    232 ><TR
    233 ><TD
    234 >enum&nbsp;<A
    235 HREF="x5953.htm#V4L2-BUF-TYPE"
    236 >v4l2_buf_type</A
    237 ></TD
    238 ><TD
    239 ><CODE
    240 CLASS="STRUCTFIELD"
    241 >type</CODE
    242 ></TD
    243 ><TD
    244 >Type of the data stream, set by the application.
    245 Only these types are valid here:
    246 <CODE
    247 CLASS="CONSTANT"
    248 >V4L2_BUF_TYPE_VIDEO_CAPTURE</CODE
    249 >,
    250 <CODE
    251 CLASS="CONSTANT"
    252 >V4L2_BUF_TYPE_VIDEO_OUTPUT</CODE
    253 >,
    254 <CODE
    255 CLASS="CONSTANT"
    256 >V4L2_BUF_TYPE_VIDEO_OVERLAY</CODE
    257 >, and custom (driver
    258 defined) types with code <CODE
    259 CLASS="CONSTANT"
    260 >V4L2_BUF_TYPE_PRIVATE</CODE
    261 >
    262 and higher.</TD
    263 ></TR
    264 ><TR
    265 ><TD
    266 >__u32</TD
    267 ><TD
    268 ><CODE
    269 CLASS="STRUCTFIELD"
    270 >flags</CODE
    271 ></TD
    272 ><TD
    273 >See <A
    274 HREF="r8367.htm#FMTDESC-FLAGS"
    275 >Table 2</A
    276 ></TD
    277 ></TR
    278 ><TR
    279 ><TD
    280 >__u8</TD
    281 ><TD
    282 ><CODE
    283 CLASS="STRUCTFIELD"
    284 >description</CODE
    285 >[32]</TD
    286 ><TD
    287 >Description of the format, a NUL-terminated ASCII
    288 string. This information is intended for the user, for example: "YUV
    289 4:2:2".</TD
    290 ></TR
    291 ><TR
    292 ><TD
    293 >__u32</TD
    294 ><TD
    295 ><CODE
    296 CLASS="STRUCTFIELD"
    297 >pixelformat</CODE
    298 ></TD
    299 ><TD
    300 >The image format identifier. This is a
    301 four character code as computed by the v4l2_fourcc()
    302 macro:</TD
    303 ></TR
    304 ><TR
    305 ><TD
    306 COLSPAN="3"
    307 ><P
    308 ><PRE
    309 CLASS="PROGRAMLISTING"
    310 >#define v4l2_fourcc(a,b,c,d) (((__u32)(a)&lt;&lt;0)|((__u32)(b)&lt;&lt;8)|((__u32)(c)&lt;&lt;16)|((__u32)(d)&lt;&lt;24))</PRE
    311 ></P
    312 ><P
    313 >Several image formats are already
    314 defined by this specification in <A
    315 HREF="c2030.htm"
    316 >Chapter 2</A
    317 >. Note these
    318 codes are not the same as those used in the Windows world.</P
    319 ></TD
    320 ></TR
    321 ><TR
    322 ><TD
    323 >__u32</TD
    324 ><TD
    325 ><CODE
    326 CLASS="STRUCTFIELD"
    327 >reserved</CODE
    328 >[4]</TD
    329 ><TD
    330 >Reserved for future extensions. Drivers must set
    331 the array to zero.</TD
    332 ></TR
    333 ></TBODY
    334 ></TABLE
    335 ></DIV
    336 ><DIV
    337 CLASS="TABLE"
    338 ><A
    339 NAME="FMTDESC-FLAGS"
    340 ></A
    341 ><P
    342 ><B
    343 >Table 2. Image Format Description Flags</B
    344 ></P
    345 ><TABLE
    346 BORDER="0"
    347 FRAME="void"
    348 WIDTH="100%"
    349 CLASS="CALSTABLE"
    350 ><COL
    351 WIDTH="38%"
    352 TITLE="C1"><COL
    353 WIDTH="12%"
    354 TITLE="C2"><COL
    355 WIDTH="50%"
    356 TITLE="C3"><TBODY
    357 VALIGN="TOP"
    358 ><TR
    359 ><TD
    360 ><CODE
    361 CLASS="CONSTANT"
    362 >V4L2_FMT_FLAG_COMPRESSED</CODE
    363 ></TD
    364 ><TD
    365 >0x0001</TD
    366 ><TD
    367 >This is a compressed format.</TD
    368 ></TR
    369 ></TBODY
    370 ></TABLE
    371 ></DIV
    372 ></DIV
    373 ><DIV
    374 CLASS="REFSECT1"
    375 ><A
    376 NAME="AEN8479"
    377 ></A
    378 ><H2
    379 >Return Value</H2
    380 ><P
    381 >On success <SPAN
    382 CLASS="RETURNVALUE"
    383 >0</SPAN
    384 > is returned, on error <SPAN
    385 CLASS="RETURNVALUE"
    386 >-1</SPAN
    387 > and the <CODE
    388 CLASS="VARNAME"
    389 >errno</CODE
    390 > variable is set appropriately:</P
    391 ><P
    392 ></P
    393 ><DIV
    394 CLASS="VARIABLELIST"
    395 ><DL
    396 ><DT
    397 ><SPAN
    398 CLASS="ERRORCODE"
    399 >EINVAL</SPAN
    400 ></DT
    401 ><DD
    402 ><P
    403 >The struct&nbsp;<A
    404 HREF="r8367.htm#V4L2-FMTDESC"
    405 >v4l2_fmtdesc</A
    406 > <CODE
    407 CLASS="STRUCTFIELD"
    408 >type</CODE
    409 >
    410 is not supported or the <CODE
    411 CLASS="STRUCTFIELD"
    412 >index</CODE
    413 > is out of
    414 bounds.</P
    415 ></DD
    416 ></DL
    417 ></DIV
    418 ></DIV
    419 ><DIV
    420 CLASS="NAVFOOTER"
    421 ><HR
    422 ALIGN="LEFT"
    423 WIDTH="100%"><TABLE
    424 SUMMARY="Footer navigation table"
    425 WIDTH="100%"
    426 BORDER="0"
    427 CELLPADDING="0"
    428 CELLSPACING="0"
    429 ><TR
    430 ><TD
    431 WIDTH="33%"
    432 ALIGN="left"
    433 VALIGN="top"
    434 ><A
    435 HREF="r8304.htm"
    436 ACCESSKEY="P"
    437 >Prev</A
    438 ></TD
    439 ><TD
    440 WIDTH="34%"
    441 ALIGN="center"
    442 VALIGN="top"
    443 ><A
    444 HREF="book1.htm"
    445 ACCESSKEY="H"
    446 >Home</A
    447 ></TD
    448 ><TD
    449 WIDTH="33%"
    450 ALIGN="right"
    451 VALIGN="top"
    452 ><A
    453 HREF="r8494.htm"
    454 ACCESSKEY="N"
    455 >Next</A
    456 ></TD
    457 ></TR
    458 ><TR
    459 ><TD
    460 WIDTH="33%"
    461 ALIGN="left"
    462 VALIGN="top"
    463 >ioctl VIDIOC_ENUMAUDOUT</TD
    464 ><TD
    465 WIDTH="34%"
    466 ALIGN="center"
    467 VALIGN="top"
    468 ><A
    469 HREF="r7624.htm"
    470 ACCESSKEY="U"
    471 >Up</A
    472 ></TD
    473 ><TD
    474 WIDTH="33%"
    475 ALIGN="right"
    476 VALIGN="top"
    477 >ioctl VIDIOC_ENUM_FRAMESIZES</TD
    478 ></TR
    479 ></TABLE
    480 ></DIV
    481 ></BODY
    482 ></HTML
    483 >
    484