20 May, 2012

1 commit


19 May, 2012

1 commit


15 May, 2012

10 commits

  • Add following auto focus controls:

    - V4L2_CID_AUTO_FOCUS_START - single-shot auto focus start
    - V4L2_CID_AUTO_FOCUS_STOP - single-shot auto focus stop
    - V4L2_CID_AUTO_FOCUS_STATUS - automatic focus status
    - V4L2_CID_AUTO_FOCUS_RANGE - automatic focus scan range selection

    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Kyungmin Park
    Signed-off-by: Mauro Carvalho Chehab

    Sylwester Nawrocki
     
  • The V4L2_CID_3A_LOCK bitmask control allows applications to pause
    or resume the automatic exposure, focus and wite balance adjustments.
    It can be used, for example, to lock the 3A adjustments right before
    a still image is captured, for pre-focus, etc.
    The applications can control each of the algorithms independently,
    through a corresponding control bit, if driver allows that.

    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Kyungmin Park
    Signed-off-by: Mauro Carvalho Chehab

    Sylwester Nawrocki
     
  • Add control for the scene mode feature available in image sensor
    with more advanced ISP firmware. The V4L2_CID_SCENE_MODE menu
    control allows to select a set of parameters or a specific image
    processing and capture control algorithm optimized for common
    image capture conditions.

    Signed-off-by: HeungJun Kim
    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Kyungmin Park
    Signed-off-by: Mauro Carvalho Chehab

    Sylwester Nawrocki
     
  • The V4L2_CID_EXPOSURE_METERING control allows to determine
    a method used by the camera for measuring the amount of light
    available for automatic exposure.

    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Kyungmin Park
    Signed-off-by: Mauro Carvalho Chehab

    Sylwester Nawrocki
     
  • Add ISO sensitivity and ISO auto/manual controls. The sensitivity
    values are related to level of amplification of the analog signal
    between image sensor and ADC. These controls allow to support sensors
    exposing an interface to accept the ISO values directly.

    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Kyungmin Park
    Signed-off-by: Mauro Carvalho Chehab

    Sylwester Nawrocki
     
  • Add V4L2_CID_IMAGE_STABILIZATION control for the camera image
    stabilization feature. This control can be used to enable/disable
    image stabilization. It might get converted to a menu control
    in future if more options are needed.

    Signed-off-by: HeungJun Kim
    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Kyungmin Park
    Signed-off-by: Mauro Carvalho Chehab

    Sylwester Nawrocki
     
  • Add V4L2_CID_WIDE_DYNAMIC_RANGE camera class control for the
    camera wide dynamic range (WDR, HDR) feature. This control
    can be used to enable/disable wide dynamic range. It might
    get converted to a menu control in future if more options
    are needed.

    Signed-off-by: HeungJun Kim
    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Kyungmin Park
    Signed-off-by: Mauro Carvalho Chehab

    Sylwester Nawrocki
     
  • This patch adds V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE control which is
    an extended version of the V4L2_CID_AUTO_WHITE_BALANCE control,
    including white balance presets. The following presets are defined:

    - V4L2_WHITE_BALANCE_INCANDESCENT,
    - V4L2_WHITE_BALANCE_FLUORESCENT,
    - V4L2_WHITE_BALANCE_FLUORESCENT_H,
    - V4L2_WHITE_BALANCE_HORIZON,
    - V4L2_WHITE_BALANCE_DAYLIGHT,
    - V4L2_WHITE_BALANCE_FLASH,
    - V4L2_WHITE_BALANCE_CLOUDY,
    - V4L2_WHITE_BALANCE_SHADE.

    Signed-off-by: HeungJun Kim
    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Kyungmin Park
    Acked-by: Hans de Goede
    Signed-off-by: Mauro Carvalho Chehab

    Sylwester Nawrocki
     
  • The camera may in some conditions incorrectly determine the exposure,
    and a manual automatic exposure correction may be needed. This patch
    adds V4L2_CID_AUTO_EXPOSURE_BIAS control which allows to add some
    offset in the automatic exposure control loop, to compensate for
    frame under- or over-exposure.

    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Kyungmin Park
    Signed-off-by: Mauro Carvalho Chehab

    Sylwester Nawrocki
     
  • This patch adds definition of additional color effects:

    - V4L2_COLORFX_AQUA,
    - V4L2_COLORFX_ART_FREEZE,
    - V4L2_COLORFX_SILHOUETTE,
    - V4L2_COLORFX_SOLARIZATION,
    - V4L2_COLORFX_ANTIQUE,
    - V4L2_COLORFX_SET_CBCR.

    The new V4L2_COLORFX_CBCR control is added to allow setting
    the fixed Cb, Cr values that replace chroma Cb/Cr coefficients
    in case of V4L2_COLORFX_SET_CBCR effect.

    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Kyungmin Park
    Signed-off-by: Mauro Carvalho Chehab

    Sylwester Nawrocki
     

