Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6df419e4 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull media updates from Mauro Carvalho Chehab:
 "This is the first part of the media patches for v3.6.

  This patch series contain:
   - new DVB frontend: rtl2832
   - new video drivers: adv7393
   - some unused files got removed
   - a selection API cleanup between V4L2 and V4L2 subdev API's
   - a major redesign at v4l-ioctl2, in order to clean it up
   - several driver fixes and improvements."

* 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (174 commits)
  v4l: Export v4l2-common.h in include/linux/Kbuild
  media: Revert "[media] Terratec Cinergy S2 USB HD Rev.2"
  [media] media: Use pr_info not homegrown pr_reg macro
  [media] Terratec Cinergy S2 USB HD Rev.2
  [media] v4l: Correct conflicting V4L2 subdev selection API documentation
  [media] Feature removal: V4L2 selections API target and flag definitions
  [media] v4l: Unify selection flags documentation
  [media] v4l: Unify selection flags
  [media] v4l: Common documentation for selection targets
  [media] v4l: Unify selection targets across V4L2 and V4L2 subdev interfaces
  [media] v4l: Remove "_ACTUAL" from subdev selection API target definition names
  [media] V4L: Remove "_ACTIVE" from the selection target name definitions
  [media] media: dvb-usb: print mac address via native %pM
  [media] s5p-tv: Use module_i2c_driver in sii9234_drv.c file
  [media] media: gpio-ir-recv: add allowed_protos for platform data
  [media] s5p-jpeg: Use module_platform_driver in jpeg-core.c file
  [media] saa7134: fix spelling of detach in label
  [media] cx88-blackbird: replace ioctl by unlocked_ioctl
  [media] cx88: don't use current_norm
  [media] cx88: fix a number of v4l2-compliance violations
  ...
parents 27c1ee3f c893e7c6
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -194,7 +194,7 @@ in the frequency range from 87,5 to 108,0 MHz</title>
	<corpauthor>National Radio Systems Committee
