[libcamera-devel,v10,04/13] media: v4l2-ctrl: Document V4L2_CID_CAMERA_ORIENTATION

Message ID 20200508100158.3437161-5-jacopo@jmondi.org
State Superseded
Headers show
Series
  • media: report camera properties
Related show

Commit Message

Jacopo Mondi May 8, 2020, 10:01 a.m. UTC
Add documentation for the V4L2_CID_CAMERA_ORIENTATION camera
control. The newly added read-only control reports the camera device
orientation relative to the usage orientation of the system the camera
is installed on.

Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
---
 .../media/v4l/ext-ctrls-camera.rst            | 30 +++++++++++++++++++
 1 file changed, 30 insertions(+)

Comments

Hans Verkuil May 8, 2020, 11:02 a.m. UTC | #1
On 08/05/2020 12:01, Jacopo Mondi wrote:
> Add documentation for the V4L2_CID_CAMERA_ORIENTATION camera
> control. The newly added read-only control reports the camera device
> orientation relative to the usage orientation of the system the camera
> is installed on.
> 
> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
> ---
>  .../media/v4l/ext-ctrls-camera.rst            | 30 +++++++++++++++++++
>  1 file changed, 30 insertions(+)
> 
> diff --git a/Documentation/userspace-api/media/v4l/ext-ctrls-camera.rst b/Documentation/userspace-api/media/v4l/ext-ctrls-camera.rst
> index e39f84d2447f8..01e104bab6b3d 100644
> --- a/Documentation/userspace-api/media/v4l/ext-ctrls-camera.rst
> +++ b/Documentation/userspace-api/media/v4l/ext-ctrls-camera.rst
> @@ -510,6 +510,36 @@ enum v4l2_scene_mode -
>      value down. A value of zero stops the motion if one is in progress
>      and has no effect otherwise.
>  
> +``V4L2_CID_CAMERA_ORIENTATION (integer)``

integer -> menu

> +    This read-only control describes the camera orientation by reporting
> +    its mounting position on the device where the camera is installed. The
> +    control value is constant and not modifiable by software. This control is
> +    particularly meaningful for devices which have a well defined orientation,
> +    such as phones, laptops and portable devices since the control is expressed
> +    as a position relative to the device's intended usage orientation.
> +    For example, a camera installed on the user-facing side of a phone,
> +    a tablet or a laptop device is said to be have ``V4L2_ORIENTATION_FRONT``
> +    orientation, while a camera installed on the opposite side of the front one
> +    is said to be have ``V4L2_ORIENTATION_BACK`` orientation. Camera sensors not
> +    directly attached to the device, or attached in a way that allows them to
> +    move freely, such as webcams and digital cameras, are said to have the
> +    ``V4L2_ORIENTATION_EXTERNAL`` orientation.
> +
> +
> +
> +.. flat-table::
> +    :header-rows:  0
> +    :stub-columns: 0
> +
> +    * - ``V4L2_ORIENTATION_FRONT``

This really should be V4L2_CAMERA_ORIENTATION_FRONT. Yes, it is long, but just
'ORIENTATION' doesn't tell you which orientation is meant, that's too generic.

Regards,

	Hans

> +      - The camera is oriented towards the user facing side of the device.
> +    * - ``V4L2_ORIENTATION_BACK``
> +      - The camera is oriented towards the back facing side of the device.
> +    * - ``V4L2_ORIENTATION_EXTERNAL``
> +      - The camera is not directly attached to the device and is freely movable.
> +
> +
> +
>  .. [#f1]
>     This control may be changed to a menu control in the future, if more
>     options are required.
>

Patch

diff --git a/Documentation/userspace-api/media/v4l/ext-ctrls-camera.rst b/Documentation/userspace-api/media/v4l/ext-ctrls-camera.rst
index e39f84d2447f8..01e104bab6b3d 100644
--- a/Documentation/userspace-api/media/v4l/ext-ctrls-camera.rst
+++ b/Documentation/userspace-api/media/v4l/ext-ctrls-camera.rst
@@ -510,6 +510,36 @@  enum v4l2_scene_mode -
     value down. A value of zero stops the motion if one is in progress
     and has no effect otherwise.
 
+``V4L2_CID_CAMERA_ORIENTATION (integer)``
+    This read-only control describes the camera orientation by reporting
+    its mounting position on the device where the camera is installed. The
+    control value is constant and not modifiable by software. This control is
+    particularly meaningful for devices which have a well defined orientation,
+    such as phones, laptops and portable devices since the control is expressed
+    as a position relative to the device's intended usage orientation.
+    For example, a camera installed on the user-facing side of a phone,
+    a tablet or a laptop device is said to be have ``V4L2_ORIENTATION_FRONT``
+    orientation, while a camera installed on the opposite side of the front one
+    is said to be have ``V4L2_ORIENTATION_BACK`` orientation. Camera sensors not
+    directly attached to the device, or attached in a way that allows them to
+    move freely, such as webcams and digital cameras, are said to have the
+    ``V4L2_ORIENTATION_EXTERNAL`` orientation.
+
+
+
+.. flat-table::
+    :header-rows:  0
+    :stub-columns: 0
+
+    * - ``V4L2_ORIENTATION_FRONT``
+      - The camera is oriented towards the user facing side of the device.
+    * - ``V4L2_ORIENTATION_BACK``
+      - The camera is oriented towards the back facing side of the device.
+    * - ``V4L2_ORIENTATION_EXTERNAL``
+      - The camera is not directly attached to the device and is freely movable.
+
+
+
 .. [#f1]
    This control may be changed to a menu control in the future, if more
    options are required.