  <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>
		<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>integer</entry>
	      </row><row><entry spanname="descr">If the display delay is enabled then the decoder has to return a
CAPTURE buffer after processing a certain number of OUTPUT buffers. If this number is low, then it may result in
buffers not being dequeued in display order. In addition hardware may still use those buffers as reference, thus
application should not write to those buffers. 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 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>

	</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>

      <note>
	<title>Experimental</title>

	<para>This is an <link linkend="experimental">experimental</link>
interface and may change in the future.</para>
      </note>

      <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>

      <note>
	<title>Experimental</title>

	<para>This is an <link
	linkend="experimental">experimental</link> interface and may
	change in the future.</para>
      </note>

      <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></entry></row>
	</tbody>
      </tgroup>
      </table>

    </section>

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

      <note>
	<title>Experimental</title>

	<para>This is an <link
	linkend="experimental">experimental</link> interface and may
	change in the future.</para>
      </note>

      <para>
	The Image Source 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 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_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>

      <note>
	<title>Experimental</title>

	<para>This is an <link
	linkend="experimental">experimental</link> interface and may
	change in the future.</para>
      </note>

      <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_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></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_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.
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>