(<ulink url="http://www.nrscstandards.org">http://www.nrscstandards.org</ulink>)</corpauthor>
      </authorgroup>
      <title>NTSC-4: United States RBDS Standard</title>
      <title>NRSC-4: United States RBDS Standard</title>
    </biblioentry>

    <biblioentry id="iso12232">
+13 −4
Original line number Diff line number Diff line
@@ -464,14 +464,14 @@ The <structfield>type</structfield> field of the respective
<structfield>tuner</structfield> field contains the index number of
the tuner.</para>

      <para>Radio devices have exactly one tuner with index zero, no
      <para>Radio input devices have exactly one tuner with index zero, no
video inputs.</para>

      <para>To query and change tuner properties applications use the
&VIDIOC-G-TUNER; and &VIDIOC-S-TUNER; ioctl, respectively. The
&v4l2-tuner; returned by <constant>VIDIOC_G_TUNER</constant> also
contains signal status information applicable when the tuner of the
current video input, or a radio tuner is queried. Note that
current video or radio input is queried. Note that
<constant>VIDIOC_S_TUNER</constant> does not switch the current tuner,
when there is more than one at all. The tuner is solely determined by
the current video input. Drivers must support both ioctls and set the
@@ -491,8 +491,17 @@ the modulator. The <structfield>type</structfield> field of the
respective &v4l2-output; returned by the &VIDIOC-ENUMOUTPUT; ioctl is
set to <constant>V4L2_OUTPUT_TYPE_MODULATOR</constant> and its
<structfield>modulator</structfield> field contains the index number
of the modulator. This specification does not define radio output
devices.</para>
of the modulator.</para>

      <para>Radio output devices have exactly one modulator with index
zero, no video outputs.</para>

      <para>A video or radio device cannot support both a tuner and a
modulator. Two separate device nodes will have to be used for such
hardware, one that supports the tuner functionality and one that supports
the modulator functionality. The reason is a limitation with the
&VIDIOC-S-FREQUENCY; ioctl where you cannot specify whether the frequency
is for a tuner or a modulator.</para>

      <para>To query and change modulator properties applications use
the &VIDIOC-G-MODULATOR; and &VIDIOC-S-MODULATOR; ioctl. Note that
+17 −4
Original line number Diff line number Diff line
@@ -2377,9 +2377,10 @@ that used it. It was originally scheduled for removal in 2.6.35.
	  <para>V4L2_CTRL_FLAG_VOLATILE was added to signal volatile controls to userspace.</para>
        </listitem>
        <listitem>
	  <para>Add selection API for extended control over cropping and
composing. Does not affect the compatibility of current drivers and
applications.  See <link linkend="selection-api"> selection API </link> for
	  <para>Add selection API for extended control over cropping
	  and composing. Does not affect the compatibility of current
	  drivers and applications. See <link
	  linkend="selection-api"> selection API </link> for
	  details.</para>
        </listitem>
      </orderedlist>
@@ -2458,6 +2459,18 @@ details.</para>
      </orderedlist>
    </section>

    <section>
      <title>V4L2 in Linux 3.5</title>
      <orderedlist>
	<listitem>
	  <para>Replaced <structfield>input</structfield> in
	  <structname>v4l2_buffer</structname> by
	  <structfield>reserved2</structfield> and removed
	  <constant>V4L2_BUF_FLAG_INPUT</constant>.</para>
	</listitem>
      </orderedlist>
    </section>

    <section id="other">
      <title>Relation of V4L2 to other Linux multimedia APIs</title>

+18 −18
Original line number Diff line number Diff line
@@ -276,7 +276,7 @@
      </para>
    </section>

    <section>
    <section id="v4l2-subdev-selections">
      <title>Selections: cropping, scaling and composition</title>

      <para>Many sub-devices support cropping frames on their input or output
@@ -290,8 +290,8 @@
      size. Both the coordinates and sizes are expressed in pixels.</para>

      <para>As for pad formats, drivers store try and active
      rectangles for the selection targets of ACTUAL type <xref
      linkend="v4l2-subdev-selection-targets">.</xref></para>
      rectangles for the selection targets <xref
      linkend="v4l2-selections-common" />.</para>

      <para>On sink pads, cropping is applied relative to the
      current pad format. The pad format represents the image size as
@@ -308,7 +308,7 @@
      <para>Scaling support is optional. When supported by a subdev,
      the crop rectangle on the subdev's sink pad is scaled to the
      size configured using the &VIDIOC-SUBDEV-S-SELECTION; IOCTL
      using <constant>V4L2_SUBDEV_SEL_COMPOSE_ACTUAL</constant>
      using <constant>V4L2_SEL_TGT_COMPOSE</constant>
      selection target on the same pad. If the subdev supports scaling
      but not composing, the top and left values are not used and must
      always be set to zero.</para>
@@ -323,32 +323,32 @@
      <para>The drivers should always use the closest possible
      rectangle the user requests on all selection targets, unless
      specifically told otherwise.
      <constant>V4L2_SUBDEV_SEL_FLAG_SIZE_GE</constant> and
      <constant>V4L2_SUBDEV_SEL_FLAG_SIZE_LE</constant> flags may be
      <constant>V4L2_SEL_FLAG_GE</constant> and
      <constant>V4L2_SEL_FLAG_LE</constant> flags may be
      used to round the image size either up or down. <xref
      linkend="v4l2-subdev-selection-flags"></xref></para>
      linkend="v4l2-selection-flags" /></para>
    </section>

    <section>
      <title>Types of selection targets</title>

      <section>
	<title>ACTUAL targets</title>
	<title>Actual targets</title>

	<para>ACTUAL targets reflect the actual hardware configuration
	at any point of time. There is a BOUNDS target
	corresponding to every ACTUAL.</para>
	<para>Actual targets (without a postfix) reflect the actual
	hardware configuration at any point of time. There is a BOUNDS
	target corresponding to every actual target.</para>
      </section>

      <section>
	<title>BOUNDS targets</title>

	<para>BOUNDS targets is the smallest rectangle that contains
	all valid ACTUAL rectangles. It may not be possible to set the
	ACTUAL rectangle as large as the BOUNDS rectangle, however.
	This may be because e.g. a sensor's pixel array is not
	rectangular but cross-shaped or round. The maximum size may
	also be smaller than the BOUNDS rectangle.</para>
	<para>BOUNDS targets is the smallest rectangle that contains all
	valid actual rectangles. It may not be possible to set the actual
	rectangle as large as the BOUNDS rectangle, however. This may be
	because e.g. a sensor's pixel array is not rectangular but
	cross-shaped or round. The maximum size may also be smaller than the
	BOUNDS rectangle.</para>
      </section>

    </section>
@@ -362,7 +362,7 @@
      performed by the user: the changes made will be propagated to
      any subsequent stages. If this behaviour is not desired, the
      user must set
      <constant>V4L2_SUBDEV_SEL_FLAG_KEEP_CONFIG</constant> flag. This
      <constant>V4L2_SEL_FLAG_KEEP_CONFIG</constant> flag. This
      flag causes no propagation of the changes are allowed in any
      circumstances. This may also cause the accessed rectangle to be
      adjusted by the driver, depending on the properties of the
+5 −14
Original line number Diff line number Diff line
@@ -683,14 +683,12 @@ memory, set by the application. See <xref linkend="userp" /> for details.
	  </row>
	  <row>
	    <entry>__u32</entry>
	    <entry><structfield>input</structfield></entry>
	    <entry><structfield>reserved2</structfield></entry>
	    <entry></entry>
	    <entry>Some video capture drivers support rapid and
synchronous video input changes, a function useful for example in
video surveillance applications. For this purpose applications set the
<constant>V4L2_BUF_FLAG_INPUT</constant> flag, and this field to the
number of a video input as in &v4l2-input; field
<structfield>index</structfield>.</entry>
	    <entry>A place holder for future extensions and custom
(driver defined) buffer types
<constant>V4L2_BUF_TYPE_PRIVATE</constant> and higher. Applications
should set this to 0.</entry>
	  </row>
	  <row>
	    <entry>__u32</entry>
@@ -921,13 +919,6 @@ previous key frame.</entry>
	    <entry>The <structfield>timecode</structfield> field is valid.
Drivers set or clear this flag when the <constant>VIDIOC_DQBUF</constant>
ioctl is called.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_BUF_FLAG_INPUT</constant></entry>
	    <entry>0x0200</entry>
	    <entry>The <structfield>input</structfield> field is valid.
Applications set or clear this flag before calling the
<constant>VIDIOC_QBUF</constant> ioctl.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_BUF_FLAG_PREPARED</constant></entry>
Loading