A64 7.0 曝光负方向无作用补丁

调试的A64 7.0曝光的时候,发现从-1到-3都没作用,原因是s_ctrl流程有问题,以下补充了曝光流程

diff --git a/drivers/media/platform/sunxi-vfe/vfe.c b/drivers/media/platform/sunxi-vfe/vfe.c
index a7a8480..fbadbe8 100755
--- a/drivers/media/platform/sunxi-vfe/vfe.c
+++ b/drivers/media/platform/sunxi-vfe/vfe.c
@@ -3167,6 +3167,13 @@ static int vfe_s_ctrl(struct v4l2_ctrl *ctrl)
             sunxi_flash_stop(dev->flash_sd);
             ret = v4l2_subdev_call(dev->sd, core, s_ctrl, &c);
             break;
+
+        case V4L2_CID_AUTO_EXPOSURE_BIAS:
+            
+            ret = v4l2_subdev_call(dev->sd, core, s_ctrl, &c);
+            dev->ctrl_para.exp_bias = c.value;
+            
         default:
             ret = v4l2_subdev_call(dev->sd, core, s_ctrl, &c);
             break;
@@ -4021,6 +4028,18 @@ static const struct v4l2_ctrl_config custom_ctrls[] =
         .qmenu = sensor_info_type,
         .flags = V4L2_CTRL_FLAG_VOLATILE,
     },
+
+    {
+            .ops = &vfe_ctrl_ops,
+            .id = V4L2_CID_AUTO_EXPOSURE_BIAS,
+            .name = "Auto Exposure, Bias",
+            .type = V4L2_CTRL_TYPE_INTEGER,
+            .min = -4,
+            .max = 4,
+            .step = 1,
+            .def = 0,
+    },
+    
 };
 static const s64 iso_qmenu[] = {
     50, 100, 200, 400, 800,
@@ -4033,8 +4052,9 @@ static int vfe_init_controls(struct v4l2_ctrl_handler *hdl)
 {
     struct v4l2_ctrl *ctrl;
     unsigned int i, ret = 0;
-
-    v4l2_ctrl_handler_init(hdl, 37 + ARRAY_SIZE(custom_ctrls));
+    
+    //v4l2_ctrl_handler_init(hdl, 37 + ARRAY_SIZE(custom_ctrls));
+    v4l2_ctrl_handler_init(hdl, 36 + ARRAY_SIZE(custom_ctrls));
     v4l2_ctrl_new_std(hdl, &vfe_ctrl_ops, V4L2_CID_BRIGHTNESS, 0, 255, 1, 128);
     v4l2_ctrl_new_std(hdl, &vfe_ctrl_ops, V4L2_CID_CONTRAST, 0, 128, 1, 0);
     v4l2_ctrl_new_std(hdl, &vfe_ctrl_ops, V4L2_CID_SATURATION, -4, 4, 1, 0);
@@ -4066,8 +4086,9 @@ static int vfe_init_controls(struct v4l2_ctrl_handler *hdl)
     v4l2_ctrl_new_std(hdl, &vfe_ctrl_ops,V4L2_CID_FOCUS_ABSOLUTE, 0, 127, 1, 0);
     v4l2_ctrl_new_std(hdl, &vfe_ctrl_ops,V4L2_CID_FOCUS_RELATIVE, -127, 127, 1, 0);
     v4l2_ctrl_new_std(hdl, &vfe_ctrl_ops,V4L2_CID_FOCUS_AUTO,    0, 1, 1, 1);
-    v4l2_ctrl_new_int_menu(hdl, &vfe_ctrl_ops,V4L2_CID_AUTO_EXPOSURE_BIAS, ARRAY_SIZE(exp_bias_qmenu) - 1,
-        ARRAY_SIZE(exp_bias_qmenu)/2, exp_bias_qmenu);
+    //v4l2_ctrl_new_int_menu(hdl, &vfe_ctrl_ops,V4L2_CID_AUTO_EXPOSURE_BIAS, ARRAY_SIZE(exp_bias_qmenu) - 1,
+    //    ARRAY_SIZE(exp_bias_qmenu)/2, exp_bias_qmenu);modify by hxl
+    
     v4l2_ctrl_new_std_menu(hdl, &vfe_ctrl_ops,V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE,
         V4L2_WHITE_BALANCE_SHADE, 0, V4L2_WHITE_BALANCE_AUTO);
     v4l2_ctrl_new_std(hdl, &vfe_ctrl_ops,V4L2_CID_WIDE_DYNAMIC_RANGE,0, 1, 1, 0);
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值