1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>Extended Controls</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="LINUX MEDIA INFRASTRUCTURE API"><link rel="up" href="common.html" title="Chapter 1. Common API Elements"><link rel="prev" href="control.html" title="User Controls"><link rel="next" href="format.html" title="Data Formats"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Extended Controls</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="control.html">Prev</a> </td><th width="60%" align="center">Chapter 1. Common API Elements</th><td width="20%" align="right"> <a accesskey="n" href="format.html">Next</a></td></tr></table><hr></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="extended-controls"></a>Extended Controls</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="extended-controls.html#idp1097023452">Introduction</a></span></dt><dt><span class="section"><a href="extended-controls.html#idp1097025916">The Extended Control API</a></span></dt><dt><span class="section"><a href="extended-controls.html#idp1097037444">Enumerating Extended Controls</a></span></dt><dt><span class="section"><a href="extended-controls.html#idp1096896148">Creating Control Panels</a></span></dt><dt><span class="section"><a href="extended-controls.html#mpeg-controls">Codec Control Reference</a></span></dt><dt><span class="section"><a href="extended-controls.html#camera-controls">Camera Control Reference</a></span></dt><dt><span class="section"><a href="extended-controls.html#fm-tx-controls">FM Transmitter Control Reference</a></span></dt><dt><span class="section"><a href="extended-controls.html#flash-controls">Flash Control Reference</a></span></dt><dt><span class="section"><a href="extended-controls.html#jpeg-controls">JPEG Control Reference</a></span></dt><dt><span class="section"><a href="extended-controls.html#image-source-controls">Image Source Control Reference</a></span></dt><dt><span class="section"><a href="extended-controls.html#image-process-controls">Image Process Control Reference</a></span></dt><dt><span class="section"><a href="extended-controls.html#dv-controls">Digital Video Control Reference</a></span></dt><dt><span class="section"><a href="extended-controls.html#fm-rx-controls">FM Receiver Control Reference</a></span></dt><dt><span class="section"><a href="extended-controls.html#detect-controls">Detect Control Reference</a></span></dt><dt><span class="section"><a href="extended-controls.html#rf-tuner-controls">RF Tuner Control Reference</a></span></dt></dl></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp1097023452"></a>Introduction</h3></div></div></div><p>The control mechanism as originally designed was meant 2to be used for user settings (brightness, saturation, etc). However, 3it turned out to be a very useful model for implementing more 4complicated driver APIs where each driver implements only a subset of 5a larger API.</p><p>The MPEG encoding API was the driving force behind 6designing and implementing this extended control mechanism: the MPEG 7standard is quite large and the currently supported hardware MPEG 8encoders each only implement a subset of this standard. Further more, 9many parameters relating to how the video is encoded into an MPEG 10stream are specific to the MPEG encoding chip since the MPEG standard 11only defines the format of the resulting MPEG stream, not how the 12video is actually encoded into that format.</p><p>Unfortunately, the original control API lacked some 13features needed for these new uses and so it was extended into the 14(not terribly originally named) extended control API.</p><p>Even though the MPEG encoding API was the first effort 15to use the Extended Control API, nowadays there are also other classes 16of Extended Controls, such as Camera Controls and FM Transmitter Controls. 17The Extended Controls API as well as all Extended Controls classes are 18described in the following text.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp1097025916"></a>The Extended Control API</h3></div></div></div><p>Three new ioctls are available: <a class="link" href="vidioc-g-ext-ctrls.html" title="ioctl VIDIOC_G_EXT_CTRLS, VIDIOC_S_EXT_CTRLS, VIDIOC_TRY_EXT_CTRLS"><code class="constant">VIDIOC_G_EXT_CTRLS</code></a>, 19<a class="link" href="vidioc-g-ext-ctrls.html" title="ioctl VIDIOC_G_EXT_CTRLS, VIDIOC_S_EXT_CTRLS, VIDIOC_TRY_EXT_CTRLS"><code class="constant">VIDIOC_S_EXT_CTRLS</code></a> and <a class="link" href="vidioc-g-ext-ctrls.html" title="ioctl VIDIOC_G_EXT_CTRLS, VIDIOC_S_EXT_CTRLS, VIDIOC_TRY_EXT_CTRLS"><code class="constant">VIDIOC_TRY_EXT_CTRLS</code></a>. These ioctls act on 20arrays of controls (as opposed to the <a class="link" href="vidioc-g-ctrl.html" title="ioctl VIDIOC_G_CTRL, VIDIOC_S_CTRL"><code class="constant">VIDIOC_G_CTRL</code></a> and 21<a class="link" href="vidioc-g-ctrl.html" title="ioctl VIDIOC_G_CTRL, VIDIOC_S_CTRL"><code class="constant">VIDIOC_S_CTRL</code></a> ioctls that act on a single control). This is needed 22since it is often required to atomically change several controls at 23once.</p><p>Each of the new ioctls expects a pointer to a 24struct <a class="link" href="vidioc-g-ext-ctrls.html#v4l2-ext-controls" title="Table A.67. struct v4l2_ext_controls">v4l2_ext_controls</a>. This structure contains a pointer to the control 25array, a count of the number of controls in that array and a control 26class. Control classes are used to group similar controls into a 27single class. For example, control class 28<code class="constant">V4L2_CTRL_CLASS_USER</code> contains all user controls 29(i. e. all controls that can also be set using the old 30<code class="constant">VIDIOC_S_CTRL</code> ioctl). Control class 31<code class="constant">V4L2_CTRL_CLASS_MPEG</code> contains all controls 32relating to MPEG encoding, etc.</p><p>All controls in the control array must belong to the 33specified control class. An error is returned if this is not the 34case.</p><p>It is also possible to use an empty control array (count 35== 0) to check whether the specified control class is 36supported.</p><p>The control array is a struct <a class="link" href="vidioc-g-ext-ctrls.html#v4l2-ext-control" title="Table A.66. struct v4l2_ext_control">v4l2_ext_control</a> array. The 37<span class="structname">v4l2_ext_control</span> structure is very similar to 38struct <a class="link" href="vidioc-g-ctrl.html#v4l2-control" title="Table A.56. struct v4l2_control">v4l2_control</a>, except for the fact that it also allows for 64-bit 39values and pointers to be passed.</p><p>Since the struct <a class="link" href="vidioc-g-ext-ctrls.html#v4l2-ext-control" title="Table A.66. struct v4l2_ext_control">v4l2_ext_control</a> supports pointers it is now 40also possible to have controls with compound types such as N-dimensional arrays 41and/or structures. You need to specify the <code class="constant">V4L2_CTRL_FLAG_NEXT_COMPOUND</code> 42when enumerating controls to actually be able to see such compound controls. 43In other words, these controls with compound types should only be used 44programmatically.</p><p>Since such compound controls need to expose more information 45about themselves than is possible with <a class="link" href="vidioc-queryctrl.html" title="ioctl VIDIOC_QUERYCTRL, VIDIOC_QUERY_EXT_CTRL, VIDIOC_QUERYMENU"><code class="constant">VIDIOC_QUERYCTRL</code></a> the 46<a class="link" href="vidioc-queryctrl.html" title="ioctl VIDIOC_QUERYCTRL, VIDIOC_QUERY_EXT_CTRL, VIDIOC_QUERYMENU"><code class="constant">VIDIOC_QUERY_EXT_CTRL</code></a> ioctl was added. In particular, this ioctl gives 47the dimensions of the N-dimensional array if this control consists of more than 48one element.</p><p>It is important to realize that due to the flexibility of 49controls it is necessary to check whether the control you want to set 50actually is supported in the driver and what the valid range of values 51is. So use the <a class="link" href="vidioc-queryctrl.html" title="ioctl VIDIOC_QUERYCTRL, VIDIOC_QUERY_EXT_CTRL, VIDIOC_QUERYMENU"><code class="constant">VIDIOC_QUERYCTRL</code></a> (or <a class="link" href="vidioc-queryctrl.html" title="ioctl VIDIOC_QUERYCTRL, VIDIOC_QUERY_EXT_CTRL, VIDIOC_QUERYMENU"><code class="constant">VIDIOC_QUERY_EXT_CTRL</code></a>) and 52<a class="link" href="vidioc-queryctrl.html" title="ioctl VIDIOC_QUERYCTRL, VIDIOC_QUERY_EXT_CTRL, VIDIOC_QUERYMENU"><code class="constant">VIDIOC_QUERYMENU</code></a> ioctls to check this. Also note that it is possible 53that some of the menu indices in a control of type 54<code class="constant">V4L2_CTRL_TYPE_MENU</code> may not be supported 55(<code class="constant">VIDIOC_QUERYMENU</code> will return an error). A good 56example is the list of supported MPEG audio bitrates. Some drivers only 57support one or two bitrates, others support a wider range.</p><p> 58 All controls use machine endianness. 59 </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp1097037444"></a>Enumerating Extended Controls</h3></div></div></div><p>The recommended way to enumerate over the extended 60controls is by using <a class="link" href="vidioc-queryctrl.html" title="ioctl VIDIOC_QUERYCTRL, VIDIOC_QUERY_EXT_CTRL, VIDIOC_QUERYMENU"><code class="constant">VIDIOC_QUERYCTRL</code></a> in combination with the 61<code class="constant">V4L2_CTRL_FLAG_NEXT_CTRL</code> flag:</p><div class="informalexample"><pre class="programlisting"> 62struct <a class="link" href="vidioc-queryctrl.html#v4l2-queryctrl" title="Table A.95. struct v4l2_queryctrl">v4l2_queryctrl</a> qctrl; 63 64qctrl.id = V4L2_CTRL_FLAG_NEXT_CTRL; 65while (0 == ioctl (fd, <a class="link" href="vidioc-queryctrl.html" title="ioctl VIDIOC_QUERYCTRL, VIDIOC_QUERY_EXT_CTRL, VIDIOC_QUERYMENU"><code class="constant">VIDIOC_QUERYCTRL</code></a>, &qctrl)) { 66 /* ... */ 67 qctrl.id |= V4L2_CTRL_FLAG_NEXT_CTRL; 68} 69</pre></div><p>The initial control ID is set to 0 ORed with the 70<code class="constant">V4L2_CTRL_FLAG_NEXT_CTRL</code> flag. The 71<code class="constant">VIDIOC_QUERYCTRL</code> ioctl will return the first 72control with a higher ID than the specified one. When no such controls 73are found an error is returned.</p><p>If you want to get all controls within a specific control 74class, then you can set the initial 75<em class="structfield"><code>qctrl.id</code></em> value to the control class and add 76an extra check to break out of the loop when a control of another 77control class is found:</p><div class="informalexample"><pre class="programlisting"> 78qctrl.id = V4L2_CTRL_CLASS_MPEG | V4L2_CTRL_FLAG_NEXT_CTRL; 79while (0 == ioctl(fd, <a class="link" href="vidioc-queryctrl.html" title="ioctl VIDIOC_QUERYCTRL, VIDIOC_QUERY_EXT_CTRL, VIDIOC_QUERYMENU"><code class="constant">VIDIOC_QUERYCTRL</code></a>, &qctrl)) { 80 if (V4L2_CTRL_ID2CLASS(qctrl.id) != V4L2_CTRL_CLASS_MPEG) 81 break; 82 /* ... */ 83 qctrl.id |= V4L2_CTRL_FLAG_NEXT_CTRL; 84} 85</pre></div><p>The 32-bit <em class="structfield"><code>qctrl.id</code></em> value is 86subdivided into three bit ranges: the top 4 bits are reserved for 87flags (e. g. <code class="constant">V4L2_CTRL_FLAG_NEXT_CTRL</code>) and are not 88actually part of the ID. The remaining 28 bits form the control ID, of 89which the most significant 12 bits define the control class and the 90least significant 16 bits identify the control within the control 91class. It is guaranteed that these last 16 bits are always non-zero 92for controls. The range of 0x1000 and up are reserved for 93driver-specific controls. The macro 94<code class="constant">V4L2_CTRL_ID2CLASS(id)</code> returns the control class 95ID based on a control ID.</p><p>If the driver does not support extended controls, then 96<code class="constant">VIDIOC_QUERYCTRL</code> will fail when used in 97combination with <code class="constant">V4L2_CTRL_FLAG_NEXT_CTRL</code>. In 98that case the old method of enumerating control should be used (see 99<a class="xref" href="control.html#enum_all_controls" title="Example 1.8. Enumerating all user controls">Example 1.8, “Enumerating all user controls”</a>). But if it is supported, then it is guaranteed to enumerate over 100all controls, including driver-private controls.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp1096896148"></a>Creating Control Panels</h3></div></div></div><p>It is possible to create control panels for a graphical 101user interface where the user can select the various controls. 102Basically you will have to iterate over all controls using the method 103described above. Each control class starts with a control of type 104<code class="constant">V4L2_CTRL_TYPE_CTRL_CLASS</code>. 105<code class="constant">VIDIOC_QUERYCTRL</code> will return the name of this 106control class which can be used as the title of a tab page within a 107control panel.</p><p>The flags field of struct <a class="link" href="vidioc-queryctrl.html#v4l2-queryctrl" title="Table A.95. struct v4l2_queryctrl">v4l2_queryctrl</a> also contains hints on 108the behavior of the control. See the <a class="link" href="vidioc-queryctrl.html" title="ioctl VIDIOC_QUERYCTRL, VIDIOC_QUERY_EXT_CTRL, VIDIOC_QUERYMENU"><code class="constant">VIDIOC_QUERYCTRL</code></a> documentation 109for more details.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="mpeg-controls"></a>Codec Control Reference</h3></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="extended-controls.html#idp1096899852">Generic Codec Controls</a></span></dt><dt><span class="section"><a href="extended-controls.html#idp1097415380">MFC 5.1 MPEG Controls</a></span></dt><dt><span class="section"><a href="extended-controls.html#idp1097455644">CX2341x MPEG Controls</a></span></dt><dt><span class="section"><a href="extended-controls.html#idp1097499756">VPX Control Reference</a></span></dt></dl></div><p>Below all controls within the Codec control class are 110described. First the generic controls, then controls specific for 111certain hardware.</p><p>Note: These controls are applicable to all codecs and 112not just MPEG. The defines are prefixed with V4L2_CID_MPEG/V4L2_MPEG 113as the controls were originally made for MPEG codecs and later 114extended to cover all encoding formats.</p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="idp1096899852"></a>Generic Codec Controls</h4></div></div></div><div class="table"><a name="mpeg-control-id"></a><p class="title"><b>Table 1.2. Codec Control IDs</b></p><div class="table-contents"><table summary="Codec Control IDs" width="100%" border="0"><colgroup><col class="c1"><col class="c2"><col class="c3"><col class="c4"></colgroup><thead><tr><th colspan="2" align="left">ID</th><th align="left">Type</th><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><th colspan="3" align="left">Description</th></tr></thead><tbody valign="top"><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_CLASS</code> </td><td valign="top">class</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">The Codec class 115descriptor. Calling <a class="link" href="vidioc-queryctrl.html" title="ioctl VIDIOC_QUERYCTRL, VIDIOC_QUERY_EXT_CTRL, VIDIOC_QUERYMENU"><code class="constant">VIDIOC_QUERYCTRL</code></a> for this control will return a 116description of this control class. This description can be used as the 117caption of a Tab page in a GUI, for example.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-stream-type"></a><code class="constant">V4L2_CID_MPEG_STREAM_TYPE</code> </td><td valign="top">enum v4l2_mpeg_stream_type</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">The MPEG-1, -2 or -4 118output stream type. One cannot assume anything here. Each hardware 119MPEG encoder tends to support different subsets of the available MPEG 120stream types. This control is specific to multiplexed MPEG streams. 121The currently defined stream types are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_MPEG_STREAM_TYPE_MPEG2_PS</code> </td><td valign="top">MPEG-2 program stream</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_STREAM_TYPE_MPEG2_TS</code> </td><td valign="top">MPEG-2 transport stream</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_STREAM_TYPE_MPEG1_SS</code> </td><td valign="top">MPEG-1 system stream</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_STREAM_TYPE_MPEG2_DVD</code> </td><td valign="top">MPEG-2 DVD-compatible stream</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_STREAM_TYPE_MPEG1_VCD</code> </td><td valign="top">MPEG-1 VCD-compatible stream</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_STREAM_TYPE_MPEG2_SVCD</code> </td><td valign="top">MPEG-2 SVCD-compatible stream</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_STREAM_PID_PMT</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Program Map Table 122Packet ID for the MPEG transport stream (default 16)</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_STREAM_PID_AUDIO</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Audio Packet ID for 123the MPEG transport stream (default 256)</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_STREAM_PID_VIDEO</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Video Packet ID for 124the MPEG transport stream (default 260)</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_STREAM_PID_PCR</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Packet ID for the 125MPEG transport stream carrying PCR fields (default 259)</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_STREAM_PES_ID_AUDIO</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Audio ID for MPEG 126PES</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_STREAM_PES_ID_VIDEO</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Video ID for MPEG 127PES</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-stream-vbi-fmt"></a><code class="constant">V4L2_CID_MPEG_STREAM_VBI_FMT</code> </td><td valign="top">enum v4l2_mpeg_stream_vbi_fmt</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Some cards can embed 128VBI data (e. g. Closed Caption, Teletext) into the MPEG stream. This 129control selects whether VBI data should be embedded, and if so, what 130embedding method should be used. The list of possible VBI formats 131depends on the driver. The currently defined VBI format types 132are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_MPEG_STREAM_VBI_FMT_NONE</code> </td><td valign="top">No VBI in the MPEG stream</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_STREAM_VBI_FMT_IVTV</code> </td><td valign="top">VBI in private packets, IVTV format (documented 133in the kernel sources in the file <code class="filename">Documentation/video4linux/cx2341x/README.vbi</code>)</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-audio-sampling-freq"></a><code class="constant">V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ</code> </td><td valign="top">enum v4l2_mpeg_audio_sampling_freq</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">MPEG Audio sampling 134frequency. Possible values are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_SAMPLING_FREQ_44100</code> </td><td valign="top">44.1 kHz</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_SAMPLING_FREQ_48000</code> </td><td valign="top">48 kHz</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_SAMPLING_FREQ_32000</code> </td><td valign="top">32 kHz</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-audio-encoding"></a><code class="constant">V4L2_CID_MPEG_AUDIO_ENCODING</code> </td><td valign="top">enum v4l2_mpeg_audio_encoding</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">MPEG Audio encoding. 135This control is specific to multiplexed MPEG streams. 136Possible values are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_ENCODING_LAYER_1</code> </td><td valign="top">MPEG-1/2 Layer I encoding</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_ENCODING_LAYER_2</code> </td><td valign="top">MPEG-1/2 Layer II encoding</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_ENCODING_LAYER_3</code> </td><td valign="top">MPEG-1/2 Layer III encoding</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_ENCODING_AAC</code> </td><td valign="top">MPEG-2/4 AAC (Advanced Audio Coding)</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_ENCODING_AC3</code> </td><td valign="top">AC-3 aka ATSC A/52 encoding</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-audio-l1-bitrate"></a><code class="constant">V4L2_CID_MPEG_AUDIO_L1_BITRATE</code> </td><td valign="top">enum v4l2_mpeg_audio_l1_bitrate</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">MPEG-1/2 Layer I bitrate. 137Possible values are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L1_BITRATE_32K</code> </td><td valign="top">32 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L1_BITRATE_64K</code> </td><td valign="top">64 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L1_BITRATE_96K</code> </td><td valign="top">96 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L1_BITRATE_128K</code> </td><td valign="top">128 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L1_BITRATE_160K</code> </td><td valign="top">160 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L1_BITRATE_192K</code> </td><td valign="top">192 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L1_BITRATE_224K</code> </td><td valign="top">224 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L1_BITRATE_256K</code> </td><td valign="top">256 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L1_BITRATE_288K</code> </td><td valign="top">288 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L1_BITRATE_320K</code> </td><td valign="top">320 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L1_BITRATE_352K</code> </td><td valign="top">352 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L1_BITRATE_384K</code> </td><td valign="top">384 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L1_BITRATE_416K</code> </td><td valign="top">416 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L1_BITRATE_448K</code> </td><td valign="top">448 kbit/s</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-audio-l2-bitrate"></a><code class="constant">V4L2_CID_MPEG_AUDIO_L2_BITRATE</code> </td><td valign="top">enum v4l2_mpeg_audio_l2_bitrate</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">MPEG-1/2 Layer II bitrate. 138Possible values are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L2_BITRATE_32K</code> </td><td valign="top">32 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L2_BITRATE_48K</code> </td><td valign="top">48 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L2_BITRATE_56K</code> </td><td valign="top">56 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L2_BITRATE_64K</code> </td><td valign="top">64 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L2_BITRATE_80K</code> </td><td valign="top">80 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L2_BITRATE_96K</code> </td><td valign="top">96 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L2_BITRATE_112K</code> </td><td valign="top">112 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L2_BITRATE_128K</code> </td><td valign="top">128 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L2_BITRATE_160K</code> </td><td valign="top">160 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L2_BITRATE_192K</code> </td><td valign="top">192 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L2_BITRATE_224K</code> </td><td valign="top">224 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L2_BITRATE_256K</code> </td><td valign="top">256 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L2_BITRATE_320K</code> </td><td valign="top">320 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L2_BITRATE_384K</code> </td><td valign="top">384 kbit/s</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-audio-l3-bitrate"></a><code class="constant">V4L2_CID_MPEG_AUDIO_L3_BITRATE</code> </td><td valign="top">enum v4l2_mpeg_audio_l3_bitrate</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">MPEG-1/2 Layer III bitrate. 139Possible values are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L3_BITRATE_32K</code> </td><td valign="top">32 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L3_BITRATE_40K</code> </td><td valign="top">40 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L3_BITRATE_48K</code> </td><td valign="top">48 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L3_BITRATE_56K</code> </td><td valign="top">56 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L3_BITRATE_64K</code> </td><td valign="top">64 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L3_BITRATE_80K</code> </td><td valign="top">80 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L3_BITRATE_96K</code> </td><td valign="top">96 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L3_BITRATE_112K</code> </td><td valign="top">112 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L3_BITRATE_128K</code> </td><td valign="top">128 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L3_BITRATE_160K</code> </td><td valign="top">160 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L3_BITRATE_192K</code> </td><td valign="top">192 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L3_BITRATE_224K</code> </td><td valign="top">224 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L3_BITRATE_256K</code> </td><td valign="top">256 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_L3_BITRATE_320K</code> </td><td valign="top">320 kbit/s</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_AUDIO_AAC_BITRATE</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">AAC bitrate in bits per second.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-audio-ac3-bitrate"></a><code class="constant">V4L2_CID_MPEG_AUDIO_AC3_BITRATE</code> </td><td valign="top">enum v4l2_mpeg_audio_ac3_bitrate</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">AC-3 bitrate. 140Possible values are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_AC3_BITRATE_32K</code> </td><td valign="top">32 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_AC3_BITRATE_40K</code> </td><td valign="top">40 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_AC3_BITRATE_48K</code> </td><td valign="top">48 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_AC3_BITRATE_56K</code> </td><td valign="top">56 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_AC3_BITRATE_64K</code> </td><td valign="top">64 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_AC3_BITRATE_80K</code> </td><td valign="top">80 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_AC3_BITRATE_96K</code> </td><td valign="top">96 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_AC3_BITRATE_112K</code> </td><td valign="top">112 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_AC3_BITRATE_128K</code> </td><td valign="top">128 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_AC3_BITRATE_160K</code> </td><td valign="top">160 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_AC3_BITRATE_192K</code> </td><td valign="top">192 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_AC3_BITRATE_224K</code> </td><td valign="top">224 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_AC3_BITRATE_256K</code> </td><td valign="top">256 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_AC3_BITRATE_320K</code> </td><td valign="top">320 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_AC3_BITRATE_384K</code> </td><td valign="top">384 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_AC3_BITRATE_448K</code> </td><td valign="top">448 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_AC3_BITRATE_512K</code> </td><td valign="top">512 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_AC3_BITRATE_576K</code> </td><td valign="top">576 kbit/s</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_AC3_BITRATE_640K</code> </td><td valign="top">640 kbit/s</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-audio-mode"></a><code class="constant">V4L2_CID_MPEG_AUDIO_MODE</code> </td><td valign="top">enum v4l2_mpeg_audio_mode</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">MPEG Audio mode. 141Possible values are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_MODE_STEREO</code> </td><td valign="top">Stereo</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_MODE_JOINT_STEREO</code> </td><td valign="top">Joint Stereo</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_MODE_DUAL</code> </td><td valign="top">Bilingual</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_MODE_MONO</code> </td><td valign="top">Mono</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-audio-mode-extension"></a><code class="constant">V4L2_CID_MPEG_AUDIO_MODE_EXTENSION</code> </td><td valign="top">enum v4l2_mpeg_audio_mode_extension</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Joint Stereo 142audio mode extension. In Layer I and II they indicate which subbands 143are in intensity stereo. All other subbands are coded in stereo. Layer 144III is not (yet) supported. Possible values 145are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_4</code> </td><td valign="top">Subbands 4-31 in intensity stereo</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_8</code> </td><td valign="top">Subbands 8-31 in intensity stereo</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_12</code> </td><td valign="top">Subbands 12-31 in intensity stereo</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_16</code> </td><td valign="top">Subbands 16-31 in intensity stereo</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-audio-emphasis"></a><code class="constant">V4L2_CID_MPEG_AUDIO_EMPHASIS</code> </td><td valign="top">enum v4l2_mpeg_audio_emphasis</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Audio Emphasis. 146Possible values are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_EMPHASIS_NONE</code> </td><td valign="top">None</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_EMPHASIS_50_DIV_15_uS</code> </td><td valign="top">50/15 microsecond emphasis</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_EMPHASIS_CCITT_J17</code> </td><td valign="top">CCITT J.17</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-audio-crc"></a><code class="constant">V4L2_CID_MPEG_AUDIO_CRC</code> </td><td valign="top">enum v4l2_mpeg_audio_crc</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">CRC method. Possible 147values are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_CRC_NONE</code> </td><td valign="top">None</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_CRC_CRC16</code> </td><td valign="top">16 bit parity check</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_AUDIO_MUTE</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Mutes the audio when 148capturing. This is not done by muting audio hardware, which can still 149produce a slight hiss, but in the encoder itself, guaranteeing a fixed 150and reproducible audio bitstream. 0 = unmuted, 1 = muted.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-audio-dec-playback"></a><code class="constant">V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK</code> </td><td valign="top">enum v4l2_mpeg_audio_dec_playback</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Determines how monolingual audio should be played back. 151Possible values are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_DEC_PLAYBACK_AUTO</code> </td><td valign="top">Automatically determines the best playback mode.</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_DEC_PLAYBACK_STEREO</code> </td><td valign="top">Stereo playback.</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_DEC_PLAYBACK_LEFT</code> </td><td valign="top">Left channel playback.</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_DEC_PLAYBACK_RIGHT</code> </td><td valign="top">Right channel playback.</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_DEC_PLAYBACK_MONO</code> </td><td valign="top">Mono playback.</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_AUDIO_DEC_PLAYBACK_SWAPPED_STEREO</code> </td><td valign="top">Stereo playback with swapped left and right channels.</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-audio-dec-multilingual-playback"></a><code class="constant">V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK</code> </td><td valign="top">enum v4l2_mpeg_audio_dec_playback</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Determines how multilingual audio should be played back.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-video-encoding"></a><code class="constant">V4L2_CID_MPEG_VIDEO_ENCODING</code> </td><td valign="top">enum v4l2_mpeg_video_encoding</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">MPEG Video encoding 152method. This control is specific to multiplexed MPEG streams. 153Possible values are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_ENCODING_MPEG_1</code> </td><td valign="top">MPEG-1 Video encoding</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_ENCODING_MPEG_2</code> </td><td valign="top">MPEG-2 Video encoding</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_ENCODING_MPEG_4_AVC</code> </td><td valign="top">MPEG-4 AVC (H.264) Video encoding</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-video-aspect"></a><code class="constant">V4L2_CID_MPEG_VIDEO_ASPECT</code> </td><td valign="top">enum v4l2_mpeg_video_aspect</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Video aspect. 154Possible values are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_ASPECT_1x1</code> </td><td class="auto-generated"> </td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_ASPECT_4x3</code> </td><td class="auto-generated"> </td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_ASPECT_16x9</code> </td><td class="auto-generated"> </td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_ASPECT_221x100</code> </td><td class="auto-generated"> </td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_B_FRAMES</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Number of B-Frames 155(default 2)</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_GOP_SIZE</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">GOP size (default 15612)</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_GOP_CLOSURE</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">GOP closure (default 1571)</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_PULLDOWN</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Enable 3:2 pulldown 158(default 0)</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-video-bitrate-mode"></a><code class="constant">V4L2_CID_MPEG_VIDEO_BITRATE_MODE</code> </td><td valign="top">enum v4l2_mpeg_video_bitrate_mode</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Video bitrate mode. 159Possible values are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_BITRATE_MODE_VBR</code> </td><td valign="top">Variable bitrate</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_BITRATE_MODE_CBR</code> </td><td valign="top">Constant bitrate</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_BITRATE</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Video bitrate in bits 160per second.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_BITRATE_PEAK</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Peak video bitrate in 161bits per second. Must be larger or equal to the average video bitrate. 162It is ignored if the video bitrate mode is set to constant 163bitrate.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">For every captured 164frame, skip this many subsequent frames (default 0).</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_MUTE</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">"Mutes" the video to a 165fixed color when capturing. This is useful for testing, to produce a 166fixed video bitstream. 0 = unmuted, 1 = muted.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_MUTE_YUV</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Sets the "mute" color 167of the video. The supplied 32-bit integer is interpreted as follows (bit 1680 = least significant bit):</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top">Bit 0:7</td><td valign="top">V chrominance information</td></tr><tr><td valign="top">Bit 8:15</td><td valign="top">U chrominance information</td></tr><tr><td valign="top">Bit 16:23</td><td valign="top">Y luminance information</td></tr><tr><td valign="top">Bit 24:31</td><td valign="top">Must be zero.</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-video-dec-pts"></a><code class="constant">V4L2_CID_MPEG_VIDEO_DEC_PTS</code> </td><td valign="top">integer64</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">This read-only control returns the 16933-bit video Presentation Time Stamp as defined in ITU T-REC-H.222.0 and ISO/IEC 13818-1 of 170the currently displayed frame. This is the same PTS as is used in <a class="link" href="vidioc-decoder-cmd.html" title="ioctl VIDIOC_DECODER_CMD, VIDIOC_TRY_DECODER_CMD"><code class="constant">VIDIOC_DECODER_CMD</code></a>.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-video-dec-frame"></a><code class="constant">V4L2_CID_MPEG_VIDEO_DEC_FRAME</code> </td><td valign="top">integer64</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">This read-only control returns the 171frame counter of the frame that is currently displayed (decoded). This value is reset to 0 whenever 172the decoder is started.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">If enabled the decoder expects to receive a single slice per buffer, otherwise 173the decoder expects a single frame in per buffer. Applicable to the decoder, all codecs. 174</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Enable writing sample aspect ratio in the Video Usability Information. 175Applicable to the H264 encoder.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-video-h264-vui-sar-idc"></a><code class="constant">V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC</code> </td><td valign="top">enum v4l2_mpeg_video_h264_vui_sar_idc</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">VUI sample aspect ratio indicator for H.264 encoding. The value 176is defined in the table E-1 in the standard. Applicable to the H264 encoder.</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_UNSPECIFIED</code> </td><td valign="top">Unspecified</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_1x1</code> </td><td valign="top">1x1</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_12x11</code> </td><td valign="top">12x11</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_10x11</code> </td><td valign="top">10x11</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_16x11</code> </td><td valign="top">16x11</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_40x33</code> </td><td valign="top">40x33</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_24x11</code> </td><td valign="top">24x11</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_20x11</code> </td><td valign="top">20x11</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_32x11</code> </td><td valign="top">32x11</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_80x33</code> </td><td valign="top">80x33</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_18x11</code> </td><td valign="top">18x11</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_15x11</code> </td><td valign="top">15x11</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_64x33</code> </td><td valign="top">64x33</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_160x99</code> </td><td valign="top">160x99</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_4x3</code> </td><td valign="top">4x3</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_3x2</code> </td><td valign="top">3x2</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_2x1</code> </td><td valign="top">2x1</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_EXTENDED</code> </td><td valign="top">Extended SAR</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Extended sample aspect ratio width for H.264 VUI encoding. 177Applicable to the H264 encoder.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Extended sample aspect ratio height for H.264 VUI encoding. 178Applicable to the H264 encoder.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-video-h264-level"></a><code class="constant">V4L2_CID_MPEG_VIDEO_H264_LEVEL</code> </td><td valign="top">enum v4l2_mpeg_video_h264_level</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">The level information for the H264 video elementary stream. 179Applicable to the H264 encoder. 180Possible values are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_LEVEL_1_0</code> </td><td valign="top">Level 1.0</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_LEVEL_1B</code> </td><td valign="top">Level 1B</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_LEVEL_1_1</code> </td><td valign="top">Level 1.1</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_LEVEL_1_2</code> </td><td valign="top">Level 1.2</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_LEVEL_1_3</code> </td><td valign="top">Level 1.3</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_LEVEL_2_0</code> </td><td valign="top">Level 2.0</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_LEVEL_2_1</code> </td><td valign="top">Level 2.1</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_LEVEL_2_2</code> </td><td valign="top">Level 2.2</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_LEVEL_3_0</code> </td><td valign="top">Level 3.0</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_LEVEL_3_1</code> </td><td valign="top">Level 3.1</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_LEVEL_3_2</code> </td><td valign="top">Level 3.2</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_LEVEL_4_0</code> </td><td valign="top">Level 4.0</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_LEVEL_4_1</code> </td><td valign="top">Level 4.1</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_LEVEL_4_2</code> </td><td valign="top">Level 4.2</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_LEVEL_5_0</code> </td><td valign="top">Level 5.0</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_LEVEL_5_1</code> </td><td valign="top">Level 5.1</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-video-mpeg4-level"></a><code class="constant">V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL</code> </td><td valign="top">enum v4l2_mpeg_video_mpeg4_level</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">The level information for the MPEG4 elementary stream. 181Applicable to the MPEG4 encoder. 182Possible values are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_LEVEL_0</code> </td><td valign="top">Level 0</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_LEVEL_0B</code> </td><td valign="top">Level 0b</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_LEVEL_1</code> </td><td valign="top">Level 1</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_LEVEL_2</code> </td><td valign="top">Level 2</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_LEVEL_3</code> </td><td valign="top">Level 3</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_LEVEL_3B</code> </td><td valign="top">Level 3b</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_LEVEL_4</code> </td><td valign="top">Level 4</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_LEVEL_5</code> </td><td valign="top">Level 5</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-video-h264-profile"></a><code class="constant">V4L2_CID_MPEG_VIDEO_H264_PROFILE</code> </td><td valign="top">enum v4l2_mpeg_video_h264_profile</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">The profile information for H264. 183Applicable to the H264 encoder. 184Possible values are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE</code> </td><td valign="top">Baseline profile</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE</code> </td><td valign="top">Constrained Baseline profile</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_PROFILE_MAIN</code> </td><td valign="top">Main profile</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_PROFILE_EXTENDED</code> </td><td valign="top">Extended profile</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_PROFILE_HIGH</code> </td><td valign="top">High profile</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10</code> </td><td valign="top">High 10 profile</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422</code> </td><td valign="top">High 422 profile</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_PREDICTIVE</code> </td><td valign="top">High 444 Predictive profile</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10_INTRA</code> </td><td valign="top">High 10 Intra profile</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422_INTRA</code> </td><td valign="top">High 422 Intra profile</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_INTRA</code> </td><td valign="top">High 444 Intra profile</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_PROFILE_CAVLC_444_INTRA</code> </td><td valign="top">CAVLC 444 Intra profile</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_BASELINE</code> </td><td valign="top">Scalable Baseline profile</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH</code> </td><td valign="top">Scalable High profile</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH_INTRA</code> </td><td valign="top">Scalable High Intra profile</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_PROFILE_STEREO_HIGH</code> </td><td valign="top">Stereo High profile</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_PROFILE_MULTIVIEW_HIGH</code> </td><td valign="top">Multiview High profile</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-video-mpeg4-profile"></a><code class="constant">V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE</code> </td><td valign="top">enum v4l2_mpeg_video_mpeg4_profile</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">The profile information for MPEG4. 185Applicable to the MPEG4 encoder. 186Possible values are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_PROFILE_SIMPLE</code> </td><td valign="top">Simple profile</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_PROFILE_ADVANCED_SIMPLE</code> </td><td valign="top">Advanced Simple profile</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_PROFILE_CORE</code> </td><td valign="top">Core profile</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_PROFILE_SIMPLE_SCALABLE</code> </td><td valign="top">Simple Scalable profile</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_PROFILE_ADVANCED_CODING_EFFICIENCY</code> </td><td valign="top"> </td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_MAX_REF_PIC</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">The maximum number of reference pictures used for encoding. 187Applicable to the encoder. 188</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-video-multi-slice-mode"></a><code class="constant">V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE</code> </td><td valign="top">enum v4l2_mpeg_video_multi_slice_mode</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Determines how the encoder should handle division of frame into slices. 189Applicable to the encoder. 190Possible values are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE</code> </td><td valign="top">Single slice per frame.</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB</code> </td><td valign="top">Multiple slices with set maximum number of macroblocks per slice.</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_BYTES</code> </td><td valign="top">Multiple slice with set maximum size in bytes per slice.</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">The maximum number of macroblocks in a slice. Used when 191<code class="constant">V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE</code> is set to <code class="constant">V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB</code>. 192Applicable to the encoder.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">The maximum size of a slice in bytes. Used when 193<code class="constant">V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE</code> is set to <code class="constant">V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_BYTES</code>. 194Applicable to the encoder.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-video-h264-loop-filter-mode"></a><code class="constant">V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE</code> </td><td valign="top">enum v4l2_mpeg_video_h264_loop_filter_mode</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Loop filter mode for H264 encoder. 195Possible values are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED</code> </td><td valign="top">Loop filter is enabled.</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED</code> </td><td valign="top">Loop filter is disabled.</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY</code> </td><td valign="top">Loop filter is disabled at the slice boundary.</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Loop filter alpha coefficient, defined in the H264 standard. 196Applicable to the H264 encoder.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Loop filter beta coefficient, defined in the H264 standard. 197Applicable to the H264 encoder.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-video-h264-entropy-mode"></a><code class="constant">V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE</code> </td><td valign="top">enum v4l2_mpeg_video_h264_entropy_mode</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Entropy coding mode for H264 - CABAC/CAVALC. 198Applicable to the H264 encoder. 199Possible values are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC</code> </td><td valign="top">Use CAVLC entropy coding.</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC</code> </td><td valign="top">Use CABAC entropy coding.</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Enable 8X8 transform for H264. Applicable to the H264 encoder.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Cyclic intra macroblock refresh. This is the number of continuous macroblocks 200refreshed every frame. Each frame a successive set of macroblocks is refreshed until the cycle completes and starts from the 201top of the frame. Applicable to H264, H263 and MPEG4 encoder.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Frame level rate control enable. 202If this control is disabled then the quantization parameter for each frame type is constant and set with appropriate controls 203(e.g. <code class="constant">V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP</code>). 204If frame rate control is enabled then quantization parameter is adjusted to meet the chosen bitrate. Minimum and maximum value 205for the quantization parameter can be set with appropriate controls (e.g. <code class="constant">V4L2_CID_MPEG_VIDEO_H263_MIN_QP</code>). 206Applicable to encoders.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Macroblock level rate control enable. 207Applicable to the MPEG4 and H264 encoders.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_MPEG4_QPEL</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Quarter pixel motion estimation for MPEG4. Applicable to the MPEG4 encoder.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Quantization parameter for an I frame for H263. Valid range: from 1 to 31.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_H263_MIN_QP</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Minimum quantization parameter for H263. Valid range: from 1 to 31.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_H263_MAX_QP</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Maximum quantization parameter for H263. Valid range: from 1 to 31.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Quantization parameter for an P frame for H263. Valid range: from 1 to 31.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Quantization parameter for an B frame for H263. Valid range: from 1 to 31.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Quantization parameter for an I frame for H264. Valid range: from 0 to 51.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_H264_MIN_QP</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Minimum quantization parameter for H264. Valid range: from 0 to 51.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_H264_MAX_QP</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Maximum quantization parameter for H264. Valid range: from 0 to 51.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Quantization parameter for an P frame for H264. Valid range: from 0 to 51.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Quantization parameter for an B frame for H264. Valid range: from 0 to 51.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Quantization parameter for an I frame for MPEG4. Valid range: from 1 to 31.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Minimum quantization parameter for MPEG4. Valid range: from 1 to 31.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Maximum quantization parameter for MPEG4. Valid range: from 1 to 31.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Quantization parameter for an P frame for MPEG4. Valid range: from 1 to 31.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Quantization parameter for an B frame for MPEG4. Valid range: from 1 to 31.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_VBV_SIZE</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">The Video Buffer Verifier size in kilobytes, it is used as a limitation of frame skip. 208The VBV is defined in the standard as a mean to verify that the produced stream will be successfully decoded. 209The standard describes it as "Part of a hypothetical decoder that is conceptually connected to the 210output of the encoder. Its purpose is to provide a constraint on the variability of the data rate that an 211encoder or editing process may produce.". 212Applicable to the MPEG1, MPEG2, MPEG4 encoders.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-video-vbv-delay"></a><code class="constant">V4L2_CID_MPEG_VIDEO_VBV_DELAY</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Sets the initial delay in milliseconds for 213VBV buffer control.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-video-hor-search-range"></a><code class="constant">V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Horizontal search range defines maximum horizontal search area in pixels 214to search and match for the present Macroblock (MB) in the reference picture. This V4L2 control macro is used to set 215horizontal search range for motion estimation module in video encoder.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-video-vert-search-range"></a><code class="constant">V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Vertical search range defines maximum vertical search area in pixels 216to search and match for the present Macroblock (MB) in the reference picture. This V4L2 control macro is used to set 217vertical search range for motion estimation module in video encoder.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">The Coded Picture Buffer size in kilobytes, it is used as a limitation of frame skip. 218The CPB is defined in the H264 standard as a mean to verify that the produced stream will be successfully decoded. 219Applicable to the H264 encoder.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_H264_I_PERIOD</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Period between I-frames in the open GOP for H264. In case of an open GOP 220this is the period between two I-frames. The period between IDR (Instantaneous Decoding Refresh) frames is taken from the GOP_SIZE control. 221An IDR frame, which stands for Instantaneous Decoding Refresh is an I-frame after which no prior frames are 222referenced. This means that a stream can be restarted from an IDR frame without the need to store or decode any 223previous frames. Applicable to the H264 encoder.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-video-header-mode"></a><code class="constant">V4L2_CID_MPEG_VIDEO_HEADER_MODE</code> </td><td valign="top">enum v4l2_mpeg_video_header_mode</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Determines whether the header is returned as the first buffer or is 224it returned together with the first frame. Applicable to encoders. 225Possible values are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE</code> </td><td valign="top">The stream header is returned separately in the first buffer.</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME</code> </td><td valign="top">The stream header is returned together with the first encoded frame.</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Repeat the video sequence headers. Repeating these 226headers makes random access to the video stream easier. Applicable to the MPEG1, 2 and 4 encoder.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Enabled the deblocking post processing filter for MPEG4 decoder. 227Applicable to the MPEG4 decoder.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_MPEG4_VOP_TIME_RES</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">vop_time_increment_resolution value for MPEG4. Applicable to the MPEG4 encoder.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_MPEG4_VOP_TIME_INC</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">vop_time_increment value for MPEG4. Applicable to the MPEG4 encoder.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Enable generation of frame packing supplemental enhancement information in the encoded bitstream. 228The frame packing SEI message contains the arrangement of L and R planes for 3D viewing. Applicable to the H264 encoder.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Sets current frame as frame0 in frame packing SEI. 229Applicable to the H264 encoder.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-video-h264-sei-fp-arrangement-type"></a><code class="constant">V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE</code> </td><td valign="top">enum v4l2_mpeg_video_h264_sei_fp_arrangement_type</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Frame packing arrangement type for H264 SEI. 230Applicable to the H264 encoder. 231Possible values are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_CHEKERBOARD</code> </td><td valign="top">Pixels are alternatively from L and R.</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_COLUMN</code> </td><td valign="top">L and R are interlaced by column.</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_ROW</code> </td><td valign="top">L and R are interlaced by row.</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_SIDE_BY_SIDE</code> </td><td valign="top">L is on the left, R on the right.</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TOP_BOTTOM</code> </td><td valign="top">L is on top, R on bottom.</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TEMPORAL</code> </td><td valign="top">One view per frame.</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_H264_FMO</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Enables flexible macroblock ordering in the encoded bitstream. It is a technique 232used for restructuring the ordering of macroblocks in pictures. Applicable to the H264 encoder.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-video-h264-fmo-map-type"></a><code class="constant">V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE</code> </td><td valign="top">enum v4l2_mpeg_video_h264_fmo_map_type</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">When using FMO, the map type divides the image in different scan patterns of macroblocks. 233Applicable to the H264 encoder. 234Possible values are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_INTERLEAVED_SLICES</code> </td><td valign="top">Slices are interleaved one after other with macroblocks in run length order.</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_SCATTERED_SLICES</code> </td><td valign="top">Scatters the macroblocks based on a mathematical function known to both encoder and decoder.</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_FOREGROUND_WITH_LEFT_OVER</code> </td><td valign="top">Macroblocks arranged in rectangular areas or regions of interest.</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_BOX_OUT</code> </td><td valign="top">Slice groups grow in a cyclic way from centre to outwards.</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_RASTER_SCAN</code> </td><td valign="top">Slice groups grow in raster scan pattern from left to right.</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_WIPE_SCAN</code> </td><td valign="top">Slice groups grow in wipe scan pattern from top to bottom.</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_EXPLICIT</code> </td><td valign="top">User defined map type.</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Number of slice groups in FMO. 235Applicable to the H264 encoder.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-video-h264-fmo-change-direction"></a><code class="constant">V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION</code> </td><td valign="top">enum v4l2_mpeg_video_h264_fmo_change_dir</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Specifies a direction of the slice group change for raster and wipe maps. 236Applicable to the H264 encoder. 237Possible values are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_RIGHT</code> </td><td valign="top">Raster scan or wipe right.</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_LEFT</code> </td><td valign="top">Reverse raster scan or wipe left.</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Specifies the size of the first slice group for raster and wipe map. 238Applicable to the H264 encoder.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Specifies the number of consecutive macroblocks for the interleaved map. 239Applicable to the H264 encoder.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_H264_ASO</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Enables arbitrary slice ordering in encoded bitstream. 240Applicable to the H264 encoder.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Specifies the slice order in ASO. Applicable to the H264 encoder. 241The supplied 32-bit integer is interpreted as follows (bit 2420 = least significant bit):</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top">Bit 0:15</td><td valign="top">Slice ID</td></tr><tr><td valign="top">Bit 16:32</td><td valign="top">Slice position or order</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Enables H264 hierarchical coding. 243Applicable to the H264 encoder.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-video-h264-hierarchical-coding-type"></a><code class="constant">V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE</code> </td><td valign="top">enum v4l2_mpeg_video_h264_hierarchical_coding_type</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Specifies the hierarchical coding type. 244Applicable to the H264 encoder. 245Possible values are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_B</code> </td><td valign="top">Hierarchical B coding.</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P</code> </td><td valign="top">Hierarchical P coding.</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Specifies the number of hierarchical coding layers. 246Applicable to the H264 encoder.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Specifies a user defined QP for each layer. Applicable to the H264 encoder. 247The supplied 32-bit integer is interpreted as follows (bit 2480 = least significant bit):</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top">Bit 0:15</td><td valign="top">QP value</td></tr><tr><td valign="top">Bit 16:32</td><td valign="top">Layer number</td></tr></tbody></table></td></tr></tbody></table></div></div><br class="table-break"></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="idp1097415380"></a>MFC 5.1 MPEG Controls</h4></div></div></div><p>The following MPEG class controls deal with MPEG 249decoding and encoding settings that are specific to the Multi Format Codec 5.1 device present 250in the S5P family of SoCs by Samsung. 251</p><div class="table"><a name="mfc51-control-id"></a><p class="title"><b>Table 1.3. MFC 5.1 Control IDs</b></p><div class="table-contents"><table summary="MFC 5.1 Control IDs" width="100%" border="0"><colgroup><col class="c1"><col class="c2"><col class="c3"><col class="c4"></colgroup><thead><tr><th colspan="2" align="left">ID</th><th align="left">Type</th><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><th colspan="3" align="left">Description</th></tr></thead><tbody valign="top"><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">If the display delay is enabled then the decoder is forced to return a 252CAPTURE buffer (decoded frame) after processing a certain number of OUTPUT buffers. The delay can be set through 253<code class="constant">V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY</code>. This feature can be used for example 254for generating thumbnails of videos. Applicable to the H264 decoder. 255 </td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Display delay value for H264 decoder. 256The decoder is forced to return a decoded frame after the set 'display delay' number of frames. If this number is 257low it may result in frames returned out of dispaly order, in addition the hardware may still be using the returned buffer 258as a reference picture for subsequent frames. 259</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">The number of reference pictures used for encoding a P picture. 260Applicable to the H264 encoder.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_MFC51_VIDEO_PADDING</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Padding enable in the encoder - use a color instead of repeating border pixels. 261Applicable to encoders.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Padding color in the encoder. Applicable to encoders. The supplied 32-bit integer is interpreted as follows (bit 2620 = least significant bit):</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top">Bit 0:7</td><td valign="top">V chrominance information</td></tr><tr><td valign="top">Bit 8:15</td><td valign="top">U chrominance information</td></tr><tr><td valign="top">Bit 16:23</td><td valign="top">Y luminance information</td></tr><tr><td valign="top">Bit 24:31</td><td valign="top">Must be zero.</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Reaction coefficient for MFC rate control. Applicable to encoders. 263<p>Note 1: Valid only when the frame level RC is enabled.</p> 264<p>Note 2: For tight CBR, this field must be small (ex. 2 ~ 10). 265For VBR, this field must be large (ex. 100 ~ 1000).</p> 266<p>Note 3: It is not recommended to use the greater number than FRAME_RATE * (10^9 / BIT_RATE).</p> 267</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Adaptive rate control for dark region. 268Valid only when H.264 and macroblock level RC is enabled (<code class="constant">V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE</code>). 269Applicable to the H264 encoder.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Adaptive rate control for smooth region. 270Valid only when H.264 and macroblock level RC is enabled (<code class="constant">V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE</code>). 271Applicable to the H264 encoder.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Adaptive rate control for static region. 272Valid only when H.264 and macroblock level RC is enabled (<code class="constant">V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE</code>). 273Applicable to the H264 encoder.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Adaptive rate control for activity region. 274Valid only when H.264 and macroblock level RC is enabled (<code class="constant">V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE</code>). 275Applicable to the H264 encoder.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-mfc51-video-frame-skip-mode"></a><code class="constant">V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE</code> </td><td valign="top">enum v4l2_mpeg_mfc51_video_frame_skip_mode</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"> 276Indicates in what conditions the encoder should skip frames. If encoding a frame would cause the encoded stream to be larger then 277a chosen data limit then the frame will be skipped. 278Possible values are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_MPEG_MFC51_FRAME_SKIP_MODE_DISABLED</code> </td><td valign="top">Frame skip mode is disabled.</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_MFC51_FRAME_SKIP_MODE_LEVEL_LIMIT</code> </td><td valign="top">Frame skip mode enabled and buffer limit is set by the chosen level and is defined by the standard.</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_MFC51_FRAME_SKIP_MODE_BUF_LIMIT</code> </td><td valign="top">Frame skip mode enabled and buffer limit is set by the VBV (MPEG1/2/4) or CPB (H264) buffer size control.</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Enable rate-control with fixed target bit. 279If this setting is enabled, then the rate control logic of the encoder will calculate the average bitrate 280for a GOP and keep it below or equal the set bitrate target. Otherwise the rate control logic calculates the 281overall average bitrate for the stream and keeps it below or equal to the set bitrate. In the first case 282the average bitrate for the whole stream will be smaller then the set bitrate. This is caused because the 283average is calculated for smaller number of frames, on the other hand enabling this setting will ensure that 284the stream will meet tight bandwidth contraints. Applicable to encoders. 285</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-mfc51-video-force-frame-type"></a><code class="constant">V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE</code> </td><td valign="top">enum v4l2_mpeg_mfc51_video_force_frame_type</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Force a frame type for the next queued buffer. Applicable to encoders. 286Possible values are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_MPEG_MFC51_FORCE_FRAME_TYPE_DISABLED</code> </td><td valign="top">Forcing a specific frame type disabled.</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_MFC51_FORCE_FRAME_TYPE_I_FRAME</code> </td><td valign="top">Force an I-frame.</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_MFC51_FORCE_FRAME_TYPE_NOT_CODED</code> </td><td valign="top">Force a non-coded frame.</td></tr></tbody></table></td></tr></tbody></table></div></div><br class="table-break"></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="idp1097455644"></a>CX2341x MPEG Controls</h4></div></div></div><p>The following MPEG class controls deal with MPEG 287encoding settings that are specific to the Conexant CX23415 and 288CX23416 MPEG encoding chips.</p><div class="table"><a name="cx2341x-control-id"></a><p class="title"><b>Table 1.4. CX2341x Control IDs</b></p><div class="table-contents"><table summary="CX2341x Control IDs" width="100%" border="0"><colgroup><col class="c1"><col class="c2"><col class="c3"><col class="c4"></colgroup><thead><tr><th colspan="2" align="left">ID</th><th align="left">Type</th><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><th colspan="3" align="left">Description</th></tr></thead><tbody valign="top"><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-cx2341x-video-spatial-filter-mode"></a><code class="constant">V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE</code> </td><td valign="top">enum v4l2_mpeg_cx2341x_video_spatial_filter_mode</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Sets the Spatial 289Filter mode (default <code class="constant">MANUAL</code>). Possible values 290are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_MANUAL</code> </td><td valign="top">Choose the filter manually</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_AUTO</code> </td><td valign="top">Choose the filter automatically</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER</code> </td><td valign="top">integer (0-15)</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">The setting for the 291Spatial Filter. 0 = off, 15 = maximum. (Default is 0.)</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="luma-spatial-filter-type"></a><code class="constant">V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE</code> </td><td valign="top">enum v4l2_mpeg_cx2341x_video_luma_spatial_filter_type</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Select the algorithm 292to use for the Luma Spatial Filter (default 293<code class="constant">1D_HOR</code>). Possible values:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_OFF</code> </td><td valign="top">No filter</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_HOR</code> </td><td valign="top">One-dimensional horizontal</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_VERT</code> </td><td valign="top">One-dimensional vertical</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_HV_SEPARABLE</code> </td><td valign="top">Two-dimensional separable</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_SYM_NON_SEPARABLE</code> </td><td valign="top">Two-dimensional symmetrical 294non-separable</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="chroma-spatial-filter-type"></a><code class="constant">V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE</code> </td><td valign="top">enum v4l2_mpeg_cx2341x_video_chroma_spatial_filter_type</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Select the algorithm 295for the Chroma Spatial Filter (default <code class="constant">1D_HOR</code>). 296Possible values are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_OFF</code> </td><td valign="top">No filter</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_1D_HOR</code> </td><td valign="top">One-dimensional horizontal</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-cx2341x-video-temporal-filter-mode"></a><code class="constant">V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE</code> </td><td valign="top">enum v4l2_mpeg_cx2341x_video_temporal_filter_mode</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Sets the Temporal 297Filter mode (default <code class="constant">MANUAL</code>). Possible values 298are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_MANUAL</code> </td><td valign="top">Choose the filter manually</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_AUTO</code> </td><td valign="top">Choose the filter automatically</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER</code> </td><td valign="top">integer (0-31)</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">The setting for the 299Temporal Filter. 0 = off, 31 = maximum. (Default is 8 for full-scale 300capturing and 0 for scaled capturing.)</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-mpeg-cx2341x-video-median-filter-type"></a><code class="constant">V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE</code> </td><td valign="top">enum v4l2_mpeg_cx2341x_video_median_filter_type</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Median Filter Type 301(default <code class="constant">OFF</code>). Possible values are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_OFF</code> </td><td valign="top">No filter</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR</code> </td><td valign="top">Horizontal filter</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_VERT</code> </td><td valign="top">Vertical filter</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR_VERT</code> </td><td valign="top">Horizontal and vertical filter</td></tr><tr><td valign="top"><code class="constant">V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_DIAG</code> </td><td valign="top">Diagonal filter</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM</code> </td><td valign="top">integer (0-255)</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Threshold above which 302the luminance median filter is enabled (default 0)</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP</code> </td><td valign="top">integer (0-255)</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Threshold below which 303the luminance median filter is enabled (default 255)</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM</code> </td><td valign="top">integer (0-255)</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Threshold above which 304the chroma median filter is enabled (default 0)</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP</code> </td><td valign="top">integer (0-255)</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Threshold below which 305the chroma median filter is enabled (default 255)</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">The CX2341X MPEG encoder 306can insert one empty MPEG-2 PES packet into the stream between every 307four video frames. The packet size is 2048 bytes, including the 308packet_start_code_prefix and stream_id fields. The stream_id is 0xBF 309(private stream 2). The payload consists of 0x00 bytes, to be filled 310in by the application. 0 = do not insert, 1 = insert packets.</td></tr></tbody></table></div></div><br class="table-break"></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="idp1097499756"></a>VPX Control Reference</h4></div></div></div><p>The VPX controls include controls for encoding parameters 311 of VPx video codec.</p><div class="table"><a name="vpx-control-id"></a><p class="title"><b>Table 1.5. VPX Control IDs</b></p><div class="table-contents"><table summary="VPX Control IDs" width="100%" border="0"><colgroup><col class="c1"><col class="c2"><col class="c3"><col class="c4"></colgroup><thead><tr><th colspan="2" align="left">ID</th><th align="left">Type</th><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><th colspan="3" align="left">Description</th></tr></thead><tbody valign="top"><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-vpx-num-partitions"></a><code class="constant">V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS</code></td><td valign="top">enum v4l2_vp8_num_partitions</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">The number of token partitions to use in VP8 encoder. 312Possible values are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_VPX_1_PARTITION</code></td><td valign="top">1 coefficient partition</td></tr><tr><td valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_VPX_2_PARTITIONS</code></td><td valign="top">2 coefficient partitions</td></tr><tr><td valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_VPX_4_PARTITIONS</code></td><td valign="top">4 coefficient partitions</td></tr><tr><td valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_VPX_8_PARTITIONS</code></td><td valign="top">8 coefficient partitions</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_VPX_IMD_DISABLE_4X4</code></td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Setting this prevents intra 4x4 mode in the intra mode decision.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-vpx-num-ref-frames"></a><code class="constant">V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES</code></td><td valign="top">enum v4l2_vp8_num_ref_frames</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">The number of reference pictures for encoding P frames. 313Possible values are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_VPX_1_REF_FRAME</code></td><td valign="top">Last encoded frame will be searched</td></tr><tr><td valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_VPX_2_REF_FRAME</code></td><td valign="top">Two frames will be searched among the last encoded frame, the golden frame 314and the alternate reference (altref) frame. The encoder implementation will decide which two are chosen.</td></tr><tr><td valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_VPX_3_REF_FRAME</code></td><td valign="top">The last encoded frame, the golden frame and the altref frame will be searched.</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_VPX_FILTER_LEVEL</code></td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Indicates the loop filter level. The adjustment of the loop 315filter level is done via a delta value against a baseline loop filter value.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_VPX_FILTER_SHARPNESS</code></td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">This parameter affects the loop filter. Anything above 316zero weakens the deblocking effect on the loop filter.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD</code></td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Sets the refresh period for the golden frame. The period is defined 317in number of frames. For a value of 'n', every nth frame starting from the first key frame will be taken as a golden frame. 318For eg. for encoding sequence of 0, 1, 2, 3, 4, 5, 6, 7 where the golden frame refresh period is set as 4, the frames 3190, 4, 8 etc will be taken as the golden frames as frame 0 is always a key frame.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-vpx-golden-frame-sel"></a><code class="constant">V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL</code></td><td valign="top">enum v4l2_vp8_golden_frame_sel</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Selects the golden frame for encoding. 320Possible values are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_PREV</code></td><td valign="top">Use the (n-2)th frame as a golden frame, current frame index being 'n'.</td></tr><tr><td valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_REF_PERIOD</code></td><td valign="top">Use the previous specific frame indicated by 321V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD as a golden frame.</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_VPX_MIN_QP</code></td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Minimum quantization parameter for VP8.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_VPX_MAX_QP</code></td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Maximum quantization parameter for VP8.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Quantization parameter for an I frame for VP8.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Quantization parameter for a P frame for VP8.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_MPEG_VIDEO_VPX_PROFILE</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Select the desired profile for VPx encoder. 322Acceptable values are 0, 1, 2 and 3 corresponding to encoder profiles 0, 1, 2 and 3.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break"></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="camera-controls"></a>Camera Control Reference</h3></div></div></div><p>The Camera class includes controls for mechanical (or 323equivalent digital) features of a device such as controllable lenses 324or sensors.</p><div class="table"><a name="camera-control-id"></a><p class="title"><b>Table 1.6. Camera Control IDs</b></p><div class="table-contents"><table summary="Camera Control IDs" width="100%" border="0"><colgroup><col class="c1"><col class="c2"><col class="c3"><col class="c4"></colgroup><thead><tr><th colspan="2" align="left">ID</th><th align="left">Type</th><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><th colspan="3" align="left">Description</th></tr></thead><tbody valign="top"><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_CAMERA_CLASS</code> </td><td valign="top">class</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">The Camera class 325descriptor. Calling <a class="link" href="vidioc-queryctrl.html" title="ioctl VIDIOC_QUERYCTRL, VIDIOC_QUERY_EXT_CTRL, VIDIOC_QUERYMENU"><code class="constant">VIDIOC_QUERYCTRL</code></a> for this control will return a 326description of this control class.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-exposure-auto-type"></a><code class="constant">V4L2_CID_EXPOSURE_AUTO</code> </td><td valign="top">enum v4l2_exposure_auto_type</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Enables automatic 327adjustments of the exposure time and/or iris aperture. The effect of 328manual changes of the exposure time or iris aperture while these 329features are enabled is undefined, drivers should ignore such 330requests. Possible values are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_EXPOSURE_AUTO</code> </td><td valign="top">Automatic exposure time, automatic iris 331aperture.</td></tr><tr><td valign="top"><code class="constant">V4L2_EXPOSURE_MANUAL</code> </td><td valign="top">Manual exposure time, manual iris.</td></tr><tr><td valign="top"><code class="constant">V4L2_EXPOSURE_SHUTTER_PRIORITY</code> </td><td valign="top">Manual exposure time, auto iris.</td></tr><tr><td valign="top"><code class="constant">V4L2_EXPOSURE_APERTURE_PRIORITY</code> </td><td valign="top">Auto exposure time, manual iris.</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_EXPOSURE_ABSOLUTE</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Determines the exposure 332time of the camera sensor. The exposure time is limited by the frame 333interval. Drivers should interpret the values as 100 µs units, 334where the value 1 stands for 1/10000th of a second, 10000 for 1 second 335and 100000 for 10 seconds.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_EXPOSURE_AUTO_PRIORITY</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">When 336<code class="constant">V4L2_CID_EXPOSURE_AUTO</code> is set to 337<code class="constant">AUTO</code> or <code class="constant">APERTURE_PRIORITY</code>, 338this control determines if the device may dynamically vary the frame 339rate. By default this feature is disabled (0) and the frame rate must 340remain constant.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_EXPOSURE_BIAS</code> </td><td valign="top">integer menu</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"> Determines the automatic 341exposure compensation, it is effective only when <code class="constant">V4L2_CID_EXPOSURE_AUTO</code> 342control is set to <code class="constant">AUTO</code>, <code class="constant">SHUTTER_PRIORITY </code> 343or <code class="constant">APERTURE_PRIORITY</code>. 344It is expressed in terms of EV, drivers should interpret the values as 0.001 EV 345units, where the value 1000 stands for +1 EV. 346<p>Increasing the exposure compensation value is equivalent to decreasing 347the exposure value (EV) and will increase the amount of light at the image 348sensor. The camera performs the exposure compensation by adjusting absolute 349exposure time and/or aperture.</p></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-exposure-metering"></a><code class="constant">V4L2_CID_EXPOSURE_METERING</code> </td><td valign="top">enum v4l2_exposure_metering</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Determines how the camera measures 350the amount of light available for the frame exposure. Possible values are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_EXPOSURE_METERING_AVERAGE</code> </td><td valign="top">Use the light information coming from the entire frame 351and average giving no weighting to any particular portion of the metered area. 352 </td></tr><tr><td valign="top"><code class="constant">V4L2_EXPOSURE_METERING_CENTER_WEIGHTED</code> </td><td valign="top">Average the light information coming from the entire frame 353giving priority to the center of the metered area.</td></tr><tr><td valign="top"><code class="constant">V4L2_EXPOSURE_METERING_SPOT</code> </td><td valign="top">Measure only very small area at the center of the frame.</td></tr><tr><td valign="top"><code class="constant">V4L2_EXPOSURE_METERING_MATRIX</code> </td><td valign="top">A multi-zone metering. The light intensity is measured 354in several points of the frame and the the results are combined. The 355algorithm of the zones selection and their significance in calculating the 356final value is device dependent.</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_PAN_RELATIVE</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">This control turns the 357camera horizontally by the specified amount. The unit is undefined. A 358positive value moves the camera to the right (clockwise when viewed 359from above), a negative value to the left. A value of zero does not 360cause motion. This is a write-only control.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_TILT_RELATIVE</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">This control turns the 361camera vertically by the specified amount. The unit is undefined. A 362positive value moves the camera up, a negative value down. A value of 363zero does not cause motion. This is a write-only control.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_PAN_RESET</code> </td><td valign="top">button</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">When this control is set, 364the camera moves horizontally to the default position.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_TILT_RESET</code> </td><td valign="top">button</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">When this control is set, 365the camera moves vertically to the default position.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_PAN_ABSOLUTE</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">This control 366turns the camera horizontally to the specified position. Positive 367values move the camera to the right (clockwise when viewed from above), 368negative values to the left. Drivers should interpret the values as arc 369seconds, with valid values between -180 * 3600 and +180 * 3600 370inclusive.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_TILT_ABSOLUTE</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">This control 371turns the camera vertically to the specified position. Positive values 372move the camera up, negative values down. Drivers should interpret the 373values as arc seconds, with valid values between -180 * 3600 and +180 374* 3600 inclusive.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_FOCUS_ABSOLUTE</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">This control sets the 375focal point of the camera to the specified position. The unit is 376undefined. Positive values set the focus closer to the camera, 377negative values towards infinity.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_FOCUS_RELATIVE</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">This control moves the 378focal point of the camera by the specified amount. The unit is 379undefined. Positive values move the focus closer to the camera, 380negative values towards infinity. This is a write-only control.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_FOCUS_AUTO</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Enables continuous automatic 381focus adjustments. The effect of manual focus adjustments while this feature 382is enabled is undefined, drivers should ignore such requests.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_AUTO_FOCUS_START</code> </td><td valign="top">button</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Starts single auto focus process. 383The effect of setting this control when <code class="constant">V4L2_CID_FOCUS_AUTO</code> 384is set to <code class="constant">TRUE</code> (1) is undefined, drivers should ignore 385such requests.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_AUTO_FOCUS_STOP</code> </td><td valign="top">button</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Aborts automatic focusing 386started with <code class="constant">V4L2_CID_AUTO_FOCUS_START</code> control. It is 387effective only when the continuous autofocus is disabled, that is when 388<code class="constant">V4L2_CID_FOCUS_AUTO</code> control is set to <code class="constant">FALSE 389</code> (0).</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-auto-focus-status"></a> 390 <code class="constant">V4L2_CID_AUTO_FOCUS_STATUS</code> </td><td valign="top">bitmask</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">The automatic focus status. This is a read-only 391 control.</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_AUTO_FOCUS_STATUS_IDLE</code> </td><td valign="top">Automatic focus is not active.</td></tr><tr><td valign="top"><code class="constant">V4L2_AUTO_FOCUS_STATUS_BUSY</code> </td><td valign="top">Automatic focusing is in progress.</td></tr><tr><td valign="top"><code class="constant">V4L2_AUTO_FOCUS_STATUS_REACHED</code> </td><td valign="top">Focus has been reached.</td></tr><tr><td valign="top"><code class="constant">V4L2_AUTO_FOCUS_STATUS_FAILED</code> </td><td valign="top">Automatic focus has failed, the driver will not 392 transition from this state until another action is 393 performed by an application.</td></tr></tbody></table></td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"> 394Setting <code class="constant">V4L2_LOCK_FOCUS</code> lock bit of the <code class="constant">V4L2_CID_3A_LOCK 395</code> control may stop updates of the <code class="constant">V4L2_CID_AUTO_FOCUS_STATUS</code> 396control value.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-auto-focus-range"></a> 397 <code class="constant">V4L2_CID_AUTO_FOCUS_RANGE</code> </td><td valign="top">enum v4l2_auto_focus_range</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Determines auto focus distance range 398for which lens may be adjusted. </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_AUTO_FOCUS_RANGE_AUTO</code> </td><td valign="top">The camera automatically selects the focus range.</td></tr><tr><td valign="top"><code class="constant">V4L2_AUTO_FOCUS_RANGE_NORMAL</code> </td><td valign="top">Normal distance range, limited for best automatic focus 399performance.</td></tr><tr><td valign="top"><code class="constant">V4L2_AUTO_FOCUS_RANGE_MACRO</code> </td><td valign="top">Macro (close-up) auto focus. The camera will 400use its minimum possible distance for auto focus.</td></tr><tr><td valign="top"><code class="constant">V4L2_AUTO_FOCUS_RANGE_INFINITY</code> </td><td valign="top">The lens is set to focus on an object at infinite distance.</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_ZOOM_ABSOLUTE</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Specify the objective lens 401focal length as an absolute value. The zoom unit is driver-specific and its 402value should be a positive integer.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_ZOOM_RELATIVE</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Specify the objective lens 403focal length relatively to the current value. Positive values move the zoom 404lens group towards the telephoto direction, negative values towards the 405wide-angle direction. The zoom unit is driver-specific. This is a write-only control.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_ZOOM_CONTINUOUS</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Move the objective lens group 406at the specified speed until it reaches physical device limits or until an 407explicit request to stop the movement. A positive value moves the zoom lens 408group towards the telephoto direction. A value of zero stops the zoom lens 409group movement. A negative value moves the zoom lens group towards the 410wide-angle direction. The zoom speed unit is driver-specific.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_IRIS_ABSOLUTE</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">This control sets the 411camera's aperture to the specified value. The unit is undefined. 412Larger values open the iris wider, smaller values close it.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_IRIS_RELATIVE</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">This control modifies the 413camera's aperture by the specified amount. The unit is undefined. 414Positive values open the iris one step further, negative values close 415it one step further. This is a write-only control.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_PRIVACY</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Prevent video from being acquired 416by the camera. When this control is set to <code class="constant">TRUE</code> (1), no 417image can be captured by the camera. Common means to enforce privacy are 418mechanical obturation of the sensor and firmware image processing, but the 419device is not restricted to these methods. Devices that implement the privacy 420control must support read access and may support write access.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_BAND_STOP_FILTER</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Switch the band-stop filter of a 421camera sensor on or off, or specify its strength. Such band-stop filters can 422be used, for example, to filter out the fluorescent light component.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-auto-n-preset-white-balance"></a><code class="constant">V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE</code> </td><td valign="top">enum v4l2_auto_n_preset_white_balance</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Sets white balance to automatic, 423manual or a preset. The presets determine color temperature of the light as 424a hint to the camera for white balance adjustments resulting in most accurate 425color representation. The following white balance presets are listed in order 426of increasing color temperature.</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_WHITE_BALANCE_MANUAL</code> </td><td valign="top">Manual white balance.</td></tr><tr><td valign="top"><code class="constant">V4L2_WHITE_BALANCE_AUTO</code> </td><td valign="top">Automatic white balance adjustments.</td></tr><tr><td valign="top"><code class="constant">V4L2_WHITE_BALANCE_INCANDESCENT</code> </td><td valign="top">White balance setting for incandescent (tungsten) lighting. 427It generally cools down the colors and corresponds approximately to 2500...3500 K 428color temperature range.</td></tr><tr><td valign="top"><code class="constant">V4L2_WHITE_BALANCE_FLUORESCENT</code> </td><td valign="top">White balance preset for fluorescent lighting. 429It corresponds approximately to 4000...5000 K color temperature.</td></tr><tr><td valign="top"><code class="constant">V4L2_WHITE_BALANCE_FLUORESCENT_H</code> </td><td valign="top">With this setting the camera will compensate for 430fluorescent H lighting.</td></tr><tr><td valign="top"><code class="constant">V4L2_WHITE_BALANCE_HORIZON</code> </td><td valign="top">White balance setting for horizon daylight. 431It corresponds approximately to 5000 K color temperature.</td></tr><tr><td valign="top"><code class="constant">V4L2_WHITE_BALANCE_DAYLIGHT</code> </td><td valign="top">White balance preset for daylight (with clear sky). 432It corresponds approximately to 5000...6500 K color temperature.</td></tr><tr><td valign="top"><code class="constant">V4L2_WHITE_BALANCE_FLASH</code> </td><td valign="top">With this setting the camera will compensate for the flash 433light. It slightly warms up the colors and corresponds roughly to 5000...5500 K 434color temperature.</td></tr><tr><td valign="top"><code class="constant">V4L2_WHITE_BALANCE_CLOUDY</code> </td><td valign="top">White balance preset for moderately overcast sky. 435This option corresponds approximately to 6500...8000 K color temperature 436range.</td></tr><tr><td valign="top"><code class="constant">V4L2_WHITE_BALANCE_SHADE</code> </td><td valign="top">White balance preset for shade or heavily overcast 437sky. It corresponds approximately to 9000...10000 K color temperature. 438</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-wide-dynamic-range"></a><code class="constant">V4L2_CID_WIDE_DYNAMIC_RANGE</code></td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Enables or disables the camera's wide dynamic 439range feature. This feature allows to obtain clear images in situations where 440intensity of the illumination varies significantly throughout the scene, i.e. 441there are simultaneously very dark and very bright areas. It is most commonly 442realized in cameras by combining two subsequent frames with different exposure 443times. <a href="#ftn.ctypeconv" class="footnote" name="ctypeconv"><sup class="footnote">[a]</sup></a></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-image-stabilization"></a><code class="constant">V4L2_CID_IMAGE_STABILIZATION</code></td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Enables or disables image stabilization. 444 <a href="extended-controls.html#ftn.ctypeconv" class="footnoteref"><sup class="footnoteref">[a]</sup></a></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_ISO_SENSITIVITY</code> </td><td valign="top">integer menu</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Determines ISO equivalent of an 445image sensor indicating the sensor's sensitivity to light. The numbers are 446expressed in arithmetic scale, as per <a class="xref" href="bi01.html#iso12232" title="Photography — Digital still cameras — Determination of exposure index, ISO speed ratings, standard output sensitivity, and recommended exposure index">[<abbr class="abbrev">ISO 12232:2006</abbr>]</a> standard, 447where doubling the sensor sensitivity is represented by doubling the numerical 448ISO value. Applications should interpret the values as standard ISO values 449multiplied by 1000, e.g. control value 800 stands for ISO 0.8. Drivers will 450usually support only a subset of standard ISO values. The effect of setting 451this control while the <code class="constant">V4L2_CID_ISO_SENSITIVITY_AUTO</code> 452control is set to a value other than <code class="constant">V4L2_CID_ISO_SENSITIVITY_MANUAL 453</code> is undefined, drivers should ignore such requests.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-iso-sensitivity-auto-type"></a><code class="constant">V4L2_CID_ISO_SENSITIVITY_AUTO</code> </td><td valign="top">enum v4l2_iso_sensitivity_type</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Enables or disables automatic ISO 454sensitivity adjustments.</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_CID_ISO_SENSITIVITY_MANUAL</code> </td><td valign="top">Manual ISO sensitivity.</td></tr><tr><td valign="top"><code class="constant">V4L2_CID_ISO_SENSITIVITY_AUTO</code> </td><td valign="top">Automatic ISO sensitivity adjustments.</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><a name="v4l2-scene-mode"></a><code class="constant">V4L2_CID_SCENE_MODE</code> </td><td valign="top">enum v4l2_scene_mode</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">This control allows to select 455scene programs as the camera automatic modes optimized for common shooting 456scenes. Within these modes the camera determines best exposure, aperture, 457focusing, light metering, white balance and equivalent sensitivity. The 458controls of those parameters are influenced by the scene mode control. 459An exact behavior in each mode is subject to the camera specification. 460 461<p>When the scene mode feature is not used, this control should be set to 462<code class="constant">V4L2_SCENE_MODE_NONE</code> to make sure the other possibly 463related controls are accessible. The following scene programs are defined: 464</p> 465</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_SCENE_MODE_NONE</code> </td><td valign="top">The scene mode feature is disabled.</td></tr><tr><td valign="top"><code class="constant">V4L2_SCENE_MODE_BACKLIGHT</code> </td><td valign="top">Backlight. Compensates for dark shadows when light is 466 coming from behind a subject, also by automatically turning 467 on the flash.</td></tr><tr><td valign="top"><code class="constant">V4L2_SCENE_MODE_BEACH_SNOW</code> </td><td valign="top">Beach and snow. This mode compensates for all-white or 468bright scenes, which tend to look gray and low contrast, when camera's automatic 469exposure is based on an average scene brightness. To compensate, this mode 470automatically slightly overexposes the frames. The white balance may also be 471adjusted to compensate for the fact that reflected snow looks bluish rather 472than white.</td></tr><tr><td valign="top"><code class="constant">V4L2_SCENE_MODE_CANDLELIGHT</code> </td><td valign="top">Candle light. The camera generally raises the ISO 473sensitivity and lowers the shutter speed. This mode compensates for relatively 474close subject in the scene. The flash is disabled in order to preserve the 475ambiance of the light.</td></tr><tr><td valign="top"><code class="constant">V4L2_SCENE_MODE_DAWN_DUSK</code> </td><td valign="top">Dawn and dusk. Preserves the colors seen in low 476natural light before dusk and after down. The camera may turn off the flash, 477and automatically focus at infinity. It will usually boost saturation and 478lower the shutter speed.</td></tr><tr><td valign="top"><code class="constant">V4L2_SCENE_MODE_FALL_COLORS</code> </td><td valign="top">Fall colors. Increases saturation and adjusts white 479balance for color enhancement. Pictures of autumn leaves get saturated reds 480and yellows.</td></tr><tr><td valign="top"><code class="constant">V4L2_SCENE_MODE_FIREWORKS</code> </td><td valign="top">Fireworks. Long exposure times are used to capture 481the expanding burst of light from a firework. The camera may invoke image 482stabilization.</td></tr><tr><td valign="top"><code class="constant">V4L2_SCENE_MODE_LANDSCAPE</code> </td><td valign="top">Landscape. The camera may choose a small aperture to 483provide deep depth of field and long exposure duration to help capture detail 484in dim light conditions. The focus is fixed at infinity. Suitable for distant 485and wide scenery.</td></tr><tr><td valign="top"><code class="constant">V4L2_SCENE_MODE_NIGHT</code> </td><td valign="top">Night, also known as Night Landscape. Designed for low 486light conditions, it preserves detail in the dark areas without blowing out bright 487objects. The camera generally sets itself to a medium-to-high ISO sensitivity, 488with a relatively long exposure time, and turns flash off. As such, there will be 489increased image noise and the possibility of blurred image.</td></tr><tr><td valign="top"><code class="constant">V4L2_SCENE_MODE_PARTY_INDOOR</code> </td><td valign="top">Party and indoor. Designed to capture indoor scenes 490that are lit by indoor background lighting as well as the flash. The camera 491usually increases ISO sensitivity, and adjusts exposure for the low light 492conditions.</td></tr><tr><td valign="top"><code class="constant">V4L2_SCENE_MODE_PORTRAIT</code> </td><td valign="top">Portrait. The camera adjusts the aperture so that the 493depth of field is reduced, which helps to isolate the subject against a smooth 494background. Most cameras recognize the presence of faces in the scene and focus 495on them. The color hue is adjusted to enhance skin tones. The intensity of the 496flash is often reduced.</td></tr><tr><td valign="top"><code class="constant">V4L2_SCENE_MODE_SPORTS</code> </td><td valign="top">Sports. Significantly increases ISO and uses a fast 497shutter speed to freeze motion of rapidly-moving subjects. Increased image 498noise may be seen in this mode.</td></tr><tr><td valign="top"><code class="constant">V4L2_SCENE_MODE_SUNSET</code> </td><td valign="top">Sunset. Preserves deep hues seen in sunsets and 499sunrises. It bumps up the saturation.</td></tr><tr><td valign="top"><code class="constant">V4L2_SCENE_MODE_TEXT</code> </td><td valign="top">Text. It applies extra contrast and sharpness, it is 500typically a black-and-white mode optimized for readability. Automatic focus 501may be switched to close-up mode and this setting may also involve some 502lens-distortion correction.</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_3A_LOCK</code></td><td valign="top">bitmask</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">This control locks or unlocks the automatic 503focus, exposure and white balance. The automatic adjustments can be paused 504independently by setting the corresponding lock bit to 1. The camera then retains 505the settings until the lock bit is cleared. The following lock bits are defined: 506</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_LOCK_EXPOSURE</code></td><td valign="top">Automatic exposure adjustments lock.</td></tr><tr><td valign="top"><code class="constant">V4L2_LOCK_WHITE_BALANCE</code></td><td valign="top">Automatic white balance adjustments lock.</td></tr><tr><td valign="top"><code class="constant">V4L2_LOCK_FOCUS</code></td><td valign="top">Automatic focus lock.</td></tr></tbody></table></td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"> 507When a given algorithm is not enabled, drivers should ignore requests 508to lock it and should return no error. An example might be an application 509setting bit <code class="constant">V4L2_LOCK_WHITE_BALANCE</code> when the 510<code class="constant">V4L2_CID_AUTO_WHITE_BALANCE</code> control is set to 511<code class="constant">FALSE</code>. The value of this control may be changed 512by exposure, white balance or focus controls.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_PAN_SPEED</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">This control turns the 513camera horizontally at the specific speed. The unit is undefined. A 514positive value moves the camera to the right (clockwise when viewed 515from above), a negative value to the left. A value of zero stops the motion 516if one is in progress and has no effect otherwise.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_TILT_SPEED</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">This control turns the 517camera vertically at the specified speed. The unit is undefined. A 518positive value moves the camera up, a negative value down. A value of zero 519stops the motion if one is in progress and has no effect otherwise.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody><tbody class="footnotes"><tr><td colspan="4"><div id="ftn.ctypeconv" class="footnote"><p><a href="#ctypeconv" class="para"><sup class="para">[a] </sup></a> This control may be changed to a menu 520control in the future, if more options are required.</p></div></td></tr></tbody></table></div></div><br class="table-break"></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="fm-tx-controls"></a>FM Transmitter Control Reference</h3></div></div></div><p>The FM Transmitter (FM_TX) class includes controls for common features of 521FM transmissions capable devices. Currently this class includes parameters for audio 522compression, pilot tone generation, audio deviation limiter, RDS transmission and 523tuning power features.</p><div class="table"><a name="fm-tx-control-id"></a><p class="title"><b>Table 1.7. FM_TX Control IDs</b></p><div class="table-contents"><table summary="FM_TX Control IDs" width="100%" border="0"><colgroup><col class="c1"><col class="c2"><col class="c3"><col class="c4"></colgroup><thead><tr><th colspan="2" align="left">ID</th><th align="left">Type</th><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><th colspan="3" align="left">Description</th></tr></thead><tbody valign="top"><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_FM_TX_CLASS</code> </td><td valign="top">class</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">The FM_TX class 524descriptor. Calling <a class="link" href="vidioc-queryctrl.html" title="ioctl VIDIOC_QUERYCTRL, VIDIOC_QUERY_EXT_CTRL, VIDIOC_QUERYMENU"><code class="constant">VIDIOC_QUERYCTRL</code></a> for this control will return a 525description of this control class.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_RDS_TX_DEVIATION</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Configures RDS signal frequency deviation level in Hz. 526The range and step are driver-specific.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_RDS_TX_PI</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Sets the RDS Programme Identification field 527for transmission.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_RDS_TX_PTY</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Sets the RDS Programme Type field for transmission. 528This encodes up to 31 pre-defined programme types.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_RDS_TX_PS_NAME</code> </td><td valign="top">string</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Sets the Programme Service name (PS_NAME) for transmission. 529It is intended for static display on a receiver. It is the primary aid to listeners in programme service 530identification and selection. In Annex E of <a class="xref" href="bi01.html#iec62106" title="Specification of the radio data system (RDS) for VHF/FM sound broadcasting in the frequency range from 87,5 to 108,0 MHz">[<abbr class="abbrev">IEC 62106</abbr>]</a>, the RDS specification, 531there is a full description of the correct character encoding for Programme Service name strings. 532Also from RDS specification, PS is usually a single eight character text. However, it is also possible 533to find receivers which can scroll strings sized as 8 x N characters. So, this control must be configured 534with steps of 8 characters. The result is it must always contain a string with size multiple of 8.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_RDS_TX_RADIO_TEXT</code> </td><td valign="top">string</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Sets the Radio Text info for transmission. It is a textual description of 535what is being broadcasted. RDS Radio Text can be applied when broadcaster wishes to transmit longer PS names, 536programme-related information or any other text. In these cases, RadioText should be used in addition to 537<code class="constant">V4L2_CID_RDS_TX_PS_NAME</code>. The encoding for Radio Text strings is also fully described 538in Annex E of <a class="xref" href="bi01.html#iec62106" title="Specification of the radio data system (RDS) for VHF/FM sound broadcasting in the frequency range from 87,5 to 108,0 MHz">[<abbr class="abbrev">IEC 62106</abbr>]</a>. The length of Radio Text strings depends on which RDS Block is being 539used to transmit it, either 32 (2A block) or 64 (2B block). However, it is also possible 540to find receivers which can scroll strings sized as 32 x N or 64 x N characters. So, this control must be configured 541with steps of 32 or 64 characters. The result is it must always contain a string with size multiple of 32 or 64. </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_RDS_TX_MONO_STEREO</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Sets the Mono/Stereo bit of the Decoder Identification code. If set, 542then the audio was recorded as stereo.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_RDS_TX_ARTIFICIAL_HEAD</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Sets the 543<a class="ulink" href="http://en.wikipedia.org/wiki/Artificial_head" target="_top">Artificial Head</a> bit of the Decoder 544Identification code. If set, then the audio was recorded using an artificial head.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_RDS_TX_COMPRESSED</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Sets the Compressed bit of the Decoder Identification code. If set, 545then the audio is compressed.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_RDS_TX_DYNAMIC_PTY</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Sets the Dynamic PTY bit of the Decoder Identification code. If set, 546then the PTY code is dynamically switched.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">If set, then a traffic announcement is in progress.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_RDS_TX_TRAFFIC_PROGRAM</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">If set, then the tuned programme carries traffic announcements.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_RDS_TX_MUSIC_SPEECH</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">If set, then this channel broadcasts music. If cleared, then it 547broadcasts speech. If the transmitter doesn't make this distinction, then it should be set.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_RDS_TX_ALT_FREQS_ENABLE</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">If set, then transmit alternate frequencies.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_RDS_TX_ALT_FREQS</code> </td><td valign="top">__u32 array</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">The alternate frequencies in kHz units. The RDS standard allows 548for up to 25 frequencies to be defined. Drivers may support fewer frequencies so check 549the array size.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_AUDIO_LIMITER_ENABLED</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Enables or disables the audio deviation limiter feature. 550The limiter is useful when trying to maximize the audio volume, minimize receiver-generated 551distortion and prevent overmodulation. 552</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_AUDIO_LIMITER_RELEASE_TIME</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Sets the audio deviation limiter feature release time. 553Unit is in useconds. Step and range are driver-specific.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_AUDIO_LIMITER_DEVIATION</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Configures audio frequency deviation level in Hz. 554The range and step are driver-specific.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_AUDIO_COMPRESSION_ENABLED</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Enables or disables the audio compression feature. 555This feature amplifies signals below the threshold by a fixed gain and compresses audio 556signals above the threshold by the ratio of Threshold/(Gain + Threshold).</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_AUDIO_COMPRESSION_GAIN</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Sets the gain for audio compression feature. It is 557a dB value. The range and step are driver-specific.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_AUDIO_COMPRESSION_THRESHOLD</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Sets the threshold level for audio compression freature. 558It is a dB value. The range and step are driver-specific.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Sets the attack time for audio compression feature. 559It is a useconds value. The range and step are driver-specific.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Sets the release time for audio compression feature. 560It is a useconds value. The range and step are driver-specific.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_PILOT_TONE_ENABLED</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Enables or disables the pilot tone generation feature.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_PILOT_TONE_DEVIATION</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Configures pilot tone frequency deviation level. Unit is 561in Hz. The range and step are driver-specific.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_PILOT_TONE_FREQUENCY</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Configures pilot tone frequency value. Unit is 562in Hz. The range and step are driver-specific.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_TUNE_PREEMPHASIS</code> </td><td valign="top">enum v4l2_preemphasis</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><a name="v4l2-preemphasis"></a>Configures the pre-emphasis value for broadcasting. 563A pre-emphasis filter is applied to the broadcast to accentuate the high audio frequencies. 564Depending on the region, a time constant of either 50 or 75 useconds is used. The enum v4l2_preemphasis 565defines possible values for pre-emphasis. Here they are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_PREEMPHASIS_DISABLED</code> </td><td valign="top">No pre-emphasis is applied.</td></tr><tr><td valign="top"><code class="constant">V4L2_PREEMPHASIS_50_uS</code> </td><td valign="top">A pre-emphasis of 50 uS is used.</td></tr><tr><td valign="top"><code class="constant">V4L2_PREEMPHASIS_75_uS</code> </td><td valign="top">A pre-emphasis of 75 uS is used.</td></tr></tbody></table></td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_TUNE_POWER_LEVEL</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Sets the output power level for signal transmission. 566Unit is in dBuV. Range and step are driver-specific.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_TUNE_ANTENNA_CAPACITOR</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">This selects the value of antenna tuning capacitor 567manually or automatically if set to zero. Unit, range and step are driver-specific.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break"><p>For more details about RDS specification, refer to 568<a class="xref" href="bi01.html#iec62106" title="Specification of the radio data system (RDS) for VHF/FM sound broadcasting in the frequency range from 87,5 to 108,0 MHz">[<abbr class="abbrev">IEC 62106</abbr>]</a> document, from CENELEC.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="flash-controls"></a>Flash Control Reference</h3></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="extended-controls.html#flash-controls-use-cases">Supported use cases</a></span></dt></dl></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Experimental</h3><p>This is an <a class="link" href="hist-v4l2.html#experimental" title="Experimental API Elements">experimental</a> 569interface and may change in the future.</p></div><p> 570 The V4L2 flash controls are intended to provide generic access 571 to flash controller devices. Flash controller devices are 572 typically used in digital cameras. 573 </p><p> 574 The interface can support both LED and xenon flash devices. As 575 of writing this, there is no xenon flash driver using this 576 interface. 577 </p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="flash-controls-use-cases"></a>Supported use cases</h4></div></div></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a name="idp1097709812"></a>Unsynchronised LED flash (software strobe)</h5></div></div></div><p> 578 Unsynchronised LED flash is controlled directly by the 579 host as the sensor. The flash must be enabled by the host 580 before the exposure of the image starts and disabled once 581 it ends. The host is fully responsible for the timing of 582 the flash. 583 </p><p>Example of such device: Nokia N900.</p></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a name="idp1097710948"></a>Synchronised LED flash (hardware strobe)</h5></div></div></div><p> 584 The synchronised LED flash is pre-programmed by the host 585 (power and timeout) but controlled by the sensor through a 586 strobe signal from the sensor to the flash. 587 </p><p> 588 The sensor controls the flash duration and timing. This 589 information typically must be made available to the 590 sensor. 591 </p></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a name="idp1097712092"></a>LED flash as torch</h5></div></div></div><p> 592 LED flash may be used as torch in conjunction with another 593 use case involving camera or individually. 594 </p><div class="table"><a name="flash-control-id"></a><p class="title"><b>Table 1.8. Flash Control IDs</b></p><div class="table-contents"><table summary="Flash Control IDs" width="100%" border="0"><colgroup><col class="c1"><col class="c2"><col class="c3"><col class="c4"></colgroup><thead><tr><th colspan="2" align="left">ID</th><th align="left">Type</th><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><th colspan="3" align="left">Description</th></tr></thead><tbody valign="top"><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_FLASH_CLASS</code></td><td valign="top">class</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">The FLASH class descriptor.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_FLASH_LED_MODE</code></td><td valign="top">menu</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><a name="v4l2-flash-led-mode"></a>Defines the mode of the flash LED, 595 the high-power white LED attached to the flash controller. 596 Setting this control may not be possible in presence of 597 some faults. See V4L2_CID_FLASH_FAULT.</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_FLASH_LED_MODE_NONE</code></td><td valign="top">Off.</td></tr><tr><td valign="top"><code class="constant">V4L2_FLASH_LED_MODE_FLASH</code></td><td valign="top">Flash mode.</td></tr><tr><td valign="top"><code class="constant">V4L2_FLASH_LED_MODE_TORCH</code></td><td valign="top">Torch mode. See V4L2_CID_FLASH_TORCH_INTENSITY.</td></tr></tbody></table></td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_FLASH_STROBE_SOURCE</code></td><td valign="top">menu</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><a name="v4l2-flash-strobe-source"></a>Defines the source of the flash LED 598 strobe.</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_FLASH_STROBE_SOURCE_SOFTWARE</code></td><td valign="top">The flash strobe is triggered by using 599 the V4L2_CID_FLASH_STROBE control.</td></tr><tr><td valign="top"><code class="constant">V4L2_FLASH_STROBE_SOURCE_EXTERNAL</code></td><td valign="top">The flash strobe is triggered by an 600 external source. Typically this is a sensor, 601 which makes it possible to synchronises the 602 flash strobe start to exposure start.</td></tr></tbody></table></td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_FLASH_STROBE</code></td><td valign="top">button</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Strobe flash. Valid when 603 V4L2_CID_FLASH_LED_MODE is set to 604 V4L2_FLASH_LED_MODE_FLASH and V4L2_CID_FLASH_STROBE_SOURCE 605 is set to V4L2_FLASH_STROBE_SOURCE_SOFTWARE. Setting this 606 control may not be possible in presence of some faults. 607 See V4L2_CID_FLASH_FAULT.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_FLASH_STROBE_STOP</code></td><td valign="top">button</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Stop flash strobe immediately.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_FLASH_STROBE_STATUS</code></td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Strobe status: whether the flash 608 is strobing at the moment or not. This is a read-only 609 control.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_FLASH_TIMEOUT</code></td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Hardware timeout for flash. The 610 flash strobe is stopped after this period of time has 611 passed from the start of the strobe.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_FLASH_INTENSITY</code></td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Intensity of the flash strobe when 612 the flash LED is in flash mode 613 (V4L2_FLASH_LED_MODE_FLASH). The unit should be milliamps 614 (mA) if possible.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_FLASH_TORCH_INTENSITY</code></td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Intensity of the flash LED in 615 torch mode (V4L2_FLASH_LED_MODE_TORCH). The unit should be 616 milliamps (mA) if possible. Setting this control may not 617 be possible in presence of some faults. See 618 V4L2_CID_FLASH_FAULT.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_FLASH_INDICATOR_INTENSITY</code></td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Intensity of the indicator LED. 619 The indicator LED may be fully independent of the flash 620 LED. The unit should be microamps (uA) if possible.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_FLASH_FAULT</code></td><td valign="top">bitmask</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Faults related to the flash. The 621 faults tell about specific problems in the flash chip 622 itself or the LEDs attached to it. Faults may prevent 623 further use of some of the flash controls. In particular, 624 V4L2_CID_FLASH_LED_MODE is set to V4L2_FLASH_LED_MODE_NONE 625 if the fault affects the flash LED. Exactly which faults 626 have such an effect is chip dependent. Reading the faults 627 resets the control and returns the chip to a usable state 628 if possible.</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_FLASH_FAULT_OVER_VOLTAGE</code></td><td valign="top">Flash controller voltage to the flash LED 629 has exceeded the limit specific to the flash 630 controller.</td></tr><tr><td valign="top"><code class="constant">V4L2_FLASH_FAULT_TIMEOUT</code></td><td valign="top">The flash strobe was still on when 631 the timeout set by the user --- 632 V4L2_CID_FLASH_TIMEOUT control --- has expired. 633 Not all flash controllers may set this in all 634 such conditions.</td></tr><tr><td valign="top"><code class="constant">V4L2_FLASH_FAULT_OVER_TEMPERATURE</code></td><td valign="top">The flash controller has overheated.</td></tr><tr><td valign="top"><code class="constant">V4L2_FLASH_FAULT_SHORT_CIRCUIT</code></td><td valign="top">The short circuit protection of the flash 635 controller has been triggered.</td></tr><tr><td valign="top"><code class="constant">V4L2_FLASH_FAULT_OVER_CURRENT</code></td><td valign="top">Current in the LED power supply has exceeded the limit 636 specific to the flash controller.</td></tr><tr><td valign="top"><code class="constant">V4L2_FLASH_FAULT_INDICATOR</code></td><td valign="top">The flash controller has detected a short or open 637 circuit condition on the indicator LED.</td></tr><tr><td valign="top"><code class="constant">V4L2_FLASH_FAULT_UNDER_VOLTAGE</code></td><td valign="top">Flash controller voltage to the flash LED 638 has been below the minimum limit specific to the flash 639 controller.</td></tr><tr><td valign="top"><code class="constant">V4L2_FLASH_FAULT_INPUT_VOLTAGE</code></td><td valign="top">The input voltage of the flash controller is below 640 the limit under which strobing the flash at full current 641 will not be possible.The condition persists until this flag 642 is no longer set.</td></tr><tr><td valign="top"><code class="constant">V4L2_FLASH_FAULT_LED_OVER_TEMPERATURE</code></td><td valign="top">The temperature of the LED has exceeded its 643 allowed upper limit.</td></tr></tbody></table></td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_FLASH_CHARGE</code></td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Enable or disable charging of the xenon 644 flash capacitor.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_FLASH_READY</code></td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Is the flash ready to strobe? 645 Xenon flashes require their capacitors charged before 646 strobing. LED flashes often require a cooldown period 647 after strobe during which another strobe will not be 648 possible. This is a read-only control.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break"></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="jpeg-controls"></a>JPEG Control Reference</h3></div></div></div><p>The JPEG class includes controls for common features of JPEG 649 encoders and decoders. Currently it includes features for codecs 650 implementing progressive baseline DCT compression process with 651 Huffman entrophy coding.</p><div class="table"><a name="jpeg-control-id"></a><p class="title"><b>Table 1.9. JPEG Control IDs</b></p><div class="table-contents"><table summary="JPEG Control IDs" width="100%" border="0"><colgroup><col class="c1"><col class="c2"><col class="c3"><col class="c4"></colgroup><thead><tr><th colspan="2" align="left">ID</th><th align="left">Type</th><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><th colspan="3" align="left">Description</th></tr></thead><tbody valign="top"><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_JPEG_CLASS</code> </td><td valign="top">class</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">The JPEG class descriptor. Calling 652 <a class="link" href="vidioc-queryctrl.html" title="ioctl VIDIOC_QUERYCTRL, VIDIOC_QUERY_EXT_CTRL, VIDIOC_QUERYMENU"><code class="constant">VIDIOC_QUERYCTRL</code></a> for this control will return a description of this 653 control class. 654 655 </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_JPEG_CHROMA_SUBSAMPLING</code></td><td valign="top">menu</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><a name="v4l2-jpeg-chroma-subsampling"></a>The chroma subsampling factors describe how 656 each component of an input image is sampled, in respect to maximum 657 sample rate in each spatial dimension. See <a class="xref" href="bi01.html#itu-t81" title='ITU-T Recommendation T.81 "Information Technology — Digital Compression and Coding of Continous-Tone Still Images — Requirements and Guidelines"'>[<abbr class="abbrev">ITU-T.81</abbr>]</a>, 658 clause A.1.1. for more details. The <code class="constant"> 659 V4L2_CID_JPEG_CHROMA_SUBSAMPLING</code> control determines how 660 Cb and Cr components are downsampled after coverting an input image 661 from RGB to Y'CbCr color space. 662 </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_JPEG_CHROMA_SUBSAMPLING_444</code> 663 </td><td valign="top">No chroma subsampling, each pixel has 664 Y, Cr and Cb values.</td></tr><tr><td valign="top"><code class="constant">V4L2_JPEG_CHROMA_SUBSAMPLING_422</code> 665 </td><td valign="top">Horizontally subsample Cr, Cb components 666 by a factor of 2.</td></tr><tr><td valign="top"><code class="constant">V4L2_JPEG_CHROMA_SUBSAMPLING_420</code> 667 </td><td valign="top">Subsample Cr, Cb components horizontally 668 and vertically by 2.</td></tr><tr><td valign="top"><code class="constant">V4L2_JPEG_CHROMA_SUBSAMPLING_411</code> 669 </td><td valign="top">Horizontally subsample Cr, Cb components 670 by a factor of 4.</td></tr><tr><td valign="top"><code class="constant">V4L2_JPEG_CHROMA_SUBSAMPLING_410</code> 671 </td><td valign="top">Subsample Cr, Cb components horizontally 672 by 4 and vertically by 2.</td></tr><tr><td valign="top"><code class="constant">V4L2_JPEG_CHROMA_SUBSAMPLING_GRAY</code> 673 </td><td valign="top">Use only luminance component.</td></tr></tbody></table></td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_JPEG_RESTART_INTERVAL</code> 674 </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"> 675 The restart interval determines an interval of inserting RSTm 676 markers (m = 0..7). The purpose of these markers is to additionally 677 reinitialize the encoder process, in order to process blocks of 678 an image independently. 679 For the lossy compression processes the restart interval unit is 680 MCU (Minimum Coded Unit) and its value is contained in DRI 681 (Define Restart Interval) marker. If <code class="constant"> 682 V4L2_CID_JPEG_RESTART_INTERVAL</code> control is set to 0, 683 DRI and RSTm markers will not be inserted. 684 </td></tr><tr><td colspan="2" valign="top"><a name="jpeg-quality-control"></a><code class="constant">V4L2_CID_JPEG_COMPRESSION_QUALITY</code></td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"> 685 <code class="constant">V4L2_CID_JPEG_COMPRESSION_QUALITY</code> control 686 determines trade-off between image quality and size. 687 It provides simpler method for applications to control image quality, 688 without a need for direct reconfiguration of luminance and chrominance 689 quantization tables. 690 691 In cases where a driver uses quantization tables configured directly 692 by an application, using interfaces defined elsewhere, <code class="constant"> 693 V4L2_CID_JPEG_COMPRESSION_QUALITY</code> control should be set 694 by driver to 0. 695 696 <p>The value range of this control is driver-specific. Only 697 positive, non-zero values are meaningful. The recommended range 698 is 1 - 100, where larger values correspond to better image quality. 699 </p> 700 </td></tr><tr><td colspan="2" valign="top"><a name="jpeg-active-marker-control"></a><code class="constant">V4L2_CID_JPEG_ACTIVE_MARKER</code></td><td valign="top">bitmask</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Specify which JPEG markers are included 701 in compressed stream. This control is valid only for encoders. 702 </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_JPEG_ACTIVE_MARKER_APP0</code></td><td valign="top">Application data segment APP<sub>0</sub>.</td></tr><tr><td valign="top"><code class="constant">V4L2_JPEG_ACTIVE_MARKER_APP1</code></td><td valign="top">Application data segment APP<sub>1</sub>.</td></tr><tr><td valign="top"><code class="constant">V4L2_JPEG_ACTIVE_MARKER_COM</code></td><td valign="top">Comment segment.</td></tr><tr><td valign="top"><code class="constant">V4L2_JPEG_ACTIVE_MARKER_DQT</code></td><td valign="top">Quantization tables segment.</td></tr><tr><td valign="top"><code class="constant">V4L2_JPEG_ACTIVE_MARKER_DHT</code></td><td valign="top">Huffman tables segment.</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break"><p>For more details about JPEG specification, refer 703 to <a class="xref" href="bi01.html#itu-t81" title='ITU-T Recommendation T.81 "Information Technology — Digital Compression and Coding of Continous-Tone Still Images — Requirements and Guidelines"'>[<abbr class="abbrev">ITU-T.81</abbr>]</a>, <a class="xref" href="bi01.html#jfif" title="JPEG File Interchange Format">[<abbr class="abbrev">JFIF</abbr>]</a>, 704 <a class="xref" href="bi01.html#w3c-jpeg-jfif" title="JPEG JFIF">[<abbr class="abbrev">W3C JPEG JFIF</abbr>]</a>.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="image-source-controls"></a>Image Source Control Reference</h3></div></div></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Experimental</h3><p>This is an <a class="link" href="hist-v4l2.html#experimental" title="Experimental API Elements">experimental</a> interface and may 705 change in the future.</p></div><p> 706 The Image Source control class is intended for low-level 707 control of image source devices such as image sensors. The 708 devices feature an analogue to digital converter and a bus 709 transmitter to transmit the image data out of the device. 710 </p><div class="table"><a name="image-source-control-id"></a><p class="title"><b>Table 1.10. Image Source Control IDs</b></p><div class="table-contents"><table summary="Image Source Control IDs" width="100%" border="0"><colgroup><col class="c1"><col class="c2"><col class="c3"><col class="c4"></colgroup><thead><tr><th colspan="2" align="left">ID</th><th align="left">Type</th><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><th colspan="3" align="left">Description</th></tr></thead><tbody valign="top"><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_IMAGE_SOURCE_CLASS</code></td><td valign="top">class</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">The IMAGE_SOURCE class descriptor.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_VBLANK</code></td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Vertical blanking. The idle period 711 after every frame during which no image data is produced. 712 The unit of vertical blanking is a line. Every line has 713 length of the image width plus horizontal blanking at the 714 pixel rate defined by 715 <code class="constant">V4L2_CID_PIXEL_RATE</code> control in the 716 same sub-device.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_HBLANK</code></td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Horizontal blanking. The idle 717 period after every line of image data during which no 718 image data is produced. The unit of horizontal blanking is 719 pixels.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_ANALOGUE_GAIN</code></td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Analogue gain is gain affecting 720 all colour components in the pixel matrix. The gain 721 operation is performed in the analogue domain before A/D 722 conversion. 723 </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_TEST_PATTERN_RED</code></td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Test pattern red colour component. 724 </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_TEST_PATTERN_GREENR</code></td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Test pattern green (next to red) 725 colour component. 726 </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_TEST_PATTERN_BLUE</code></td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Test pattern blue colour component. 727 </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_TEST_PATTERN_GREENB</code></td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Test pattern green (next to blue) 728 colour component. 729 </td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break"></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="image-process-controls"></a>Image Process Control Reference</h3></div></div></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Experimental</h3><p>This is an <a class="link" href="hist-v4l2.html#experimental" title="Experimental API Elements">experimental</a> interface and may 730 change in the future.</p></div><p> 731 The Image Source control class is intended for low-level control of 732 image processing functions. Unlike 733 <code class="constant">V4L2_CID_IMAGE_SOURCE_CLASS</code>, the controls in 734 this class affect processing the image, and do not control capturing 735 of it. 736 </p><div class="table"><a name="image-process-control-id"></a><p class="title"><b>Table 1.11. Image Source Control IDs</b></p><div class="table-contents"><table summary="Image Source Control IDs" width="100%" border="0"><colgroup><col class="c1"><col class="c2"><col class="c3"><col class="c4"></colgroup><thead><tr><th colspan="2" align="left">ID</th><th align="left">Type</th><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><th colspan="3" align="left">Description</th></tr></thead><tbody valign="top"><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_IMAGE_PROC_CLASS</code></td><td valign="top">class</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">The IMAGE_PROC class descriptor.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_LINK_FREQ</code></td><td valign="top">integer menu</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Data bus frequency. Together with the 737 media bus pixel code, bus type (clock cycles per sample), the 738 data bus frequency defines the pixel rate 739 (<code class="constant">V4L2_CID_PIXEL_RATE</code>) in the 740 pixel array (or possibly elsewhere, if the device is not an 741 image sensor). The frame rate can be calculated from the pixel 742 clock, image width and height and horizontal and vertical 743 blanking. While the pixel rate control may be defined elsewhere 744 than in the subdev containing the pixel array, the frame rate 745 cannot be obtained from that information. This is because only 746 on the pixel array it can be assumed that the vertical and 747 horizontal blanking information is exact: no other blanking is 748 allowed in the pixel array. The selection of frame rate is 749 performed by selecting the desired horizontal and vertical 750 blanking. The unit of this control is Hz. </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_PIXEL_RATE</code></td><td valign="top">64-bit integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Pixel rate in the source pads of 751 the subdev. This control is read-only and its unit is 752 pixels / second. 753 </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_TEST_PATTERN</code></td><td valign="top">menu</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><a name="v4l2-test-pattern"></a> Some capture/display/sensor devices have 754 the capability to generate test pattern images. These hardware 755 specific test patterns can be used to test if a device is working 756 properly.</td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break"></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="dv-controls"></a>Digital Video Control Reference</h3></div></div></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Experimental</h3><p>This is an <a class="link" href="hist-v4l2.html#experimental" title="Experimental API Elements">experimental</a> interface and may 757 change in the future.</p></div><p> 758 The Digital Video control class is intended to control receivers 759 and transmitters for <a class="ulink" href="http://en.wikipedia.org/wiki/Vga" target="_top">VGA</a>, 760 <a class="ulink" href="http://en.wikipedia.org/wiki/Digital_Visual_Interface" target="_top">DVI</a> 761 (Digital Visual Interface), HDMI (<a class="xref" href="bi01.html#hdmi" title="High-Definition Multimedia Interface">[<abbr class="abbrev">HDMI</abbr>]</a>) and DisplayPort (<a class="xref" href="bi01.html#dp" title="VESA DisplayPort Standard">[<abbr class="abbrev">DP</abbr>]</a>). 762 These controls are generally expected to be private to the receiver or transmitter 763 subdevice that implements them, so they are only exposed on the 764 <code class="filename">/dev/v4l-subdev*</code> device node. 765 </p><p>Note that these devices can have multiple input or output pads which are 766 hooked up to e.g. HDMI connectors. Even though the subdevice will receive or 767 transmit video from/to only one of those pads, the other pads can still be 768 active when it comes to EDID (Extended Display Identification Data, 769 <a class="xref" href="bi01.html#vesaedid" title="VESA Enhanced Extended Display Identification Data Standard">[<abbr class="abbrev">EDID</abbr>]</a>) and HDCP (High-bandwidth Digital Content 770 Protection System, <a class="xref" href="bi01.html#hdcp" title="High-bandwidth Digital Content Protection System">[<abbr class="abbrev">HDCP</abbr>]</a>) processing, allowing the device 771 to do the fairly slow EDID/HDCP handling in advance. This allows for quick 772 switching between connectors.</p><p>These pads appear in several of the controls in this section as 773 bitmasks, one bit for each pad. Bit 0 corresponds to pad 0, bit 1 to pad 1, 774 etc. The maximum value of the control is the set of valid pads.</p><div class="table"><a name="dv-control-id"></a><p class="title"><b>Table 1.12. Digital Video Control IDs</b></p><div class="table-contents"><table summary="Digital Video Control IDs" width="100%" border="0"><colgroup><col class="c1"><col class="c2"><col class="c3"><col class="c4"></colgroup><thead><tr><th colspan="2" align="left">ID</th><th align="left">Type</th><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><th colspan="3" align="left">Description</th></tr></thead><tbody valign="top"><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_DV_CLASS</code></td><td valign="top">class</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">The Digital Video class descriptor.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_DV_TX_HOTPLUG</code></td><td valign="top">bitmask</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Many connectors have a hotplug pin which is high 775 if EDID information is available from the source. This control shows the 776 state of the hotplug pin as seen by the transmitter. 777 Each bit corresponds to an output pad on the transmitter. If an output pad 778 does not have an associated hotplug pin, then the bit for that pad will be 0. 779 This read-only control is applicable to DVI-D, HDMI and DisplayPort connectors. 780 </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_DV_TX_RXSENSE</code></td><td valign="top">bitmask</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Rx Sense is the detection of pull-ups on the TMDS 781 clock lines. This normally means that the sink has left/entered standby (i.e. 782 the transmitter can sense that the receiver is ready to receive video). 783 Each bit corresponds to an output pad on the transmitter. If an output pad 784 does not have an associated Rx Sense, then the bit for that pad will be 0. 785 This read-only control is applicable to DVI-D and HDMI devices. 786 </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_DV_TX_EDID_PRESENT</code></td><td valign="top">bitmask</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">When the transmitter sees the hotplug signal from the 787 receiver it will attempt to read the EDID. If set, then the transmitter has read 788 at least the first block (= 128 bytes). 789 Each bit corresponds to an output pad on the transmitter. If an output pad 790 does not support EDIDs, then the bit for that pad will be 0. 791 This read-only control is applicable to VGA, DVI-A/D, HDMI and DisplayPort connectors. 792 </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_DV_TX_MODE</code></td><td valign="top"><a name="v4l2-dv-tx-mode"></a>enum v4l2_dv_tx_mode</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">HDMI transmitters can transmit in DVI-D mode (just video) 793 or in HDMI mode (video + audio + auxiliary data). This control selects which mode 794 to use: V4L2_DV_TX_MODE_DVI_D or V4L2_DV_TX_MODE_HDMI. 795 This control is applicable to HDMI connectors. 796 </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_DV_TX_RGB_RANGE</code></td><td valign="top"><a name="v4l2-dv-rgb-range"></a>enum v4l2_dv_rgb_range</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Select the quantization range for RGB output. V4L2_DV_RANGE_AUTO 797 follows the RGB quantization range specified in the standard for the video interface 798 (ie. <a class="xref" href="bi01.html#cea861" title="A DTV Profile for Uncompressed High Speed Digital Interfaces">[<abbr class="abbrev">CEA-861-E</abbr>]</a> for HDMI). V4L2_DV_RANGE_LIMITED and V4L2_DV_RANGE_FULL override the standard 799 to be compatible with sinks that have not implemented the standard correctly 800 (unfortunately quite common for HDMI and DVI-D). Full range allows all possible values to be 801 used whereas limited range sets the range to (16 << (N-8)) - (235 << (N-8)) 802 where N is the number of bits per component. 803 This control is applicable to VGA, DVI-A/D, HDMI and DisplayPort connectors. 804 </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_DV_RX_POWER_PRESENT</code></td><td valign="top">bitmask</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Detects whether the receiver receives power from the source 805 (e.g. HDMI carries 5V on one of the pins). This is often used to power an eeprom 806 which contains EDID information, such that the source can read the EDID even if 807 the sink is in standby/power off. 808 Each bit corresponds to an input pad on the transmitter. If an input pad 809 cannot detect whether power is present, then the bit for that pad will be 0. 810 This read-only control is applicable to DVI-D, HDMI and DisplayPort connectors. 811 </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_DV_RX_RGB_RANGE</code></td><td valign="top">enum v4l2_dv_rgb_range</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Select the quantization range for RGB input. V4L2_DV_RANGE_AUTO 812 follows the RGB quantization range specified in the standard for the video interface 813 (ie. <a class="xref" href="bi01.html#cea861" title="A DTV Profile for Uncompressed High Speed Digital Interfaces">[<abbr class="abbrev">CEA-861-E</abbr>]</a> for HDMI). V4L2_DV_RANGE_LIMITED and V4L2_DV_RANGE_FULL override the standard 814 to be compatible with sources that have not implemented the standard correctly 815 (unfortunately quite common for HDMI and DVI-D). Full range allows all possible values to be 816 used whereas limited range sets the range to (16 << (N-8)) - (235 << (N-8)) 817 where N is the number of bits per component. 818 This control is applicable to VGA, DVI-A/D, HDMI and DisplayPort connectors. 819 </td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break"></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="fm-rx-controls"></a>FM Receiver Control Reference</h3></div></div></div><p>The FM Receiver (FM_RX) class includes controls for common features of 820 FM Reception capable devices.</p><div class="table"><a name="fm-rx-control-id"></a><p class="title"><b>Table 1.13. FM_RX Control IDs</b></p><div class="table-contents"><table summary="FM_RX Control IDs" width="100%" border="0"><colgroup><col class="c1"><col class="c2"><col class="c3"><col class="c4"></colgroup><thead><tr><th colspan="2" align="left">ID</th><th align="left">Type</th><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><th colspan="3" align="left">Description</th></tr></thead><tbody valign="top"><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_FM_RX_CLASS</code> </td><td valign="top">class</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">The FM_RX class 821descriptor. Calling <a class="link" href="vidioc-queryctrl.html" title="ioctl VIDIOC_QUERYCTRL, VIDIOC_QUERY_EXT_CTRL, VIDIOC_QUERYMENU"><code class="constant">VIDIOC_QUERYCTRL</code></a> for this control will return a 822description of this control class.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_RDS_RECEPTION</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Enables/disables RDS 823 reception by the radio tuner</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_RDS_RX_PTY</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Gets RDS Programme Type field. 824This encodes up to 31 pre-defined programme types.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_RDS_RX_PS_NAME</code> </td><td valign="top">string</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Gets the Programme Service name (PS_NAME). 825It is intended for static display on a receiver. It is the primary aid to listeners in programme service 826identification and selection. In Annex E of <a class="xref" href="bi01.html#iec62106" title="Specification of the radio data system (RDS) for VHF/FM sound broadcasting in the frequency range from 87,5 to 108,0 MHz">[<abbr class="abbrev">IEC 62106</abbr>]</a>, the RDS specification, 827there is a full description of the correct character encoding for Programme Service name strings. 828Also from RDS specification, PS is usually a single eight character text. However, it is also possible 829to find receivers which can scroll strings sized as 8 x N characters. So, this control must be configured 830with steps of 8 characters. The result is it must always contain a string with size multiple of 8.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_RDS_RX_RADIO_TEXT</code> </td><td valign="top">string</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Gets the Radio Text info. It is a textual description of 831what is being broadcasted. RDS Radio Text can be applied when broadcaster wishes to transmit longer PS names, 832programme-related information or any other text. In these cases, RadioText can be used in addition to 833<code class="constant">V4L2_CID_RDS_RX_PS_NAME</code>. The encoding for Radio Text strings is also fully described 834in Annex E of <a class="xref" href="bi01.html#iec62106" title="Specification of the radio data system (RDS) for VHF/FM sound broadcasting in the frequency range from 87,5 to 108,0 MHz">[<abbr class="abbrev">IEC 62106</abbr>]</a>. The length of Radio Text strings depends on which RDS Block is being 835used to transmit it, either 32 (2A block) or 64 (2B block). However, it is also possible 836to find receivers which can scroll strings sized as 32 x N or 64 x N characters. So, this control must be configured 837with steps of 32 or 64 characters. The result is it must always contain a string with size multiple of 32 or 64. </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_RDS_RX_TRAFFIC_ANNOUNCEMENT</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">If set, then a traffic announcement is in progress.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_RDS_RX_TRAFFIC_PROGRAM</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">If set, then the tuned programme carries traffic announcements.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_RDS_RX_MUSIC_SPEECH</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">If set, then this channel broadcasts music. If cleared, then it 838broadcasts speech. If the transmitter doesn't make this distinction, then it will be set.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_TUNE_DEEMPHASIS</code> </td><td valign="top">enum v4l2_deemphasis</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><a name="v4l2-deemphasis"></a>Configures the de-emphasis value for reception. 839A de-emphasis filter is applied to the broadcast to accentuate the high audio frequencies. 840Depending on the region, a time constant of either 50 or 75 useconds is used. The enum v4l2_deemphasis 841defines possible values for de-emphasis. Here they are:</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_DEEMPHASIS_DISABLED</code> </td><td valign="top">No de-emphasis is applied.</td></tr><tr><td valign="top"><code class="constant">V4L2_DEEMPHASIS_50_uS</code> </td><td valign="top">A de-emphasis of 50 uS is used.</td></tr><tr><td valign="top"><code class="constant">V4L2_DEEMPHASIS_75_uS</code> </td><td valign="top">A de-emphasis of 75 uS is used.</td></tr></tbody></table></td></tr><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break"></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="detect-controls"></a>Detect Control Reference</h3></div></div></div><p>The Detect class includes controls for common features of 842 various motion or object detection capable devices.</p><div class="table"><a name="detect-control-id"></a><p class="title"><b>Table 1.14. Detect Control IDs</b></p><div class="table-contents"><table summary="Detect Control IDs" width="100%" border="0"><colgroup><col class="c1"><col class="c2"><col class="c3"><col class="c4"></colgroup><thead><tr><th colspan="2" align="left">ID</th><th align="left">Type</th><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><th colspan="3" align="left">Description</th></tr></thead><tbody valign="top"><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_DETECT_CLASS</code> </td><td valign="top">class</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">The Detect class 843descriptor. Calling <a class="link" href="vidioc-queryctrl.html" title="ioctl VIDIOC_QUERYCTRL, VIDIOC_QUERY_EXT_CTRL, VIDIOC_QUERYMENU"><code class="constant">VIDIOC_QUERYCTRL</code></a> for this control will return a 844description of this control class.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_DETECT_MD_MODE</code> </td><td valign="top">menu</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Sets the motion detection mode.</td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top"><table width="100%" border="0"><colgroup><col><col></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_DETECT_MD_MODE_DISABLED</code> 845 </td><td valign="top">Disable motion detection.</td></tr><tr><td valign="top"><code class="constant">V4L2_DETECT_MD_MODE_GLOBAL</code> 846 </td><td valign="top">Use a single motion detection threshold.</td></tr><tr><td valign="top"><code class="constant">V4L2_DETECT_MD_MODE_THRESHOLD_GRID</code> 847 </td><td valign="top">The image is divided into a grid, each cell with its own 848 motion detection threshold. These thresholds are set through the 849 <code class="constant">V4L2_CID_DETECT_MD_THRESHOLD_GRID</code> matrix control.</td></tr><tr><td valign="top"><code class="constant">V4L2_DETECT_MD_MODE_REGION_GRID</code> 850 </td><td valign="top">The image is divided into a grid, each cell with its own 851 region value that specifies which per-region motion detection thresholds 852 should be used. Each region has its own thresholds. How these per-region 853 thresholds are set up is driver-specific. The region values for the grid are set 854 through the <code class="constant">V4L2_CID_DETECT_MD_REGION_GRID</code> matrix 855 control.</td></tr></tbody></table></td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_DETECT_MD_GLOBAL_THRESHOLD</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Sets the global motion detection threshold to be 856 used with the <code class="constant">V4L2_DETECT_MD_MODE_GLOBAL</code> motion detection mode.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_DETECT_MD_THRESHOLD_GRID</code> </td><td valign="top">__u16 matrix</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Sets the motion detection thresholds for each cell in the grid. 857 To be used with the <code class="constant">V4L2_DETECT_MD_MODE_THRESHOLD_GRID</code> 858 motion detection mode. Matrix element (0, 0) represents the cell at the top-left of the 859 grid.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_DETECT_MD_REGION_GRID</code> </td><td valign="top">__u8 matrix</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Sets the motion detection region value for each cell in the grid. 860 To be used with the <code class="constant">V4L2_DETECT_MD_MODE_REGION_GRID</code> 861 motion detection mode. Matrix element (0, 0) represents the cell at the top-left of the 862 grid.</td></tr></tbody></table></div></div><br class="table-break"></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="rf-tuner-controls"></a>RF Tuner Control Reference</h3></div></div></div><p> 863The RF Tuner (RF_TUNER) class includes controls for common features of devices 864having RF tuner. 865 </p><p> 866In this context, RF tuner is radio receiver circuit between antenna and 867demodulator. It receives radio frequency (RF) from the antenna and converts that 868received signal to lower intermediate frequency (IF) or baseband frequency (BB). 869Tuners that could do baseband output are often called Zero-IF tuners. Older 870tuners were typically simple PLL tuners inside a metal box, whilst newer ones 871are highly integrated chips without a metal box "silicon tuners". These controls 872are mostly applicable for new feature rich silicon tuners, just because older 873tuners does not have much adjustable features. 874 </p><p> 875For more information about RF tuners see 876<a class="ulink" href="http://en.wikipedia.org/wiki/Tuner_%28radio%29" target="_top">Tuner (radio)</a> 877and 878<a class="ulink" href="http://en.wikipedia.org/wiki/RF_front_end" target="_top">RF front end</a> 879from Wikipedia. 880 </p><div class="table"><a name="rf-tuner-control-id"></a><p class="title"><b>Table 1.15. RF_TUNER Control IDs</b></p><div class="table-contents"><table summary="RF_TUNER Control IDs" width="100%" border="0"><colgroup><col class="c1"><col class="c2"><col class="c3"><col class="c4"></colgroup><thead><tr><th colspan="2" align="left">ID</th><th align="left">Type</th><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><th colspan="3" align="left">Description</th></tr></thead><tbody valign="top"><tr><td valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_RF_TUNER_CLASS</code> </td><td valign="top">class</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">The RF_TUNER class 881descriptor. Calling <a class="link" href="vidioc-queryctrl.html" title="ioctl VIDIOC_QUERYCTRL, VIDIOC_QUERY_EXT_CTRL, VIDIOC_QUERYMENU"><code class="constant">VIDIOC_QUERYCTRL</code></a> for this control will return a 882description of this control class.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_RF_TUNER_BANDWIDTH_AUTO</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Enables/disables tuner radio channel 883bandwidth configuration. In automatic mode bandwidth configuration is performed 884by the driver.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_RF_TUNER_BANDWIDTH</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Filter(s) on tuner signal path are used to 885filter signal according to receiving party needs. Driver configures filters to 886fulfill desired bandwidth requirement. Used when V4L2_CID_RF_TUNER_BANDWIDTH_AUTO is not 887set. Unit is in Hz. The range and step are driver-specific.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_RF_TUNER_LNA_GAIN_AUTO</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Enables/disables LNA automatic gain control (AGC)</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_RF_TUNER_MIXER_GAIN_AUTO</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Enables/disables mixer automatic gain control (AGC)</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_RF_TUNER_IF_GAIN_AUTO</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Enables/disables IF automatic gain control (AGC)</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_RF_TUNER_LNA_GAIN</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">LNA (low noise amplifier) gain is first 888gain stage on the RF tuner signal path. It is located very close to tuner 889antenna input. Used when <code class="constant">V4L2_CID_RF_TUNER_LNA_GAIN_AUTO</code> is not set. 890The range and step are driver-specific.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_RF_TUNER_MIXER_GAIN</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Mixer gain is second gain stage on the RF 891tuner signal path. It is located inside mixer block, where RF signal is 892down-converted by the mixer. Used when <code class="constant">V4L2_CID_RF_TUNER_MIXER_GAIN_AUTO</code> 893is not set. The range and step are driver-specific.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_RF_TUNER_IF_GAIN</code> </td><td valign="top">integer</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">IF gain is last gain stage on the RF tuner 894signal path. It is located on output of RF tuner. It controls signal level of 895intermediate frequency output or baseband output. Used when 896<code class="constant">V4L2_CID_RF_TUNER_IF_GAIN_AUTO</code> is not set. The range and step are 897driver-specific.</td></tr><tr><td colspan="2" valign="top"><code class="constant">V4L2_CID_RF_TUNER_PLL_LOCK</code> </td><td valign="top">boolean</td><td class="auto-generated"> </td></tr><tr><td class="auto-generated"> </td><td colspan="3" valign="top">Is synthesizer PLL locked? RF tuner is 898receiving given frequency when that control is set. This is a read-only control. 899</td></tr></tbody></table></div></div><br class="table-break"></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="control.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="common.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="format.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">User Controls </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Data Formats</td></tr></table></div></body></html> 900