  <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>MPEG Control Reference</title>

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

      <section>
	<title>Generic MPEG Controls</title>

	<table pgwide="1" frame="none" id="mpeg-control-id">
	  <title>MPEG 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 MPEG 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>
		<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>

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