From patchwork Sun Dec 4 15:16:15 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sylwester Nawrocki X-Patchwork-Id: 8715 Received: from mail.tu-berlin.de ([130.149.7.33]) by www.linuxtv.org with esmtp (Exim 4.72) (envelope-from ) id 1RXDoC-0005Qb-E3; Sun, 04 Dec 2011 16:16:53 +0100 X-tubIT-Incoming-IP: 209.132.180.67 Received: from vger.kernel.org ([209.132.180.67]) by mail.tu-berlin.de (exim-4.75/mailfrontend-2) with esmtp id 1RXDoB-0001hU-Hs; Sun, 04 Dec 2011 16:16:52 +0100 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754244Ab1LDPQs (ORCPT + 4 others); Sun, 4 Dec 2011 10:16:48 -0500 Received: from mail-ww0-f44.google.com ([74.125.82.44]:35399 "EHLO mail-ww0-f44.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754073Ab1LDPQr (ORCPT ); Sun, 4 Dec 2011 10:16:47 -0500 Received: by mail-ww0-f44.google.com with SMTP id dr13so5379144wgb.1 for ; Sun, 04 Dec 2011 07:16:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references; bh=Mh3JhHWYSD985qustX+uSCelkZ6mavi0gYWqitvlQD4=; b=uI0K3+TK8pFP8rC4nTr1MEPHPWpyCPsI3AaDtcLpzt6MmHdFVvUn+dzM7nUzjbuQ/n Wtp34+DzDF//cBfew2etPUIChUv479/BwjPVz+OlWT3tDyHW9qIDwuQN9vP1XI8pk9A6 8S4Ukbn1MIFCiF2roKM1vOVqSR+ixsWZy5fws= Received: by 10.227.204.197 with SMTP id fn5mr12966581wbb.15.1323011806471; Sun, 04 Dec 2011 07:16:46 -0800 (PST) Received: from localhost.localdomain (84-dzi-26.acn.waw.pl. [85.222.29.84]) by mx.google.com with ESMTPS id 28sm19857228wby.3.2011.12.04.07.16.44 (version=TLSv1/SSLv3 cipher=OTHER); Sun, 04 Dec 2011 07:16:45 -0800 (PST) From: Sylwester Nawrocki To: linux-media@vger.kernel.org Cc: laurent.pinchart@ideasonboard.com, sakari.ailus@iki.fi, hverkuil@xs4all.nl, riverful.kim@samsung.com, s.nawrocki@samsung.com, Sylwester Nawrocki Subject: [RFC/PATCH 4/5] v4l: Add V4L2_CID_EXPOSURE_BIAS camera control Date: Sun, 4 Dec 2011 16:16:15 +0100 Message-Id: <1323011776-15967-5-git-send-email-snjw23@gmail.com> X-Mailer: git-send-email 1.7.4.1 In-Reply-To: <1323011776-15967-1-git-send-email-snjw23@gmail.com> References: <1323011776-15967-1-git-send-email-snjw23@gmail.com> Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-PMX-Version: 5.6.1.2065439, Antispam-Engine: 2.7.2.376379, Antispam-Data: 2011.12.4.150315 X-PMX-Spam: Gauge=IIIIIIII, Probability=8%, Report=' FORGED_FROM_GMAIL 0.1, MULTIPLE_RCPTS 0.1, BODY_SIZE_3000_3999 0, BODY_SIZE_5000_LESS 0, BODY_SIZE_7000_LESS 0, __ANY_URI 0, __CP_MEDIA_BODY 0, __CP_URI_IN_BODY 0, __FRAUD_BODY_WEBMAIL 0, __FRAUD_WEBMAIL 0, __FRAUD_WEBMAIL_FROM 0, __FROM_GMAIL 0, __HAS_MSGID 0, __HAS_X_MAILER 0, __HAS_X_MAILING_LIST 0, __MIME_TEXT_ONLY 0, __MULTIPLE_RCPTS_CC_X2 0, __PHISH_SPEAR_STRUCTURE_1 0, __SANE_MSGID 0, __SUBJ_ALPHA_END 0, __TO_MALFORMED_2 0, __TO_NO_NAME 0, __URI_NO_WWW 0, __URI_NS ' X-LSpam-Score: -4.2 (----) X-LSpam-Report: No, score=-4.2 required=5.0 tests=BAYES_00=-1.9, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_MED=-2.3, T_DKIM_INVALID=0.01 autolearn=ham The V4L2_CID_EXPOSURE_BIAS control allows for manual exposure compensation when automatic exposure algorithm is enabled. Signed-off-by: Sylwester Nawrocki --- Documentation/DocBook/media/v4l/controls.xml | 16 ++++++++++++++++ drivers/media/video/v4l2-ctrls.c | 1 + include/linux/videodev2.h | 2 ++ 3 files changed, 19 insertions(+), 0 deletions(-) diff --git a/Documentation/DocBook/media/v4l/controls.xml b/Documentation/DocBook/media/v4l/controls.xml index 53d7c08..ec5cbc1 100644 --- a/Documentation/DocBook/media/v4l/controls.xml +++ b/Documentation/DocBook/media/v4l/controls.xml @@ -2691,6 +2691,22 @@ and 100000 for 10 seconds. + V4L2_CID_EXPOSURE_BIAS  + integer (menu?) + Determines the exposure +compensation when V4L2_CID_EXPOSURE_AUTO control +is set to AUTO, SHUTTER_PRIORITY + or APERTURE_PRIORITY. It is expressed +in terms of EV, drivers should interpret the values as 0.001 EV units, +where the value 1000 stands for +1 EV. +Increasing the exposure compensation value is equivalent to +decreasing the exposure value (EV) and will increase the amount of +light at the image sensor. The camera performs the exposure compensation +by adjusting absolute exposure time and/or aperture. + + + + V4L2_CID_EXPOSURE_AUTO_PRIORITY  boolean When diff --git a/drivers/media/video/v4l2-ctrls.c b/drivers/media/video/v4l2-ctrls.c index 8d0cd0e..ba636f2 100644 --- a/drivers/media/video/v4l2-ctrls.c +++ b/drivers/media/video/v4l2-ctrls.c @@ -578,6 +578,7 @@ const char *v4l2_ctrl_get_name(u32 id) case V4L2_CID_IRIS_RELATIVE: return "Iris, Relative"; case V4L2_CID_DO_AUTO_FOCUS: return "Do Auto Focus"; case V4L2_CID_METERING_MODE: return "Metering Mode"; + case V4L2_CID_EXPOSURE_BIAS: return "Exposure, Bias"; /* FM Radio Modulator control */ /* Keep the order of the 'case's the same as in videodev2.h! */ diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h index 8956ed6..37f93cf 100644 --- a/include/linux/videodev2.h +++ b/include/linux/videodev2.h @@ -1633,6 +1633,8 @@ enum v4l2_metering_mode { V4L2_METERING_MODE_SPOT, }; +#define V4L2_CID_EXPOSURE_BIAS (V4L2_CID_CAMERA_CLASS_BASE+21) + /* FM Modulator class control IDs */ #define V4L2_CID_FM_TX_CLASS_BASE (V4L2_CTRL_CLASS_FM_TX | 0x900) #define V4L2_CID_FM_TX_CLASS (V4L2_CTRL_CLASS_FM_TX | 1)