From: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
To: Mauro Carvalho Chehab <mchehab@osg.samsung.com>,
Mike Isely <isely@pobox.com>,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Hans Verkuil <hans.verkuil@cisco.com>,
Steven Toth <stoth@kernellabs.com>,
Sakari Ailus <sakari.ailus@linux.intel.com>,
Vincent Palatin <vpalatin@chromium.org>,
linux-media@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Subject: [PATCH v2 00/10] Support getting default values from any control
Date: Fri, 21 Aug 2015 15:19:19 +0200 [thread overview]
Message-ID: <1440163169-18047-1-git-send-email-ricardo.ribalda@gmail.com> (raw)
Integer controls provide a way to get their default/initial value, but
any other control (p_u32, p_u8.....) provide no other way to get the
initial value than unloading the module and loading it back.
*What is the actual problem?
I have a custom control with WIDTH integer values. Every value
represents the calibrated FPN (fixed pattern noise) correction value for that
column
-Application A changes the FPN correction value
-Application B wants to restore the calibrated value but it cant :(
*What is the proposed solution?
(Kudos to Hans Verkuil!!!)
The key change is in struct v4l2_ext_controls where the __u32 ctrl_class field
is changed to:
union {
__u32 ctrl_class;
__u32 which;
};
And two new defines are added:
#define V4L2_CTRL_WHICH_CUR_VAL 0
#define V4L2_CTRL_WHICH_DEF_VAL 0x0f000000
The 'which' field tells you which controls are get/set/tried.
V4L2_CTRL_WHICH_CUR_VAL: the current value of the controls
V4L2_CTRL_WHICH_DEF_VAL: the default value of the controls
V4L2_CTRL_CLASS_*: the current value of the controls belonging to the specified class.
Note: this is deprecated usage and is only there for backwards compatibility.
Which is also why I don't think there is a need to add V4L2_CTRL_WHICH_
aliases for these defines.
I have posted a copy of my working tree to
https://github.com/ribalda/linux/tree/which_def_v2
Changelog v2:
Suggested by Hans Verkuil <hverkuil@xs4all.nl>
Replace ctrls_class with which on all the codebase
Changes in Documentation
(Thanks!)
Ricardo Ribalda Delgado (10):
videodev2.h: Fix typo in comment
videodev2.h: Extend struct v4l2_ext_controls
media/v4l2-compat-ioctl32: Simple stylechecks
media/core: Replace ctrl_class with which
media/v4l2-core: struct struct v4l2_ext_controls param which
usb/uvc: Support for V4L2_CTRL_WHICH_DEF_VAL
media/usb/pvrusb2: Support for V4L2_CTRL_WHICH_DEF_VAL
media/pci/saa7164-encoder Support for V4L2_CTRL_WHICH_DEF_VAL
media/pci/saa7164-vbi Support for V4L2_CTRL_WHICH_DEF_VAL
Docbook: media: Document changes on struct v4l2_ext_controls
Documentation/DocBook/media/v4l/v4l2.xml | 9 ++++
.../DocBook/media/v4l/vidioc-g-ext-ctrls.xml | 28 ++++++++--
drivers/media/pci/saa7164/saa7164-encoder.c | 59 ++++++++++++---------
drivers/media/pci/saa7164/saa7164-vbi.c | 61 +++++++++++++---------
drivers/media/platform/s5p-mfc/s5p_mfc_dec.c | 2 +-
drivers/media/platform/s5p-mfc/s5p_mfc_enc.c | 2 +-
drivers/media/usb/pvrusb2/pvrusb2-v4l2.c | 17 +++++-
drivers/media/usb/uvc/uvc_v4l2.c | 14 ++++-
drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 17 +++---
drivers/media/v4l2-core/v4l2-ctrls.c | 54 +++++++++++++------
drivers/media/v4l2-core/v4l2-ioctl.c | 14 ++---
include/uapi/linux/videodev2.h | 14 ++++-
12 files changed, 200 insertions(+), 91 deletions(-)
--
2.5.0
next reply other threads:[~2015-08-21 13:19 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-21 13:19 Ricardo Ribalda Delgado [this message]
2015-08-21 13:19 ` [PATCH v2 01/10] videodev2.h: Fix typo in comment Ricardo Ribalda Delgado
2015-08-21 13:19 ` [PATCH v2 02/10] videodev2.h: Extend struct v4l2_ext_controls Ricardo Ribalda Delgado
2015-08-21 13:19 ` [PATCH v2 03/10] media/v4l2-compat-ioctl32: Simple stylechecks Ricardo Ribalda Delgado
2015-08-21 13:19 ` [PATCH v2 04/10] media/core: Replace ctrl_class with which Ricardo Ribalda Delgado
2015-08-21 13:19 ` [PATCH v2 05/10] media/v4l2-core: struct struct v4l2_ext_controls param which Ricardo Ribalda Delgado
2015-08-21 13:19 ` [PATCH v2 06/10] usb/uvc: Support for V4L2_CTRL_WHICH_DEF_VAL Ricardo Ribalda Delgado
2015-09-04 10:56 ` Hans Verkuil
2015-09-17 13:17 ` Hans Verkuil
2015-10-19 11:08 ` Ricardo Ribalda Delgado
2015-10-29 0:08 ` Laurent Pinchart
2015-08-21 13:19 ` [PATCH v2 07/10] media/usb/pvrusb2: " Ricardo Ribalda Delgado
2015-08-22 1:55 ` Mike Isely
2015-08-21 13:19 ` [PATCH v2 08/10] media/pci/saa7164-encoder " Ricardo Ribalda Delgado
2015-08-21 13:19 ` [PATCH v2 09/10] media/pci/saa7164-vbi " Ricardo Ribalda Delgado
2015-08-21 13:19 ` [PATCH v2 10/10] Docbook: media: Document changes on struct v4l2_ext_controls Ricardo Ribalda Delgado
2015-09-04 11:01 ` [PATCH v2 00/10] Support getting default values from any control Hans Verkuil
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=1440163169-18047-1-git-send-email-ricardo.ribalda@gmail.com \
--to=ricardo.ribalda@gmail.com \
--cc=hans.verkuil@cisco.com \
--cc=isely@pobox.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@osg.samsung.com \
--cc=sakari.ailus@linux.intel.com \
--cc=stoth@kernellabs.com \
--cc=vpalatin@chromium.org \
/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.