diff options
author | Álvaro Fernández Rojas <noltari@gmail.com> | 2021-02-18 18:04:33 +0100 |
---|---|---|
committer | Álvaro Fernández Rojas <noltari@gmail.com> | 2021-02-19 07:17:21 +0100 |
commit | 62b7f5931c54e96fca56dd8761b0e466d355c881 (patch) | |
tree | 1258b392752379833a075df006c2f6d7ac4be51d /target/linux/bcm27xx/patches-5.4/950-0905-media-v4l2-ctrl-Document-V4L2_CID_CAMERA_SENSOR_ROTA.patch | |
parent | 76d1168d0d4b9d76e2ad78c0fc6b255561deb284 (diff) | |
download | upstream-62b7f5931c54e96fca56dd8761b0e466d355c881.tar.gz upstream-62b7f5931c54e96fca56dd8761b0e466d355c881.tar.bz2 upstream-62b7f5931c54e96fca56dd8761b0e466d355c881.zip |
bcm27xx: import latest patches from the RPi foundation
bcm2708: boot tested on RPi B+ v1.2
bcm2709: boot tested on RPi 3B v1.2 and RPi 4B v1.1 4G
bcm2710: boot tested on RPi 3B v1.2
bcm2711: boot tested on RPi 4B v1.1 4G
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry-picked from commit f07e572f64)
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.patch | 151 |
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. |