14 May, 2012

4 commits

  • Add three other colour orders for 10-bit to 8-bit DPCM compressed raw bayer
    pixel formats.

    Signed-off-by: Sakari Ailus
    Signed-off-by: Mauro Carvalho Chehab

    Sakari Ailus
     
  • Add control class for image processing controls. The control class deals
    with controls processing image, for example digital gain or noise filtering,
    which can be present in any part of the pipeline.

    Signed-off-by: Sakari Ailus
    Signed-off-by: Mauro Carvalho Chehab

    Sakari Ailus
     
  • Add image source control class. This control class is intended to contain
    low level controls which deal with control of the image capture process ---
    the A/D converter in image sensors, for example.

    Signed-off-by: Sakari Ailus
    Signed-off-by: Mauro Carvalho Chehab

    Sakari Ailus
     
  • V4L2 uses the enum type in IOCTL arguments in IOCTLs that were defined until
    the use of enum was considered less than ideal. Recently Rémi Denis-Courmont
    brought up the issue by proposing a patch to convert the enums to unsigned:

    This sparked a long discussion where another solution to the issue was
    proposed: two sets of IOCTL structures, one with __u32 and the other with
    enums, and conversion code between the two:

    Both approaches implement a complete solution that resolves the problem. The
    first one is simple but requires assuming enums and __u32 are the same in
    size (so we won't break the ABI) while the second one is more complex and
    less clean but does not require making that assumption.

    The issue boils down to whether enums are fundamentally different from __u32
    or not, and can the former be substituted by the latter. During the
    discussion it was concluded that the __u32 has the same size as enums on all
    archs Linux is supported: it has not been shown that replacing those enums
    in IOCTL arguments would break neither source or binary compatibility. If no
    such reason is found, just replacing the enums with __u32s is the way to go.

    This is what this patch does. This patch is slightly different from Remi's
    first RFC (link above): it uses __u32 instead of unsigned and also changes
    the arguments of VIDIOC_G_PRIORITY and VIDIOC_S_PRIORITY.

    Signed-off-by: Rémi Denis-Courmont
    Signed-off-by: Sakari Ailus
    Acked-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Sakari Ailus
     

19 Apr, 2012

1 commit

  • Fixes a regression in VIDIOC_QUERYMENU introduced when the __s64 value
    field was added to the union. On a 64-bit system this will change the
    size of this v4l2_querymenu structure from 44 to 48 bytes, thus
    breaking the ABI. By adding the packed attribute it is working again.

    Tested on both 64 and 32 bit systems.

    Signed-off-by: Hans Verkuil
    Acked-by: Sakari Ailus
    Signed-off-by: Mauro Carvalho Chehab

    Hans Verkuil
     

11 Apr, 2012

1 commit

  • Create a new control type called V4L2_CTRL_TYPE_INTEGER_MENU. Integer menu
    controls are just like menu controls but the menu items are 64-bit integers
    rather than strings.

    Signed-off-by: Sakari Ailus
    Acked-by: Laurent Pinchart
    Tested-by: Sylwester Nawrocki
    Signed-off-by: Mauro Carvalho Chehab

    Sakari Ailus
     

20 Mar, 2012

1 commit


29 Feb, 2012

1 commit

  • The V4L2_CID_JPEG_CLASS control class is intended to expose various
    adjustable parameters of JPEG encoders and decoders. Following controls
    are defined:

    - V4L2_CID_JPEG_CHROMA_SUBSAMPLING,
    - V4L2_CID_JPEG_RESTART_INTERVAL,
    - V4L2_CID_JPEG_COMPRESSION_QUALITY,
    - V4L2_CID_JPEG_ACTIVE_MARKER.

    This covers only a part of relevant standard specifications. More
    controls should be added in future if required.

    The purpose of V4L2_CID_JPEG_CLASS class is also to replace some
    functionality covered by VIDIOC_S/G_JPEGCOMP ioctls, i.e. the JPEG
    markers presence and compression quality control. The applications
    and drivers should switch from the ioctl to control based API, as
    described in the subsequent patches for the Media API DocBook.

    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Kyungmin Park
    Signed-off-by: Mauro Carvalho Chehab

    Sylwester Nawrocki
     

14 Feb, 2012

2 commits


24 Jan, 2012

1 commit

  • If V4L2_CAP_DEVICE_CAPS is set, then the new device_caps field is filled with
    the capabilities of the opened device node.

    The capabilities field traditionally contains the capabilities of the physical
    device, being a superset of all capabilities available at the several device
    nodes. E.g., if you open /dev/video0, then if it contains VBI caps then that means
    that there is a corresponding vbi node as well. And the capabilities field of
    both the video and vbi nodes should contain identical caps.

    However, it would be very useful to also have a capabilities field that contains
    just the caps for the currently open device, hence the new CAP bit and field.

    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Hans Verkuil
     

16 Jan, 2012

1 commit

  • * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (655 commits)
    [media] revert patch: HDIC HD29L2 DMB-TH USB2.0 reference design driver
    mb86a20s: Add a few more register settings at the init seq
    mb86a20s: Group registers into the same line
    [media] [PATCH] don't reset the delivery system on DTV_CLEAR
    [media] [BUG] it913x-fe fix typo error making SNR levels unstable
    [media] cx23885: Query the CX25840 during enum_input for status
    [media] cx25840: Add support for g_input_status
    [media] rc-videomate-m1f.c Rename to match remote controler name
    [media] drivers: media: au0828: Fix dependency for VIDEO_AU0828
    [media] convert drivers/media/* to use module_platform_driver()
    [media] drivers: video: cx231xx: Fix dependency for VIDEO_CX231XX_DVB
    [media] Exynos4 JPEG codec v4l2 driver
    [media] doc: v4l: selection: choose pixels as units for selection rectangles
    [media] v4l: s5p-tv: mixer: fix setup of VP scaling
    [media] v4l: s5p-tv: mixer: add support for selection API
    [media] v4l: emulate old crop API using extended crop/compose API
    [media] doc: v4l: add documentation for selection API
    [media] doc: v4l: add binary images for selection API
    [media] v4l: add support for selection api
    [media] hd29l2: fix review findings
    ...

    Linus Torvalds
     

11 Jan, 2012

1 commit


07 Jan, 2012

1 commit

  • If ctrls->count is too high the multiplication could overflow and
    array_size would be lower than expected. Mauro and Hans Verkuil
    suggested that we cap it at 1024. That comes from the maximum
    number of controls with lots of room for expantion.

    $ grep V4L2_CID include/linux/videodev2.h | wc -l
    211

    Cc: stable
    Signed-off-by: Dan Carpenter
    Signed-off-by: Mauro Carvalho Chehab

    Dan Carpenter
     

06 Jan, 2012

1 commit

  • Written by Theodore Kilgore

    With minor changes by Hans de Goede:
    -Code style fixes
    -Correct the verbose level on various PDEBUG messages
    -Make error messages use pr_err instead of PDEBUG
    -Document the jl20 pixel format

    Signed-off-by: Theodore Kilgore
    Signed-off-by: Hans de Goede
    Signed-off-by: Mauro Carvalho Chehab

    Theodore Kilgore
     

31 Dec, 2011

1 commit

  • The V4L2_CID_ALPHA_COMPONENT control is intended for the video capture
    or memory-to-memory devices that are capable of setting up the per-pixel
    alpha component to some arbitrary value. It allows to set the alpha
    component for all pixels to an arbitrary value.

    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Kyungmin Park
    Acked-by: Laurent Pinchart
    Signed-off-by: Mauro Carvalho Chehab

    Sylwester Nawrocki
     

20 Dec, 2011

2 commits


04 Nov, 2011

3 commits


08 Oct, 2011

1 commit


21 Sep, 2011

1 commit

  • Add a new VOLATILE control flag that is set for volatile controls.
    That way applications know whether the value of the control is volatile
    (i.e. can change continuously) or not.

    Until now this was an internal property, but it is useful to know in
    userspace as well.

    A typical use case is the gain value when autogain is on. In that case the
    hardware will continuously adjust the gain based various environmental
    factors.

    This patch just adds and documents the flag, it's not yet used.

    Signed-off-by: Hans Verkuil
    Acked-by: Hans de Goede
    Signed-off-by: Mauro Carvalho Chehab

    Hans Verkuil
     

29 Aug, 2011

1 commit


28 Jul, 2011

4 commits