aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-5.4/950-0905-media-v4l2-ctrl-Document-V4L2_CID_CAMERA_SENSOR_ROTA.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/bcm27xx/patches-5.4/950-0905-media-v4l2-ctrl-Document-V4L2_CID_CAMERA_SENSOR_ROTA.patch')
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0905-media-v4l2-ctrl-Document-V4L2_CID_CAMERA_SENSOR_ROTA.patch151
1 files changed, 151 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.4/950-0905-media-v4l2-ctrl-Document-V4L2_CID_CAMERA_SENSOR_ROTA.patch b/target/linux/bcm27xx/patches-5.4/950-0905-media-v4l2-ctrl-Document-V4L2_CID_CAMERA_SENSOR_ROTA.patch
new file mode 100644
index 0000000000..9be7e6a368
--- /dev/null
+++ b/target/linux/bcm27xx/patches-5.4/950-0905-media-v4l2-ctrl-Document-V4L2_CID_CAMERA_SENSOR_ROTA.patch
@@ -0,0 +1,151 @@
+From 00d84a43c7042b55e81d0818b0d1a6e44c6f79b5 Mon Sep 17 00:00:00 2001
+From: Jacopo Mondi <jacopo@jmondi.org>
+Date: Sat, 9 May 2020 11:04:47 +0200
+Subject: [PATCH] media: v4l2-ctrl: Document
+ V4L2_CID_CAMERA_SENSOR_ROTATION
+
+Add documentation for the V4L2_CID_CAMERA_SENSOR_ROTATION camera
+control. The newly added read-only control reports the rotation
+correction to be applied to images before displaying them to the user.
+
+Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
+Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
+Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
+
+Commit 9926c2248740a632b0629fd8c07d0fc361dc15cc upstream
+
+Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
+---
+ .../media/uapi/v4l/ext-ctrls-camera.rst | 121 ++++++++++++++++++
+ 1 file changed, 121 insertions(+)
+
+--- a/Documentation/media/uapi/v4l/ext-ctrls-camera.rst
++++ b/Documentation/media/uapi/v4l/ext-ctrls-camera.rst
+@@ -540,6 +540,127 @@ enum v4l2_scene_mode -
+
+
+
++``V4L2_CID_CAMERA_SENSOR_ROTATION (integer)``
++ This read-only control describes the rotation correction in degrees in the
++ counter-clockwise direction to be applied to the captured images once
++ captured to memory to compensate for the camera sensor mounting rotation.
++
++ For a precise definition of the sensor mounting rotation refer to the
++ extensive description of the 'rotation' properties in the device tree
++ bindings file 'video-interfaces.txt'.
++
++ A few examples are below reported, using a shark swimming from left to
++ right in front of the user as the example scene to capture. ::
++
++ 0 X-axis
++ 0 +------------------------------------->
++ !
++ !
++ !
++ ! |\____)\___
++ ! ) _____ __`<
++ ! |/ )/
++ !
++ !
++ !
++ V
++ Y-axis
++
++ Example one - Webcam
++
++ Assuming you can bring your laptop with you while swimming with sharks,
++ the camera module of the laptop is installed on the user facing part of a
++ laptop screen casing, and is typically used for video calls. The captured
++ images are meant to be displayed in landscape mode (width > height) on the
++ laptop screen.
++
++ The camera is typically mounted upside-down to compensate the lens optical
++ inversion effect. In this case the value of the
++ V4L2_CID_CAMERA_SENSOR_ROTATION control is 0, no rotation is required to
++ display images correctly to the user.
++
++ If the camera sensor is not mounted upside-down it is required to compensate
++ the lens optical inversion effect and the value of the
++ V4L2_CID_CAMERA_SENSOR_ROTATION control is 180 degrees, as images will
++ result rotated when captured to memory. ::
++
++ +--------------------------------------+
++ ! !
++ ! !
++ ! !
++ ! __/(_____/| !
++ ! >.___ ____ ( !
++ ! \( \| !
++ ! !
++ ! !
++ ! !
++ +--------------------------------------+
++
++ A software rotation correction of 180 degrees has to be applied to correctly
++ display the image on the user screen. ::
++
++ +--------------------------------------+
++ ! !
++ ! !
++ ! !
++ ! |\____)\___ !
++ ! ) _____ __`< !
++ ! |/ )/ !
++ ! !
++ ! !
++ ! !
++ +--------------------------------------+
++
++ Example two - Phone camera
++
++ It is more handy to go and swim with sharks with only your mobile phone
++ with you and take pictures with the camera that is installed on the back
++ side of the device, facing away from the user. The captured images are meant
++ to be displayed in portrait mode (height > width) to match the device screen
++ orientation and the device usage orientation used when taking the picture.
++
++ The camera sensor is typically mounted with its pixel array longer side
++ aligned to the device longer side, upside-down mounted to compensate for
++ the lens optical inversion effect.
++
++ The images once captured to memory will be rotated and the value of the
++ V4L2_CID_CAMERA_SENSOR_ROTATION will report a 90 degree rotation. ::
++
++
++ +-------------------------------------+
++ | _ _ |
++ | \ / |
++ | | | |
++ | | | |
++ | | > |
++ | < | |
++ | | | |
++ | . |
++ | V |
++ +-------------------------------------+
++
++ A correction of 90 degrees in counter-clockwise direction has to be
++ applied to correctly display the image in portrait mode on the device
++ screen. ::
++
++ +--------------------+
++ | |
++ | |
++ | |
++ | |
++ | |
++ | |
++ | |\____)\___ |
++ | ) _____ __`< |
++ | |/ )/ |
++ | |
++ | |
++ | |
++ | |
++ | |
++ +--------------------+
++
++
+ .. [#f1]
+ This control may be changed to a menu control in the future, if more
+ options are required.