diff options
author | Felix Fietkau <nbd@openwrt.org> | 2014-12-13 11:55:11 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2014-12-13 11:55:11 +0000 |
commit | 45380ebd1ab3d604ece3dd14a84f89fbc69ea7b1 (patch) | |
tree | 816e479975bb22e39e9cbdde8fdfb400f38f72a9 /target/linux/brcm2708/patches-3.10/0139-V4L2-Add-support-for-inline-H264-headers.patch | |
parent | 170ce2961703fe3c2c74e9aa3088df2905b3697e (diff) | |
download | mtk-20170518-45380ebd1ab3d604ece3dd14a84f89fbc69ea7b1.zip mtk-20170518-45380ebd1ab3d604ece3dd14a84f89fbc69ea7b1.tar.gz mtk-20170518-45380ebd1ab3d604ece3dd14a84f89fbc69ea7b1.tar.bz2 |
brcm2708: remove linux 3.10 support
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 43687
Diffstat (limited to 'target/linux/brcm2708/patches-3.10/0139-V4L2-Add-support-for-inline-H264-headers.patch')
-rw-r--r-- | target/linux/brcm2708/patches-3.10/0139-V4L2-Add-support-for-inline-H264-headers.patch | 307 |
1 files changed, 0 insertions, 307 deletions
diff --git a/target/linux/brcm2708/patches-3.10/0139-V4L2-Add-support-for-inline-H264-headers.patch b/target/linux/brcm2708/patches-3.10/0139-V4L2-Add-support-for-inline-H264-headers.patch deleted file mode 100644 index 299ed0b..0000000 --- a/target/linux/brcm2708/patches-3.10/0139-V4L2-Add-support-for-inline-H264-headers.patch +++ /dev/null @@ -1,307 +0,0 @@ -From f4206d9063a2b73cf7ca7aa497c1f7e3def1859b Mon Sep 17 00:00:00 2001 -From: Dave Stevenson <dsteve@broadcom.com> -Date: Mon, 9 Dec 2013 11:03:54 +0000 -Subject: [PATCH 139/196] V4L2: Add support for inline H264 headers - -Add support for V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER -to control H264 inline headers. -Requires firmware fix to work correctly, otherwise format -has to be set to H264 before this parameter is set. - -Signed-off-by: Dave Stevenson <dsteve@broadcom.com> ---- - drivers/media/platform/bcm2835/bcm2835-camera.h | 2 +- - drivers/media/platform/bcm2835/controls.c | 115 ++++++++++++++++++----- - drivers/media/platform/bcm2835/mmal-parameters.h | 11 ++- - 3 files changed, 103 insertions(+), 25 deletions(-) - -diff --git a/drivers/media/platform/bcm2835/bcm2835-camera.h b/drivers/media/platform/bcm2835/bcm2835-camera.h -index 0f29b1a..25aa91f 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 20 /* number of v4l controls */ -+#define V4L2_CTRL_COUNT 21 /* 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 e965ca3..cb062a9 100644 ---- a/drivers/media/platform/bcm2835/controls.c -+++ b/drivers/media/platform/bcm2835/controls.c -@@ -96,6 +96,7 @@ struct bm2835_mmal_v4l2_ctrl { - const s64 *imenu; /* integer menu array */ - u32 mmal_id; /* mmal parameter id */ - bm2835_mmal_v4l2_ctrl_cb *setter; -+ bool ignore_errors; - }; - - struct v4l2_to_mmal_effects_setting { -@@ -606,12 +607,29 @@ static int ctrl_set_image_encode_output(struct bm2835_mmal_dev *dev, - &u32_value, sizeof(u32_value)); - } - -+static int ctrl_set_video_encode_param_output(struct bm2835_mmal_dev *dev, -+ struct v4l2_ctrl *ctrl, -+ const struct bm2835_mmal_v4l2_ctrl *mmal_ctrl) -+{ -+ u32 u32_value; -+ struct vchiq_mmal_port *vid_enc_ctl; -+ -+ vid_enc_ctl = &dev->component[MMAL_COMPONENT_VIDEO_ENCODE]->output[0]; -+ -+ u32_value = ctrl->val; -+ -+ return vchiq_mmal_port_parameter_set(dev->instance, vid_enc_ctl, -+ mmal_ctrl->mmal_id, -+ &u32_value, sizeof(u32_value)); -+} -+ - static int bm2835_mmal_s_ctrl(struct v4l2_ctrl *ctrl) - { - struct bm2835_mmal_dev *dev = - container_of(ctrl->handler, struct bm2835_mmal_dev, - ctrl_handler); - const struct bm2835_mmal_v4l2_ctrl *mmal_ctrl = ctrl->priv; -+ int ret; - - if ((mmal_ctrl == NULL) || - (mmal_ctrl->id != ctrl->id) || -@@ -620,7 +638,10 @@ static int bm2835_mmal_s_ctrl(struct v4l2_ctrl *ctrl) - return -EINVAL; - } - -- return mmal_ctrl->setter(dev, ctrl, mmal_ctrl); -+ ret = mmal_ctrl->setter(dev, ctrl, mmal_ctrl); -+ if (mmal_ctrl->ignore_errors) -+ ret = 0; -+ return ret; - } - - static const struct v4l2_ctrl_ops bm2835_mmal_ctrl_ops = { -@@ -633,32 +654,44 @@ static const struct bm2835_mmal_v4l2_ctrl v4l2_ctrls[V4L2_CTRL_COUNT] = { - { - V4L2_CID_SATURATION, MMAL_CONTROL_TYPE_STD, - -100, 100, 0, 1, NULL, -- MMAL_PARAMETER_SATURATION, &ctrl_set_rational -+ MMAL_PARAMETER_SATURATION, -+ &ctrl_set_rational, -+ false - }, - { - V4L2_CID_SHARPNESS, MMAL_CONTROL_TYPE_STD, - -100, 100, 0, 1, NULL, -- MMAL_PARAMETER_SHARPNESS, &ctrl_set_rational -+ MMAL_PARAMETER_SHARPNESS, -+ &ctrl_set_rational, -+ false - }, - { - V4L2_CID_CONTRAST, MMAL_CONTROL_TYPE_STD, - -100, 100, 0, 1, NULL, -- MMAL_PARAMETER_CONTRAST, &ctrl_set_rational -+ MMAL_PARAMETER_CONTRAST, -+ &ctrl_set_rational, -+ false - }, - { - V4L2_CID_BRIGHTNESS, MMAL_CONTROL_TYPE_STD, - 0, 100, 50, 1, NULL, -- MMAL_PARAMETER_BRIGHTNESS, &ctrl_set_rational -+ MMAL_PARAMETER_BRIGHTNESS, -+ &ctrl_set_rational, -+ false - }, - { - V4L2_CID_ISO_SENSITIVITY, MMAL_CONTROL_TYPE_INT_MENU, - 0, ARRAY_SIZE(iso_qmenu) - 1, 0, 1, iso_qmenu, -- MMAL_PARAMETER_ISO, &ctrl_set_value_menu -+ MMAL_PARAMETER_ISO, -+ &ctrl_set_value_menu, -+ false - }, - { - V4L2_CID_IMAGE_STABILIZATION, MMAL_CONTROL_TYPE_STD, - 0, 1, 0, 1, NULL, -- MMAL_PARAMETER_VIDEO_STABILISATION, &ctrl_set_value -+ MMAL_PARAMETER_VIDEO_STABILISATION, -+ &ctrl_set_value, -+ false - }, - /* { - 0, MMAL_CONTROL_TYPE_CLUSTER, 3, 1, 0, NULL, 0, NULL -@@ -666,7 +699,9 @@ static const struct bm2835_mmal_v4l2_ctrl v4l2_ctrls[V4L2_CTRL_COUNT] = { - */ { - V4L2_CID_EXPOSURE_AUTO, MMAL_CONTROL_TYPE_STD_MENU, - ~0x03, 3, V4L2_EXPOSURE_AUTO, 0, NULL, -- MMAL_PARAMETER_EXPOSURE_MODE, &ctrl_set_exposure -+ MMAL_PARAMETER_EXPOSURE_MODE, -+ &ctrl_set_exposure, -+ false - }, - /* todo this needs mixing in with set exposure - { -@@ -677,86 +712,120 @@ static const struct bm2835_mmal_v4l2_ctrl v4l2_ctrls[V4L2_CTRL_COUNT] = { - V4L2_CID_EXPOSURE_ABSOLUTE, MMAL_CONTROL_TYPE_STD, - /* Units of 100usecs */ - 1, 1*1000*10, 100*10, 1, NULL, -- MMAL_PARAMETER_SHUTTER_SPEED, &ctrl_set_exposure -+ MMAL_PARAMETER_SHUTTER_SPEED, -+ &ctrl_set_exposure, -+ false - }, - { - V4L2_CID_AUTO_EXPOSURE_BIAS, MMAL_CONTROL_TYPE_INT_MENU, - 0, ARRAY_SIZE(ev_bias_qmenu) - 1, - (ARRAY_SIZE(ev_bias_qmenu)+1)/2 - 1, 0, ev_bias_qmenu, -- MMAL_PARAMETER_EXPOSURE_COMP, &ctrl_set_value_ev -+ MMAL_PARAMETER_EXPOSURE_COMP, -+ &ctrl_set_value_ev, -+ false - }, - { - V4L2_CID_EXPOSURE_METERING, - MMAL_CONTROL_TYPE_STD_MENU, - ~0x7, 2, V4L2_EXPOSURE_METERING_AVERAGE, 0, NULL, -- MMAL_PARAMETER_EXP_METERING_MODE, &ctrl_set_metering_mode -+ MMAL_PARAMETER_EXP_METERING_MODE, -+ &ctrl_set_metering_mode, -+ false - }, - { - V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE, - MMAL_CONTROL_TYPE_STD_MENU, - ~0x3fe, 9, V4L2_WHITE_BALANCE_AUTO, 0, NULL, -- MMAL_PARAMETER_AWB_MODE, &ctrl_set_awb_mode -+ MMAL_PARAMETER_AWB_MODE, -+ &ctrl_set_awb_mode, -+ false - }, - { - V4L2_CID_COLORFX, MMAL_CONTROL_TYPE_STD_MENU, - 0, 15, V4L2_COLORFX_NONE, 0, NULL, -- MMAL_PARAMETER_IMAGE_EFFECT, &ctrl_set_image_effect -+ MMAL_PARAMETER_IMAGE_EFFECT, -+ &ctrl_set_image_effect, -+ false - }, - { - V4L2_CID_COLORFX_CBCR, MMAL_CONTROL_TYPE_STD, - 0, 0xffff, 0x8080, 1, NULL, -- MMAL_PARAMETER_COLOUR_EFFECT, &ctrl_set_colfx -+ MMAL_PARAMETER_COLOUR_EFFECT, -+ &ctrl_set_colfx, -+ false - }, - { - V4L2_CID_ROTATE, MMAL_CONTROL_TYPE_STD, - 0, 360, 0, 90, NULL, -- MMAL_PARAMETER_ROTATION, &ctrl_set_rotate -+ MMAL_PARAMETER_ROTATION, -+ &ctrl_set_rotate, -+ false - }, - { - V4L2_CID_HFLIP, MMAL_CONTROL_TYPE_STD, - 0, 1, 0, 1, NULL, -- MMAL_PARAMETER_MIRROR, &ctrl_set_flip -+ MMAL_PARAMETER_MIRROR, -+ &ctrl_set_flip, -+ false - }, - { - V4L2_CID_VFLIP, MMAL_CONTROL_TYPE_STD, - 0, 1, 0, 1, NULL, -- MMAL_PARAMETER_MIRROR, &ctrl_set_flip -+ MMAL_PARAMETER_MIRROR, -+ &ctrl_set_flip, -+ false - }, - { - V4L2_CID_MPEG_VIDEO_BITRATE_MODE, MMAL_CONTROL_TYPE_STD_MENU, - 0, ARRAY_SIZE(bitrate_mode_qmenu) - 1, - 0, 0, bitrate_mode_qmenu, -- MMAL_PARAMETER_RATECONTROL, &ctrl_set_bitrate_mode -+ MMAL_PARAMETER_RATECONTROL, -+ &ctrl_set_bitrate_mode, -+ false - }, - { - V4L2_CID_MPEG_VIDEO_BITRATE, MMAL_CONTROL_TYPE_STD, - 25*1000, 25*1000*1000, 10*1000*1000, 25*1000, NULL, -- MMAL_PARAMETER_VIDEO_BIT_RATE, &ctrl_set_bitrate -+ MMAL_PARAMETER_VIDEO_BIT_RATE, -+ &ctrl_set_bitrate, -+ false - }, - { - V4L2_CID_JPEG_COMPRESSION_QUALITY, MMAL_CONTROL_TYPE_STD, - 1, 100, - 30, 1, NULL, -- MMAL_PARAMETER_JPEG_Q_FACTOR, &ctrl_set_image_encode_output -+ MMAL_PARAMETER_JPEG_Q_FACTOR, -+ &ctrl_set_image_encode_output, -+ false - }, - { - 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 -+ MMAL_PARAMETER_FLICKER_AVOID, -+ &ctrl_set_flicker_avoidance, -+ false -+ }, -+ { -+ V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER, MMAL_CONTROL_TYPE_STD, -+ 0, 1, -+ 0, 1, NULL, -+ MMAL_PARAMETER_VIDEO_ENCODE_INLINE_HEADER, -+ &ctrl_set_video_encode_param_output, -+ true /* Errors ignored as requires latest firmware to work */ - }, - }; - - int bm2835_mmal_set_all_camera_controls(struct bm2835_mmal_dev *dev) - { - int c; -- int ret; -+ int ret = 0; - - for (c = 0; c < V4L2_CTRL_COUNT; c++) { - if ((dev->ctrls[c]) && (v4l2_ctrls[c].setter)) { - ret = v4l2_ctrls[c].setter(dev, dev->ctrls[c], - &v4l2_ctrls[c]); -- if (ret) -+ if (!v4l2_ctrls[c]. ignore_errors && ret) - break; - } - } -diff --git a/drivers/media/platform/bcm2835/mmal-parameters.h b/drivers/media/platform/bcm2835/mmal-parameters.h -index 0f2bd50..b08a4b0 100644 ---- a/drivers/media/platform/bcm2835/mmal-parameters.h -+++ b/drivers/media/platform/bcm2835/mmal-parameters.h -@@ -421,7 +421,16 @@ enum mmal_parameter_video_type { - MMAL_PARAMETER_VIDEO_DRM_PROTECT_BUFFER, - - /** @ref MMAL_PARAMETER_BYTES_T */ -- MMAL_PARAMETER_VIDEO_DECODE_CONFIG_VD3 -+ MMAL_PARAMETER_VIDEO_DECODE_CONFIG_VD3, -+ -+ /**< @ref MMAL_PARAMETER_BOOLEAN_T */ -+ MMAL_PARAMETER_VIDEO_ENCODE_H264_VCL_HRD_PARAMETERS, -+ -+ /**< @ref MMAL_PARAMETER_BOOLEAN_T */ -+ MMAL_PARAMETER_VIDEO_ENCODE_H264_LOW_DELAY_HRD_FLAG, -+ -+ /**< @ref MMAL_PARAMETER_BOOLEAN_T */ -+ MMAL_PARAMETER_VIDEO_ENCODE_INLINE_HEADER - }; - - /** Valid mirror modes */ --- -1.9.1 - |