This is an automatic generated email to let you know that the following patch 
were queued:

Subject: media: v4l2-ctrls: Add camera orientation and rotation
Author:  Jacopo Mondi <[email protected]>
Date:    Sat May 9 11:04:48 2020 +0200

Add support for the newly defined V4L2_CID_CAMERA_ORIENTATION
and V4L2_CID_CAMERA_SENSOR_ROTATION read-only controls used to report
the camera device mounting position and orientation respectively.

Reviewed-by: Laurent Pinchart <[email protected]>
Signed-off-by: Jacopo Mondi <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>

 drivers/media/v4l2-core/v4l2-ctrls.c | 13 +++++++++++++
 include/uapi/linux/v4l2-controls.h   |  7 +++++++
 2 files changed, 20 insertions(+)

---

diff --git a/drivers/media/v4l2-core/v4l2-ctrls.c 
b/drivers/media/v4l2-core/v4l2-ctrls.c
index 1c617b42a944..92c3e39efc28 100644
--- a/drivers/media/v4l2-core/v4l2-ctrls.c
+++ b/drivers/media/v4l2-core/v4l2-ctrls.c
@@ -583,6 +583,12 @@ const char * const *v4l2_ctrl_get_menu(u32 id)
                "Annex B Start Code",
                NULL,
        };
+       static const char * const camera_orientation[] = {
+               "Front",
+               "Back",
+               "External",
+               NULL,
+       };
 
        switch (id) {
        case V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ:
@@ -708,6 +714,8 @@ const char * const *v4l2_ctrl_get_menu(u32 id)
                return hevc_decode_mode;
        case V4L2_CID_MPEG_VIDEO_HEVC_START_CODE:
                return hevc_start_code;
+       case V4L2_CID_CAMERA_ORIENTATION:
+               return camera_orientation;
        default:
                return NULL;
        }
@@ -1020,6 +1028,8 @@ const char *v4l2_ctrl_get_name(u32 id)
        case V4L2_CID_PAN_SPEED:                return "Pan, Speed";
        case V4L2_CID_TILT_SPEED:               return "Tilt, Speed";
        case V4L2_CID_UNIT_CELL_SIZE:           return "Unit Cell Size";
+       case V4L2_CID_CAMERA_ORIENTATION:       return "Camera Orientation";
+       case V4L2_CID_CAMERA_SENSOR_ROTATION:   return "Camera Sensor Rotation";
 
        /* FM Radio Modulator controls */
        /* Keep the order of the 'case's the same as in v4l2-controls.h! */
@@ -1293,6 +1303,7 @@ void v4l2_ctrl_fill(u32 id, const char **name, enum 
v4l2_ctrl_type *type,
        case V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE:
        case V4L2_CID_MPEG_VIDEO_HEVC_DECODE_MODE:
        case V4L2_CID_MPEG_VIDEO_HEVC_START_CODE:
+       case V4L2_CID_CAMERA_ORIENTATION:
                *type = V4L2_CTRL_TYPE_MENU;
                break;
        case V4L2_CID_LINK_FREQ:
@@ -1482,6 +1493,8 @@ void v4l2_ctrl_fill(u32 id, const char **name, enum 
v4l2_ctrl_type *type,
        case V4L2_CID_RDS_RX_TRAFFIC_ANNOUNCEMENT:
        case V4L2_CID_RDS_RX_TRAFFIC_PROGRAM:
        case V4L2_CID_RDS_RX_MUSIC_SPEECH:
+       case V4L2_CID_CAMERA_ORIENTATION:
+       case V4L2_CID_CAMERA_SENSOR_ROTATION:
                *flags |= V4L2_CTRL_FLAG_READ_ONLY;
                break;
        case V4L2_CID_RF_TUNER_PLL_LOCK:
diff --git a/include/uapi/linux/v4l2-controls.h 
b/include/uapi/linux/v4l2-controls.h
index 0ba1005c9651..62271418c1be 100644
--- a/include/uapi/linux/v4l2-controls.h
+++ b/include/uapi/linux/v4l2-controls.h
@@ -923,6 +923,13 @@ enum v4l2_auto_focus_range {
 #define V4L2_CID_PAN_SPEED                     (V4L2_CID_CAMERA_CLASS_BASE+32)
 #define V4L2_CID_TILT_SPEED                    (V4L2_CID_CAMERA_CLASS_BASE+33)
 
+#define V4L2_CID_CAMERA_ORIENTATION            (V4L2_CID_CAMERA_CLASS_BASE+34)
+#define V4L2_CAMERA_ORIENTATION_FRONT          0
+#define V4L2_CAMERA_ORIENTATION_BACK           1
+#define V4L2_CAMERA_ORIENTATION_EXTERNAL       2
+
+#define V4L2_CID_CAMERA_SENSOR_ROTATION                
(V4L2_CID_CAMERA_CLASS_BASE+35)
+
 /* FM Modulator class control IDs */
 
 #define V4L2_CID_FM_TX_CLASS_BASE              (V4L2_CTRL_CLASS_FM_TX | 0x900)

_______________________________________________
linuxtv-commits mailing list
[email protected]
https://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to