media: vidioc-g-ext-ctrls.rst: reformat tables and clarify which vs ctrl_class
[linux-2.6-microblaze.git] / Documentation / userspace-api / media / v4l / vidioc-g-ext-ctrls.rst
index b9c62af..c50a76c 100644 (file)
@@ -118,11 +118,15 @@ correct. This prevents the situation where only some of the controls
 were set/get. Only low-level errors (e. g. a failed i2c command) can
 still cause this situation.
 
-.. tabularcolumns:: |p{1.2cm}|p{3.0cm}|p{1.5cm}|p{11.8cm}|
+.. tabularcolumns:: |p{6.8cm}|p{4.0cm}|p{6.5cm}|
 
 .. c:type:: v4l2_ext_control
 
-.. cssclass: longtable
+.. raw:: latex
+
+   \footnotesize
+
+.. cssclass:: longtable
 
 .. flat-table:: struct v4l2_ext_control
     :header-rows:  0
@@ -134,11 +138,12 @@ still cause this situation.
       - Identifies the control, set by the application.
     * - __u32
       - ``size``
-      - The total size in bytes of the payload of this control. This is
-       normally 0, but for pointer controls this should be set to the
-       size of the memory containing the payload, or that will receive
-       the payload. If :ref:`VIDIOC_G_EXT_CTRLS <VIDIOC_G_EXT_CTRLS>` finds that this value is
-       less than is required to store the payload result, then it is set
+      - The total size in bytes of the payload of this control.
+    * - :cspan:`2` The ``size`` field is normally 0, but for pointer
+       controls this should be set to the size of the memory that contains
+       the payload or that will receive the payload.
+       If :ref:`VIDIOC_G_EXT_CTRLS <VIDIOC_G_EXT_CTRLS>` finds that this value
+       is less than is required to store the payload result, then it is set
        to a value large enough to store the payload result and ``ENOSPC`` is
        returned.
 
@@ -212,6 +217,10 @@ still cause this situation.
       - ``p_fwht_params``
       - A pointer to a struct :c:type:`v4l2_ctrl_fwht_params`. Valid if this control is
         of type ``V4L2_CTRL_TYPE_FWHT_PARAMS``.
+    * - struct :c:type:`v4l2_ctrl_vp8_frame` *
+      - ``p_vp8_frame``
+      - A pointer to a struct :c:type:`v4l2_ctrl_vp8_frame`. Valid if this control is
+        of type ``V4L2_CTRL_TYPE_VP8_FRAME``.
     * - void *
       - ``ptr``
       - A pointer to a compound type which can be an N-dimensional array
@@ -221,7 +230,11 @@ still cause this situation.
     * - }
       -
 
-.. tabularcolumns:: |p{4.0cm}|p{2.2cm}|p{2.1cm}|p{8.2cm}|
+.. raw:: latex
+
+   \normalsize
+
+.. tabularcolumns:: |p{4.0cm}|p{2.5cm}|p{10.8cm}|
 
 .. c:type:: v4l2_ext_controls
 
@@ -234,30 +247,19 @@ still cause this situation.
 
     * - union {
       - (anonymous)
-    * - __u32
-      - ``ctrl_class``
-      - The control class to which all controls belong, see
-       :ref:`ctrl-class`. Drivers that use a kernel framework for
-       handling controls will also accept a value of 0 here, meaning that
-       the controls can belong to any control class. Whether drivers
-       support this can be tested by setting ``ctrl_class`` to 0 and
-       calling :ref:`VIDIOC_TRY_EXT_CTRLS <VIDIOC_G_EXT_CTRLS>` with a ``count`` of 0. If that
-       succeeds, then the driver supports this feature.
     * - __u32
       - ``which``
       - Which value of the control to get/set/try.
-       ``V4L2_CTRL_WHICH_CUR_VAL`` will return the current value of the
-       control, ``V4L2_CTRL_WHICH_DEF_VAL`` will return the default
+    * - :cspan:`2` ``V4L2_CTRL_WHICH_CUR_VAL`` will return the current value of
+       the control, ``V4L2_CTRL_WHICH_DEF_VAL`` will return the default
        value of the control and ``V4L2_CTRL_WHICH_REQUEST_VAL`` indicates that
        these controls have to be retrieved from a request or tried/set for
        a request. In the latter case the ``request_fd`` field contains the
        file descriptor of the request that should be used. If the device
        does not support requests, then ``EACCES`` will be returned.
 
-       .. note::
-
-          When using ``V4L2_CTRL_WHICH_DEF_VAL`` be aware that you can only
-          get the default value of the control, you cannot set or try it.
+       When using ``V4L2_CTRL_WHICH_DEF_VAL`` be aware that you can only
+       get the default value of the control, you cannot set or try it.
 
        For backwards compatibility you can also use a control class here
        (see :ref:`ctrl-class`). In that case all controls have to
@@ -265,9 +267,12 @@ still cause this situation.
        just use ``V4L2_CTRL_WHICH_CUR_VAL``. There are some very old
        drivers that do not yet support ``V4L2_CTRL_WHICH_CUR_VAL`` and
        that require a control class here. You can test for such drivers
-       by setting ctrl_class to ``V4L2_CTRL_WHICH_CUR_VAL`` and calling
-       VIDIOC_TRY_EXT_CTRLS with a count of 0. If that fails, then the
-       driver does not support ``V4L2_CTRL_WHICH_CUR_VAL``.
+       by setting ``which`` to ``V4L2_CTRL_WHICH_CUR_VAL`` and calling
+       :ref:`VIDIOC_TRY_EXT_CTRLS <VIDIOC_G_EXT_CTRLS>` with a count of 0.
+       If that fails, then the driver does not support ``V4L2_CTRL_WHICH_CUR_VAL``.
+    * - __u32
+      - ``ctrl_class``
+      - Deprecated name kept for backwards compatibility. Use ``which`` instead.
     * - }
       -
     * - __u32
@@ -275,7 +280,8 @@ still cause this situation.
       - The number of controls in the controls array. May also be zero.
     * - __u32
       - ``error_idx``
-      - Set by the driver in case of an error. If the error is associated
+      - Index of the failing control. Set by the driver in case of an error.
+    * - :cspan:`2` If the error is associated
        with a particular control, then ``error_idx`` is set to the index
        of that control. If the error is not related to a specific
        control, or the validation step failed (see below), then
@@ -334,7 +340,9 @@ still cause this situation.
 
        Ignored if ``count`` equals zero.
 
-.. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
+.. tabularcolumns:: |p{7.3cm}|p{2.0cm}|p{8.0cm}|
+
+.. cssclass:: longtable
 
 .. _ctrl-class: