aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-3.10/0135-V4L2-Add-flicker-avoidance-controls.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm2708/patches-3.10/0135-V4L2-Add-flicker-avoidance-controls.patch')
-rw-r--r--target/linux/brcm2708/patches-3.10/0135-V4L2-Add-flicker-avoidance-controls.patch117
1 files changed, 0 insertions, 117 deletions
diff --git a/target/linux/brcm2708/patches-3.10/0135-V4L2-Add-flicker-avoidance-controls.patch b/target/linux/brcm2708/patches-3.10/0135-V4L2-Add-flicker-avoidance-controls.patch
deleted file mode 100644
index fcbe95f615..0000000000
--- a/target/linux/brcm2708/patches-3.10/0135-V4L2-Add-flicker-avoidance-controls.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-From 7158cb41bff61dc6e3aee5b243ba0d6fbafe35bc Mon Sep 17 00:00:00 2001
-From: Dave Stevenson <dsteve@broadcom.com>
-Date: Mon, 9 Dec 2013 16:40:24 +0000
-Subject: [PATCH 135/196] V4L2: Add flicker avoidance controls
-
-Add support for V4L2_CID_POWER_LINE_FREQUENCY to set flicker
-avoidance frequencies.
-
-Signed-off-by: Dave Stevenson <dsteve@broadcom.com>
----
- drivers/media/platform/bcm2835/bcm2835-camera.h | 2 +-
- drivers/media/platform/bcm2835/controls.c | 42 ++++++++++++++++++++++++
- drivers/media/platform/bcm2835/mmal-parameters.h | 8 +++++
- 3 files changed, 51 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/media/platform/bcm2835/bcm2835-camera.h b/drivers/media/platform/bcm2835/bcm2835-camera.h
-index 5640492..a53c3bd 100644
---- a/drivers/media/platform/bcm2835/bcm2835-camera.h
-+++ b/drivers/media/platform/bcm2835/bcm2835-camera.h
-@@ -15,7 +15,7 @@
- * core driver device
- */
-
--#define V4L2_CTRL_COUNT 19 /* number of v4l controls */
-+#define V4L2_CTRL_COUNT 20 /* number of v4l controls */
-
- enum {
- MMAL_COMPONENT_CAMERA = 0,
-diff --git a/drivers/media/platform/bcm2835/controls.c b/drivers/media/platform/bcm2835/controls.c
-index 92863f7..7cc97c8 100644
---- a/drivers/media/platform/bcm2835/controls.c
-+++ b/drivers/media/platform/bcm2835/controls.c
-@@ -56,6 +56,13 @@ static const s64 iso_qmenu[] = {
- 0, 100, 200, 400, 800,
- };
-
-+static const s64 mains_freq_qmenu[] = {
-+ V4L2_CID_POWER_LINE_FREQUENCY_DISABLED,
-+ V4L2_CID_POWER_LINE_FREQUENCY_50HZ,
-+ V4L2_CID_POWER_LINE_FREQUENCY_60HZ,
-+ V4L2_CID_POWER_LINE_FREQUENCY_AUTO
-+};
-+
- /* Supported video encode modes */
- static const s64 bitrate_mode_qmenu[] = {
- (s64)V4L2_MPEG_VIDEO_BITRATE_MODE_VBR,
-@@ -373,6 +380,35 @@ static int ctrl_set_metering_mode(struct bm2835_mmal_dev *dev,
- &u32_value, sizeof(u32_value));
- }
-
-+static int ctrl_set_flicker_avoidance(struct bm2835_mmal_dev *dev,
-+ struct v4l2_ctrl *ctrl,
-+ const struct bm2835_mmal_v4l2_ctrl *mmal_ctrl)
-+{
-+ u32 u32_value;
-+ struct vchiq_mmal_port *control;
-+
-+ control = &dev->component[MMAL_COMPONENT_CAMERA]->control;
-+
-+ switch (ctrl->val) {
-+ case V4L2_CID_POWER_LINE_FREQUENCY_DISABLED:
-+ u32_value = MMAL_PARAM_FLICKERAVOID_OFF;
-+ break;
-+ case V4L2_CID_POWER_LINE_FREQUENCY_50HZ:
-+ u32_value = MMAL_PARAM_FLICKERAVOID_50HZ;
-+ break;
-+ case V4L2_CID_POWER_LINE_FREQUENCY_60HZ:
-+ u32_value = MMAL_PARAM_FLICKERAVOID_60HZ;
-+ break;
-+ case V4L2_CID_POWER_LINE_FREQUENCY_AUTO:
-+ u32_value = MMAL_PARAM_FLICKERAVOID_AUTO;
-+ break;
-+ }
-+
-+ return vchiq_mmal_port_parameter_set(dev->instance, control,
-+ mmal_ctrl->mmal_id,
-+ &u32_value, sizeof(u32_value));
-+}
-+
- static int ctrl_set_awb_mode(struct bm2835_mmal_dev *dev,
- struct v4l2_ctrl *ctrl,
- const struct bm2835_mmal_v4l2_ctrl *mmal_ctrl)
-@@ -706,6 +742,12 @@ static const struct bm2835_mmal_v4l2_ctrl v4l2_ctrls[V4L2_CTRL_COUNT] = {
- 30, 1, NULL,
- MMAL_PARAMETER_JPEG_Q_FACTOR, &ctrl_set_image_encode_output
- },
-+ {
-+ V4L2_CID_POWER_LINE_FREQUENCY, MMAL_CONTROL_TYPE_STD_MENU,
-+ 0, ARRAY_SIZE(mains_freq_qmenu) - 1,
-+ 1, 1, NULL,
-+ MMAL_PARAMETER_FLICKER_AVOID, &ctrl_set_flicker_avoidance
-+ },
- };
-
- int bm2835_mmal_set_all_camera_controls(struct bm2835_mmal_dev *dev)
-diff --git a/drivers/media/platform/bcm2835/mmal-parameters.h b/drivers/media/platform/bcm2835/mmal-parameters.h
-index d8aace5..b3d2c39 100644
---- a/drivers/media/platform/bcm2835/mmal-parameters.h
-+++ b/drivers/media/platform/bcm2835/mmal-parameters.h
-@@ -271,6 +271,14 @@ enum mmal_parameter_imagefx {
- MMAL_PARAM_IMAGEFX_CARTOON,
- };
-
-+enum MMAL_PARAM_FLICKERAVOID_T {
-+ MMAL_PARAM_FLICKERAVOID_OFF,
-+ MMAL_PARAM_FLICKERAVOID_AUTO,
-+ MMAL_PARAM_FLICKERAVOID_50HZ,
-+ MMAL_PARAM_FLICKERAVOID_60HZ,
-+ MMAL_PARAM_FLICKERAVOID_MAX = 0x7FFFFFFF
-+};
-+
- /** Manner of video rate control */
- enum mmal_parameter_rate_control_mode {
- MMAL_VIDEO_RATECONTROL_DEFAULT,
---
-1.9.1
-