  <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>
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.<footnote>
	<para>It will be more convenient for applications if drivers
make use of the <constant>V4L2_CTRL_FLAG_DISABLED</constant> flag, but
that was never required.</para>
      </footnote> 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. Since V4L2 specifies no event mechanism, panel
applications intended to cooperate with other panel applications (be
they built into a larger application, as a TV viewer) may need to
regularly poll control values to update their user
interface.<footnote>
	<para>Applications could call an ioctl to request events.
After another process called &VIDIOC-S-CTRL; or another ioctl changing
shared properties the &func-select; function would indicate
readability until any ioctl (querying the properties) is
called.</para>
      </footnote></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 on the capture device or on
	    the capture buffer queue of a mem-to-mem device. When a mem-to-mem
	    device produces 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 mem-to-mem input data
	    this control lets you select the alpha component value of all
	    pixels. It is applicable to any pixel format that contains an alpha
	    component.
	    </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>
      <title>Enumerating all 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>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 = TRUE; /* 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>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; 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
1.8). 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_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_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="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>
