  <section id="control">
    <title>User Controls</title>

    <para>Devices typically have a number of user-settable controls
such as brightness, saturation and so on, which would be presented to
the user on a graphical user interface. But, different devices
will have different controls available, and furthermore, the range of
possible values, and the default value will vary from device to
device. The control ioctls provide the information and a mechanism to
create a nice user interface for these controls that will work
correctly with any device.</para>

    <para>All controls are accessed using an ID value. V4L2 defines
several IDs for specific purposes. Drivers can also implement their
own custom controls using <constant>V4L2_CID_PRIVATE_BASE</constant>
<footnote><para>The use of <constant>V4L2_CID_PRIVATE_BASE</constant>
is problematic because different drivers may use the same
<constant>V4L2_CID_PRIVATE_BASE</constant> ID for different controls.
This makes it hard to programatically set such controls since the meaning
of the control with that ID is driver dependent. In order to resolve this
drivers use unique IDs and the <constant>V4L2_CID_PRIVATE_BASE</constant>
IDs are mapped to those unique IDs by the kernel. Consider these
<constant>V4L2_CID_PRIVATE_BASE</constant> IDs as aliases to the real
IDs.</para>
<para>Many applications today still use the <constant>V4L2_CID_PRIVATE_BASE</constant>
IDs instead of using &VIDIOC-QUERYCTRL; with the <constant>V4L2_CTRL_FLAG_NEXT_CTRL</constant>
flag to enumerate all IDs, so support for <constant>V4L2_CID_PRIVATE_BASE</constant>
is still around.</para></footnote>
and higher values. The pre-defined control IDs have the prefix
<constant>V4L2_CID_</constant>, and are listed in <xref
linkend="control-id" />. The ID is used when querying the attributes of
a control, and when getting or setting the current value.</para>

    <para>Generally applications should present controls to the user
without assumptions about their purpose. Each control comes with a
name string the user is supposed to understand. When the purpose is
non-intuitive the driver writer should provide a user manual, a user
interface plug-in or a driver specific panel application. Predefined
IDs were introduced to change a few controls programmatically, for
example to mute a device during a channel switch.</para>

    <para>Drivers may enumerate different controls after switching
the current video input or output, tuner or modulator, or audio input
or output. Different in the sense of other bounds, another default and
current value, step size or other menu items. A control with a certain
<emphasis>custom</emphasis> ID can also change name and
type.</para>

    <para>If a control is not applicable to the current configuration
