From: Sylwester Nawrocki <snjw23@gmail.com>
To: linux-media@vger.kernel.org,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Sakari Ailus <sakari.ailus@iki.fi>
Cc: Hans Verkuil <hverkuil@xs4all.nl>,
Sylwester Nawrocki <sylvester.nawrocki@gmail.com>
Subject: Re: [PATCH/RFC][DRAFT] V4L: Add camera auto focus controls
Date: Sun, 26 Feb 2012 17:57:55 +0100 [thread overview]
Message-ID: <4F4A6493.1080004@gmail.com> (raw)
In-Reply-To: <1326749622-11446-1-git-send-email-sylvester.nawrocki@gmail.com>
Hi,
On 01/16/2012 10:33 PM, Sylwester Nawrocki wrote:
> diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
> index 012a296..0808b12 100644
> --- a/include/linux/videodev2.h
> +++ b/include/linux/videodev2.h
> @@ -1662,6 +1662,34 @@ enum v4l2_exposure_auto_type {
> #define V4L2_CID_IRIS_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+17)
> #define V4L2_CID_IRIS_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+18)
>
> +#define V4L2_CID_AUTO_FOCUS_START (V4L2_CID_CAMERA_CLASS_BASE+19)
> +#define V4L2_CID_AUTO_FOCUS_STOP (V4L2_CID_CAMERA_CLASS_BASE+20)
> +#define V4L2_CID_AUTO_FOCUS_STATUS (V4L2_CID_CAMERA_CLASS_BASE+21)
> +enum v4l2_auto_focus_status {
> + V4L2_AUTO_FOCUS_STATUS_IDLE = 0,
> + V4L2_AUTO_FOCUS_STATUS_BUSY = 1,
> + V4L2_AUTO_FOCUS_STATUS_SUCCESS = 2,
> + V4L2_AUTO_FOCUS_STATUS_FAIL = 3,
> +};
> +
> +#define V4L2_CID_AUTO_FOCUS_DISTANCE (V4L2_CID_CAMERA_CLASS_BASE+22)
> +enum v4l2_auto_focus_distance {
> + V4L2_AUTO_FOCUS_DISTANCE_NORMAL = 0,
> + V4L2_AUTO_FOCUS_DISTANCE_MACRO = 1,
> + V4L2_AUTO_FOCUS_DISTANCE_INFINITY = 2,
> +};
> +
> +#define V4L2_CID_AUTO_FOCUS_SELECTION (V4L2_CID_CAMERA_CLASS_BASE+23)
> +enum v4l2_auto_focus_selection {
> + V4L2_AUTO_FOCUS_SELECTION_NORMAL = 0,
> + V4L2_AUTO_FOCUS_SELECTION_SPOT = 1,
> + V4L2_AUTO_FOCUS_SELECTION_RECTANGLE = 2,
> +};
I'd like to ask your advice, I've found those two above controls
rather painful in use. After changing V4L2_CID_AUTO_FOCUS_SELECTION to
#define V4L2_CID_AUTO_FOCUS_AREA (V4L2_CID_CAMERA_CLASS_BASE+23)
enum v4l2_auto_focus_selection {
V4L2_AUTO_FOCUS_SELECTION_ALL = 0,
V4L2_AUTO_FOCUS_SELECTION_SPOT = 1,
V4L2_AUTO_FOCUS_SELECTION_RECTANGLE = 2,
};
I tried use them with the M-5MOLS sensor driver where there is only
one register for setting following automatic focus modes:
NORMAL AUTO (single-shot),
MACRO,
INFINITY,
SPOT,
FACE_DETECTION
The issue is that when V4L2_CID_AUTO_FOCUS_AREA is set to for example
V4L2_AUTO_FOCUS_SELECTION_SPOT, none of the menu entries of
V4L2_CID_AUTO_FOCUS_DISTANCE is valid.
So it would really be better to use single control for automatic focus
mode. A private control could handle that. But there will be more than
one sensor driver needing such a control, so I thought about an
additional header, e.g. samsung_camera.h in include/linux/ that would
define reguired control IDs and menus in the camera class private id
range.
What do you think about it ?
> +#define V4L2_CID_AUTO_FOCUS_X_POSITION (V4L2_CID_CAMERA_CLASS_BASE+24)
> +#define V4L2_CID_AUTO_FOCUS_Y_POSITION (V4L2_CID_CAMERA_CLASS_BASE+25)
...
--
Regards,
Sylwester
next prev parent reply other threads:[~2012-02-26 16:58 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-16 21:33 [PATCH/RFC][DRAFT] V4L: Add camera auto focus controls Sylwester Nawrocki
2012-02-26 16:57 ` Sylwester Nawrocki [this message]
2012-02-26 17:10 ` Sylwester Nawrocki
2012-03-01 22:30 ` Laurent Pinchart
2012-03-01 23:26 ` Sylwester Nawrocki
2012-03-02 18:17 ` Laurent Pinchart
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4F4A6493.1080004@gmail.com \
--to=snjw23@gmail.com \
--cc=hverkuil@xs4all.nl \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-media@vger.kernel.org \
--cc=sakari.ailus@iki.fi \
--cc=sylvester.nawrocki@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.