This patch series adds support for properties, matrices and configuration
stores to the control framework.

See this RFCv2 for a more detailed discussion:

http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/71822

Changes since that RFCv2 are:

- I dropped the 'property' bit in the control ID, instead a new flag is
  added: V4L2_CTRL_FLAG_PROPERTY.
- A V4L2_CTRL_FLAG_IS_PTR flag is added to simplify applications: if set, then
  applications need to use the 'p' field instead of 'val' or 'val64'. This can
  be deduced from various other fields as well, but that leads to ugly code.
  This flag is cheap to set and very helpful in applications.
- Matrix types have been dropped. If cols or rows are > 1, then you have a
  matrix, so there is no need for specific matrix types.
- As a result it is no longer possible to set just a sub-rectangle of a
  matrix. It is however possible to just set the first X elements of
  a matrix/array. It became too complex to deal with the sub-rectangle,
  both in the framework, for drivers and for applications, and there are
  not enough benefits to warrant that effort.

Other than those changes this patch series implements all the ideas described
in RFCv2.

The first 21 patches are pretty definitive and the only thing missing are
the DocBook patches and a v4l2-controls.txt patch.

Before I write those I would like to get feedback for this API enhancement.
The actual API changes are surprisingly small, and most of the work done in
the patches has more to do with data structure changes needed to simplify
handling the more complex control types than with actual new code.

Patch 22 adds a new event that can deal with the new 64-bit ranges and that
adds a config_store field. However, I am not yet convinced that this is
really needed. Feedback would be welcome.

Patches 23-27 add test code for vivi to test matrices and to test the new
selection properties. This code needs more work, particularly with regards
to naming.

A working v4l2-ctl that can handle the new stuff is available here:

http://git.linuxtv.org/hverkuil/v4l-utils.git/shortlog/refs/heads/propapi

Regards,

        Hans

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to