of the device (for example, it doesn't apply to the current video input)
drivers set the <constant>V4L2_CTRL_FLAG_INACTIVE</constant> flag.</para>

    <para>Control values are stored globally, they do not
change when switching except to stay within the reported bounds. They
also do not change &eg; when the device is opened or closed, when the
tuner radio frequency is changed or generally never without
application request.</para>

    <para>V4L2 specifies an event mechanism to notify applications
when controls change value (see &VIDIOC-SUBSCRIBE-EVENT;, event
<constant>V4L2_EVENT_CTRL</constant>), panel applications might want to make
use of that in order to always reflect the correct control value.</para>

    <para>
      All controls use machine endianness.
    </para>

    <table pgwide="1" frame="none" id="control-id">
      <title>Control IDs</title>
      <tgroup cols="3">
	&cs-def;
	<thead>
	  <row>
	    <entry>ID</entry>
	    <entry>Type</entry>
	    <entry>Description</entry>
	  </row>
	</thead>
	<tbody valign="top">
	  <row>
	    <entry><constant>V4L2_CID_BASE</constant></entry>
	    <entry></entry>
	    <entry>First predefined ID, equal to
<constant>V4L2_CID_BRIGHTNESS</constant>.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_CID_USER_BASE</constant></entry>
	    <entry></entry>
	    <entry>Synonym of <constant>V4L2_CID_BASE</constant>.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_CID_BRIGHTNESS</constant></entry>
	    <entry>integer</entry>
	    <entry>Picture brightness, or more precisely, the black
level.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_CID_CONTRAST</constant></entry>
	    <entry>integer</entry>
	    <entry>Picture contrast or luma gain.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_CID_SATURATION</constant></entry>
	    <entry>integer</entry>
	    <entry>Picture color saturation or chroma gain.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_CID_HUE</constant></entry>
	    <entry>integer</entry>
	    <entry>Hue or color balance.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_CID_AUDIO_VOLUME</constant></entry>
	    <entry>integer</entry>
	    <entry>Overall audio volume. Note some drivers also
provide an OSS or ALSA mixer interface.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_CID_AUDIO_BALANCE</constant></entry>
	    <entry>integer</entry>
	    <entry>Audio stereo balance. Minimum corresponds to all
the way left, maximum to right.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_CID_AUDIO_BASS</constant></entry>
	    <entry>integer</entry>
	    <entry>Audio bass adjustment.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_CID_AUDIO_TREBLE</constant></entry>
	    <entry>integer</entry>
	    <entry>Audio treble adjustment.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_CID_AUDIO_MUTE</constant></entry>
	    <entry>boolean</entry>
	    <entry>Mute audio, &ie; set the volume to zero, however
without affecting <constant>V4L2_CID_AUDIO_VOLUME</constant>. Like
ALSA drivers, V4L2 drivers must mute at load time to avoid excessive
noise. Actually the entire device should be reset to a low power
consumption state.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_CID_AUDIO_LOUDNESS</constant></entry>
	    <entry>boolean</entry>
	    <entry>Loudness mode (bass boost).</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_CID_BLACK_LEVEL</constant></entry>
	    <entry>integer</entry>
	    <entry>Another name for brightness (not a synonym of
<constant>V4L2_CID_BRIGHTNESS</constant>). This control is deprecated
and should not be used in new drivers and applications.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_CID_AUTO_WHITE_BALANCE</constant></entry>
	    <entry>boolean</entry>
	    <entry>Automatic white balance (cameras).</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_CID_DO_WHITE_BALANCE</constant></entry>
	    <entry>button</entry>
	    <entry>This is an action control. When set (the value is
ignored), the device will do a white balance and then hold the current
setting. Contrast this with the boolean
<constant>V4L2_CID_AUTO_WHITE_BALANCE</constant>, which, when
activated, keeps adjusting the white balance.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_CID_RED_BALANCE</constant></entry>
	    <entry>integer</entry>
	    <entry>Red chroma balance.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_CID_BLUE_BALANCE</constant></entry>
	    <entry>integer</entry>
	    <entry>Blue chroma balance.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_CID_GAMMA</constant></entry>
	    <entry>integer</entry>
	    <entry>Gamma adjust.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_CID_WHITENESS</constant></entry>
	    <entry>integer</entry>
	    <entry>Whiteness for grey-scale devices. This is a synonym
for <constant>V4L2_CID_GAMMA</constant>. This control is deprecated
and should not be used in new drivers and applications.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_CID_EXPOSURE</constant></entry>
	    <entry>integer</entry>
	    <entry>Exposure (cameras). [Unit?]</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_CID_AUTOGAIN</constant></entry>
	    <entry>boolean</entry>
	    <entry>Automatic gain/exposure control.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_CID_GAIN</constant></entry>
	    <entry>integer</entry>
	    <entry>Gain control.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_CID_HFLIP</constant></entry>
	    <entry>boolean</entry>
	    <entry>Mirror the picture horizontally.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_CID_VFLIP</constant></entry>
	    <entry>boolean</entry>
	    <entry>Mirror the picture vertically.</entry>
	  </row>
	  <row id="v4l2-power-line-frequency">
	    <entry><constant>V4L2_CID_POWER_LINE_FREQUENCY</constant></entry>
	    <entry>enum</entry>
	    <entry>Enables a power line frequency filter to avoid
flicker. Possible values for <constant>enum v4l2_power_line_frequency</constant> are:
<constant>V4L2_CID_POWER_LINE_FREQUENCY_DISABLED</constant> (0),
<constant>V4L2_CID_POWER_LINE_FREQUENCY_50HZ</constant> (1),
<constant>V4L2_CID_POWER_LINE_FREQUENCY_60HZ</constant> (2) and
<constant>V4L2_CID_POWER_LINE_FREQUENCY_AUTO</constant> (3).</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_CID_HUE_AUTO</constant></entry>
	    <entry>boolean</entry>
	    <entry>Enables automatic hue control by the device. The
effect of setting <constant>V4L2_CID_HUE</constant> while automatic
hue control is enabled is undefined, drivers should ignore such
request.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_CID_WHITE_BALANCE_TEMPERATURE</constant></entry>
	    <entry>integer</entry>
	    <entry>This control specifies the white balance settings
as a color temperature in Kelvin. A driver should have a minimum of
2800 (incandescent) to 6500 (daylight). For more information about
color temperature see <ulink
url="http://en.wikipedia.org/wiki/Color_temperature">Wikipedia</ulink>.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_CID_SHARPNESS</constant></entry>
	    <entry>integer</entry>
	    <entry>Adjusts the sharpness filters in a camera. The
minimum value disables the filters, higher values give a sharper
picture.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_CID_BACKLIGHT_COMPENSATION</constant></entry>
	    <entry>integer</entry>
	    <entry>Adjusts the backlight compensation in a camera. The
minimum value disables backlight compensation.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_CID_CHROMA_AGC</constant></entry>
	    <entry>boolean</entry>
	    <entry>Chroma automatic gain control.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_CID_CHROMA_GAIN</constant></entry>
	    <entry>integer</entry>
	    <entry>Adjusts the Chroma gain control (for use when chroma AGC
	    is disabled).</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_CID_COLOR_KILLER</constant></entry>
	    <entry>boolean</entry>
	    <entry>Enable the color killer (&ie; force a black &amp; white image in case of a weak video signal).</entry>
	  </row>
	  <row id="v4l2-colorfx">
	    <entry><constant>V4L2_CID_COLORFX</constant></entry>
	    <entry>enum</entry>
	    <entry>Selects a color effect. The following values are defined:
	    </entry>
	  </row><row>
	  <entry></entry>
	  <entry></entry>
	    <entrytbl spanname="descr" cols="2">
	      <tbody valign="top">
		<row>
		  <entry><constant>V4L2_COLORFX_NONE</constant>&nbsp;</entry>
		  <entry>Color effect is disabled.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_COLORFX_ANTIQUE</constant>&nbsp;</entry>
		  <entry>An aging (old photo) effect.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_COLORFX_ART_FREEZE</constant>&nbsp;</entry>
		  <entry>Frost color effect.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_COLORFX_AQUA</constant>&nbsp;</entry>
		  <entry>Water color, cool tone.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_COLORFX_BW</constant>&nbsp;</entry>
		  <entry>Black and white.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_COLORFX_EMBOSS</constant>&nbsp;</entry>
		  <entry>Emboss, the highlights and shadows replace light/dark boundaries
		  and low contrast areas are set to a gray background.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_COLORFX_GRASS_GREEN</constant>&nbsp;</entry>
		  <entry>Grass green.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_COLORFX_NEGATIVE</constant>&nbsp;</entry>
		  <entry>Negative.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_COLORFX_SEPIA</constant>&nbsp;</entry>
		  <entry>Sepia tone.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_COLORFX_SKETCH</constant>&nbsp;</entry>
		  <entry>Sketch.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_COLORFX_SKIN_WHITEN</constant>&nbsp;</entry>
		  <entry>Skin whiten.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_COLORFX_SKY_BLUE</constant>&nbsp;</entry>
		  <entry>Sky blue.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_COLORFX_SOLARIZATION</constant>&nbsp;</entry>
		  <entry>Solarization, the image is partially reversed in tone,
		  only color values above or below a certain threshold are inverted.
		  </entry>
		</row>
		<row>
		  <entry><constant>V4L2_COLORFX_SILHOUETTE</constant>&nbsp;</entry>
		  <entry>Silhouette (outline).</entry>
		</row>
		<row>
		  <entry><constant>V4L2_COLORFX_VIVID</constant>&nbsp;</entry>
		  <entry>Vivid colors.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_COLORFX_SET_CBCR</constant>&nbsp;</entry>
		  <entry>The Cb and Cr chroma components are replaced by fixed
		  coefficients determined by <constant>V4L2_CID_COLORFX_CBCR</constant>
		  control.</entry>
		</row>
	      </tbody>
	    </entrytbl>
	  </row>
	  <row>
	    <entry><constant>V4L2_CID_COLORFX_CBCR</constant></entry>
	    <entry>integer</entry>
	    <entry>Determines the Cb and Cr coefficients for <constant>V4L2_COLORFX_SET_CBCR</constant>
	    color effect. Bits [7:0] of the supplied 32 bit value are interpreted as
	    Cr component, bits [15:8] as Cb component and bits [31:16] must be zero.
	  </entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_CID_AUTOBRIGHTNESS</constant></entry>
	    <entry>boolean</entry>
	    <entry>Enable Automatic Brightness.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_CID_ROTATE</constant></entry>
	    <entry>integer</entry>
	    <entry>Rotates the image by specified angle. Common angles are 90,
	    270 and 180. Rotating the image to 90 and 270 will reverse the height
	    and width of the display window. It is necessary to set the new height and
	    width of the picture using the &VIDIOC-S-FMT; ioctl according to
	    the rotation angle selected.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_CID_BG_COLOR</constant></entry>
	    <entry>integer</entry>
	    <entry>Sets the background color on the current output device.
	    Background color needs to be specified in the RGB24 format. The
	    supplied 32 bit value is interpreted as bits 0-7 Red color information,
	    bits 8-15 Green color information, bits 16-23 Blue color
	    information and bits 24-31 must be zero.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_CID_ILLUMINATORS_1</constant>
		<constant>V4L2_CID_ILLUMINATORS_2</constant></entry>
	    <entry>boolean</entry>
	    <entry>Switch on or off the illuminator 1 or 2 of the device
		(usually a microscope).</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_CID_MIN_BUFFERS_FOR_CAPTURE</constant></entry>
	    <entry>integer</entry>
	    <entry>This is a read-only control that can be read by the application
and used as a hint to determine the number of CAPTURE buffers to pass to REQBUFS.
The value is the minimum number of CAPTURE buffers that is necessary for hardware
to work.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_CID_MIN_BUFFERS_FOR_OUTPUT</constant></entry>
	    <entry>integer</entry>
	    <entry>This is a read-only control that can be read by the application
and used as a hint to determine the number of OUTPUT buffers to pass to REQBUFS.
The value is the minimum number of OUTPUT buffers that is necessary for hardware
to work.</entry>
	  </row>
	  <row id="v4l2-alpha-component">
	    <entry><constant>V4L2_CID_ALPHA_COMPONENT</constant></entry>
	    <entry>integer</entry>
	    <entry>Sets the alpha color component. When a capture device (or
	    capture queue of a mem-to-mem device) produces a frame format that
	    includes an alpha component
	    (e.g. <link linkend="rgb-formats">packed RGB image formats</link>)
	    and the alpha value is not defined by the device or the mem-to-mem
	    input data this control lets you select the alpha component value of
	    all pixels. When an output device (or output queue of a mem-to-mem
	    device) consumes a frame format that doesn't include an alpha
	    component and the device supports alpha channel processing this
	    control lets you set the alpha component value of all pixels for
	    further processing in the device.
	    </entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_CID_LASTP1</constant></entry>
	    <entry></entry>
	    <entry>End of the predefined control IDs (currently
	      <constant>V4L2_CID_ALPHA_COMPONENT</constant> + 1).</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_CID_PRIVATE_BASE</constant></entry>
	    <entry></entry>
	    <entry>ID of the first custom (driver specific) control.
Applications depending on particular custom controls should check the
driver name and version, see <xref linkend="querycap" />.</entry>
	  </row>
	</tbody>
      </tgroup>
    </table>

    <para>Applications can enumerate the available controls with the
&VIDIOC-QUERYCTRL; and &VIDIOC-QUERYMENU; ioctls, get and set a
control value with the &VIDIOC-G-CTRL; and &VIDIOC-S-CTRL; ioctls.
Drivers must implement <constant>VIDIOC_QUERYCTRL</constant>,
<constant>VIDIOC_G_CTRL</constant> and
<constant>VIDIOC_S_CTRL</constant> when the device has one or more
controls, <constant>VIDIOC_QUERYMENU</constant> when it has one or
more menu type controls.</para>

    <example id="enum_all_controls">
      <title>Enumerating all user controls</title>

      <programlisting>
&v4l2-queryctrl; queryctrl;
&v4l2-querymenu; querymenu;

static void enumerate_menu(void)
{
	printf("  Menu items:\n");

	memset(&amp;querymenu, 0, sizeof(querymenu));
	querymenu.id = queryctrl.id;

	for (querymenu.index = queryctrl.minimum;
	     querymenu.index &lt;= queryctrl.maximum;
	     querymenu.index++) {
		if (0 == ioctl(fd, &VIDIOC-QUERYMENU;, &amp;querymenu)) {
			printf("  %s\n", querymenu.name);
		}
	}
}

memset(&amp;queryctrl, 0, sizeof(queryctrl));

for (queryctrl.id = V4L2_CID_BASE;
     queryctrl.id &lt; V4L2_CID_LASTP1;
     queryctrl.id++) {
	if (0 == ioctl(fd, &VIDIOC-QUERYCTRL;, &amp;queryctrl)) {
		if (queryctrl.flags &amp; V4L2_CTRL_FLAG_DISABLED)
			continue;

		printf("Control %s\n", queryctrl.name);

		if (queryctrl.type == V4L2_CTRL_TYPE_MENU)
			enumerate_menu();
	} else {
		if (errno == EINVAL)
			continue;

		perror("VIDIOC_QUERYCTRL");
		exit(EXIT_FAILURE);
	}
}

for (queryctrl.id = V4L2_CID_PRIVATE_BASE;;
     queryctrl.id++) {
	if (0 == ioctl(fd, &VIDIOC-QUERYCTRL;, &amp;queryctrl)) {
		if (queryctrl.flags &amp; V4L2_CTRL_FLAG_DISABLED)
			continue;

		printf("Control %s\n", queryctrl.name);

		if (queryctrl.type == V4L2_CTRL_TYPE_MENU)
			enumerate_menu();
	} else {
		if (errno == EINVAL)
			break;

		perror("VIDIOC_QUERYCTRL");
		exit(EXIT_FAILURE);
	}
}
</programlisting>
    </example>

    <example>
      <title>Enumerating all user controls (alternative)</title>
	<programlisting>
memset(&amp;queryctrl, 0, sizeof(queryctrl));

queryctrl.id = V4L2_CTRL_CLASS_USER | V4L2_CTRL_FLAG_NEXT_CTRL;
while (0 == ioctl(fd, &VIDIOC-QUERYCTRL;, &amp;queryctrl)) {
	if (V4L2_CTRL_ID2CLASS(queryctrl.id) != V4L2_CTRL_CLASS_USER)
		break;
	if (queryctrl.flags &amp; V4L2_CTRL_FLAG_DISABLED)
		continue;

	printf("Control %s\n", queryctrl.name);

	if (queryctrl.type == V4L2_CTRL_TYPE_MENU)
		enumerate_menu();

	queryctrl.id |= V4L2_CTRL_FLAG_NEXT_CTRL;
}
if (errno != EINVAL) {
	perror("VIDIOC_QUERYCTRL");
	exit(EXIT_FAILURE);
}
</programlisting>
    </example>

    <example>
      <title>Changing controls</title>

      <programlisting>
&v4l2-queryctrl; queryctrl;
&v4l2-control; control;

memset(&amp;queryctrl, 0, sizeof(queryctrl));
queryctrl.id = V4L2_CID_BRIGHTNESS;

if (-1 == ioctl(fd, &VIDIOC-QUERYCTRL;, &amp;queryctrl)) {
	if (errno != EINVAL) {
		perror("VIDIOC_QUERYCTRL");
		exit(EXIT_FAILURE);
	} else {
		printf("V4L2_CID_BRIGHTNESS is not supported\n");
	}
} else if (queryctrl.flags &amp; V4L2_CTRL_FLAG_DISABLED) {
	printf("V4L2_CID_BRIGHTNESS is not supported\n");
} else {
	memset(&amp;control, 0, sizeof (control));
	control.id = V4L2_CID_BRIGHTNESS;
	control.value = queryctrl.default_value;

	if (-1 == ioctl(fd, &VIDIOC-S-CTRL;, &amp;control)) {
		perror("VIDIOC_S_CTRL");
		exit(EXIT_FAILURE);
	}
}

memset(&amp;control, 0, sizeof(control));
control.id = V4L2_CID_CONTRAST;

if (0 == ioctl(fd, &VIDIOC-G-CTRL;, &amp;control)) {
	control.value += 1;

	/* The driver may clamp the value or return ERANGE, ignored here */

	if (-1 == ioctl(fd, &VIDIOC-S-CTRL;, &amp;control)
	    &amp;&amp; errno != ERANGE) {
		perror("VIDIOC_S_CTRL");
		exit(EXIT_FAILURE);
	}
/* Ignore if V4L2_CID_CONTRAST is unsupported */
} else if (errno != EINVAL) {
	perror("VIDIOC_G_CTRL");
	exit(EXIT_FAILURE);
}

control.id = V4L2_CID_AUDIO_MUTE;
control.value = 1; /* silence */

/* Errors ignored */
ioctl(fd, VIDIOC_S_CTRL, &amp;control);
</programlisting>
    </example>
  </section>

  <section id="extended-controls">
    <title>Extended Controls</title>

    <section>
      <title>Introduction</title>

      <para>The control mechanism as originally designed was meant
to be used for user settings (brightness, saturation, etc). However,
it turned out to be a very useful model for implementing more
complicated driver APIs where each driver implements only a subset of
a larger API.</para>

      <para>The MPEG encoding API was the driving force behind
designing and implementing this extended control mechanism: the MPEG
standard is quite large and the currently supported hardware MPEG
encoders each only implement a subset of this standard. Further more,
many parameters relating to how the video is encoded into an MPEG
stream are specific to the MPEG encoding chip since the MPEG standard
only defines the format of the resulting MPEG stream, not how the
video is actually encoded into that format.</para>

      <para>Unfortunately, the original control API lacked some
features needed for these new uses and so it was extended into the
(not terribly originally named) extended control API.</para>

      <para>Even though the MPEG encoding API was the first effort
to use the Extended Control API, nowadays there are also other classes
of Extended Controls, such as Camera Controls and FM Transmitter Controls.
The Extended Controls API as well as all Extended Controls classes are
described in the following text.</para>
    </section>

    <section>
      <title>The Extended Control API</title>

      <para>Three new ioctls are available: &VIDIOC-G-EXT-CTRLS;,
&VIDIOC-S-EXT-CTRLS; and &VIDIOC-TRY-EXT-CTRLS;. These ioctls act on
arrays of controls (as opposed to the &VIDIOC-G-CTRL; and
&VIDIOC-S-CTRL; ioctls that act on a single control). This is needed
since it is often required to atomically change several controls at
once.</para>

      <para>Each of the new ioctls expects a pointer to a
&v4l2-ext-controls;. This structure contains a pointer to the control
array, a count of the number of controls in that array and a control
class. Control classes are used to group similar controls into a
single class. For example, control class
<constant>V4L2_CTRL_CLASS_USER</constant> contains all user controls
(&ie; all controls that can also be set using the old
<constant>VIDIOC_S_CTRL</constant> ioctl). Control class
<constant>V4L2_CTRL_CLASS_MPEG</constant> contains all controls
relating to MPEG encoding, etc.</para>

      <para>All controls in the control array must belong to the
specified control class. An error is returned if this is not the
case.</para>

      <para>It is also possible to use an empty control array (count
== 0) to check whether the specified control class is
supported.</para>

      <para>The control array is a &v4l2-ext-control; array. The
<structname>v4l2_ext_control</structname> structure is very similar to
&v4l2-control;, except for the fact that it also allows for 64-bit
values and pointers to be passed.</para>

      <para>Since the &v4l2-ext-control; supports pointers it is now
also possible to have controls with compound types such as N-dimensional arrays
and/or structures. You need to specify the <constant>V4L2_CTRL_FLAG_NEXT_COMPOUND</constant>
when enumerating controls to actually be able to see such compound controls.
In other words, these controls with compound types should only be used
programmatically.</para>

      <para>Since such compound controls need to expose more information
about themselves than is possible with &VIDIOC-QUERYCTRL; the
&VIDIOC-QUERY-EXT-CTRL; ioctl was added. In particular, this ioctl gives
the dimensions of the N-dimensional array if this control consists of more than
one element.</para>

      <para>It is important to realize that due to the flexibility of
controls it is necessary to check whether the control you want to set
actually is supported in the driver and what the valid range of values
is. So use the &VIDIOC-QUERYCTRL; (or &VIDIOC-QUERY-EXT-CTRL;) and
&VIDIOC-QUERYMENU; ioctls to check this. Also note that it is possible
that some of the menu indices in a control of type
<constant>V4L2_CTRL_TYPE_MENU</constant> may not be supported
(<constant>VIDIOC_QUERYMENU</constant> will return an error). A good
example is the list of supported MPEG audio bitrates. Some drivers only
support one or two bitrates, others support a wider range.</para>

      <para>
	All controls use machine endianness.
      </para>
    </section>

    <section>
      <title>Enumerating Extended Controls</title>

      <para>The recommended way to enumerate over the extended
controls is by using &VIDIOC-QUERYCTRL; in combination with the
<constant>V4L2_CTRL_FLAG_NEXT_CTRL</constant> flag:</para>

      <informalexample>
	<programlisting>
&v4l2-queryctrl; qctrl;

qctrl.id = V4L2_CTRL_FLAG_NEXT_CTRL;
while (0 == ioctl (fd, &VIDIOC-QUERYCTRL;, &amp;qctrl)) {
	/* ... */
	qctrl.id |= V4L2_CTRL_FLAG_NEXT_CTRL;
}
</programlisting>
      </informalexample>

      <para>The initial control ID is set to 0 ORed with the
<constant>V4L2_CTRL_FLAG_NEXT_CTRL</constant> flag. The
<constant>VIDIOC_QUERYCTRL</constant> ioctl will return the first
control with a higher ID than the specified one. When no such controls
are found an error is returned.</para>

      <para>If you want to get all controls within a specific control
class, then you can set the initial
<structfield>qctrl.id</structfield> value to the control class and add
an extra check to break out of the loop when a control of another
control class is found:</para>

      <informalexample>
	<programlisting>
qctrl.id = V4L2_CTRL_CLASS_MPEG | V4L2_CTRL_FLAG_NEXT_CTRL;
while (0 == ioctl(fd, &VIDIOC-QUERYCTRL;, &amp;qctrl)) {
	if (V4L2_CTRL_ID2CLASS(qctrl.id) != V4L2_CTRL_CLASS_MPEG)
		break;
		/* ... */
	qctrl.id |= V4L2_CTRL_FLAG_NEXT_CTRL;
}
</programlisting>
      </informalexample>

      <para>The 32-bit <structfield>qctrl.id</structfield> value is
subdivided into three bit ranges: the top 4 bits are reserved for
flags (&eg; <constant>V4L2_CTRL_FLAG_NEXT_CTRL</constant>) and are not
actually part of the ID. The remaining 28 bits form the control ID, of
which the most significant 12 bits define the control class and the
least significant 16 bits identify the control within the control
class. It is guaranteed that these last 16 bits are always non-zero
for controls. The range of 0x1000 and up are reserved for
driver-specific controls. The macro
<constant>V4L2_CTRL_ID2CLASS(id)</constant> returns the control class
ID based on a control ID.</para>

      <para>If the driver does not support extended controls, then
<constant>VIDIOC_QUERYCTRL</constant> will fail when used in
combination with <constant>V4L2_CTRL_FLAG_NEXT_CTRL</constant>. In
that case the old method of enumerating control should be used (see
<xref linkend="enum_all_controls" />). But if it is supported, then it is guaranteed to enumerate over
all controls, including driver-private controls.</para>
    </section>

    <section>
      <title>Creating Control Panels</title>

      <para>It is possible to create control panels for a graphical
user interface where the user can select the various controls.
Basically you will have to iterate over all controls using the method
described above. Each control class starts with a control of type
<constant>V4L2_CTRL_TYPE_CTRL_CLASS</constant>.
<constant>VIDIOC_QUERYCTRL</constant> will return the name of this
control class which can be used as the title of a tab page within a
control panel.</para>

      <para>The flags field of &v4l2-queryctrl; also contains hints on
the behavior of the control. See the &VIDIOC-QUERYCTRL; documentation
for more details.</para>
    </section>

    <section id="mpeg-controls">
      <title>Codec Control Reference</title>

      <para>Below all controls within the Codec control class are
described. First the generic controls, then controls specific for
certain hardware.</para>

      <para>Note: These controls are applicable to all codecs and
not just MPEG. The defines are prefixed with V4L2_CID_MPEG/V4L2_MPEG
as the controls were originally made for MPEG codecs and later
extended to cover all encoding formats.</para>

      <section>
	<title>Generic Codec Controls</title>

	<table pgwide="1" frame="none" id="mpeg-control-id">
	  <title>Codec Control IDs</title>
	  <tgroup cols="4">
	    <colspec colname="c1" colwidth="1*" />
	    <colspec colname="c2" colwidth="6*" />
	    <colspec colname="c3" colwidth="2*" />
	    <colspec colname="c4" colwidth="6*" />
	    <spanspec namest="c1" nameend="c2" spanname="id" />
	    <spanspec namest="c2" nameend="c4" spanname="descr" />
	    <thead>
	      <row>
		<entry spanname="id" align="left">ID</entry>
		<entry align="left">Type</entry>
	      </row><row rowsep="1"><entry spanname="descr" align="left">Description</entry>
	      </row>
	    </thead>
	    <tbody valign="top">
	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_CLASS</constant>&nbsp;</entry>
		<entry>class</entry>
	      </row><row><entry spanname="descr">The Codec class
descriptor. Calling &VIDIOC-QUERYCTRL; for this control will return a
description of this control class. This description can be used as the
caption of a Tab page in a GUI, for example.</entry>
	      </row>
	      <row><entry></entry></row>
	      <row id="v4l2-mpeg-stream-type">
		<entry spanname="id"><constant>V4L2_CID_MPEG_STREAM_TYPE</constant>&nbsp;</entry>
		<entry>enum&nbsp;v4l2_mpeg_stream_type</entry>
	      </row><row><entry spanname="descr">The MPEG-1, -2 or -4
output stream type. One cannot assume anything here. Each hardware
MPEG encoder tends to support different subsets of the available MPEG
stream types. This control is specific to multiplexed MPEG streams.
The currently defined stream types are:</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_MPEG_STREAM_TYPE_MPEG2_PS</constant>&nbsp;</entry>
		      <entry>MPEG-2 program stream</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_STREAM_TYPE_MPEG2_TS</constant>&nbsp;</entry>
		      <entry>MPEG-2 transport stream</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_STREAM_TYPE_MPEG1_SS</constant>&nbsp;</entry>
		      <entry>MPEG-1 system stream</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_STREAM_TYPE_MPEG2_DVD</constant>&nbsp;</entry>
		      <entry>MPEG-2 DVD-compatible stream</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_STREAM_TYPE_MPEG1_VCD</constant>&nbsp;</entry>
		      <entry>MPEG-1 VCD-compatible stream</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_STREAM_TYPE_MPEG2_SVCD</constant>&nbsp;</entry>
		      <entry>MPEG-2 SVCD-compatible stream</entry>
		    </row>
		  </tbody>
		</entrytbl>
	      </row>
	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_STREAM_PID_PMT</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row><row><entry spanname="descr">Program Map Table
Packet ID for the MPEG transport stream (default 16)</entry>
	      </row>
	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_STREAM_PID_AUDIO</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row><row><entry spanname="descr">Audio Packet ID for
the MPEG transport stream (default 256)</entry>
	      </row>
	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_STREAM_PID_VIDEO</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row><row><entry spanname="descr">Video Packet ID for
the MPEG transport stream (default 260)</entry>
	      </row>
	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_STREAM_PID_PCR</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row><row><entry spanname="descr">Packet ID for the
MPEG transport stream carrying PCR fields (default 259)</entry>
	      </row>
	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_STREAM_PES_ID_AUDIO</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row><row><entry spanname="descr">Audio ID for MPEG
PES</entry>
	      </row>
	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_STREAM_PES_ID_VIDEO</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row><row><entry spanname="descr">Video ID for MPEG
PES</entry>
	      </row>
	      <row><entry></entry></row>
	      <row id="v4l2-mpeg-stream-vbi-fmt">
		<entry spanname="id"><constant>V4L2_CID_MPEG_STREAM_VBI_FMT</constant>&nbsp;</entry>
		<entry>enum&nbsp;v4l2_mpeg_stream_vbi_fmt</entry>
	      </row><row><entry spanname="descr">Some cards can embed
VBI data (&eg; Closed Caption, Teletext) into the MPEG stream. This
control selects whether VBI data should be embedded, and if so, what
embedding method should be used. The list of possible VBI formats
depends on the driver. The currently defined VBI format types
are:</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_MPEG_STREAM_VBI_FMT_NONE</constant>&nbsp;</entry>
		      <entry>No VBI in the MPEG stream</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_STREAM_VBI_FMT_IVTV</constant>&nbsp;</entry>
		      <entry>VBI in private packets, IVTV format (documented
in the kernel sources in the file <filename>Documentation/video4linux/cx2341x/README.vbi</filename>)</entry>
		    </row>
		  </tbody>
		</entrytbl>
	      </row>
	      <row><entry></entry></row>
	      <row id="v4l2-mpeg-audio-sampling-freq">
		<entry spanname="id"><constant>V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ</constant>&nbsp;</entry>
		<entry>enum&nbsp;v4l2_mpeg_audio_sampling_freq</entry>
	      </row><row><entry spanname="descr">MPEG Audio sampling
frequency. Possible values are:</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_SAMPLING_FREQ_44100</constant>&nbsp;</entry>
		      <entry>44.1 kHz</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_SAMPLING_FREQ_48000</constant>&nbsp;</entry>
		      <entry>48 kHz</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_SAMPLING_FREQ_32000</constant>&nbsp;</entry>
		      <entry>32 kHz</entry>
		    </row>
		  </tbody>
		</entrytbl>
	      </row>
	      <row><entry></entry></row>
	      <row id="v4l2-mpeg-audio-encoding">
		<entry spanname="id"><constant>V4L2_CID_MPEG_AUDIO_ENCODING</constant>&nbsp;</entry>
		<entry>enum&nbsp;v4l2_mpeg_audio_encoding</entry>
	      </row><row><entry spanname="descr">MPEG Audio encoding.
This control is specific to multiplexed MPEG streams.
Possible values are:</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_ENCODING_LAYER_1</constant>&nbsp;</entry>
		      <entry>MPEG-1/2 Layer I encoding</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_ENCODING_LAYER_2</constant>&nbsp;</entry>
		      <entry>MPEG-1/2 Layer II encoding</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_ENCODING_LAYER_3</constant>&nbsp;</entry>
		      <entry>MPEG-1/2 Layer III encoding</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_ENCODING_AAC</constant>&nbsp;</entry>
		      <entry>MPEG-2/4 AAC (Advanced Audio Coding)</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_ENCODING_AC3</constant>&nbsp;</entry>
		      <entry>AC-3 aka ATSC A/52 encoding</entry>
		    </row>
		  </tbody>
		</entrytbl>
	      </row>
	      <row><entry></entry></row>
	      <row id="v4l2-mpeg-audio-l1-bitrate">
		<entry spanname="id"><constant>V4L2_CID_MPEG_AUDIO_L1_BITRATE</constant>&nbsp;</entry>
		<entry>enum&nbsp;v4l2_mpeg_audio_l1_bitrate</entry>
	      </row><row><entry spanname="descr">MPEG-1/2 Layer I bitrate.
Possible values are:</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L1_BITRATE_32K</constant>&nbsp;</entry>
		      <entry>32 kbit/s</entry></row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L1_BITRATE_64K</constant>&nbsp;</entry>
		      <entry>64 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L1_BITRATE_96K</constant>&nbsp;</entry>
		      <entry>96 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L1_BITRATE_128K</constant>&nbsp;</entry>
		      <entry>128 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L1_BITRATE_160K</constant>&nbsp;</entry>
		      <entry>160 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L1_BITRATE_192K</constant>&nbsp;</entry>
		      <entry>192 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L1_BITRATE_224K</constant>&nbsp;</entry>
		      <entry>224 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L1_BITRATE_256K</constant>&nbsp;</entry>
		      <entry>256 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L1_BITRATE_288K</constant>&nbsp;</entry>
		      <entry>288 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L1_BITRATE_320K</constant>&nbsp;</entry>
		      <entry>320 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L1_BITRATE_352K</constant>&nbsp;</entry>
		      <entry>352 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L1_BITRATE_384K</constant>&nbsp;</entry>
		      <entry>384 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L1_BITRATE_416K</constant>&nbsp;</entry>
		      <entry>416 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L1_BITRATE_448K</constant>&nbsp;</entry>
		      <entry>448 kbit/s</entry>
		    </row>
		  </tbody>
		</entrytbl>
	      </row>
	      <row><entry></entry></row>
	      <row id="v4l2-mpeg-audio-l2-bitrate">
		<entry spanname="id"><constant>V4L2_CID_MPEG_AUDIO_L2_BITRATE</constant>&nbsp;</entry>
		<entry>enum&nbsp;v4l2_mpeg_audio_l2_bitrate</entry>
	      </row><row><entry spanname="descr">MPEG-1/2 Layer II bitrate.
Possible values are:</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L2_BITRATE_32K</constant>&nbsp;</entry>
		      <entry>32 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L2_BITRATE_48K</constant>&nbsp;</entry>
		      <entry>48 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L2_BITRATE_56K</constant>&nbsp;</entry>
		      <entry>56 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L2_BITRATE_64K</constant>&nbsp;</entry>
		      <entry>64 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L2_BITRATE_80K</constant>&nbsp;</entry>
		      <entry>80 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L2_BITRATE_96K</constant>&nbsp;</entry>
		      <entry>96 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L2_BITRATE_112K</constant>&nbsp;</entry>
		      <entry>112 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L2_BITRATE_128K</constant>&nbsp;</entry>
		      <entry>128 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L2_BITRATE_160K</constant>&nbsp;</entry>
		      <entry>160 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L2_BITRATE_192K</constant>&nbsp;</entry>
		      <entry>192 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L2_BITRATE_224K</constant>&nbsp;</entry>
		      <entry>224 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L2_BITRATE_256K</constant>&nbsp;</entry>
		      <entry>256 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L2_BITRATE_320K</constant>&nbsp;</entry>
		      <entry>320 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L2_BITRATE_384K</constant>&nbsp;</entry>
		      <entry>384 kbit/s</entry>
		    </row>
		  </tbody>
		</entrytbl>
	      </row>
	      <row><entry></entry></row>
	      <row id="v4l2-mpeg-audio-l3-bitrate">
		<entry spanname="id"><constant>V4L2_CID_MPEG_AUDIO_L3_BITRATE</constant>&nbsp;</entry>
		<entry>enum&nbsp;v4l2_mpeg_audio_l3_bitrate</entry>
	      </row><row><entry spanname="descr">MPEG-1/2 Layer III bitrate.
Possible values are:</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L3_BITRATE_32K</constant>&nbsp;</entry>
		      <entry>32 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L3_BITRATE_40K</constant>&nbsp;</entry>
		      <entry>40 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L3_BITRATE_48K</constant>&nbsp;</entry>
		      <entry>48 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L3_BITRATE_56K</constant>&nbsp;</entry>
		      <entry>56 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L3_BITRATE_64K</constant>&nbsp;</entry>
		      <entry>64 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L3_BITRATE_80K</constant>&nbsp;</entry>
		      <entry>80 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L3_BITRATE_96K</constant>&nbsp;</entry>
		      <entry>96 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L3_BITRATE_112K</constant>&nbsp;</entry>
		      <entry>112 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L3_BITRATE_128K</constant>&nbsp;</entry>
		      <entry>128 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L3_BITRATE_160K</constant>&nbsp;</entry>
		      <entry>160 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L3_BITRATE_192K</constant>&nbsp;</entry>
		      <entry>192 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L3_BITRATE_224K</constant>&nbsp;</entry>
		      <entry>224 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L3_BITRATE_256K</constant>&nbsp;</entry>
		      <entry>256 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_L3_BITRATE_320K</constant>&nbsp;</entry>
		      <entry>320 kbit/s</entry>
		    </row>
		  </tbody>
		</entrytbl>
	      </row>
	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_AUDIO_AAC_BITRATE</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row><row><entry spanname="descr">AAC bitrate in bits per second.</entry>
	      </row>
	      <row><entry></entry></row>
	      <row id="v4l2-mpeg-audio-ac3-bitrate">
		<entry spanname="id"><constant>V4L2_CID_MPEG_AUDIO_AC3_BITRATE</constant>&nbsp;</entry>
		<entry>enum&nbsp;v4l2_mpeg_audio_ac3_bitrate</entry>
	      </row><row><entry spanname="descr">AC-3 bitrate.
Possible values are:</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_AC3_BITRATE_32K</constant>&nbsp;</entry>
		      <entry>32 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_AC3_BITRATE_40K</constant>&nbsp;</entry>
		      <entry>40 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_AC3_BITRATE_48K</constant>&nbsp;</entry>
		      <entry>48 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_AC3_BITRATE_56K</constant>&nbsp;</entry>
		      <entry>56 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_AC3_BITRATE_64K</constant>&nbsp;</entry>
		      <entry>64 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_AC3_BITRATE_80K</constant>&nbsp;</entry>
		      <entry>80 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_AC3_BITRATE_96K</constant>&nbsp;</entry>
		      <entry>96 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_AC3_BITRATE_112K</constant>&nbsp;</entry>
		      <entry>112 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_AC3_BITRATE_128K</constant>&nbsp;</entry>
		      <entry>128 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_AC3_BITRATE_160K</constant>&nbsp;</entry>
		      <entry>160 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_AC3_BITRATE_192K</constant>&nbsp;</entry>
		      <entry>192 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_AC3_BITRATE_224K</constant>&nbsp;</entry>
		      <entry>224 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_AC3_BITRATE_256K</constant>&nbsp;</entry>
		      <entry>256 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_AC3_BITRATE_320K</constant>&nbsp;</entry>
		      <entry>320 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_AC3_BITRATE_384K</constant>&nbsp;</entry>
		      <entry>384 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_AC3_BITRATE_448K</constant>&nbsp;</entry>
		      <entry>448 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_AC3_BITRATE_512K</constant>&nbsp;</entry>
		      <entry>512 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_AC3_BITRATE_576K</constant>&nbsp;</entry>
		      <entry>576 kbit/s</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_AC3_BITRATE_640K</constant>&nbsp;</entry>
		      <entry>640 kbit/s</entry>
		    </row>
		  </tbody>
		</entrytbl>
	      </row>
	      <row><entry></entry></row>
	      <row id="v4l2-mpeg-audio-mode">
		<entry spanname="id"><constant>V4L2_CID_MPEG_AUDIO_MODE</constant>&nbsp;</entry>
		<entry>enum&nbsp;v4l2_mpeg_audio_mode</entry>
	      </row><row><entry spanname="descr">MPEG Audio mode.
Possible values are:</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_MODE_STEREO</constant>&nbsp;</entry>
		      <entry>Stereo</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_MODE_JOINT_STEREO</constant>&nbsp;</entry>
		      <entry>Joint Stereo</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_MODE_DUAL</constant>&nbsp;</entry>
		      <entry>Bilingual</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_MODE_MONO</constant>&nbsp;</entry>
		      <entry>Mono</entry>
		    </row>
		  </tbody>
		</entrytbl>
	      </row>
	      <row><entry></entry></row>
	      <row id="v4l2-mpeg-audio-mode-extension">
		<entry spanname="id"><constant>V4L2_CID_MPEG_AUDIO_MODE_EXTENSION</constant>&nbsp;</entry>
		<entry>enum&nbsp;v4l2_mpeg_audio_mode_extension</entry>
	      </row><row><entry spanname="descr">Joint Stereo
audio mode extension. In Layer I and II they indicate which subbands
are in intensity stereo. All other subbands are coded in stereo. Layer
III is not (yet) supported. Possible values
are:</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_4</constant>&nbsp;</entry>
		      <entry>Subbands 4-31 in intensity stereo</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_8</constant>&nbsp;</entry>
		      <entry>Subbands 8-31 in intensity stereo</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_12</constant>&nbsp;</entry>
		      <entry>Subbands 12-31 in intensity stereo</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_16</constant>&nbsp;</entry>
		      <entry>Subbands 16-31 in intensity stereo</entry>
		    </row>
		  </tbody>
		</entrytbl>
	      </row>
	      <row><entry></entry></row>
	      <row id="v4l2-mpeg-audio-emphasis">
		<entry spanname="id"><constant>V4L2_CID_MPEG_AUDIO_EMPHASIS</constant>&nbsp;</entry>
		<entry>enum&nbsp;v4l2_mpeg_audio_emphasis</entry>
	      </row><row><entry spanname="descr">Audio Emphasis.
Possible values are:</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_EMPHASIS_NONE</constant>&nbsp;</entry>
		      <entry>None</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_EMPHASIS_50_DIV_15_uS</constant>&nbsp;</entry>
		      <entry>50/15 microsecond emphasis</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_EMPHASIS_CCITT_J17</constant>&nbsp;</entry>
		      <entry>CCITT J.17</entry>
		    </row>
		  </tbody>
		</entrytbl>
	      </row>
	      <row><entry></entry></row>
	      <row id="v4l2-mpeg-audio-crc">
		<entry spanname="id"><constant>V4L2_CID_MPEG_AUDIO_CRC</constant>&nbsp;</entry>
		<entry>enum&nbsp;v4l2_mpeg_audio_crc</entry>
	      </row><row><entry spanname="descr">CRC method. Possible
values are:</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_CRC_NONE</constant>&nbsp;</entry>
		      <entry>None</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_CRC_CRC16</constant>&nbsp;</entry>
		      <entry>16 bit parity check</entry>
		    </row>
		  </tbody>
		</entrytbl>
	      </row>
	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_AUDIO_MUTE</constant>&nbsp;</entry>
		<entry>boolean</entry>
	      </row><row><entry spanname="descr">Mutes the audio when
capturing. This is not done by muting audio hardware, which can still
produce a slight hiss, but in the encoder itself, guaranteeing a fixed
and reproducible audio bitstream. 0 = unmuted, 1 = muted.</entry>
	      </row>
	      <row><entry></entry></row>
	      <row id="v4l2-mpeg-audio-dec-playback">
		<entry spanname="id"><constant>V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK</constant>&nbsp;</entry>
		<entry>enum&nbsp;v4l2_mpeg_audio_dec_playback</entry>
	      </row><row><entry spanname="descr">Determines how monolingual audio should be played back.
Possible values are:</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_DEC_PLAYBACK_AUTO</constant>&nbsp;</entry>
		      <entry>Automatically determines the best playback mode.</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_DEC_PLAYBACK_STEREO</constant>&nbsp;</entry>
		      <entry>Stereo playback.</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_DEC_PLAYBACK_LEFT</constant>&nbsp;</entry>
		      <entry>Left channel playback.</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_DEC_PLAYBACK_RIGHT</constant>&nbsp;</entry>
		      <entry>Right channel playback.</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_DEC_PLAYBACK_MONO</constant>&nbsp;</entry>
		      <entry>Mono playback.</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_AUDIO_DEC_PLAYBACK_SWAPPED_STEREO</constant>&nbsp;</entry>
		      <entry>Stereo playback with swapped left and right channels.</entry>
		    </row>
		  </tbody>
		</entrytbl>
	      </row>
	      <row><entry></entry></row>
	      <row id="v4l2-mpeg-audio-dec-multilingual-playback">
		<entry spanname="id"><constant>V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK</constant>&nbsp;</entry>
		<entry>enum&nbsp;v4l2_mpeg_audio_dec_playback</entry>
	      </row><row><entry spanname="descr">Determines how multilingual audio should be played back.</entry>
	      </row>
	      <row><entry></entry></row>
	      <row id="v4l2-mpeg-video-encoding">
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_ENCODING</constant>&nbsp;</entry>
		<entry>enum&nbsp;v4l2_mpeg_video_encoding</entry>
	      </row><row><entry spanname="descr">MPEG Video encoding
method. This control is specific to multiplexed MPEG streams.
Possible values are:</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_ENCODING_MPEG_1</constant>&nbsp;</entry>
		      <entry>MPEG-1 Video encoding</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_ENCODING_MPEG_2</constant>&nbsp;</entry>
		      <entry>MPEG-2 Video encoding</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_ENCODING_MPEG_4_AVC</constant>&nbsp;</entry>
		      <entry>MPEG-4 AVC (H.264) Video encoding</entry>
		    </row>
		  </tbody>
		</entrytbl>
	      </row>
	      <row><entry></entry></row>
	      <row id="v4l2-mpeg-video-aspect">
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_ASPECT</constant>&nbsp;</entry>
		<entry>enum&nbsp;v4l2_mpeg_video_aspect</entry>
	      </row><row><entry spanname="descr">Video aspect.
Possible values are:</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_ASPECT_1x1</constant>&nbsp;</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_ASPECT_4x3</constant>&nbsp;</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_ASPECT_16x9</constant>&nbsp;</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_ASPECT_221x100</constant>&nbsp;</entry>
		    </row>
		  </tbody>
		</entrytbl>
	      </row>
	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_B_FRAMES</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row><row><entry spanname="descr">Number of B-Frames
(default 2)</entry>
	      </row>
	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_GOP_SIZE</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row><row><entry spanname="descr">GOP size (default
12)</entry>
	      </row>
	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_GOP_CLOSURE</constant>&nbsp;</entry>
		<entry>boolean</entry>
	      </row><row><entry spanname="descr">GOP closure (default
1)</entry>
	      </row>
	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_PULLDOWN</constant>&nbsp;</entry>
		<entry>boolean</entry>
	      </row><row><entry spanname="descr">Enable 3:2 pulldown
(default 0)</entry>
	      </row>
	      <row><entry></entry></row>
	      <row id="v4l2-mpeg-video-bitrate-mode">
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_BITRATE_MODE</constant>&nbsp;</entry>
		<entry>enum&nbsp;v4l2_mpeg_video_bitrate_mode</entry>
	      </row><row><entry spanname="descr">Video bitrate mode.
Possible values are:</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_BITRATE_MODE_VBR</constant>&nbsp;</entry>
		      <entry>Variable bitrate</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_BITRATE_MODE_CBR</constant>&nbsp;</entry>
		      <entry>Constant bitrate</entry>
		    </row>
		  </tbody>
		</entrytbl>
	      </row>
	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_BITRATE</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row><row><entry spanname="descr">Video bitrate in bits
per second.</entry>
	      </row>
	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_BITRATE_PEAK</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row><row><entry spanname="descr">Peak video bitrate in
bits per second. Must be larger or equal to the average video bitrate.
It is ignored if the video bitrate mode is set to constant
bitrate.</entry>
	      </row>
	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row><row><entry spanname="descr">For every captured
frame, skip this many subsequent frames (default 0).</entry>
	      </row>
	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MUTE</constant>&nbsp;</entry>
		<entry>boolean</entry>
	      </row>
	      <row><entry spanname="descr">"Mutes" the video to a
fixed color when capturing. This is useful for testing, to produce a
fixed video bitstream. 0 = unmuted, 1 = muted.</entry>
	      </row>
	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MUTE_YUV</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row><row><entry spanname="descr">Sets the "mute" color
of the video. The supplied 32-bit integer is interpreted as follows (bit
0 = least significant bit):</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry>Bit 0:7</entry>
		      <entry>V chrominance information</entry>
		    </row>
		    <row>
		      <entry>Bit 8:15</entry>
		      <entry>U chrominance information</entry>
		    </row>
		    <row>
		      <entry>Bit 16:23</entry>
		      <entry>Y luminance information</entry>
		    </row>
		    <row>
		      <entry>Bit 24:31</entry>
		      <entry>Must be zero.</entry>
		    </row>
		  </tbody>
		</entrytbl>
	      </row>
	      <row><entry></entry></row>
	      <row id="v4l2-mpeg-video-dec-pts">
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_DEC_PTS</constant>&nbsp;</entry>
		<entry>integer64</entry>
	      </row><row><entry spanname="descr">This read-only control returns the
33-bit video Presentation Time Stamp as defined in ITU T-REC-H.222.0 and ISO/IEC 13818-1 of
the currently displayed frame. This is the same PTS as is used in &VIDIOC-DECODER-CMD;.</entry>
	      </row>
	      <row><entry></entry></row>
	      <row id="v4l2-mpeg-video-dec-frame">
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_DEC_FRAME</constant>&nbsp;</entry>
		<entry>integer64</entry>
	      </row><row><entry spanname="descr">This read-only control returns the
frame counter of the frame that is currently displayed (decoded). This value is reset to 0 whenever
the decoder is started.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE</constant>&nbsp;</entry>
		<entry>boolean</entry>
	      </row>
	      <row><entry spanname="descr">If enabled the decoder expects to receive a single slice per buffer, otherwise
the decoder expects a single frame in per buffer. Applicable to the decoder, all codecs.
</entry>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE</constant>&nbsp;</entry>
		<entry>boolean</entry>
	      </row>
	      <row><entry spanname="descr">Enable writing sample aspect ratio in the Video Usability Information.
Applicable to the H264 encoder.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row id="v4l2-mpeg-video-h264-vui-sar-idc">
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC</constant>&nbsp;</entry>
		<entry>enum&nbsp;v4l2_mpeg_video_h264_vui_sar_idc</entry>
	      </row>
	      <row><entry spanname="descr">VUI sample aspect ratio indicator for H.264 encoding. The value
is defined in the table E-1 in the standard. Applicable to the H264 encoder.</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">

			<row>
			  <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_UNSPECIFIED</constant>&nbsp;</entry>
			  <entry>Unspecified</entry>
			</row>
			<row>
			  <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_1x1</constant>&nbsp;</entry>
			  <entry>1x1</entry>
			</row>
			<row>
			  <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_12x11</constant>&nbsp;</entry>
			  <entry>12x11</entry>
			</row>
			<row>
			  <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_10x11</constant>&nbsp;</entry>
			  <entry>10x11</entry>
			</row>
			<row>
			  <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_16x11</constant>&nbsp;</entry>
			  <entry>16x11</entry>
			</row>
			<row>
			  <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_40x33</constant>&nbsp;</entry>
			  <entry>40x33</entry>
			</row>
			<row>
			  <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_24x11</constant>&nbsp;</entry>
			  <entry>24x11</entry>
			</row>
			<row>
			  <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_20x11</constant>&nbsp;</entry>
			  <entry>20x11</entry>
			</row>
			<row>
			  <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_32x11</constant>&nbsp;</entry>
			  <entry>32x11</entry>
			</row>
			<row>
			  <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_80x33</constant>&nbsp;</entry>
			  <entry>80x33</entry>
			</row>
			<row>
			  <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_18x11</constant>&nbsp;</entry>
			  <entry>18x11</entry>
			</row>
			<row>
			  <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_15x11</constant>&nbsp;</entry>
			  <entry>15x11</entry>
			</row>
			<row>
			  <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_64x33</constant>&nbsp;</entry>
			  <entry>64x33</entry>
			</row>
			<row>
			  <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_160x99</constant>&nbsp;</entry>
			  <entry>160x99</entry>
			</row>
			<row>
			  <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_4x3</constant>&nbsp;</entry>
			  <entry>4x3</entry>
			</row>
			<row>
			  <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_3x2</constant>&nbsp;</entry>
			  <entry>3x2</entry>
			</row>
			<row>
			  <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_2x1</constant>&nbsp;</entry>
			  <entry>2x1</entry>
			</row>
			<row>
			  <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_EXTENDED</constant>&nbsp;</entry>
			  <entry>Extended SAR</entry>
			</row>
		  </tbody>
		</entrytbl>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row>
	      <row><entry spanname="descr">Extended sample aspect ratio width for H.264 VUI encoding.
Applicable to the H264 encoder.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row>
	      <row><entry spanname="descr">Extended sample aspect ratio height for H.264 VUI encoding.
Applicable to the H264 encoder.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row id="v4l2-mpeg-video-h264-level">
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_LEVEL</constant>&nbsp;</entry>
		<entry>enum&nbsp;v4l2_mpeg_video_h264_level</entry>
	      </row>
	      <row><entry spanname="descr">The level information for the H264 video elementary stream.
Applicable to the H264 encoder.
Possible values are:</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_1_0</constant>&nbsp;</entry>
		      <entry>Level 1.0</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_1B</constant>&nbsp;</entry>
		      <entry>Level 1B</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_1_1</constant>&nbsp;</entry>
		      <entry>Level 1.1</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_1_2</constant>&nbsp;</entry>
		      <entry>Level 1.2</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_1_3</constant>&nbsp;</entry>
		      <entry>Level 1.3</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_2_0</constant>&nbsp;</entry>
		      <entry>Level 2.0</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_2_1</constant>&nbsp;</entry>
		      <entry>Level 2.1</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_2_2</constant>&nbsp;</entry>
		      <entry>Level 2.2</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_3_0</constant>&nbsp;</entry>
		      <entry>Level 3.0</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_3_1</constant>&nbsp;</entry>
		      <entry>Level 3.1</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_3_2</constant>&nbsp;</entry>
		      <entry>Level 3.2</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_4_0</constant>&nbsp;</entry>
		      <entry>Level 4.0</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_4_1</constant>&nbsp;</entry>
		      <entry>Level 4.1</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_4_2</constant>&nbsp;</entry>
		      <entry>Level 4.2</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_5_0</constant>&nbsp;</entry>
		      <entry>Level 5.0</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_5_1</constant>&nbsp;</entry>
		      <entry>Level 5.1</entry>
		    </row>
		  </tbody>
		</entrytbl>
	      </row>

	      <row><entry></entry></row>
	      <row id="v4l2-mpeg-video-mpeg4-level">
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL</constant>&nbsp;</entry>
		<entry>enum&nbsp;v4l2_mpeg_video_mpeg4_level</entry>
	      </row>
	      <row><entry spanname="descr">The level information for the MPEG4 elementary stream.
Applicable to the MPEG4 encoder.
Possible values are:</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_LEVEL_0</constant>&nbsp;</entry>
		      <entry>Level 0</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_LEVEL_0B</constant>&nbsp;</entry>
		      <entry>Level 0b</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_LEVEL_1</constant>&nbsp;</entry>
		      <entry>Level 1</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_LEVEL_2</constant>&nbsp;</entry>
		      <entry>Level 2</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_LEVEL_3</constant>&nbsp;</entry>
		      <entry>Level 3</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_LEVEL_3B</constant>&nbsp;</entry>
		      <entry>Level 3b</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_LEVEL_4</constant>&nbsp;</entry>
		      <entry>Level 4</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_LEVEL_5</constant>&nbsp;</entry>
		      <entry>Level 5</entry>
		    </row>
		  </tbody>
		</entrytbl>
	      </row>

	      <row><entry></entry></row>
	      <row id="v4l2-mpeg-video-h264-profile">
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_PROFILE</constant>&nbsp;</entry>
		<entry>enum&nbsp;v4l2_mpeg_video_h264_profile</entry>
	      </row>
	      <row><entry spanname="descr">The profile information for H264.
Applicable to the H264 encoder.
Possible values are:</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE</constant>&nbsp;</entry>
		      <entry>Baseline profile</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE</constant>&nbsp;</entry>
		      <entry>Constrained Baseline profile</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_MAIN</constant>&nbsp;</entry>
		      <entry>Main profile</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_EXTENDED</constant>&nbsp;</entry>
		      <entry>Extended profile</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_HIGH</constant>&nbsp;</entry>
		      <entry>High profile</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10</constant>&nbsp;</entry>
		      <entry>High 10 profile</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422</constant>&nbsp;</entry>
		      <entry>High 422 profile</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_PREDICTIVE</constant>&nbsp;</entry>
		      <entry>High 444 Predictive profile</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10_INTRA</constant>&nbsp;</entry>
		      <entry>High 10 Intra profile</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422_INTRA</constant>&nbsp;</entry>
		      <entry>High 422 Intra profile</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_INTRA</constant>&nbsp;</entry>
		      <entry>High 444 Intra profile</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_CAVLC_444_INTRA</constant>&nbsp;</entry>
		      <entry>CAVLC 444 Intra profile</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_BASELINE</constant>&nbsp;</entry>
		      <entry>Scalable Baseline profile</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH</constant>&nbsp;</entry>
		      <entry>Scalable High profile</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH_INTRA</constant>&nbsp;</entry>
		      <entry>Scalable High Intra profile</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_STEREO_HIGH</constant>&nbsp;</entry>
		      <entry>Stereo High profile</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_MULTIVIEW_HIGH</constant>&nbsp;</entry>
		      <entry>Multiview High profile</entry>
		    </row>

		  </tbody>
		</entrytbl>
	      </row>

	      <row><entry></entry></row>
	      <row id="v4l2-mpeg-video-mpeg4-profile">
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE</constant>&nbsp;</entry>
		<entry>enum&nbsp;v4l2_mpeg_video_mpeg4_profile</entry>
	      </row>
	      <row><entry spanname="descr">The profile information for MPEG4.
Applicable to the MPEG4 encoder.
Possible values are:</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_PROFILE_SIMPLE</constant>&nbsp;</entry>
		      <entry>Simple profile</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_PROFILE_ADVANCED_SIMPLE</constant>&nbsp;</entry>
		      <entry>Advanced Simple profile</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_PROFILE_CORE</constant>&nbsp;</entry>
		      <entry>Core profile</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_PROFILE_SIMPLE_SCALABLE</constant>&nbsp;</entry>
		      <entry>Simple Scalable profile</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_PROFILE_ADVANCED_CODING_EFFICIENCY</constant>&nbsp;</entry>
		      <entry></entry>
		    </row>
		  </tbody>
		</entrytbl>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MAX_REF_PIC</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row>
	      <row><entry spanname="descr">The maximum number of reference pictures used for encoding.
Applicable to the encoder.
</entry>
	      </row>

	      <row><entry></entry></row>
	      <row id="v4l2-mpeg-video-multi-slice-mode">
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE</constant>&nbsp;</entry>
		<entry>enum&nbsp;v4l2_mpeg_video_multi_slice_mode</entry>
	      </row>
	      <row><entry spanname="descr">Determines how the encoder should handle division of frame into slices.
Applicable to the encoder.
Possible values are:</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE</constant>&nbsp;</entry>
		      <entry>Single slice per frame.</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB</constant>&nbsp;</entry>
		      <entry>Multiple slices with set maximum number of macroblocks per slice.</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_BYTES</constant>&nbsp;</entry>
		      <entry>Multiple slice with set maximum size in bytes per slice.</entry>
		    </row>
		  </tbody>
		</entrytbl>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row>
	      <row><entry spanname="descr">The maximum number of macroblocks in a slice. Used when
<constant>V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE</constant> is set to <constant>V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB</constant>.
Applicable to the encoder.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row>
	      <row><entry spanname="descr">The maximum size of a slice in bytes. Used when
<constant>V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE</constant> is set to <constant>V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_BYTES</constant>.
Applicable to the encoder.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row id="v4l2-mpeg-video-h264-loop-filter-mode">
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE</constant>&nbsp;</entry>
		<entry>enum&nbsp;v4l2_mpeg_video_h264_loop_filter_mode</entry>
	      </row>
	      <row><entry spanname="descr">Loop filter mode for H264 encoder.
Possible values are:</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED</constant>&nbsp;</entry>
		      <entry>Loop filter is enabled.</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED</constant>&nbsp;</entry>
		      <entry>Loop filter is disabled.</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY</constant>&nbsp;</entry>
		      <entry>Loop filter is disabled at the slice boundary.</entry>
		    </row>
		  </tbody>
		</entrytbl>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row>
	      <row><entry spanname="descr">Loop filter alpha coefficient, defined in the H264 standard.
Applicable to the H264 encoder.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row>
	      <row><entry spanname="descr">Loop filter beta coefficient, defined in the H264 standard.
Applicable to the H264 encoder.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row id="v4l2-mpeg-video-h264-entropy-mode">
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE</constant>&nbsp;</entry>
		<entry>enum&nbsp;v4l2_mpeg_video_h264_entropy_mode</entry>
	      </row>
	      <row><entry spanname="descr">Entropy coding mode for H264 - CABAC/CAVALC.
Applicable to the H264 encoder.
Possible values are:</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC</constant>&nbsp;</entry>
		      <entry>Use CAVLC entropy coding.</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC</constant>&nbsp;</entry>
		      <entry>Use CABAC entropy coding.</entry>
		    </row>
		  </tbody>
		</entrytbl>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM</constant>&nbsp;</entry>
		<entry>boolean</entry>
	      </row>
	      <row><entry spanname="descr">Enable 8X8 transform for H264. Applicable to the H264 encoder.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row>
	      <row><entry spanname="descr">Cyclic intra macroblock refresh. This is the number of continuous macroblocks
refreshed every frame. Each frame a successive set of macroblocks is refreshed until the cycle completes and starts from the
top of the frame. Applicable to H264, H263 and MPEG4 encoder.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE</constant>&nbsp;</entry>
		<entry>boolean</entry>
	      </row>
	      <row><entry spanname="descr">Frame level rate control enable.
If this control is disabled then the quantization parameter for each frame type is constant and set with appropriate controls
(e.g. <constant>V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP</constant>).
If frame rate control is enabled then quantization parameter is adjusted to meet the chosen bitrate. Minimum and maximum value
for the quantization parameter can be set with appropriate controls (e.g. <constant>V4L2_CID_MPEG_VIDEO_H263_MIN_QP</constant>).
Applicable to encoders.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE</constant>&nbsp;</entry>
		<entry>boolean</entry>
	      </row>
	      <row><entry spanname="descr">Macroblock level rate control enable.
Applicable to the MPEG4 and H264 encoders.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MPEG4_QPEL</constant>&nbsp;</entry>
		<entry>boolean</entry>
	      </row>
	      <row><entry spanname="descr">Quarter pixel motion estimation for MPEG4. Applicable to the MPEG4 encoder.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row>
	      <row><entry spanname="descr">Quantization parameter for an I frame for H263. Valid range: from 1 to 31.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H263_MIN_QP</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row>
	      <row><entry spanname="descr">Minimum quantization parameter for H263. Valid range: from 1 to 31.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H263_MAX_QP</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row>
	      <row><entry spanname="descr">Maximum quantization parameter for H263. Valid range: from 1 to 31.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row>
	      <row><entry spanname="descr">Quantization parameter for an P frame for H263. Valid range: from 1 to 31.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row>
	      <row><entry spanname="descr">Quantization parameter for an B frame for H263. Valid range: from 1 to 31.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row>
	      <row><entry spanname="descr">Quantization parameter for an I frame for H264. Valid range: from 0 to 51.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_MIN_QP</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row>
	      <row><entry spanname="descr">Minimum quantization parameter for H264. Valid range: from 0 to 51.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_MAX_QP</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row>
	      <row><entry spanname="descr">Maximum quantization parameter for H264. Valid range: from 0 to 51.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row>
	      <row><entry spanname="descr">Quantization parameter for an P frame for H264. Valid range: from 0 to 51.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row>
	      <row><entry spanname="descr">Quantization parameter for an B frame for H264. Valid range: from 0 to 51.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row>
	      <row><entry spanname="descr">Quantization parameter for an I frame for MPEG4. Valid range: from 1 to 31.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row>
	      <row><entry spanname="descr">Minimum quantization parameter for MPEG4. Valid range: from 1 to 31.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row>
	      <row><entry spanname="descr">Maximum quantization parameter for MPEG4. Valid range: from 1 to 31.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row>
	      <row><entry spanname="descr">Quantization parameter for an P frame for MPEG4. Valid range: from 1 to 31.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row>
	      <row><entry spanname="descr">Quantization parameter for an B frame for MPEG4. Valid range: from 1 to 31.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_VBV_SIZE</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row>
	      <row><entry spanname="descr">The Video Buffer Verifier size in kilobytes, it is used as a limitation of frame skip.
The VBV is defined in the standard as a mean to verify that the produced stream will be successfully decoded.
The standard describes it as "Part of a hypothetical decoder that is conceptually connected to the
output of the encoder. Its purpose is to provide a constraint on the variability of the data rate that an
encoder or editing process may produce.".
Applicable to the MPEG1, MPEG2, MPEG4 encoders.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row id="v4l2-mpeg-video-vbv-delay">
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_VBV_DELAY</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row><row><entry spanname="descr">Sets the initial delay in milliseconds for
VBV buffer control.</entry>
	      </row>

		  <row><entry></entry></row>
	      <row id="v4l2-mpeg-video-hor-search-range">
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row>
		<row><entry spanname="descr">Horizontal search range defines maximum horizontal search area in pixels
to search and match for the present Macroblock (MB) in the reference picture. This V4L2 control macro is used to set
horizontal search range for motion estimation module in video encoder.</entry>
	      </row>

		 <row><entry></entry></row>
	      <row id="v4l2-mpeg-video-vert-search-range">
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row>
		<row><entry spanname="descr">Vertical search range defines maximum vertical search area in pixels
to search and match for the present Macroblock (MB) in the reference picture. This V4L2 control macro is used to set
vertical search range for motion estimation module in video encoder.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row id="v4l2-mpeg-video-force-key-frame">
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME</constant>&nbsp;</entry>
		<entry>button</entry>
	      </row><row><entry spanname="descr">Force a key frame for the next queued buffer. Applicable to encoders.
This is a general, codec-agnostic keyframe control.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row>
	      <row><entry spanname="descr">The Coded Picture Buffer size in kilobytes, it is used as a limitation of frame skip.
The CPB is defined in the H264 standard as a mean to verify that the produced stream will be successfully decoded.
Applicable to the H264 encoder.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_I_PERIOD</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row>
	      <row><entry spanname="descr">Period between I-frames in the open GOP for H264. In case of an open GOP
this is the period between two I-frames. The period between IDR (Instantaneous Decoding Refresh) frames is taken from the GOP_SIZE control.
An IDR frame, which stands for Instantaneous Decoding Refresh is an I-frame after which no prior frames are
referenced. This means that a stream can be restarted from an IDR frame without the need to store or decode any
previous frames. Applicable to the H264 encoder.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row id="v4l2-mpeg-video-header-mode">
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_HEADER_MODE</constant>&nbsp;</entry>
		<entry>enum&nbsp;v4l2_mpeg_video_header_mode</entry>
	      </row>
	      <row><entry spanname="descr">Determines whether the header is returned as the first buffer or is
it returned together with the first frame. Applicable to encoders.
Possible values are:</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE</constant>&nbsp;</entry>
		      <entry>The stream header is returned separately in the first buffer.</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME</constant>&nbsp;</entry>
		      <entry>The stream header is returned together with the first encoded frame.</entry>
		    </row>
		  </tbody>
		</entrytbl>
	      </row>
	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER</constant>&nbsp;</entry>
		<entry>boolean</entry>
	      </row><row><entry spanname="descr">Repeat the video sequence headers. Repeating these
headers makes random access to the video stream easier. Applicable to the MPEG1, 2 and 4 encoder.</entry>
	      </row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER</constant>&nbsp;</entry>
		<entry>boolean</entry>
	      </row><row><entry spanname="descr">Enabled the deblocking post processing filter for MPEG4 decoder.
Applicable to the MPEG4 decoder.</entry>
	      </row>
	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MPEG4_VOP_TIME_RES</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row><row><entry spanname="descr">vop_time_increment_resolution value for MPEG4. Applicable to the MPEG4 encoder.</entry>
	      </row>
	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MPEG4_VOP_TIME_INC</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row><row><entry spanname="descr">vop_time_increment value for MPEG4. Applicable to the MPEG4 encoder.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING</constant>&nbsp;</entry>
		<entry>boolean</entry>
	      </row>
	      <row><entry spanname="descr">Enable generation of frame packing supplemental enhancement information in the encoded bitstream.
The frame packing SEI message contains the arrangement of L and R planes for 3D viewing. Applicable to the H264 encoder.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0</constant>&nbsp;</entry>
		<entry>boolean</entry>
	      </row>
	      <row><entry spanname="descr">Sets current frame as frame0 in frame packing SEI.
Applicable to the H264 encoder.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row id="v4l2-mpeg-video-h264-sei-fp-arrangement-type">
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE</constant>&nbsp;</entry>
		<entry>enum&nbsp;v4l2_mpeg_video_h264_sei_fp_arrangement_type</entry>
	      </row>
	      <row><entry spanname="descr">Frame packing arrangement type for H264 SEI.
Applicable to the H264 encoder.
Possible values are:</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_CHEKERBOARD</constant>&nbsp;</entry>
		      <entry>Pixels are alternatively from L and R.</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_COLUMN</constant>&nbsp;</entry>
		      <entry>L and R are interlaced by column.</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_ROW</constant>&nbsp;</entry>
		      <entry>L and R are interlaced by row.</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_SIDE_BY_SIDE</constant>&nbsp;</entry>
		      <entry>L is on the left, R on the right.</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TOP_BOTTOM</constant>&nbsp;</entry>
		      <entry>L is on top, R on bottom.</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TEMPORAL</constant>&nbsp;</entry>
		      <entry>One view per frame.</entry>
		    </row>
		  </tbody>
		</entrytbl>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_FMO</constant>&nbsp;</entry>
		<entry>boolean</entry>
	      </row>
	      <row><entry spanname="descr">Enables flexible macroblock ordering in the encoded bitstream. It is a technique
used for restructuring the ordering of macroblocks in pictures. Applicable to the H264 encoder.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row id="v4l2-mpeg-video-h264-fmo-map-type">
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE</constant>&nbsp;</entry>
		<entry>enum&nbsp;v4l2_mpeg_video_h264_fmo_map_type</entry>
	      </row>
	      <row><entry spanname="descr">When using FMO, the map type divides the image in different scan patterns of macroblocks.
Applicable to the H264 encoder.
Possible values are:</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_INTERLEAVED_SLICES</constant>&nbsp;</entry>
		      <entry>Slices are interleaved one after other with macroblocks in run length order.</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_SCATTERED_SLICES</constant>&nbsp;</entry>
		      <entry>Scatters the macroblocks based on a mathematical function known to both encoder and decoder.</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_FOREGROUND_WITH_LEFT_OVER</constant>&nbsp;</entry>
		      <entry>Macroblocks arranged in rectangular areas or regions of interest.</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_BOX_OUT</constant>&nbsp;</entry>
		      <entry>Slice groups grow in a cyclic way from centre to outwards.</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_RASTER_SCAN</constant>&nbsp;</entry>
		      <entry>Slice groups grow in raster scan pattern from left to right.</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_WIPE_SCAN</constant>&nbsp;</entry>
		      <entry>Slice groups grow in wipe scan pattern from top to bottom.</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_EXPLICIT</constant>&nbsp;</entry>
		      <entry>User defined map type.</entry>
		    </row>
		  </tbody>
		</entrytbl>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row>
	      <row><entry spanname="descr">Number of slice groups in FMO.
Applicable to the H264 encoder.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row id="v4l2-mpeg-video-h264-fmo-change-direction">
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION</constant>&nbsp;</entry>
		<entry>enum&nbsp;v4l2_mpeg_video_h264_fmo_change_dir</entry>
	      </row>
	      <row><entry spanname="descr">Specifies a direction of the slice group change for raster and wipe maps.
Applicable to the H264 encoder.
Possible values are:</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_RIGHT</constant>&nbsp;</entry>
		      <entry>Raster scan or wipe right.</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_LEFT</constant>&nbsp;</entry>
		      <entry>Reverse raster scan or wipe left.</entry>
		    </row>
		  </tbody>
		</entrytbl>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row>
	      <row><entry spanname="descr">Specifies the size of the first slice group for raster and wipe map.
Applicable to the H264 encoder.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row>
	      <row><entry spanname="descr">Specifies the number of consecutive macroblocks for the interleaved map.
Applicable to the H264 encoder.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_ASO</constant>&nbsp;</entry>
		<entry>boolean</entry>
	      </row>
	      <row><entry spanname="descr">Enables arbitrary slice ordering in encoded bitstream.
Applicable to the H264 encoder.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row><row><entry spanname="descr">Specifies the slice order in ASO. Applicable to the H264 encoder.
The supplied 32-bit integer is interpreted as follows (bit
0 = least significant bit):</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry>Bit 0:15</entry>
		      <entry>Slice ID</entry>
		    </row>
		    <row>
		      <entry>Bit 16:32</entry>
		      <entry>Slice position or order</entry>
		    </row>
		  </tbody>
		</entrytbl>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING</constant>&nbsp;</entry>
		<entry>boolean</entry>
	      </row>
	      <row><entry spanname="descr">Enables H264 hierarchical coding.
Applicable to the H264 encoder.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row id="v4l2-mpeg-video-h264-hierarchical-coding-type">
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE</constant>&nbsp;</entry>
		<entry>enum&nbsp;v4l2_mpeg_video_h264_hierarchical_coding_type</entry>
	      </row>
	      <row><entry spanname="descr">Specifies the hierarchical coding type.
Applicable to the H264 encoder.
Possible values are:</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_B</constant>&nbsp;</entry>
		      <entry>Hierarchical B coding.</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P</constant>&nbsp;</entry>
		      <entry>Hierarchical P coding.</entry>
		    </row>
		  </tbody>
		</entrytbl>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row>
	      <row><entry spanname="descr">Specifies the number of hierarchical coding layers.
Applicable to the H264 encoder.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row><row><entry spanname="descr">Specifies a user defined QP for each layer. Applicable to the H264 encoder.
The supplied 32-bit integer is interpreted as follows (bit
0 = least significant bit):</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry>Bit 0:15</entry>
		      <entry>QP value</entry>
		    </row>
		    <row>
		      <entry>Bit 16:32</entry>
		      <entry>Layer number</entry>
		    </row>
		  </tbody>
		</entrytbl>
	      </row>

	    </tbody>
	  </tgroup>
	</table>
      </section>

      <section>
	<title>MFC 5.1 MPEG Controls</title>

	<para>The following MPEG class controls deal with MPEG
decoding and encoding settings that are specific to the Multi Format Codec 5.1 device present
in the S5P family of SoCs by Samsung.
</para>

	<table pgwide="1" frame="none" id="mfc51-control-id">
	  <title>MFC 5.1 Control IDs</title>
	  <tgroup cols="4">
	    <colspec colname="c1" colwidth="1*" />
	    <colspec colname="c2" colwidth="6*" />
	    <colspec colname="c3" colwidth="2*" />
	    <colspec colname="c4" colwidth="6*" />
	    <spanspec namest="c1" nameend="c2" spanname="id" />
	    <spanspec namest="c2" nameend="c4" spanname="descr" />
	    <thead>
	      <row>
		<entry spanname="id" align="left">ID</entry>
		<entry align="left">Type</entry>
	      </row><row><entry spanname="descr" align="left">Description</entry>
	      </row>
	    </thead>
	    <tbody valign="top">
	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE</constant>&nbsp;</entry>
		<entry>boolean</entry>
	      </row><row><entry spanname="descr">If the display delay is enabled then the decoder is forced to return a
CAPTURE buffer (decoded frame) after processing a certain number of OUTPUT buffers. The delay can be set through
<constant>V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY</constant>. This feature can be used for example
for generating thumbnails of videos. Applicable to the H264 decoder.
	      </entry>
	      </row>
	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row><row><entry spanname="descr">Display delay value for H264 decoder.
The decoder is forced to return a decoded frame after the set 'display delay' number of frames. If this number is
low it may result in frames returned out of dispaly order, in addition the hardware may still be using the returned buffer
as a reference picture for subsequent frames.
</entry>
	      </row>
	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row><row><entry spanname="descr">The number of reference pictures used for encoding a P picture.
Applicable to the H264 encoder.</entry>
	      </row>
	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_PADDING</constant>&nbsp;</entry>
		<entry>boolean</entry>
	      </row><row><entry spanname="descr">Padding enable in the encoder - use a color instead of repeating border pixels.
Applicable to encoders.</entry>
	      </row>
	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row><row><entry spanname="descr">Padding color in the encoder. Applicable to encoders. The supplied 32-bit integer is interpreted as follows (bit
0 = least significant bit):</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry>Bit 0:7</entry>
		      <entry>V chrominance information</entry>
		    </row>
		    <row>
		      <entry>Bit 8:15</entry>
		      <entry>U chrominance information</entry>
		    </row>
		    <row>
		      <entry>Bit 16:23</entry>
		      <entry>Y luminance information</entry>
		    </row>
		    <row>
		      <entry>Bit 24:31</entry>
		      <entry>Must be zero.</entry>
		    </row>
		  </tbody>
		</entrytbl>
	      </row>
	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row><row><entry spanname="descr">Reaction coefficient for MFC rate control. Applicable to encoders.
<para>Note 1: Valid only when the frame level RC is enabled.</para>
<para>Note 2: For tight CBR, this field must be small (ex. 2 ~ 10).
For VBR, this field must be large (ex. 100 ~ 1000).</para>
<para>Note 3: It is not recommended to use the greater number than FRAME_RATE * (10^9 / BIT_RATE).</para>
</entry>
	      </row>
	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK</constant>&nbsp;</entry>
		<entry>boolean</entry>
	      </row><row><entry spanname="descr">Adaptive rate control for dark region.
Valid only when H.264 and macroblock level RC is enabled (<constant>V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE</constant>).
Applicable to the H264 encoder.</entry>
	      </row>
	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH</constant>&nbsp;</entry>
		<entry>boolean</entry>
	      </row><row><entry spanname="descr">Adaptive rate control for smooth region.
Valid only when H.264 and macroblock level RC is enabled (<constant>V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE</constant>).
Applicable to the H264 encoder.</entry>
	      </row>
	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC</constant>&nbsp;</entry>
		<entry>boolean</entry>
	      </row><row><entry spanname="descr">Adaptive rate control for static region.
Valid only when H.264 and macroblock level RC is enabled (<constant>V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE</constant>).
Applicable to the H264 encoder.</entry>
	      </row>
	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY</constant>&nbsp;</entry>
		<entry>boolean</entry>
	      </row><row><entry spanname="descr">Adaptive rate control for activity region.
Valid only when H.264 and macroblock level RC is enabled (<constant>V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE</constant>).
Applicable to the H264 encoder.</entry>
	      </row>
	      <row><entry></entry></row>
	      <row id="v4l2-mpeg-mfc51-video-frame-skip-mode">
		<entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE</constant>&nbsp;</entry>
		<entry>enum&nbsp;v4l2_mpeg_mfc51_video_frame_skip_mode</entry>
	      </row>
	      <row><entry spanname="descr">
Indicates in what conditions the encoder should skip frames. If encoding a frame would cause the encoded stream to be larger then
a chosen data limit then the frame will be skipped.
Possible values are:</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_MPEG_MFC51_FRAME_SKIP_MODE_DISABLED</constant>&nbsp;</entry>
		      <entry>Frame skip mode is disabled.</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_MFC51_FRAME_SKIP_MODE_LEVEL_LIMIT</constant>&nbsp;</entry>
		      <entry>Frame skip mode enabled and buffer limit is set by the chosen level and is defined by the standard.</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_MFC51_FRAME_SKIP_MODE_BUF_LIMIT</constant>&nbsp;</entry>
		      <entry>Frame skip mode enabled and buffer limit is set by the VBV (MPEG1/2/4) or CPB (H264) buffer size control.</entry>
		    </row>
		  </tbody>
		</entrytbl>
	      </row>
	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row><row><entry spanname="descr">Enable rate-control with fixed target bit.
If this setting is enabled, then the rate control logic of the encoder will calculate the average bitrate
for a GOP and keep it below or equal the set bitrate target. Otherwise the rate control logic calculates the
overall average bitrate for the stream and keeps it below or equal to the set bitrate. In the first case
the average bitrate for the whole stream will be smaller then the set bitrate. This is caused because the
average is calculated for smaller number of frames, on the other hand enabling this setting will ensure that
the stream will meet tight bandwidth contraints. Applicable to encoders.
</entry>
	      </row>
	      <row><entry></entry></row>
	      <row id="v4l2-mpeg-mfc51-video-force-frame-type">
		<entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE</constant>&nbsp;</entry>
		<entry>enum&nbsp;v4l2_mpeg_mfc51_video_force_frame_type</entry>
	      </row>
	      <row><entry spanname="descr">Force a frame type for the next queued buffer. Applicable to encoders.
Possible values are:</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_MPEG_MFC51_FORCE_FRAME_TYPE_DISABLED</constant>&nbsp;</entry>
		      <entry>Forcing a specific frame type disabled.</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_MFC51_FORCE_FRAME_TYPE_I_FRAME</constant>&nbsp;</entry>
		      <entry>Force an I-frame.</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_MFC51_FORCE_FRAME_TYPE_NOT_CODED</constant>&nbsp;</entry>
		      <entry>Force a non-coded frame.</entry>
		    </row>
		  </tbody>
		</entrytbl>
	      </row>
	    </tbody>
	  </tgroup>
	</table>
      </section>

      <section>
	<title>CX2341x MPEG Controls</title>

	<para>The following MPEG class controls deal with MPEG
encoding settings that are specific to the Conexant CX23415 and
CX23416 MPEG encoding chips.</para>

	<table pgwide="1" frame="none" id="cx2341x-control-id">
	  <title>CX2341x Control IDs</title>
	  <tgroup cols="4">
	    <colspec colname="c1" colwidth="1*" />
	    <colspec colname="c2" colwidth="6*" />
	    <colspec colname="c3" colwidth="2*" />
	    <colspec colname="c4" colwidth="6*" />
	    <spanspec namest="c1" nameend="c2" spanname="id" />
	    <spanspec namest="c2" nameend="c4" spanname="descr" />
	    <thead>
	      <row>
		<entry spanname="id" align="left">ID</entry>
		<entry align="left">Type</entry>
	      </row><row><entry spanname="descr" align="left">Description</entry>
	      </row>
	    </thead>
	    <tbody valign="top">
	      <row><entry></entry></row>
	      <row id="v4l2-mpeg-cx2341x-video-spatial-filter-mode">
		<entry spanname="id"><constant>V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE</constant>&nbsp;</entry>
		<entry>enum&nbsp;v4l2_mpeg_cx2341x_video_spatial_filter_mode</entry>
	      </row><row><entry spanname="descr">Sets the Spatial
Filter mode (default <constant>MANUAL</constant>). Possible values
are:</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_MANUAL</constant>&nbsp;</entry>
		      <entry>Choose the filter manually</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_AUTO</constant>&nbsp;</entry>
		      <entry>Choose the filter automatically</entry>
		    </row>
		  </tbody>
		</entrytbl>
	      </row>
	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER</constant>&nbsp;</entry>
		<entry>integer&nbsp;(0-15)</entry>
	      </row><row><entry spanname="descr">The setting for the
Spatial Filter. 0 = off, 15 = maximum. (Default is 0.)</entry>
	      </row>
	      <row><entry></entry></row>
	      <row id="luma-spatial-filter-type">
		<entry spanname="id"><constant>V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE</constant>&nbsp;</entry>
		<entry>enum&nbsp;v4l2_mpeg_cx2341x_video_luma_spatial_filter_type</entry>
	      </row><row><entry spanname="descr">Select the algorithm
to use for the Luma Spatial Filter (default
<constant>1D_HOR</constant>). Possible values:</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_OFF</constant>&nbsp;</entry>
		      <entry>No filter</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_HOR</constant>&nbsp;</entry>
		      <entry>One-dimensional horizontal</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_VERT</constant>&nbsp;</entry>
		      <entry>One-dimensional vertical</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_HV_SEPARABLE</constant>&nbsp;</entry>
		      <entry>Two-dimensional separable</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_SYM_NON_SEPARABLE</constant>&nbsp;</entry>
		      <entry>Two-dimensional symmetrical
non-separable</entry>
		    </row>
		  </tbody>
		</entrytbl>
	      </row>
	      <row><entry></entry></row>
	      <row id="chroma-spatial-filter-type">
		<entry spanname="id"><constant>V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE</constant>&nbsp;</entry>
		<entry>enum&nbsp;v4l2_mpeg_cx2341x_video_chroma_spatial_filter_type</entry>
	      </row><row><entry spanname="descr">Select the algorithm
for the Chroma Spatial Filter (default <constant>1D_HOR</constant>).
Possible values are:</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_OFF</constant>&nbsp;</entry>
		      <entry>No filter</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_1D_HOR</constant>&nbsp;</entry>
		      <entry>One-dimensional horizontal</entry>
		    </row>
		  </tbody>
		</entrytbl>
	      </row>
	      <row><entry></entry></row>
	      <row id="v4l2-mpeg-cx2341x-video-temporal-filter-mode">
		<entry spanname="id"><constant>V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE</constant>&nbsp;</entry>
		<entry>enum&nbsp;v4l2_mpeg_cx2341x_video_temporal_filter_mode</entry>
	      </row><row><entry spanname="descr">Sets the Temporal
Filter mode (default <constant>MANUAL</constant>). Possible values
are:</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_MANUAL</constant>&nbsp;</entry>
		      <entry>Choose the filter manually</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_AUTO</constant>&nbsp;</entry>
		      <entry>Choose the filter automatically</entry>
		    </row>
		  </tbody>
		</entrytbl>
	      </row>
	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER</constant>&nbsp;</entry>
		<entry>integer&nbsp;(0-31)</entry>
	      </row><row><entry spanname="descr">The setting for the
Temporal Filter. 0 = off, 31 = maximum. (Default is 8 for full-scale
capturing and 0 for scaled capturing.)</entry>
	      </row>
	      <row><entry></entry></row>
	      <row id="v4l2-mpeg-cx2341x-video-median-filter-type">
		<entry spanname="id"><constant>V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE</constant>&nbsp;</entry>
		<entry>enum&nbsp;v4l2_mpeg_cx2341x_video_median_filter_type</entry>
	      </row><row><entry spanname="descr">Median Filter Type
(default <constant>OFF</constant>). Possible values are:</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_OFF</constant>&nbsp;</entry>
		      <entry>No filter</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR</constant>&nbsp;</entry>
		      <entry>Horizontal filter</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_VERT</constant>&nbsp;</entry>
		      <entry>Vertical filter</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR_VERT</constant>&nbsp;</entry>
		      <entry>Horizontal and vertical filter</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_DIAG</constant>&nbsp;</entry>
		      <entry>Diagonal filter</entry>
		    </row>
		  </tbody>
		</entrytbl>
	      </row>
	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM</constant>&nbsp;</entry>
		<entry>integer&nbsp;(0-255)</entry>
	      </row><row><entry spanname="descr">Threshold above which
the luminance median filter is enabled (default 0)</entry>
	      </row>
	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP</constant>&nbsp;</entry>
		<entry>integer&nbsp;(0-255)</entry>
	      </row><row><entry spanname="descr">Threshold below which
the luminance median filter is enabled (default 255)</entry>
	      </row>
	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM</constant>&nbsp;</entry>
		<entry>integer&nbsp;(0-255)</entry>
	      </row><row><entry spanname="descr">Threshold above which
the chroma median filter is enabled (default 0)</entry>
	      </row>
	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP</constant>&nbsp;</entry>
		<entry>integer&nbsp;(0-255)</entry>
	      </row><row><entry spanname="descr">Threshold below which
the chroma median filter is enabled (default 255)</entry>
	      </row>
	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS</constant>&nbsp;</entry>
		<entry>boolean</entry>
	      </row>
	      <row><entry spanname="descr">The CX2341X MPEG encoder
can insert one empty MPEG-2 PES packet into the stream between every
four video frames. The packet size is 2048 bytes, including the
packet_start_code_prefix and stream_id fields. The stream_id is 0xBF
(private stream 2). The payload consists of 0x00 bytes, to be filled
in by the application. 0 = do not insert, 1 = insert packets.</entry>
	      </row>
	    </tbody>
	  </tgroup>
	</table>
      </section>

    <section>
      <title>VPX Control Reference</title>

      <para>The VPX controls include controls for encoding parameters
      of VPx video codec.</para>

      <table pgwide="1" frame="none" id="vpx-control-id">
      <title>VPX Control IDs</title>

      <tgroup cols="4">
        <colspec colname="c1" colwidth="1*" />
        <colspec colname="c2" colwidth="6*" />
        <colspec colname="c3" colwidth="2*" />
        <colspec colname="c4" colwidth="6*" />
        <spanspec namest="c1" nameend="c2" spanname="id" />
        <spanspec namest="c2" nameend="c4" spanname="descr" />
        <thead>
          <row>
            <entry spanname="id" align="left">ID</entry>
            <entry align="left">Type</entry>
          </row><row rowsep="1"><entry spanname="descr" align="left">Description</entry>
          </row>
        </thead>
        <tbody valign="top">
          <row><entry></entry></row>

	      <row><entry></entry></row>
	      <row id="v4l2-vpx-num-partitions">
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS</constant></entry>
		<entry>enum v4l2_vp8_num_partitions</entry>
	      </row>
	      <row><entry spanname="descr">The number of token partitions to use in VP8 encoder.
Possible values are:</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_CID_MPEG_VIDEO_VPX_1_PARTITION</constant></entry>
		      <entry>1 coefficient partition</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_CID_MPEG_VIDEO_VPX_2_PARTITIONS</constant></entry>
		      <entry>2 coefficient partitions</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_CID_MPEG_VIDEO_VPX_4_PARTITIONS</constant></entry>
		      <entry>4 coefficient partitions</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_CID_MPEG_VIDEO_VPX_8_PARTITIONS</constant></entry>
		      <entry>8 coefficient partitions</entry>
	            </row>
                  </tbody>
		</entrytbl>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_VPX_IMD_DISABLE_4X4</constant></entry>
		<entry>boolean</entry>
	      </row>
	      <row><entry spanname="descr">Setting this prevents intra 4x4 mode in the intra mode decision.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row id="v4l2-vpx-num-ref-frames">
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES</constant></entry>
		<entry>enum v4l2_vp8_num_ref_frames</entry>
	      </row>
	      <row><entry spanname="descr">The number of reference pictures for encoding P frames.
Possible values are:</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_CID_MPEG_VIDEO_VPX_1_REF_FRAME</constant></entry>
		      <entry>Last encoded frame will be searched</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_CID_MPEG_VIDEO_VPX_2_REF_FRAME</constant></entry>
		      <entry>Two frames will be searched among the last encoded frame, the golden frame
and the alternate reference (altref) frame. The encoder implementation will decide which two are chosen.</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_CID_MPEG_VIDEO_VPX_3_REF_FRAME</constant></entry>
		      <entry>The last encoded frame, the golden frame and the altref frame will be searched.</entry>
		    </row>
                  </tbody>
		</entrytbl>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_VPX_FILTER_LEVEL</constant></entry>
		<entry>integer</entry>
	      </row>
	      <row><entry spanname="descr">Indicates the loop filter level. The adjustment of the loop
filter level is done via a delta value against a baseline loop filter value.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_VPX_FILTER_SHARPNESS</constant></entry>
		<entry>integer</entry>
	      </row>
	      <row><entry spanname="descr">This parameter affects the loop filter. Anything above
zero weakens the deblocking effect on the loop filter.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD</constant></entry>
		<entry>integer</entry>
	      </row>
	      <row><entry spanname="descr">Sets the refresh period for the golden frame. The period is defined
in number of frames. For a value of 'n', every nth frame starting from the first key frame will be taken as a golden frame.
For 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
0, 4, 8 etc will be taken as the golden frames as frame 0 is always a key frame.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row id="v4l2-vpx-golden-frame-sel">
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL</constant></entry>
		<entry>enum v4l2_vp8_golden_frame_sel</entry>
	      </row>
	      <row><entry spanname="descr">Selects the golden frame for encoding.
Possible values are:</entry>
	      </row>
	      <row>
		<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_PREV</constant></entry>
		      <entry>Use the (n-2)th frame as a golden frame, current frame index being 'n'.</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_REF_PERIOD</constant></entry>
		      <entry>Use the previous specific frame indicated by
V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD as a golden frame.</entry>
		    </row>
                  </tbody>
		</entrytbl>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_VPX_MIN_QP</constant></entry>
		<entry>integer</entry>
	      </row>
	      <row><entry spanname="descr">Minimum quantization parameter for VP8.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_VPX_MAX_QP</constant></entry>
		<entry>integer</entry>
	      </row>
	      <row><entry spanname="descr">Maximum quantization parameter for VP8.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row>
	      <row><entry spanname="descr">Quantization parameter for an I frame for VP8.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row>
	      <row><entry spanname="descr">Quantization parameter for a P frame for VP8.</entry>
	      </row>

	      <row><entry></entry></row>
	      <row>
		<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_VPX_PROFILE</constant>&nbsp;</entry>
		<entry>integer</entry>
	      </row>
	      <row><entry spanname="descr">Select the desired profile for VPx encoder.
Acceptable values are 0, 1, 2 and 3 corresponding to encoder profiles 0, 1, 2 and 3.</entry>
	      </row>

          <row><entry></entry></row>
        </tbody>
      </tgroup>
      </table>

      </section>
    </section>

    <section id="camera-controls">
      <title>Camera Control Reference</title>

      <para>The Camera class includes controls for mechanical (or
equivalent digital) features of a device such as controllable lenses
or sensors.</para>

    <table pgwide="1" frame="none" id="camera-control-id">
      <title>Camera Control IDs</title>
      <tgroup cols="4">
	<colspec colname="c1" colwidth="1*" />
	<colspec colname="c2" colwidth="6*" />
	<colspec colname="c3" colwidth="2*" />
	<colspec colname="c4" colwidth="6*" />
	<spanspec namest="c1" nameend="c2" spanname="id" />
	<spanspec namest="c2" nameend="c4" spanname="descr" />
	<thead>
	  <row>
	    <entry spanname="id" align="left">ID</entry>
	    <entry align="left">Type</entry>
	  </row><row rowsep="1"><entry spanname="descr" align="left">Description</entry>
	  </row>
	</thead>
	<tbody valign="top">
	  <row><entry></entry></row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_CAMERA_CLASS</constant>&nbsp;</entry>
	    <entry>class</entry>
	  </row><row><entry spanname="descr">The Camera class
descriptor. Calling &VIDIOC-QUERYCTRL; for this control will return a
description of this control class.</entry>
	  </row>
	  <row><entry></entry></row>

	  <row id="v4l2-exposure-auto-type">
	    <entry spanname="id"><constant>V4L2_CID_EXPOSURE_AUTO</constant>&nbsp;</entry>
	    <entry>enum&nbsp;v4l2_exposure_auto_type</entry>
	  </row><row><entry spanname="descr">Enables automatic
adjustments of the exposure time and/or iris aperture. The effect of
manual changes of the exposure time or iris aperture while these
features are enabled is undefined, drivers should ignore such
requests. Possible values are:</entry>
	  </row>
	  <row>
	    <entrytbl spanname="descr" cols="2">
	      <tbody valign="top">
		<row>
		  <entry><constant>V4L2_EXPOSURE_AUTO</constant>&nbsp;</entry>
		      <entry>Automatic exposure time, automatic iris
aperture.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_EXPOSURE_MANUAL</constant>&nbsp;</entry>
		  <entry>Manual exposure time, manual iris.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_EXPOSURE_SHUTTER_PRIORITY</constant>&nbsp;</entry>
		  <entry>Manual exposure time, auto iris.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_EXPOSURE_APERTURE_PRIORITY</constant>&nbsp;</entry>
		  <entry>Auto exposure time, manual iris.</entry>
		</row>
	      </tbody>
	    </entrytbl>
	  </row>
	  <row><entry></entry></row>

	  <row>
	    <entry spanname="id"><constant>V4L2_CID_EXPOSURE_ABSOLUTE</constant>&nbsp;</entry>
	    <entry>integer</entry>
	  </row><row><entry spanname="descr">Determines the exposure
time of the camera sensor. The exposure time is limited by the frame
interval. Drivers should interpret the values as 100 &micro;s units,
where the value 1 stands for 1/10000th of a second, 10000 for 1 second
and 100000 for 10 seconds.</entry>
	  </row>
	  <row><entry></entry></row>

	  <row>
	    <entry spanname="id"><constant>V4L2_CID_EXPOSURE_AUTO_PRIORITY</constant>&nbsp;</entry>
	    <entry>boolean</entry>
	  </row><row><entry spanname="descr">When
<constant>V4L2_CID_EXPOSURE_AUTO</constant> is set to
<constant>AUTO</constant> or <constant>APERTURE_PRIORITY</constant>,
this control determines if the device may dynamically vary the frame
rate. By default this feature is disabled (0) and the frame rate must
remain constant.</entry>
	  </row>
	  <row><entry></entry></row>

	  <row>
	    <entry spanname="id"><constant>V4L2_CID_EXPOSURE_BIAS</constant>&nbsp;</entry>
	    <entry>integer menu</entry>
	  </row><row><entry spanname="descr"> Determines the automatic
exposure compensation, it is effective only when <constant>V4L2_CID_EXPOSURE_AUTO</constant>
control is set to <constant>AUTO</constant>, <constant>SHUTTER_PRIORITY </constant>
or <constant>APERTURE_PRIORITY</constant>.
It is expressed in terms of EV, drivers should interpret the values as 0.001 EV
units, where the value 1000 stands for +1 EV.
<para>Increasing the exposure compensation value is equivalent to decreasing
the exposure value (EV) and will increase the amount of light at the image
sensor. The camera performs the exposure compensation by adjusting absolute
exposure time and/or aperture.</para></entry>
	  </row>
	  <row><entry></entry></row>

	  <row id="v4l2-exposure-metering">
	    <entry spanname="id"><constant>V4L2_CID_EXPOSURE_METERING</constant>&nbsp;</entry>
	    <entry>enum&nbsp;v4l2_exposure_metering</entry>
	  </row><row><entry spanname="descr">Determines how the camera measures
the amount of light available for the frame exposure. Possible values are:</entry>
	  </row>
	  <row>
	    <entrytbl spanname="descr" cols="2">
	      <tbody valign="top">
		<row>
		  <entry><constant>V4L2_EXPOSURE_METERING_AVERAGE</constant>&nbsp;</entry>
		  <entry>Use the light information coming from the entire frame
and average giving no weighting to any particular portion of the metered area.
		  </entry>
		</row>
		<row>
		  <entry><constant>V4L2_EXPOSURE_METERING_CENTER_WEIGHTED</constant>&nbsp;</entry>
		  <entry>Average the light information coming from the entire frame
giving priority to the center of the metered area.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_EXPOSURE_METERING_SPOT</constant>&nbsp;</entry>
		  <entry>Measure only very small area at the center of the frame.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_EXPOSURE_METERING_MATRIX</constant>&nbsp;</entry>
		  <entry>A multi-zone metering. The light intensity is measured
in several points of the frame and the results are combined. The
algorithm of the zones selection and their significance in calculating the
final value is device dependent.</entry>
		</row>
	      </tbody>
	    </entrytbl>
	  </row>
	  <row><entry></entry></row>

	  <row>
	    <entry spanname="id"><constant>V4L2_CID_PAN_RELATIVE</constant>&nbsp;</entry>
	    <entry>integer</entry>
	  </row><row><entry spanname="descr">This control turns the
camera horizontally by the specified amount. The unit is undefined. A
positive value moves the camera to the right (clockwise when viewed
from above), a negative value to the left. A value of zero does not
cause motion. This is a write-only control.</entry>
	  </row>
	  <row><entry></entry></row>

	  <row>
	    <entry spanname="id"><constant>V4L2_CID_TILT_RELATIVE</constant>&nbsp;</entry>
	    <entry>integer</entry>
	  </row><row><entry spanname="descr">This control turns the
camera vertically by the specified amount. The unit is undefined. A
positive value moves the camera up, a negative value down. A value of
zero does not cause motion. This is a write-only control.</entry>
	  </row>
	  <row><entry></entry></row>

	  <row>
	    <entry spanname="id"><constant>V4L2_CID_PAN_RESET</constant>&nbsp;</entry>
	    <entry>button</entry>
	  </row><row><entry spanname="descr">When this control is set,
the camera moves horizontally to the default position.</entry>
	  </row>
	  <row><entry></entry></row>

	  <row>
	    <entry spanname="id"><constant>V4L2_CID_TILT_RESET</constant>&nbsp;</entry>
	    <entry>button</entry>
	  </row><row><entry spanname="descr">When this control is set,
the camera moves vertically to the default position.</entry>
	  </row>
	  <row><entry></entry></row>

	  <row>
	    <entry spanname="id"><constant>V4L2_CID_PAN_ABSOLUTE</constant>&nbsp;</entry>
	    <entry>integer</entry>
	  </row><row><entry spanname="descr">This control
turns the camera horizontally to the specified position. Positive
values move the camera to the right (clockwise when viewed from above),
negative values to the left. Drivers should interpret the values as arc
seconds, with valid values between -180 * 3600 and +180 * 3600
inclusive.</entry>
	  </row>
	  <row><entry></entry></row>

	  <row>
	    <entry spanname="id"><constant>V4L2_CID_TILT_ABSOLUTE</constant>&nbsp;</entry>
	    <entry>integer</entry>
	  </row><row><entry spanname="descr">This control
turns the camera vertically to the specified position. Positive values
move the camera up, negative values down. Drivers should interpret the
values as arc seconds, with valid values between -180 * 3600 and +180
* 3600 inclusive.</entry>
	  </row>
	  <row><entry></entry></row>

	  <row>
	    <entry spanname="id"><constant>V4L2_CID_FOCUS_ABSOLUTE</constant>&nbsp;</entry>
	    <entry>integer</entry>
	  </row><row><entry spanname="descr">This control sets the
focal point of the camera to the specified position. The unit is
undefined. Positive values set the focus closer to the camera,
negative values towards infinity.</entry>
	  </row>
	  <row><entry></entry></row>

	  <row>
	    <entry spanname="id"><constant>V4L2_CID_FOCUS_RELATIVE</constant>&nbsp;</entry>
	    <entry>integer</entry>
	  </row><row><entry spanname="descr">This control moves the
focal point of the camera by the specified amount. The unit is
undefined. Positive values move the focus closer to the camera,
negative values towards infinity. This is a write-only control.</entry>
	  </row>
	  <row><entry></entry></row>

	  <row>
	    <entry spanname="id"><constant>V4L2_CID_FOCUS_AUTO</constant>&nbsp;</entry>
	    <entry>boolean</entry>
	  </row><row><entry spanname="descr">Enables continuous automatic
focus adjustments. The effect of manual focus adjustments while this feature
is enabled is undefined, drivers should ignore such requests.</entry>
	  </row>
	  <row><entry></entry></row>

	  <row>
	    <entry spanname="id"><constant>V4L2_CID_AUTO_FOCUS_START</constant>&nbsp;</entry>
	    <entry>button</entry>
	  </row><row><entry spanname="descr">Starts single auto focus process.
The effect of setting this control when <constant>V4L2_CID_FOCUS_AUTO</constant>
is set to <constant>TRUE</constant> (1) is undefined, drivers should ignore
such requests.</entry>
	  </row>
	  <row><entry></entry></row>

	  <row>
	    <entry spanname="id"><constant>V4L2_CID_AUTO_FOCUS_STOP</constant>&nbsp;</entry>
	    <entry>button</entry>
	  </row><row><entry spanname="descr">Aborts automatic focusing
started with <constant>V4L2_CID_AUTO_FOCUS_START</constant> control. It is
effective only when the continuous autofocus is disabled, that is when
<constant>V4L2_CID_FOCUS_AUTO</constant> control is set to <constant>FALSE
</constant> (0).</entry>
	  </row>
	  <row><entry></entry></row>

	  <row id="v4l2-auto-focus-status">
	    <entry spanname="id">
	      <constant>V4L2_CID_AUTO_FOCUS_STATUS</constant>&nbsp;</entry>
	    <entry>bitmask</entry>
	  </row>
	  <row><entry spanname="descr">The automatic focus status. This is a read-only
	  control.</entry>
	  </row>
	  <row>
	    <entrytbl spanname="descr" cols="2">
	      <tbody valign="top">
		<row>
		  <entry><constant>V4L2_AUTO_FOCUS_STATUS_IDLE</constant>&nbsp;</entry>
		  <entry>Automatic focus is not active.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_AUTO_FOCUS_STATUS_BUSY</constant>&nbsp;</entry>
		  <entry>Automatic focusing is in progress.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_AUTO_FOCUS_STATUS_REACHED</constant>&nbsp;</entry>
		  <entry>Focus has been reached.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_AUTO_FOCUS_STATUS_FAILED</constant>&nbsp;</entry>
		  <entry>Automatic focus has failed, the driver will not
		  transition from this state until another action is
		  performed by an application.</entry>
		</row>
	      </tbody>
	    </entrytbl>
	  </row>
	  <row><entry spanname="descr">
Setting <constant>V4L2_LOCK_FOCUS</constant> lock bit of the <constant>V4L2_CID_3A_LOCK
</constant> control may stop updates of the <constant>V4L2_CID_AUTO_FOCUS_STATUS</constant>
control value.</entry>
	  </row>
	  <row><entry></entry></row>

	  <row id="v4l2-auto-focus-range">
	    <entry spanname="id">
	      <constant>V4L2_CID_AUTO_FOCUS_RANGE</constant>&nbsp;</entry>
	    <entry>enum&nbsp;v4l2_auto_focus_range</entry>
	  </row>
	  <row><entry spanname="descr">Determines auto focus distance range
for which lens may be adjusted. </entry>
	  </row>
	  <row>
	    <entrytbl spanname="descr" cols="2">
	      <tbody valign="top">
		<row>
		  <entry><constant>V4L2_AUTO_FOCUS_RANGE_AUTO</constant>&nbsp;</entry>
		  <entry>The camera automatically selects the focus range.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_AUTO_FOCUS_RANGE_NORMAL</constant>&nbsp;</entry>
		  <entry>Normal distance range, limited for best automatic focus
performance.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_AUTO_FOCUS_RANGE_MACRO</constant>&nbsp;</entry>
		  <entry>Macro (close-up) auto focus. The camera will
use its minimum possible distance for auto focus.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_AUTO_FOCUS_RANGE_INFINITY</constant>&nbsp;</entry>
		  <entry>The lens is set to focus on an object at infinite distance.</entry>
		</row>
	      </tbody>
	    </entrytbl>
	  </row>
	  <row><entry></entry></row>

	  <row>
	    <entry spanname="id"><constant>V4L2_CID_ZOOM_ABSOLUTE</constant>&nbsp;</entry>
	    <entry>integer</entry>
	  </row><row><entry spanname="descr">Specify the objective lens
focal length as an absolute value. The zoom unit is driver-specific and its
value should be a positive integer.</entry>
	  </row>
	  <row><entry></entry></row>

	  <row>
	    <entry spanname="id"><constant>V4L2_CID_ZOOM_RELATIVE</constant>&nbsp;</entry>
	    <entry>integer</entry>
	  </row><row><entry spanname="descr">Specify the objective lens
focal length relatively to the current value. Positive values move the zoom
lens group towards the telephoto direction, negative values towards the
wide-angle direction. The zoom unit is driver-specific. This is a write-only control.</entry>
	  </row>
	  <row><entry></entry></row>

	  <row>
	    <entry spanname="id"><constant>V4L2_CID_ZOOM_CONTINUOUS</constant>&nbsp;</entry>
	    <entry>integer</entry>
	  </row><row><entry spanname="descr">Move the objective lens group
at the specified speed until it reaches physical device limits or until an
explicit request to stop the movement. A positive value moves the zoom lens
group towards the telephoto direction. A value of zero stops the zoom lens
group movement. A negative value moves the zoom lens group towards the
wide-angle direction. The zoom speed unit is driver-specific.</entry>
	  </row>
	  <row><entry></entry></row>

	  <row>
	    <entry spanname="id"><constant>V4L2_CID_IRIS_ABSOLUTE</constant>&nbsp;</entry>
	    <entry>integer</entry>
	  </row><row><entry spanname="descr">This control sets the
camera's aperture to the specified value. The unit is undefined.
Larger values open the iris wider, smaller values close it.</entry>
	  </row>
	  <row><entry></entry></row>

	  <row>
	    <entry spanname="id"><constant>V4L2_CID_IRIS_RELATIVE</constant>&nbsp;</entry>
	    <entry>integer</entry>
	  </row><row><entry spanname="descr">This control modifies the
camera's aperture by the specified amount. The unit is undefined.
Positive values open the iris one step further, negative values close
it one step further. This is a write-only control.</entry>
	  </row>
	  <row><entry></entry></row>

	  <row>
	    <entry spanname="id"><constant>V4L2_CID_PRIVACY</constant>&nbsp;</entry>
	    <entry>boolean</entry>
	  </row><row><entry spanname="descr">Prevent video from being acquired
by the camera. When this control is set to <constant>TRUE</constant> (1), no
image can be captured by the camera. Common means to enforce privacy are
mechanical obturation of the sensor and firmware image processing, but the
device is not restricted to these methods. Devices that implement the privacy
control must support read access and may support write access.</entry>
	  </row>

	  <row>
	    <entry spanname="id"><constant>V4L2_CID_BAND_STOP_FILTER</constant>&nbsp;</entry>
	    <entry>integer</entry>
	  </row><row><entry spanname="descr">Switch the band-stop filter of a
camera sensor on or off, or specify its strength. Such band-stop filters can
be used, for example, to filter out the fluorescent light component.</entry>
	  </row>
	  <row><entry></entry></row>

	  <row id="v4l2-auto-n-preset-white-balance">
	    <entry spanname="id"><constant>V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE</constant>&nbsp;</entry>
	    <entry>enum&nbsp;v4l2_auto_n_preset_white_balance</entry>
	  </row><row><entry spanname="descr">Sets white balance to automatic,
manual or a preset. The presets determine color temperature of the light as
a hint to the camera for white balance adjustments resulting in most accurate
color representation. The following white balance presets are listed in order
of increasing color temperature.</entry>
	  </row>
	  <row>
	    <entrytbl spanname="descr" cols="2">
	      <tbody valign="top">
		<row>
		  <entry><constant>V4L2_WHITE_BALANCE_MANUAL</constant>&nbsp;</entry>
		  <entry>Manual white balance.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_WHITE_BALANCE_AUTO</constant>&nbsp;</entry>
		  <entry>Automatic white balance adjustments.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_WHITE_BALANCE_INCANDESCENT</constant>&nbsp;</entry>
		  <entry>White balance setting for incandescent (tungsten) lighting.
It generally cools down the colors and corresponds approximately to 2500...3500 K
color temperature range.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_WHITE_BALANCE_FLUORESCENT</constant>&nbsp;</entry>
		  <entry>White balance preset for fluorescent lighting.
It corresponds approximately to 4000...5000 K color temperature.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_WHITE_BALANCE_FLUORESCENT_H</constant>&nbsp;</entry>
		  <entry>With this setting the camera will compensate for
fluorescent H lighting.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_WHITE_BALANCE_HORIZON</constant>&nbsp;</entry>
		  <entry>White balance setting for horizon daylight.
It corresponds approximately to 5000 K color temperature.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_WHITE_BALANCE_DAYLIGHT</constant>&nbsp;</entry>
		  <entry>White balance preset for daylight (with clear sky).
It corresponds approximately to 5000...6500 K color temperature.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_WHITE_BALANCE_FLASH</constant>&nbsp;</entry>
		  <entry>With this setting the camera will compensate for the flash
light. It slightly warms up the colors and corresponds roughly to 5000...5500 K
color temperature.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_WHITE_BALANCE_CLOUDY</constant>&nbsp;</entry>
		  <entry>White balance preset for moderately overcast sky.
This option corresponds approximately to 6500...8000 K color temperature
range.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_WHITE_BALANCE_SHADE</constant>&nbsp;</entry>
		  <entry>White balance preset for shade or heavily overcast
sky. It corresponds approximately to 9000...10000 K color temperature.
</entry>
		</row>
	      </tbody>
	    </entrytbl>
	  </row>
	  <row><entry></entry></row>

	  <row id="v4l2-wide-dynamic-range">
	    <entry spanname="id"><constant>V4L2_CID_WIDE_DYNAMIC_RANGE</constant></entry>
	    <entry>boolean</entry>
	  </row>
	  <row>
	    <entry spanname="descr">Enables or disables the camera's wide dynamic
range feature. This feature allows to obtain clear images in situations where
intensity of the illumination varies significantly throughout the scene, i.e.
there are simultaneously very dark and very bright areas. It is most commonly
realized in cameras by combining two subsequent frames with different exposure
times. <footnote id="ctypeconv"><para> This control may be changed to a menu
control in the future, if more options are required.</para></footnote></entry>
	  </row>
	  <row><entry></entry></row>

	  <row id="v4l2-image-stabilization">
	    <entry spanname="id"><constant>V4L2_CID_IMAGE_STABILIZATION</constant></entry>
	    <entry>boolean</entry>
	  </row>
	  <row>
	    <entry spanname="descr">Enables or disables image stabilization.
	      <footnoteref linkend="ctypeconv"/></entry>
	  </row>
	  <row><entry></entry></row>

	  <row>
	    <entry spanname="id"><constant>V4L2_CID_ISO_SENSITIVITY</constant>&nbsp;</entry>
	    <entry>integer menu</entry>
	  </row><row><entry spanname="descr">Determines ISO equivalent of an
image sensor indicating the sensor's sensitivity to light. The numbers are
expressed in arithmetic scale, as per <xref linkend="iso12232" /> standard,
where doubling the sensor sensitivity is represented by doubling the numerical
ISO value. Applications should interpret the values as standard ISO values
multiplied by 1000, e.g. control value 800 stands for ISO 0.8. Drivers will
usually support only a subset of standard ISO values. The effect of setting
this control while the <constant>V4L2_CID_ISO_SENSITIVITY_AUTO</constant>
control is set to a value other than <constant>V4L2_CID_ISO_SENSITIVITY_MANUAL
</constant> is undefined, drivers should ignore such requests.</entry>
	  </row>
	  <row><entry></entry></row>

	  <row id="v4l2-iso-sensitivity-auto-type">
	    <entry spanname="id"><constant>V4L2_CID_ISO_SENSITIVITY_AUTO</constant>&nbsp;</entry>
	    <entry>enum&nbsp;v4l2_iso_sensitivity_type</entry>
	  </row><row><entry spanname="descr">Enables or disables automatic ISO
sensitivity adjustments.</entry>
	  </row>
	  <row>
	    <entrytbl spanname="descr" cols="2">
	      <tbody valign="top">
		<row>
		  <entry><constant>V4L2_CID_ISO_SENSITIVITY_MANUAL</constant>&nbsp;</entry>
		  <entry>Manual ISO sensitivity.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_CID_ISO_SENSITIVITY_AUTO</constant>&nbsp;</entry>
		  <entry>Automatic ISO sensitivity adjustments.</entry>
		</row>
	      </tbody>
	    </entrytbl>
	  </row>
	  <row><entry></entry></row>

	  <row id="v4l2-scene-mode">
	    <entry spanname="id"><constant>V4L2_CID_SCENE_MODE</constant>&nbsp;</entry>
	    <entry>enum&nbsp;v4l2_scene_mode</entry>
	  </row><row><entry spanname="descr">This control allows to select
scene programs as the camera automatic modes optimized for common shooting
scenes. Within these modes the camera determines best exposure, aperture,
focusing, light metering, white balance and equivalent sensitivity. The
controls of those parameters are influenced by the scene mode control.
An exact behavior in each mode is subject to the camera specification.

<para>When the scene mode feature is not used, this control should be set to
<constant>V4L2_SCENE_MODE_NONE</constant> to make sure the other possibly
related controls are accessible. The following scene programs are defined:
</para>
</entry>
	  </row>
	  <row>
	    <entrytbl spanname="descr" cols="2">
	      <tbody valign="top">
		<row>
		  <entry><constant>V4L2_SCENE_MODE_NONE</constant>&nbsp;</entry>
		  <entry>The scene mode feature is disabled.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_SCENE_MODE_BACKLIGHT</constant>&nbsp;</entry>
		  <entry>Backlight. Compensates for dark shadows when light is
		  coming from behind a subject, also by automatically turning
		  on the flash.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_SCENE_MODE_BEACH_SNOW</constant>&nbsp;</entry>
		  <entry>Beach and snow. This mode compensates for all-white or
bright scenes, which tend to look gray and low contrast, when camera's automatic
exposure is based on an average scene brightness. To compensate, this mode
automatically slightly overexposes the frames. The white balance may also be
adjusted to compensate for the fact that reflected snow looks bluish rather
than white.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_SCENE_MODE_CANDLELIGHT</constant>&nbsp;</entry>
		  <entry>Candle light. The camera generally raises the ISO
sensitivity and lowers the shutter speed. This mode compensates for relatively
close subject in the scene. The flash is disabled in order to preserve the
ambiance of the light.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_SCENE_MODE_DAWN_DUSK</constant>&nbsp;</entry>
		  <entry>Dawn and dusk. Preserves the colors seen in low
natural light before dusk and after down. The camera may turn off the flash,
and automatically focus at infinity. It will usually boost saturation and
lower the shutter speed.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_SCENE_MODE_FALL_COLORS</constant>&nbsp;</entry>
		  <entry>Fall colors. Increases saturation and adjusts white
balance for color enhancement. Pictures of autumn leaves get saturated reds
and yellows.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_SCENE_MODE_FIREWORKS</constant>&nbsp;</entry>
		  <entry>Fireworks. Long exposure times are used to capture
the expanding burst of light from a firework. The camera may invoke image
stabilization.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_SCENE_MODE_LANDSCAPE</constant>&nbsp;</entry>
		  <entry>Landscape. The camera may choose a small aperture to
provide deep depth of field and long exposure duration to help capture detail
in dim light conditions. The focus is fixed at infinity. Suitable for distant
and wide scenery.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_SCENE_MODE_NIGHT</constant>&nbsp;</entry>
		  <entry>Night, also known as Night Landscape. Designed for low
light conditions, it preserves detail in the dark areas without blowing out bright
objects. The camera generally sets itself to a medium-to-high ISO sensitivity,
with a relatively long exposure time, and turns flash off. As such, there will be
increased image noise and the possibility of blurred image.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_SCENE_MODE_PARTY_INDOOR</constant>&nbsp;</entry>
		  <entry>Party and indoor. Designed to capture indoor scenes
that are lit by indoor background lighting as well as the flash. The camera
usually increases ISO sensitivity, and adjusts exposure for the low light
conditions.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_SCENE_MODE_PORTRAIT</constant>&nbsp;</entry>
		  <entry>Portrait. The camera adjusts the aperture so that the
depth of field is reduced, which helps to isolate the subject against a smooth
background. Most cameras recognize the presence of faces in the scene and focus
on them. The color hue is adjusted to enhance skin tones. The intensity of the
flash is often reduced.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_SCENE_MODE_SPORTS</constant>&nbsp;</entry>
		  <entry>Sports. Significantly increases ISO and uses a fast
shutter speed to freeze motion of rapidly-moving subjects. Increased image
noise may be seen in this mode.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_SCENE_MODE_SUNSET</constant>&nbsp;</entry>
		  <entry>Sunset. Preserves deep hues seen in sunsets and
sunrises. It bumps up the saturation.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_SCENE_MODE_TEXT</constant>&nbsp;</entry>
		  <entry>Text. It applies extra contrast and sharpness, it is
typically a black-and-white mode optimized for readability. Automatic focus
may be switched to close-up mode and this setting may also involve some
lens-distortion correction.</entry>
		</row>
	      </tbody>
	    </entrytbl>
	  </row>
	  <row><entry></entry></row>

	  <row>
	    <entry spanname="id"><constant>V4L2_CID_3A_LOCK</constant></entry>
	    <entry>bitmask</entry>
	  </row>
	  <row>
	    <entry spanname="descr">This control locks or unlocks the automatic
focus, exposure and white balance. The automatic adjustments can be paused
independently by setting the corresponding lock bit to 1. The camera then retains
the settings until the lock bit is cleared. The following lock bits are defined:
</entry>
	  </row>
	  <row>
	    <entrytbl spanname="descr" cols="2">
	      <tbody valign="top">
		<row>
		  <entry><constant>V4L2_LOCK_EXPOSURE</constant></entry>
		  <entry>Automatic exposure adjustments lock.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_LOCK_WHITE_BALANCE</constant></entry>
		  <entry>Automatic white balance adjustments lock.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_LOCK_FOCUS</constant></entry>
		  <entry>Automatic focus lock.</entry>
		</row>
	      </tbody>
	    </entrytbl>
	  </row>
	  <row><entry spanname="descr">
When a given algorithm is not enabled, drivers should ignore requests
to lock it and should return no error. An example might be an application
setting bit <constant>V4L2_LOCK_WHITE_BALANCE</constant> when the
<constant>V4L2_CID_AUTO_WHITE_BALANCE</constant> control is set to
<constant>FALSE</constant>. The value of this control may be changed
by exposure, white balance or focus controls.</entry>
	  </row>
	  <row><entry></entry></row>

	  <row>
	    <entry spanname="id"><constant>V4L2_CID_PAN_SPEED</constant>&nbsp;</entry>
	    <entry>integer</entry>
	  </row><row><entry spanname="descr">This control turns the
camera horizontally at the specific speed. The unit is undefined. A
positive value moves the camera to the right (clockwise when viewed
from above), a negative value to the left. A value of zero stops the motion
if one is in progress and has no effect otherwise.</entry>
	  </row>
	  <row><entry></entry></row>

	  <row>
	    <entry spanname="id"><constant>V4L2_CID_TILT_SPEED</constant>&nbsp;</entry>
	    <entry>integer</entry>
	  </row><row><entry spanname="descr">This control turns the
camera vertically at the specified speed. The unit is undefined. A
positive value moves the camera up, a negative value down. A value of zero
stops the motion if one is in progress and has no effect otherwise.</entry>
	  </row>
	  <row><entry></entry></row>

	</tbody>
      </tgroup>
    </table>
  </section>

    <section id="fm-tx-controls">
      <title>FM Transmitter Control Reference</title>

      <para>The FM Transmitter (FM_TX) class includes controls for common features of
FM transmissions capable devices. Currently this class includes parameters for audio
compression, pilot tone generation, audio deviation limiter, RDS transmission and
tuning power features.</para>

      <table pgwide="1" frame="none" id="fm-tx-control-id">
      <title>FM_TX Control IDs</title>

      <tgroup cols="4">
	<colspec colname="c1" colwidth="1*" />
	<colspec colname="c2" colwidth="6*" />
	<colspec colname="c3" colwidth="2*" />
	<colspec colname="c4" colwidth="6*" />
	<spanspec namest="c1" nameend="c2" spanname="id" />
	<spanspec namest="c2" nameend="c4" spanname="descr" />
	<thead>
	  <row>
	    <entry spanname="id" align="left">ID</entry>
	    <entry align="left">Type</entry>
	  </row><row rowsep="1"><entry spanname="descr" align="left">Description</entry>
	  </row>
	</thead>
	<tbody valign="top">
	  <row><entry></entry></row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_FM_TX_CLASS</constant>&nbsp;</entry>
	    <entry>class</entry>
	  </row><row><entry spanname="descr">The FM_TX class
descriptor. Calling &VIDIOC-QUERYCTRL; for this control will return a
description of this control class.</entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_RDS_TX_DEVIATION</constant>&nbsp;</entry>
	    <entry>integer</entry>
	  </row>
	  <row><entry spanname="descr">Configures RDS signal frequency deviation level in Hz.
The range and step are driver-specific.</entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_RDS_TX_PI</constant>&nbsp;</entry>
	    <entry>integer</entry>
	  </row>
	  <row><entry spanname="descr">Sets the RDS Programme Identification field
for transmission.</entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_RDS_TX_PTY</constant>&nbsp;</entry>
	    <entry>integer</entry>
	  </row>
	  <row><entry spanname="descr">Sets the RDS Programme Type field for transmission.
This encodes up to 31 pre-defined programme types.</entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_RDS_TX_PS_NAME</constant>&nbsp;</entry>
	    <entry>string</entry>
	  </row>
	  <row><entry spanname="descr">Sets the Programme Service name (PS_NAME) for transmission.
It is intended for static display on a receiver. It is the primary aid to listeners in programme service
identification and selection.  In Annex E of <xref linkend="iec62106" />, the RDS specification,
there is a full description of the correct character encoding for Programme Service name strings.
Also from RDS specification, PS is usually a single eight character text. However, it is also possible
to find receivers which can scroll strings sized as 8 x N characters. So, this control must be configured
with steps of 8 characters. The result is it must always contain a string with size multiple of 8.</entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_RDS_TX_RADIO_TEXT</constant>&nbsp;</entry>
	    <entry>string</entry>
	  </row>
	  <row><entry spanname="descr">Sets the Radio Text info for transmission. It is a textual description of
what is being broadcasted. RDS Radio Text can be applied when broadcaster wishes to transmit longer PS names,
programme-related information or any other text. In these cases, RadioText should be used in addition to
<constant>V4L2_CID_RDS_TX_PS_NAME</constant>. The encoding for Radio Text strings is also fully described
in Annex E of <xref linkend="iec62106" />. The length of Radio Text strings depends on which RDS Block is being
used to transmit it, either 32 (2A block) or 64 (2B block).  However, it is also possible
to find receivers which can scroll strings sized as 32 x N or 64 x N characters. So, this control must be configured
with steps of 32 or 64 characters. The result is it must always contain a string with size multiple of 32 or 64. </entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_RDS_TX_MONO_STEREO</constant>&nbsp;</entry>
	    <entry>boolean</entry>
	  </row>
	  <row><entry spanname="descr">Sets the Mono/Stereo bit of the Decoder Identification code. If set,
then the audio was recorded as stereo.</entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_RDS_TX_ARTIFICIAL_HEAD</constant>&nbsp;</entry>
	    <entry>boolean</entry>
	  </row>
	  <row><entry spanname="descr">Sets the
<ulink url="http://en.wikipedia.org/wiki/Artificial_head">Artificial Head</ulink> bit of the Decoder
Identification code. If set, then the audio was recorded using an artificial head.</entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_RDS_TX_COMPRESSED</constant>&nbsp;</entry>
	    <entry>boolean</entry>
	  </row>
	  <row><entry spanname="descr">Sets the Compressed bit of the Decoder Identification code. If set,
then the audio is compressed.</entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_RDS_TX_DYNAMIC_PTY</constant>&nbsp;</entry>
	    <entry>boolean</entry>
	  </row>
	  <row><entry spanname="descr">Sets the Dynamic PTY bit of the Decoder Identification code. If set,
then the PTY code is dynamically switched.</entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT</constant>&nbsp;</entry>
	    <entry>boolean</entry>
	  </row>
	  <row><entry spanname="descr">If set, then a traffic announcement is in progress.</entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_RDS_TX_TRAFFIC_PROGRAM</constant>&nbsp;</entry>
	    <entry>boolean</entry>
	  </row>
	  <row><entry spanname="descr">If set, then the tuned programme carries traffic announcements.</entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_RDS_TX_MUSIC_SPEECH</constant>&nbsp;</entry>
	    <entry>boolean</entry>
	  </row>
	  <row><entry spanname="descr">If set, then this channel broadcasts music. If cleared, then it
broadcasts speech. If the transmitter doesn't make this distinction, then it should be set.</entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_RDS_TX_ALT_FREQS_ENABLE</constant>&nbsp;</entry>
	    <entry>boolean</entry>
	  </row>
	  <row><entry spanname="descr">If set, then transmit alternate frequencies.</entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_RDS_TX_ALT_FREQS</constant>&nbsp;</entry>
	    <entry>__u32 array</entry>
	  </row>
	  <row><entry spanname="descr">The alternate frequencies in kHz units. The RDS standard allows
for up to 25 frequencies to be defined. Drivers may support fewer frequencies so check
the array size.</entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_AUDIO_LIMITER_ENABLED</constant>&nbsp;</entry>
	    <entry>boolean</entry>
	  </row>
	  <row><entry spanname="descr">Enables or disables the audio deviation limiter feature.
The limiter is useful when trying to maximize the audio volume, minimize receiver-generated
distortion and prevent overmodulation.
</entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_AUDIO_LIMITER_RELEASE_TIME</constant>&nbsp;</entry>
	    <entry>integer</entry>
	  </row>
	  <row><entry spanname="descr">Sets the audio deviation limiter feature release time.
Unit is in useconds. Step and range are driver-specific.</entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_AUDIO_LIMITER_DEVIATION</constant>&nbsp;</entry>
	    <entry>integer</entry>
	  </row>
	  <row><entry spanname="descr">Configures audio frequency deviation level in Hz.
The range and step are driver-specific.</entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_AUDIO_COMPRESSION_ENABLED</constant>&nbsp;</entry>
	    <entry>boolean</entry>
	  </row>
	  <row><entry spanname="descr">Enables or disables the audio compression feature.
This feature amplifies signals below the threshold by a fixed gain and compresses audio
signals above the threshold by the ratio of Threshold/(Gain + Threshold).</entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_AUDIO_COMPRESSION_GAIN</constant>&nbsp;</entry>
	    <entry>integer</entry>
	  </row>
	  <row><entry spanname="descr">Sets the gain for audio compression feature. It is
a dB value. The range and step are driver-specific.</entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_AUDIO_COMPRESSION_THRESHOLD</constant>&nbsp;</entry>
	    <entry>integer</entry>
	  </row>
	  <row><entry spanname="descr">Sets the threshold level for audio compression freature.
It is a dB value. The range and step are driver-specific.</entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME</constant>&nbsp;</entry>
	    <entry>integer</entry>
	  </row>
	  <row><entry spanname="descr">Sets the attack time for audio compression feature.
It is a useconds value. The range and step are driver-specific.</entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME</constant>&nbsp;</entry>
	    <entry>integer</entry>
	  </row>
	  <row><entry spanname="descr">Sets the release time for audio compression feature.
It is a useconds value. The range and step are driver-specific.</entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_PILOT_TONE_ENABLED</constant>&nbsp;</entry>
	    <entry>boolean</entry>
	  </row>
	  <row><entry spanname="descr">Enables or disables the pilot tone generation feature.</entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_PILOT_TONE_DEVIATION</constant>&nbsp;</entry>
	    <entry>integer</entry>
	  </row>
	  <row><entry spanname="descr">Configures pilot tone frequency deviation level. Unit is
in Hz. The range and step are driver-specific.</entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_PILOT_TONE_FREQUENCY</constant>&nbsp;</entry>
	    <entry>integer</entry>
	  </row>
	  <row><entry spanname="descr">Configures pilot tone frequency value. Unit is
in Hz. The range and step are driver-specific.</entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_TUNE_PREEMPHASIS</constant>&nbsp;</entry>
	    <entry>enum v4l2_preemphasis</entry>
	  </row>
	  <row id="v4l2-preemphasis"><entry spanname="descr">Configures the pre-emphasis value for broadcasting.
A pre-emphasis filter is applied to the broadcast to accentuate the high audio frequencies.
Depending on the region, a time constant of either 50 or 75 useconds is used. The enum&nbsp;v4l2_preemphasis
defines possible values for pre-emphasis. Here they are:</entry>
	</row><row>
	<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_PREEMPHASIS_DISABLED</constant>&nbsp;</entry>
		      <entry>No pre-emphasis is applied.</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_PREEMPHASIS_50_uS</constant>&nbsp;</entry>
		      <entry>A pre-emphasis of 50 uS is used.</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_PREEMPHASIS_75_uS</constant>&nbsp;</entry>
		      <entry>A pre-emphasis of 75 uS is used.</entry>
		    </row>
		  </tbody>
		</entrytbl>

	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_TUNE_POWER_LEVEL</constant>&nbsp;</entry>
	    <entry>integer</entry>
	  </row>
	  <row><entry spanname="descr">Sets the output power level for signal transmission.
Unit is in dBuV. Range and step are driver-specific.</entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_TUNE_ANTENNA_CAPACITOR</constant>&nbsp;</entry>
	    <entry>integer</entry>
	  </row>
	  <row><entry spanname="descr">This selects the value of antenna tuning capacitor
manually or automatically if set to zero. Unit, range and step are driver-specific.</entry>
	  </row>
	  <row><entry></entry></row>
	</tbody>
      </tgroup>
      </table>

<para>For more details about RDS specification, refer to
<xref linkend="iec62106" /> document, from CENELEC.</para>
    </section>

    <section id="flash-controls">
      <title>Flash Control Reference</title>

      <para>
	The V4L2 flash controls are intended to provide generic access
	to flash controller devices. Flash controller devices are
	typically used in digital cameras.
      </para>

      <para>
	The interface can support both LED and xenon flash devices. As
	of writing this, there is no xenon flash driver using this
	interface.
      </para>

      <section id="flash-controls-use-cases">
	<title>Supported use cases</title>

	<section>
	  <title>Unsynchronised LED flash (software strobe)</title>

	  <para>
	    Unsynchronised LED flash is controlled directly by the
	    host as the sensor. The flash must be enabled by the host
	    before the exposure of the image starts and disabled once
	    it ends. The host is fully responsible for the timing of
	    the flash.
	  </para>

	  <para>Example of such device: Nokia N900.</para>
	</section>

	<section>
	  <title>Synchronised LED flash (hardware strobe)</title>

	  <para>
	    The synchronised LED flash is pre-programmed by the host
	    (power and timeout) but controlled by the sensor through a
	    strobe signal from the sensor to the flash.
	  </para>

	  <para>
	    The sensor controls the flash duration and timing. This
	    information typically must be made available to the
	    sensor.
	  </para>

	</section>

	<section>
	  <title>LED flash as torch</title>

	  <para>
	    LED flash may be used as torch in conjunction with another
	    use case involving camera or individually.
	  </para>


          <table pgwide="1" frame="none" id="flash-control-id">
          <title>Flash Control IDs</title>
    
          <tgroup cols="4">
    	<colspec colname="c1" colwidth="1*" />
    	<colspec colname="c2" colwidth="6*" />
    	<colspec colname="c3" colwidth="2*" />
    	<colspec colname="c4" colwidth="6*" />
    	<spanspec namest="c1" nameend="c2" spanname="id" />
    	<spanspec namest="c2" nameend="c4" spanname="descr" />
    	<thead>
    	  <row>
    	    <entry spanname="id" align="left">ID</entry>
    	    <entry align="left">Type</entry>
    	  </row><row rowsep="1"><entry spanname="descr" align="left">Description</entry>
    	  </row>
    	</thead>
    	<tbody valign="top">
    	  <row><entry></entry></row>
    	  <row>
    	    <entry spanname="id"><constant>V4L2_CID_FLASH_CLASS</constant></entry>
    	    <entry>class</entry>
    	  </row>
    	  <row>
    	    <entry spanname="descr">The FLASH class descriptor.</entry>
    	  </row>
    	  <row>
    	    <entry spanname="id"><constant>V4L2_CID_FLASH_LED_MODE</constant></entry>
    	    <entry>menu</entry>
    	  </row>
    	  <row id="v4l2-flash-led-mode">
    	    <entry spanname="descr">Defines the mode of the flash LED,
    	    the high-power white LED attached to the flash controller.
    	    Setting this control may not be possible in presence of
    	    some faults. See V4L2_CID_FLASH_FAULT.</entry>
    	  </row>
    	  <row>
    	    <entrytbl spanname="descr" cols="2">
    	      <tbody valign="top">
    		<row>
    		  <entry><constant>V4L2_FLASH_LED_MODE_NONE</constant></entry>
    		  <entry>Off.</entry>
    		</row>
    		<row>
    		  <entry><constant>V4L2_FLASH_LED_MODE_FLASH</constant></entry>
    		  <entry>Flash mode.</entry>
    		</row>
    		<row>
    		  <entry><constant>V4L2_FLASH_LED_MODE_TORCH</constant></entry>
    		  <entry>Torch mode. See V4L2_CID_FLASH_TORCH_INTENSITY.</entry>
    		</row>
    	      </tbody>
    	    </entrytbl>
    	  </row>
    	  <row>
    	    <entry spanname="id"><constant>V4L2_CID_FLASH_STROBE_SOURCE</constant></entry>
    	    <entry>menu</entry>
    	  </row>
    	  <row id="v4l2-flash-strobe-source"><entry
    	  spanname="descr">Defines the source of the flash LED
    	  strobe.</entry>
    	  </row>
    	  <row>
    	    <entrytbl spanname="descr" cols="2">
    	      <tbody valign="top">
    		<row>
    		  <entry><constant>V4L2_FLASH_STROBE_SOURCE_SOFTWARE</constant></entry>
    		  <entry>The flash strobe is triggered by using
    		  the V4L2_CID_FLASH_STROBE control.</entry>
    		</row>
    		<row>
    		  <entry><constant>V4L2_FLASH_STROBE_SOURCE_EXTERNAL</constant></entry>
    		  <entry>The flash strobe is triggered by an
    		  external source. Typically this is a sensor,
    		  which makes it possible to synchronises the
    		  flash strobe start to exposure start.</entry>
    		</row>
    	      </tbody>
    	    </entrytbl>
    	  </row>
    	  <row>
    	    <entry spanname="id"><constant>V4L2_CID_FLASH_STROBE</constant></entry>
    	    <entry>button</entry>
    	  </row>
    	  <row>
    	    <entry spanname="descr">Strobe flash. Valid when
    	    V4L2_CID_FLASH_LED_MODE is set to
    	    V4L2_FLASH_LED_MODE_FLASH and V4L2_CID_FLASH_STROBE_SOURCE
    	    is set to V4L2_FLASH_STROBE_SOURCE_SOFTWARE. Setting this
    	    control may not be possible in presence of some faults.
    	    See V4L2_CID_FLASH_FAULT.</entry>
    	  </row>
    	  <row>
    	    <entry spanname="id"><constant>V4L2_CID_FLASH_STROBE_STOP</constant></entry>
    	    <entry>button</entry>
    	  </row>
    	  <row><entry spanname="descr">Stop flash strobe immediately.</entry>
    	  </row>
    	  <row>
    	    <entry spanname="id"><constant>V4L2_CID_FLASH_STROBE_STATUS</constant></entry>
    	    <entry>boolean</entry>
    	  </row>
    	  <row>
    	    <entry spanname="descr">Strobe status: whether the flash
    	    is strobing at the moment or not. This is a read-only
    	    control.</entry>
    	  </row>
    	  <row>
    	    <entry spanname="id"><constant>V4L2_CID_FLASH_TIMEOUT</constant></entry>
    	    <entry>integer</entry>
    	  </row>
    	  <row>
    	    <entry spanname="descr">Hardware timeout for flash. The
    	    flash strobe is stopped after this period of time has
    	    passed from the start of the strobe.</entry>
    	  </row>
    	  <row>
    	    <entry spanname="id"><constant>V4L2_CID_FLASH_INTENSITY</constant></entry>
    	    <entry>integer</entry>
    	  </row>
    	  <row>
    	    <entry spanname="descr">Intensity of the flash strobe when
    	    the flash LED is in flash mode
    	    (V4L2_FLASH_LED_MODE_FLASH). The unit should be milliamps
    	    (mA) if possible.</entry>
    	  </row>
    	  <row>
    	    <entry spanname="id"><constant>V4L2_CID_FLASH_TORCH_INTENSITY</constant></entry>
    	    <entry>integer</entry>
    	  </row>
    	  <row>
    	    <entry spanname="descr">Intensity of the flash LED in
    	    torch mode (V4L2_FLASH_LED_MODE_TORCH). The unit should be
    	    milliamps (mA) if possible. Setting this control may not
    	    be possible in presence of some faults. See
    	    V4L2_CID_FLASH_FAULT.</entry>
    	  </row>
    	  <row>
    	    <entry spanname="id"><constant>V4L2_CID_FLASH_INDICATOR_INTENSITY</constant></entry>
    	    <entry>integer</entry>
    	  </row>
    	  <row>
    	    <entry spanname="descr">Intensity of the indicator LED.
    	    The indicator LED may be fully independent of the flash
    	    LED. The unit should be microamps (uA) if possible.</entry>
    	  </row>
    	  <row>
    	    <entry spanname="id"><constant>V4L2_CID_FLASH_FAULT</constant></entry>
    	    <entry>bitmask</entry>
    	  </row>
    	  <row>
    	    <entry spanname="descr">Faults related to the flash. The
    	    faults tell about specific problems in the flash chip
    	    itself or the LEDs attached to it. Faults may prevent
    	    further use of some of the flash controls. In particular,
    	    V4L2_CID_FLASH_LED_MODE is set to V4L2_FLASH_LED_MODE_NONE
    	    if the fault affects the flash LED. Exactly which faults
    	    have such an effect is chip dependent. Reading the faults
    	    resets the control and returns the chip to a usable state
    	    if possible.</entry>
    	  </row>
    	  <row>
    	    <entrytbl spanname="descr" cols="2">
    	      <tbody valign="top">
    		<row>
    		  <entry><constant>V4L2_FLASH_FAULT_OVER_VOLTAGE</constant></entry>
    		  <entry>Flash controller voltage to the flash LED
    		  has exceeded the limit specific to the flash
    		  controller.</entry>
    		</row>
    		<row>
    		  <entry><constant>V4L2_FLASH_FAULT_TIMEOUT</constant></entry>
    		  <entry>The flash strobe was still on when
    		  the timeout set by the user ---
    		  V4L2_CID_FLASH_TIMEOUT control --- has expired.
    		  Not all flash controllers may set this in all
    		  such conditions.</entry>
    		</row>
    		<row>
    		  <entry><constant>V4L2_FLASH_FAULT_OVER_TEMPERATURE</constant></entry>
    		  <entry>The flash controller has overheated.</entry>
    		</row>
    		<row>
    		  <entry><constant>V4L2_FLASH_FAULT_SHORT_CIRCUIT</constant></entry>
    		  <entry>The short circuit protection of the flash
    		  controller has been triggered.</entry>
    		</row>
    		<row>
    		  <entry><constant>V4L2_FLASH_FAULT_OVER_CURRENT</constant></entry>
    		  <entry>Current in the LED power supply has exceeded the limit
    		  specific to the flash controller.</entry>
    		</row>
    		<row>
    		  <entry><constant>V4L2_FLASH_FAULT_INDICATOR</constant></entry>
    		  <entry>The flash controller has detected a short or open
    		  circuit condition on the indicator LED.</entry>
    		</row>
		<row>
		  <entry><constant>V4L2_FLASH_FAULT_UNDER_VOLTAGE</constant></entry>
		  <entry>Flash controller voltage to the flash LED
		  has been below the minimum limit specific to the flash
		  controller.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_FLASH_FAULT_INPUT_VOLTAGE</constant></entry>
		  <entry>The input voltage of the flash controller is below
		  the limit under which strobing the flash at full current
		  will not be possible.The condition persists until this flag
		  is no longer set.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_FLASH_FAULT_LED_OVER_TEMPERATURE</constant></entry>
		  <entry>The temperature of the LED has exceeded its
		  allowed upper limit.</entry>
		</row>
    	      </tbody>
    	    </entrytbl>
    	  </row>
    	  <row>
    	    <entry spanname="id"><constant>V4L2_CID_FLASH_CHARGE</constant></entry>
    	    <entry>boolean</entry>
    	  </row>
    	  <row><entry spanname="descr">Enable or disable charging of the xenon
    	  flash capacitor.</entry>
    	  </row>
    	  <row>
    	    <entry spanname="id"><constant>V4L2_CID_FLASH_READY</constant></entry>
    	    <entry>boolean</entry>
    	  </row>
    	  <row>
    	    <entry spanname="descr">Is the flash ready to strobe?
    	    Xenon flashes require their capacitors charged before
    	    strobing. LED flashes often require a cooldown period
    	    after strobe during which another strobe will not be
    	    possible. This is a read-only control.</entry>
    	  </row>
    	  <row><entry></entry></row>
    	</tbody>
          </tgroup>
          </table>
	</section>
      </section>
    </section>

    <section id="jpeg-controls">
      <title>JPEG Control Reference</title>
      <para>The JPEG class includes controls for common features of JPEG
      encoders and decoders. Currently it includes features for codecs
      implementing progressive baseline DCT compression process with
      Huffman entrophy coding.</para>
      <table pgwide="1" frame="none" id="jpeg-control-id">
      <title>JPEG Control IDs</title>

      <tgroup cols="4">
	<colspec colname="c1" colwidth="1*" />
	<colspec colname="c2" colwidth="6*" />
	<colspec colname="c3" colwidth="2*" />
	<colspec colname="c4" colwidth="6*" />
	<spanspec namest="c1" nameend="c2" spanname="id" />
	<spanspec namest="c2" nameend="c4" spanname="descr" />
	<thead>
	  <row>
	    <entry spanname="id" align="left">ID</entry>
	    <entry align="left">Type</entry>
	  </row><row rowsep="1"><entry spanname="descr" align="left">Description</entry>
	  </row>
	</thead>
	<tbody valign="top">
	  <row><entry></entry></row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_JPEG_CLASS</constant>&nbsp;</entry>
	    <entry>class</entry>
	  </row><row><entry spanname="descr">The JPEG class descriptor. Calling
	  &VIDIOC-QUERYCTRL; for this control will return a description of this
	  control class.

	</entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_JPEG_CHROMA_SUBSAMPLING</constant></entry>
	    <entry>menu</entry>
	  </row>
	  <row id="v4l2-jpeg-chroma-subsampling">
	    <entry spanname="descr">The chroma subsampling factors describe how
	    each component of an input image is sampled, in respect to maximum
	    sample rate in each spatial dimension. See <xref linkend="itu-t81"/>,
	    clause A.1.1. for more details. The <constant>
	    V4L2_CID_JPEG_CHROMA_SUBSAMPLING</constant> control determines how
	    Cb and Cr components are downsampled after coverting an input image
	    from RGB to Y'CbCr color space.
	    </entry>
	  </row>
	  <row>
	    <entrytbl spanname="descr" cols="2">
	      <tbody valign="top">
		<row>
		  <entry><constant>V4L2_JPEG_CHROMA_SUBSAMPLING_444</constant>
		  </entry><entry>No chroma subsampling, each pixel has
		  Y, Cr and Cb values.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_JPEG_CHROMA_SUBSAMPLING_422</constant>
		  </entry><entry>Horizontally subsample Cr, Cb components
		  by a factor of 2.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_JPEG_CHROMA_SUBSAMPLING_420</constant>
		  </entry><entry>Subsample Cr, Cb components horizontally
		  and vertically by 2.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_JPEG_CHROMA_SUBSAMPLING_411</constant>
		  </entry><entry>Horizontally subsample Cr, Cb components
		  by a factor of 4.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_JPEG_CHROMA_SUBSAMPLING_410</constant>
		  </entry><entry>Subsample Cr, Cb components horizontally
		  by 4 and vertically by 2.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_JPEG_CHROMA_SUBSAMPLING_GRAY</constant>
		  </entry><entry>Use only luminance component.</entry>
		</row>
	      </tbody>
	    </entrytbl>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_JPEG_RESTART_INTERVAL</constant>
	    </entry><entry>integer</entry>
	  </row>
	  <row><entry spanname="descr">
	      The restart interval determines an interval of inserting RSTm
	      markers (m = 0..7). The purpose of these markers is to additionally
	      reinitialize the encoder process, in order to process blocks of
	      an image independently.
	      For the lossy compression processes the restart interval unit is
	      MCU (Minimum Coded Unit) and its value is contained in DRI
	      (Define Restart Interval) marker. If <constant>
	      V4L2_CID_JPEG_RESTART_INTERVAL</constant> control is set to 0,
	      DRI and RSTm markers will not be inserted.
	    </entry>
	  </row>
	  <row id="jpeg-quality-control">
	    <entry spanname="id"><constant>V4L2_CID_JPEG_COMPRESSION_QUALITY</constant></entry>
	    <entry>integer</entry>
	  </row>
	  <row>
	    <entry spanname="descr">
	      <constant>V4L2_CID_JPEG_COMPRESSION_QUALITY</constant> control
	      determines trade-off between image quality and size.
	      It provides simpler method for applications to control image quality,
	      without a need for direct reconfiguration of luminance and chrominance
	      quantization tables.

	      In cases where a driver uses quantization tables configured directly
	      by an application, using interfaces defined elsewhere, <constant>
	      V4L2_CID_JPEG_COMPRESSION_QUALITY</constant> control should be set
	      by driver to 0.

	      <para>The value range of this control is driver-specific. Only
	      positive, non-zero values are meaningful. The recommended range
	      is 1 - 100, where larger values correspond to better image quality.
	      </para>
	    </entry>
	    </row>
	  <row id="jpeg-active-marker-control">
	    <entry spanname="id"><constant>V4L2_CID_JPEG_ACTIVE_MARKER</constant></entry>
	    <entry>bitmask</entry>
	  </row>
	  <row>
	    <entry spanname="descr">Specify which JPEG markers are included
	    in compressed stream. This control is valid only for encoders.
	    </entry>
	  </row>
	  <row>
	    <entrytbl spanname="descr" cols="2">
	      <tbody valign="top">
		<row>
		  <entry><constant>V4L2_JPEG_ACTIVE_MARKER_APP0</constant></entry>
		  <entry>Application data segment APP<subscript>0</subscript>.</entry>
		</row><row>
		  <entry><constant>V4L2_JPEG_ACTIVE_MARKER_APP1</constant></entry>
		  <entry>Application data segment APP<subscript>1</subscript>.</entry>
		</row><row>
		  <entry><constant>V4L2_JPEG_ACTIVE_MARKER_COM</constant></entry>
		  <entry>Comment segment.</entry>
		</row><row>
		  <entry><constant>V4L2_JPEG_ACTIVE_MARKER_DQT</constant></entry>
		  <entry>Quantization tables segment.</entry>
		</row><row>
		  <entry><constant>V4L2_JPEG_ACTIVE_MARKER_DHT</constant></entry>
		  <entry>Huffman tables segment.</entry>
		</row>
	      </tbody>
	    </entrytbl>
	  </row>
	  <row><entry></entry></row>
	</tbody>
      </tgroup>
      </table>
      <para>For more details about JPEG specification, refer
      to <xref linkend="itu-t81"/>, <xref linkend="jfif"/>,
      <xref linkend="w3c-jpeg-jfif"/>.</para>
    </section>

    <section id="image-source-controls">
      <title>Image Source Control Reference</title>

      <para>
	The Image Source control class is intended for low-level
	control of image source devices such as image sensors. The
	devices feature an analogue to digital converter and a bus
	transmitter to transmit the image data out of the device.
      </para>

      <table pgwide="1" frame="none" id="image-source-control-id">
      <title>Image Source Control IDs</title>

      <tgroup cols="4">
	<colspec colname="c1" colwidth="1*" />
	<colspec colname="c2" colwidth="6*" />
	<colspec colname="c3" colwidth="2*" />
	<colspec colname="c4" colwidth="6*" />
	<spanspec namest="c1" nameend="c2" spanname="id" />
	<spanspec namest="c2" nameend="c4" spanname="descr" />
	<thead>
	  <row>
	    <entry spanname="id" align="left">ID</entry>
	    <entry align="left">Type</entry>
	  </row><row rowsep="1"><entry spanname="descr" align="left">Description</entry>
	  </row>
	</thead>
	<tbody valign="top">
	  <row><entry></entry></row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_IMAGE_SOURCE_CLASS</constant></entry>
	    <entry>class</entry>
	  </row>
	  <row>
	    <entry spanname="descr">The IMAGE_SOURCE class descriptor.</entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_VBLANK</constant></entry>
	    <entry>integer</entry>
	  </row>
	  <row>
	    <entry spanname="descr">Vertical blanking. The idle period
	    after every frame during which no image data is produced.
	    The unit of vertical blanking is a line. Every line has
	    length of the image width plus horizontal blanking at the
	    pixel rate defined by
	    <constant>V4L2_CID_PIXEL_RATE</constant> control in the
	    same sub-device.</entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_HBLANK</constant></entry>
	    <entry>integer</entry>
	  </row>
	  <row>
	    <entry spanname="descr">Horizontal blanking. The idle
	    period after every line of image data during which no
	    image data is produced. The unit of horizontal blanking is
	    pixels.</entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_ANALOGUE_GAIN</constant></entry>
	    <entry>integer</entry>
	  </row>
	  <row>
	    <entry spanname="descr">Analogue gain is gain affecting
	    all colour components in the pixel matrix. The gain
	    operation is performed in the analogue domain before A/D
	    conversion.
	    </entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_TEST_PATTERN_RED</constant></entry>
	    <entry>integer</entry>
	  </row>
	  <row>
	    <entry spanname="descr">Test pattern red colour component.
	    </entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_TEST_PATTERN_GREENR</constant></entry>
	    <entry>integer</entry>
	  </row>
	  <row>
	    <entry spanname="descr">Test pattern green (next to red)
	    colour component.
	    </entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_TEST_PATTERN_BLUE</constant></entry>
	    <entry>integer</entry>
	  </row>
	  <row>
	    <entry spanname="descr">Test pattern blue colour component.
	    </entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_TEST_PATTERN_GREENB</constant></entry>
	    <entry>integer</entry>
	  </row>
	  <row>
	    <entry spanname="descr">Test pattern green (next to blue)
	    colour component.
	    </entry>
	  </row>
	  <row><entry></entry></row>
	</tbody>
      </tgroup>
      </table>

    </section>

    <section id="image-process-controls">
      <title>Image Process Control Reference</title>

      <para>
	The Image Process control class is intended for low-level control of
	image processing functions. Unlike
	<constant>V4L2_CID_IMAGE_SOURCE_CLASS</constant>, the controls in
	this class affect processing the image, and do not control capturing
	of it.
      </para>

      <table pgwide="1" frame="none" id="image-process-control-id">
      <title>Image Process Control IDs</title>

      <tgroup cols="4">
	<colspec colname="c1" colwidth="1*" />
	<colspec colname="c2" colwidth="6*" />
	<colspec colname="c3" colwidth="2*" />
	<colspec colname="c4" colwidth="6*" />
	<spanspec namest="c1" nameend="c2" spanname="id" />
	<spanspec namest="c2" nameend="c4" spanname="descr" />
	<thead>
	  <row>
	    <entry spanname="id" align="left">ID</entry>
	    <entry align="left">Type</entry>
	  </row><row rowsep="1"><entry spanname="descr" align="left">Description</entry>
	  </row>
	</thead>
	<tbody valign="top">
	  <row><entry></entry></row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_IMAGE_PROC_CLASS</constant></entry>
	    <entry>class</entry>
	  </row>
	  <row>
	    <entry spanname="descr">The IMAGE_PROC class descriptor.</entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_LINK_FREQ</constant></entry>
	    <entry>integer menu</entry>
	  </row>
	  <row>
	    <entry spanname="descr">Data bus frequency. Together with the
	    media bus pixel code, bus type (clock cycles per sample), the
	    data bus frequency defines the pixel rate
	    (<constant>V4L2_CID_PIXEL_RATE</constant>) in the
	    pixel array (or possibly elsewhere, if the device is not an
	    image sensor). The frame rate can be calculated from the pixel
	    clock, image width and height and horizontal and vertical
	    blanking. While the pixel rate control may be defined elsewhere
	    than in the subdev containing the pixel array, the frame rate
	    cannot be obtained from that information. This is because only
	    on the pixel array it can be assumed that the vertical and
	    horizontal blanking information is exact: no other blanking is
	    allowed in the pixel array. The selection of frame rate is
	    performed by selecting the desired horizontal and vertical
	    blanking. The unit of this control is Hz. </entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_PIXEL_RATE</constant></entry>
	    <entry>64-bit integer</entry>
	  </row>
	  <row>
	    <entry spanname="descr">Pixel rate in the source pads of
	    the subdev. This control is read-only and its unit is
	    pixels / second.
	    </entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_TEST_PATTERN</constant></entry>
	    <entry>menu</entry>
	  </row>
	  <row id="v4l2-test-pattern">
	    <entry spanname="descr"> Some capture/display/sensor devices have
	    the capability to generate test pattern images. These hardware
	    specific test patterns can be used to test if a device is working
	    properly.</entry>
	  </row>
	  <row><entry></entry></row>
	</tbody>
      </tgroup>
      </table>

    </section>

    <section id="dv-controls">
      <title>Digital Video Control Reference</title>

      <para>
	The Digital Video control class is intended to control receivers
	and transmitters for <ulink url="http://en.wikipedia.org/wiki/Vga">VGA</ulink>,
	<ulink url="http://en.wikipedia.org/wiki/Digital_Visual_Interface">DVI</ulink>
	(Digital Visual Interface), HDMI (<xref linkend="hdmi" />) and DisplayPort (<xref linkend="dp" />).
	These controls are generally expected to be private to the receiver or transmitter
	subdevice that implements them, so they are only exposed on the
	<filename>/dev/v4l-subdev*</filename> device node.
      </para>

      <para>Note that these devices can have multiple input or output pads which are
      hooked up to e.g. HDMI connectors. Even though the subdevice will receive or
      transmit video from/to only one of those pads, the other pads can still be
      active when it comes to EDID (Extended Display Identification Data,
      <xref linkend="vesaedid" />) and HDCP (High-bandwidth Digital Content
      Protection System, <xref linkend="hdcp" />) processing, allowing the device
      to do the fairly slow EDID/HDCP handling in advance. This allows for quick
      switching between connectors.</para>

      <para>These pads appear in several of the controls in this section as
      bitmasks, one bit for each pad. Bit 0 corresponds to pad 0, bit 1 to pad 1,
      etc. The maximum value of the control is the set of valid pads.</para>

      <table pgwide="1" frame="none" id="dv-control-id">
      <title>Digital Video Control IDs</title>

      <tgroup cols="4">
	<colspec colname="c1" colwidth="1*" />
	<colspec colname="c2" colwidth="6*" />
	<colspec colname="c3" colwidth="2*" />
	<colspec colname="c4" colwidth="6*" />
	<spanspec namest="c1" nameend="c2" spanname="id" />
	<spanspec namest="c2" nameend="c4" spanname="descr" />
	<thead>
	  <row>
	    <entry spanname="id" align="left">ID</entry>
	    <entry align="left">Type</entry>
	  </row><row rowsep="1"><entry spanname="descr" align="left">Description</entry>
	  </row>
	</thead>
	<tbody valign="top">
	  <row><entry></entry></row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_DV_CLASS</constant></entry>
	    <entry>class</entry>
	  </row>
	  <row>
	    <entry spanname="descr">The Digital Video class descriptor.</entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_DV_TX_HOTPLUG</constant></entry>
	    <entry>bitmask</entry>
	  </row>
	  <row>
	    <entry spanname="descr">Many connectors have a hotplug pin which is high
	    if EDID information is available from the source. This control shows the
	    state of the hotplug pin as seen by the transmitter.
	    Each bit corresponds to an output pad on the transmitter. If an output pad
	    does not have an associated hotplug pin, then the bit for that pad will be 0.
	    This read-only control is applicable to DVI-D, HDMI and DisplayPort connectors.
	    </entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_DV_TX_RXSENSE</constant></entry>
	    <entry>bitmask</entry>
	  </row>
	  <row>
	    <entry spanname="descr">Rx Sense is the detection of pull-ups on the TMDS
            clock lines. This normally means that the sink has left/entered standby (i.e.
	    the transmitter can sense that the receiver is ready to receive video).
	    Each bit corresponds to an output pad on the transmitter. If an output pad
	    does not have an associated Rx Sense, then the bit for that pad will be 0.
	    This read-only control is applicable to DVI-D and HDMI devices.
	    </entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_DV_TX_EDID_PRESENT</constant></entry>
	    <entry>bitmask</entry>
	  </row>
	  <row>
	    <entry spanname="descr">When the transmitter sees the hotplug signal from the
	    receiver it will attempt to read the EDID. If set, then the transmitter has read
	    at least the first block (= 128 bytes).
	    Each bit corresponds to an output pad on the transmitter. If an output pad
	    does not support EDIDs, then the bit for that pad will be 0.
	    This read-only control is applicable to VGA, DVI-A/D, HDMI and DisplayPort connectors.
	    </entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_DV_TX_MODE</constant></entry>
	    <entry id="v4l2-dv-tx-mode">enum v4l2_dv_tx_mode</entry>
	  </row>
	  <row>
	    <entry spanname="descr">HDMI transmitters can transmit in DVI-D mode (just video)
	    or in HDMI mode (video + audio + auxiliary data). This control selects which mode
	    to use: V4L2_DV_TX_MODE_DVI_D or V4L2_DV_TX_MODE_HDMI.
	    This control is applicable to HDMI connectors.
	    </entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_DV_TX_RGB_RANGE</constant></entry>
	    <entry id="v4l2-dv-rgb-range">enum v4l2_dv_rgb_range</entry>
	  </row>
	  <row>
	    <entry spanname="descr">Select the quantization range for RGB output. V4L2_DV_RANGE_AUTO
	    follows the RGB quantization range specified in the standard for the video interface
	    (ie. <xref linkend="cea861" /> for HDMI). V4L2_DV_RANGE_LIMITED and V4L2_DV_RANGE_FULL override the standard
	    to be compatible with sinks that have not implemented the standard correctly
	    (unfortunately quite common for HDMI and DVI-D). Full range allows all possible values to be
	    used whereas limited range sets the range to (16 &lt;&lt; (N-8)) - (235 &lt;&lt; (N-8))
	    where N is the number of bits per component.
	    This control is applicable to VGA, DVI-A/D, HDMI and DisplayPort connectors.
	    </entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_DV_TX_IT_CONTENT_TYPE</constant></entry>
	    <entry id="v4l2-dv-content-type">enum v4l2_dv_it_content_type</entry>
	  </row>
	  <row><entry spanname="descr">Configures the IT Content Type
	    of the transmitted video. This information is sent over HDMI and DisplayPort connectors
	    as part of the AVI InfoFrame. The term 'IT Content' is used for content that originates
	    from a computer as opposed to content from a TV broadcast or an analog source. The
	    enum&nbsp;v4l2_dv_it_content_type defines the possible content types:</entry>
	  </row>
	  <row>
	    <entrytbl spanname="descr" cols="2">
	      <tbody valign="top">
	        <row>
	          <entry><constant>V4L2_DV_IT_CONTENT_TYPE_GRAPHICS</constant>&nbsp;</entry>
		  <entry>Graphics content. Pixel data should be passed unfiltered and without
		  analog reconstruction.</entry>
		</row>
	        <row>
	          <entry><constant>V4L2_DV_IT_CONTENT_TYPE_PHOTO</constant>&nbsp;</entry>
		  <entry>Photo content. The content is derived from digital still pictures.
		  The content should be passed through with minimal scaling and picture
		  enhancements.</entry>
		</row>
	        <row>
	          <entry><constant>V4L2_DV_IT_CONTENT_TYPE_CINEMA</constant>&nbsp;</entry>
		  <entry>Cinema content.</entry>
		</row>
	        <row>
	          <entry><constant>V4L2_DV_IT_CONTENT_TYPE_GAME</constant>&nbsp;</entry>
		  <entry>Game content. Audio and video latency should be minimized.</entry>
		</row>
	        <row>
	          <entry><constant>V4L2_DV_IT_CONTENT_TYPE_NO_ITC</constant>&nbsp;</entry>
		  <entry>No IT Content information is available and the ITC bit in the AVI
		  InfoFrame is set to 0.</entry>
		</row>
	      </tbody>
	    </entrytbl>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_DV_RX_POWER_PRESENT</constant></entry>
	    <entry>bitmask</entry>
	  </row>
	  <row>
	    <entry spanname="descr">Detects whether the receiver receives power from the source
	    (e.g. HDMI carries 5V on one of the pins). This is often used to power an eeprom
	    which contains EDID information, such that the source can read the EDID even if
	    the sink is in standby/power off.
	    Each bit corresponds to an input pad on the transmitter. If an input pad
	    cannot detect whether power is present, then the bit for that pad will be 0.
	    This read-only control is applicable to DVI-D, HDMI and DisplayPort connectors.
	    </entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_DV_RX_RGB_RANGE</constant></entry>
	    <entry>enum v4l2_dv_rgb_range</entry>
	  </row>
	  <row>
	    <entry spanname="descr">Select the quantization range for RGB input. V4L2_DV_RANGE_AUTO
	    follows the RGB quantization range specified in the standard for the video interface
	    (ie. <xref linkend="cea861" /> for HDMI). V4L2_DV_RANGE_LIMITED and V4L2_DV_RANGE_FULL override the standard
	    to be compatible with sources that have not implemented the standard correctly
	    (unfortunately quite common for HDMI and DVI-D). Full range allows all possible values to be
	    used whereas limited range sets the range to (16 &lt;&lt; (N-8)) - (235 &lt;&lt; (N-8))
	    where N is the number of bits per component.
	    This control is applicable to VGA, DVI-A/D, HDMI and DisplayPort connectors.
	    </entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_DV_RX_IT_CONTENT_TYPE</constant></entry>
	    <entry>enum v4l2_dv_it_content_type</entry>
	  </row>
	  <row><entry spanname="descr">Reads the IT Content Type
	    of the received video. This information is sent over HDMI and DisplayPort connectors
	    as part of the AVI InfoFrame. The term 'IT Content' is used for content that originates
	    from a computer as opposed to content from a TV broadcast or an analog source. See
	    <constant>V4L2_CID_DV_TX_IT_CONTENT_TYPE</constant> for the available content types.</entry>
	  </row>
	  <row><entry></entry></row>
	</tbody>
      </tgroup>
      </table>

    </section>

    <section id="fm-rx-controls">
      <title>FM Receiver Control Reference</title>

      <para>The FM Receiver (FM_RX) class includes controls for common features of
      FM Reception capable devices.</para>

      <table pgwide="1" frame="none" id="fm-rx-control-id">
      <title>FM_RX Control IDs</title>

      <tgroup cols="4">
        <colspec colname="c1" colwidth="1*" />
        <colspec colname="c2" colwidth="6*" />
        <colspec colname="c3" colwidth="2*" />
        <colspec colname="c4" colwidth="6*" />
        <spanspec namest="c1" nameend="c2" spanname="id" />
        <spanspec namest="c2" nameend="c4" spanname="descr" />
        <thead>
          <row>
            <entry spanname="id" align="left">ID</entry>
            <entry align="left">Type</entry>
          </row><row rowsep="1"><entry spanname="descr" align="left">Description</entry>
          </row>
        </thead>
        <tbody valign="top">
          <row><entry></entry></row>
          <row>
            <entry spanname="id"><constant>V4L2_CID_FM_RX_CLASS</constant>&nbsp;</entry>
            <entry>class</entry>
          </row><row><entry spanname="descr">The FM_RX class
descriptor. Calling &VIDIOC-QUERYCTRL; for this control will return a
description of this control class.</entry>
          </row>
          <row>
            <entry spanname="id"><constant>V4L2_CID_RDS_RECEPTION</constant>&nbsp;</entry>
            <entry>boolean</entry>
          </row><row><entry spanname="descr">Enables/disables RDS
	  reception by the radio tuner</entry>
          </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_RDS_RX_PTY</constant>&nbsp;</entry>
	    <entry>integer</entry>
	  </row>
	  <row><entry spanname="descr">Gets RDS Programme Type field.
This encodes up to 31 pre-defined programme types.</entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_RDS_RX_PS_NAME</constant>&nbsp;</entry>
	    <entry>string</entry>
	  </row>
	  <row><entry spanname="descr">Gets the Programme Service name (PS_NAME).
It is intended for static display on a receiver. It is the primary aid to listeners in programme service
identification and selection.  In Annex E of <xref linkend="iec62106" />, the RDS specification,
there is a full description of the correct character encoding for Programme Service name strings.
Also from RDS specification, PS is usually a single eight character text. However, it is also possible
to find receivers which can scroll strings sized as 8 x N characters. So, this control must be configured
with steps of 8 characters. The result is it must always contain a string with size multiple of 8.</entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_RDS_RX_RADIO_TEXT</constant>&nbsp;</entry>
	    <entry>string</entry>
	  </row>
	  <row><entry spanname="descr">Gets the Radio Text info. It is a textual description of
what is being broadcasted. RDS Radio Text can be applied when broadcaster wishes to transmit longer PS names,
programme-related information or any other text. In these cases, RadioText can be used in addition to
<constant>V4L2_CID_RDS_RX_PS_NAME</constant>. The encoding for Radio Text strings is also fully described
in Annex E of <xref linkend="iec62106" />. The length of Radio Text strings depends on which RDS Block is being
used to transmit it, either 32 (2A block) or 64 (2B block).  However, it is also possible
to find receivers which can scroll strings sized as 32 x N or 64 x N characters. So, this control must be configured
with steps of 32 or 64 characters. The result is it must always contain a string with size multiple of 32 or 64. </entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_RDS_RX_TRAFFIC_ANNOUNCEMENT</constant>&nbsp;</entry>
	    <entry>boolean</entry>
	  </row>
	  <row><entry spanname="descr">If set, then a traffic announcement is in progress.</entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_RDS_RX_TRAFFIC_PROGRAM</constant>&nbsp;</entry>
	    <entry>boolean</entry>
	  </row>
	  <row><entry spanname="descr">If set, then the tuned programme carries traffic announcements.</entry>
	  </row>
	  <row>
	    <entry spanname="id"><constant>V4L2_CID_RDS_RX_MUSIC_SPEECH</constant>&nbsp;</entry>
	    <entry>boolean</entry>
	  </row>
	  <row><entry spanname="descr">If set, then this channel broadcasts music. If cleared, then it
broadcasts speech. If the transmitter doesn't make this distinction, then it will be set.</entry>
	  </row>
          <row>
	    <entry spanname="id"><constant>V4L2_CID_TUNE_DEEMPHASIS</constant>&nbsp;</entry>
	    <entry>enum v4l2_deemphasis</entry>
	  </row>
	  <row id="v4l2-deemphasis"><entry spanname="descr">Configures the de-emphasis value for reception.
A de-emphasis filter is applied to the broadcast to accentuate the high audio frequencies.
Depending on the region, a time constant of either 50 or 75 useconds is used. The enum&nbsp;v4l2_deemphasis
defines possible values for de-emphasis. Here they are:</entry>
	</row><row>
	<entrytbl spanname="descr" cols="2">
		  <tbody valign="top">
		    <row>
		      <entry><constant>V4L2_DEEMPHASIS_DISABLED</constant>&nbsp;</entry>
		      <entry>No de-emphasis is applied.</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_DEEMPHASIS_50_uS</constant>&nbsp;</entry>
		      <entry>A de-emphasis of 50 uS is used.</entry>
		    </row>
		    <row>
		      <entry><constant>V4L2_DEEMPHASIS_75_uS</constant>&nbsp;</entry>
		      <entry>A de-emphasis of 75 uS is used.</entry>
		    </row>
		  </tbody>
		</entrytbl>

	  </row>
          <row><entry></entry></row>
        </tbody>
      </tgroup>
      </table>
    </section>

    <section id="detect-controls">
      <title>Detect Control Reference</title>

      <para>The Detect class includes controls for common features of
      various motion or object detection capable devices.</para>

      <table pgwide="1" frame="none" id="detect-control-id">
      <title>Detect Control IDs</title>

      <tgroup cols="4">
        <colspec colname="c1" colwidth="1*" />
        <colspec colname="c2" colwidth="6*" />
        <colspec colname="c3" colwidth="2*" />
        <colspec colname="c4" colwidth="6*" />
        <spanspec namest="c1" nameend="c2" spanname="id" />
        <spanspec namest="c2" nameend="c4" spanname="descr" />
        <thead>
          <row>
            <entry spanname="id" align="left">ID</entry>
            <entry align="left">Type</entry>
          </row><row rowsep="1"><entry spanname="descr" align="left">Description</entry>
          </row>
        </thead>
        <tbody valign="top">
          <row><entry></entry></row>
          <row>
            <entry spanname="id"><constant>V4L2_CID_DETECT_CLASS</constant>&nbsp;</entry>
            <entry>class</entry>
          </row><row><entry spanname="descr">The Detect class
descriptor. Calling &VIDIOC-QUERYCTRL; for this control will return a
description of this control class.</entry>
          </row>
          <row>
            <entry spanname="id"><constant>V4L2_CID_DETECT_MD_MODE</constant>&nbsp;</entry>
            <entry>menu</entry>
          </row><row><entry spanname="descr">Sets the motion detection mode.</entry>
          </row>
	  <row>
	    <entrytbl spanname="descr" cols="2">
	      <tbody valign="top">
		<row>
		  <entry><constant>V4L2_DETECT_MD_MODE_DISABLED</constant>
		  </entry><entry>Disable motion detection.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_DETECT_MD_MODE_GLOBAL</constant>
		  </entry><entry>Use a single motion detection threshold.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_DETECT_MD_MODE_THRESHOLD_GRID</constant>
		  </entry><entry>The image is divided into a grid, each cell with its own
		  motion detection threshold. These thresholds are set through the
		  <constant>V4L2_CID_DETECT_MD_THRESHOLD_GRID</constant> matrix control.</entry>
		</row>
		<row>
		  <entry><constant>V4L2_DETECT_MD_MODE_REGION_GRID</constant>
		  </entry><entry>The image is divided into a grid, each cell with its own
		  region value that specifies which per-region motion detection thresholds
		  should be used. Each region has its own thresholds. How these per-region
		  thresholds are set up is driver-specific. The region values for the grid are set
		  through the <constant>V4L2_CID_DETECT_MD_REGION_GRID</constant> matrix
		  control.</entry>
		</row>
	      </tbody>
	    </entrytbl>
	  </row>
          <row>
	    <entry spanname="id"><constant>V4L2_CID_DETECT_MD_GLOBAL_THRESHOLD</constant>&nbsp;</entry>
	    <entry>integer</entry>
	  </row>
	  <row><entry spanname="descr">Sets the global motion detection threshold to be
	  used with the <constant>V4L2_DETECT_MD_MODE_GLOBAL</constant> motion detection mode.</entry>
          </row>
          <row>
	    <entry spanname="id"><constant>V4L2_CID_DETECT_MD_THRESHOLD_GRID</constant>&nbsp;</entry>
	    <entry>__u16 matrix</entry>
	  </row>
	  <row><entry spanname="descr">Sets the motion detection thresholds for each cell in the grid.
	  To be used with the <constant>V4L2_DETECT_MD_MODE_THRESHOLD_GRID</constant>
	  motion detection mode. Matrix element (0, 0) represents the cell at the top-left of the
	  grid.</entry>
          </row>
          <row>
	    <entry spanname="id"><constant>V4L2_CID_DETECT_MD_REGION_GRID</constant>&nbsp;</entry>
	    <entry>__u8 matrix</entry>
	  </row>
	  <row><entry spanname="descr">Sets the motion detection region value for each cell in the grid.
	  To be used with the <constant>V4L2_DETECT_MD_MODE_REGION_GRID</constant>
	  motion detection mode. Matrix element (0, 0) represents the cell at the top-left of the
	  grid.</entry>
          </row>
        </tbody>
      </tgroup>
      </table>

      </section>

    <section id="rf-tuner-controls">
      <title>RF Tuner Control Reference</title>

      <para>
The RF Tuner (RF_TUNER) class includes controls for common features of devices
having RF tuner.
      </para>
      <para>
In this context, RF tuner is radio receiver circuit between antenna and
demodulator. It receives radio frequency (RF) from the antenna and converts that
received signal to lower intermediate frequency (IF) or baseband frequency (BB).
Tuners that could do baseband output are often called Zero-IF tuners. Older
tuners were typically simple PLL tuners inside a metal box, whilst newer ones
are highly integrated chips without a metal box "silicon tuners". These controls
are mostly applicable for new feature rich silicon tuners, just because older
tuners does not have much adjustable features.
      </para>
      <para>
For more information about RF tuners see
<ulink url="http://en.wikipedia.org/wiki/Tuner_%28radio%29">Tuner (radio)</ulink>
and
<ulink url="http://en.wikipedia.org/wiki/RF_front_end">RF front end</ulink>
from Wikipedia.
      </para>

      <table pgwide="1" frame="none" id="rf-tuner-control-id">
        <title>RF_TUNER Control IDs</title>

        <tgroup cols="4">
          <colspec colname="c1" colwidth="1*" />
          <colspec colname="c2" colwidth="6*" />
          <colspec colname="c3" colwidth="2*" />
          <colspec colname="c4" colwidth="6*" />
          <spanspec namest="c1" nameend="c2" spanname="id" />
          <spanspec namest="c2" nameend="c4" spanname="descr" />
          <thead>
            <row>
              <entry spanname="id" align="left">ID</entry>
              <entry align="left">Type</entry>
            </row>
            <row rowsep="1">
              <entry spanname="descr" align="left">Description</entry>
            </row>
          </thead>
          <tbody valign="top">
            <row><entry></entry></row>
            <row>
              <entry spanname="id"><constant>V4L2_CID_RF_TUNER_CLASS</constant>&nbsp;</entry>
              <entry>class</entry>
            </row><row><entry spanname="descr">The RF_TUNER class
descriptor. Calling &VIDIOC-QUERYCTRL; for this control will return a
description of this control class.</entry>
            </row>
            <row>
              <entry spanname="id"><constant>V4L2_CID_RF_TUNER_BANDWIDTH_AUTO</constant>&nbsp;</entry>
              <entry>boolean</entry>
            </row>
            <row>
              <entry spanname="descr">Enables/disables tuner radio channel
bandwidth configuration. In automatic mode bandwidth configuration is performed
by the driver.</entry>
            </row>
            <row>
              <entry spanname="id"><constant>V4L2_CID_RF_TUNER_BANDWIDTH</constant>&nbsp;</entry>
              <entry>integer</entry>
            </row>
            <row>
              <entry spanname="descr">Filter(s) on tuner signal path are used to
filter signal according to receiving party needs. Driver configures filters to
fulfill desired bandwidth requirement. Used when V4L2_CID_RF_TUNER_BANDWIDTH_AUTO is not
set. Unit is in Hz. The range and step are driver-specific.</entry>
            </row>
            <row>
              <entry spanname="id"><constant>V4L2_CID_RF_TUNER_LNA_GAIN_AUTO</constant>&nbsp;</entry>
              <entry>boolean</entry>
            </row>
            <row>
              <entry spanname="descr">Enables/disables LNA automatic gain control (AGC)</entry>
            </row>
            <row>
              <entry spanname="id"><constant>V4L2_CID_RF_TUNER_MIXER_GAIN_AUTO</constant>&nbsp;</entry>
              <entry>boolean</entry>
            </row>
            <row>
              <entry spanname="descr">Enables/disables mixer automatic gain control (AGC)</entry>
            </row>
            <row>
              <entry spanname="id"><constant>V4L2_CID_RF_TUNER_IF_GAIN_AUTO</constant>&nbsp;</entry>
              <entry>boolean</entry>
            </row>
            <row>
              <entry spanname="descr">Enables/disables IF automatic gain control (AGC)</entry>
            </row>
            <row>
              <entry spanname="id"><constant>V4L2_CID_RF_TUNER_RF_GAIN</constant>&nbsp;</entry>
              <entry>integer</entry>
            </row>
            <row>
              <entry spanname="descr">The RF amplifier is the very first
amplifier on the receiver signal path, just right after the antenna input.
The difference between the LNA gain and the RF gain in this document is that
the LNA gain is integrated in the tuner chip while the RF gain is a separate
chip. There may be both RF and LNA gain controls in the same device.
The range and step are driver-specific.</entry>
            </row>
            <row>
              <entry spanname="id"><constant>V4L2_CID_RF_TUNER_LNA_GAIN</constant>&nbsp;</entry>
              <entry>integer</entry>
            </row>
            <row>
              <entry spanname="descr">LNA (low noise amplifier) gain is first
gain stage on the RF tuner signal path. It is located very close to tuner
antenna input. Used when <constant>V4L2_CID_RF_TUNER_LNA_GAIN_AUTO</constant> is not set.
See <constant>V4L2_CID_RF_TUNER_RF_GAIN</constant> to understand how RF gain
and LNA gain differs from the each others.
The range and step are driver-specific.</entry>
            </row>
            <row>
              <entry spanname="id"><constant>V4L2_CID_RF_TUNER_MIXER_GAIN</constant>&nbsp;</entry>
              <entry>integer</entry>
            </row>
            <row>
              <entry spanname="descr">Mixer gain is second gain stage on the RF
tuner signal path. It is located inside mixer block, where RF signal is
down-converted by the mixer. Used when <constant>V4L2_CID_RF_TUNER_MIXER_GAIN_AUTO</constant>
is not set. The range and step are driver-specific.</entry>
            </row>
            <row>
              <entry spanname="id"><constant>V4L2_CID_RF_TUNER_IF_GAIN</constant>&nbsp;</entry>
              <entry>integer</entry>
            </row>
            <row>
              <entry spanname="descr">IF gain is last gain stage on the RF tuner
signal path. It is located on output of RF tuner. It controls signal level of
intermediate frequency output or baseband output. Used when
<constant>V4L2_CID_RF_TUNER_IF_GAIN_AUTO</constant> is not set. The range and step are
driver-specific.</entry>
            </row>
            <row>
              <entry spanname="id"><constant>V4L2_CID_RF_TUNER_PLL_LOCK</constant>&nbsp;</entry>
              <entry>boolean</entry>
            </row>
            <row>
              <entry spanname="descr">Is synthesizer PLL locked? RF tuner is
receiving given frequency when that control is set. This is a read-only control.
</entry>
            </row>
          </tbody>
        </tgroup>
      </table>
    </section>
</section>
