Merge branches 'bugfix-battery', 'bugfix-misc', 'bugfix-rafael', 'bugfix-turbostat', 'bugfix-video' and 'workaround-pss' into release
bug fixes Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
2
.mailmap
2
.mailmap
@@ -113,3 +113,5 @@ Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
|
|||||||
Valdis Kletnieks <Valdis.Kletnieks@vt.edu>
|
Valdis Kletnieks <Valdis.Kletnieks@vt.edu>
|
||||||
Takashi YOSHII <takashi.yoshii.zj@renesas.com>
|
Takashi YOSHII <takashi.yoshii.zj@renesas.com>
|
||||||
Yusuke Goda <goda.yusuke@renesas.com>
|
Yusuke Goda <goda.yusuke@renesas.com>
|
||||||
|
Gustavo Padovan <gustavo@las.ic.unicamp.br>
|
||||||
|
Gustavo Padovan <padovan@profusion.mobi>
|
||||||
|
4
CREDITS
4
CREDITS
@@ -3814,8 +3814,8 @@ D: INFO-SHEET, former maintainer
|
|||||||
D: Author of the longest-living linux bug
|
D: Author of the longest-living linux bug
|
||||||
|
|
||||||
N: Jonathan Woithe
|
N: Jonathan Woithe
|
||||||
E: jwoithe@physics.adelaide.edu.au
|
E: jwoithe@just42.net
|
||||||
W: http://www.physics.adelaide.edu.au/~jwoithe
|
W: http:/www.just42.net/jwoithe
|
||||||
D: ALS-007 sound card extensions to Sound Blaster driver
|
D: ALS-007 sound card extensions to Sound Blaster driver
|
||||||
S: 20 Jordan St
|
S: 20 Jordan St
|
||||||
S: Valley View, SA 5093
|
S: Valley View, SA 5093
|
||||||
|
@@ -218,8 +218,6 @@ m68k/
|
|||||||
- directory with info about Linux on Motorola 68k architecture.
|
- directory with info about Linux on Motorola 68k architecture.
|
||||||
magic-number.txt
|
magic-number.txt
|
||||||
- list of magic numbers used to mark/protect kernel data structures.
|
- list of magic numbers used to mark/protect kernel data structures.
|
||||||
mca.txt
|
|
||||||
- info on supporting Micro Channel Architecture (e.g. PS/2) systems.
|
|
||||||
md.txt
|
md.txt
|
||||||
- info on boot arguments for the multiple devices driver.
|
- info on boot arguments for the multiple devices driver.
|
||||||
memory-barriers.txt
|
memory-barriers.txt
|
||||||
|
9
Documentation/ABI/removed/ip_queue
Normal file
9
Documentation/ABI/removed/ip_queue
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
What: ip_queue
|
||||||
|
Date: finally removed in kernel v3.5.0
|
||||||
|
Contact: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||||
|
Description:
|
||||||
|
ip_queue has been replaced by nfnetlink_queue which provides
|
||||||
|
more advanced queueing mechanism to user-space. The ip_queue
|
||||||
|
module was already announced to become obsolete years ago.
|
||||||
|
|
||||||
|
Users:
|
45
Documentation/ABI/testing/debugfs-pfo-nx-crypto
Normal file
45
Documentation/ABI/testing/debugfs-pfo-nx-crypto
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
What: /sys/kernel/debug/nx-crypto/*
|
||||||
|
Date: March 2012
|
||||||
|
KernelVersion: 3.4
|
||||||
|
Contact: Kent Yoder <key@linux.vnet.ibm.com>
|
||||||
|
Description:
|
||||||
|
|
||||||
|
These debugfs interfaces are built by the nx-crypto driver, built in
|
||||||
|
arch/powerpc/crypto/nx.
|
||||||
|
|
||||||
|
Error Detection
|
||||||
|
===============
|
||||||
|
|
||||||
|
errors:
|
||||||
|
- A u32 providing a total count of errors since the driver was loaded. The
|
||||||
|
only errors counted here are those returned from the hcall, H_COP_OP.
|
||||||
|
|
||||||
|
last_error:
|
||||||
|
- The most recent non-zero return code from the H_COP_OP hcall. -EBUSY is not
|
||||||
|
recorded here (the hcall will retry until -EBUSY goes away).
|
||||||
|
|
||||||
|
last_error_pid:
|
||||||
|
- The process ID of the process who received the most recent error from the
|
||||||
|
hcall.
|
||||||
|
|
||||||
|
Device Use
|
||||||
|
==========
|
||||||
|
|
||||||
|
aes_bytes:
|
||||||
|
- The total number of bytes encrypted using AES in any of the driver's
|
||||||
|
supported modes.
|
||||||
|
|
||||||
|
aes_ops:
|
||||||
|
- The total number of AES operations submitted to the hardware.
|
||||||
|
|
||||||
|
sha256_bytes:
|
||||||
|
- The total number of bytes hashed by the hardware using SHA-256.
|
||||||
|
|
||||||
|
sha256_ops:
|
||||||
|
- The total number of SHA-256 operations submitted to the hardware.
|
||||||
|
|
||||||
|
sha512_bytes:
|
||||||
|
- The total number of bytes hashed by the hardware using SHA-512.
|
||||||
|
|
||||||
|
sha512_ops:
|
||||||
|
- The total number of SHA-512 operations submitted to the hardware.
|
90
Documentation/ABI/testing/dev-kmsg
Normal file
90
Documentation/ABI/testing/dev-kmsg
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
What: /dev/kmsg
|
||||||
|
Date: Mai 2012
|
||||||
|
KernelVersion: 3.5
|
||||||
|
Contact: Kay Sievers <kay@vrfy.org>
|
||||||
|
Description: The /dev/kmsg character device node provides userspace access
|
||||||
|
to the kernel's printk buffer.
|
||||||
|
|
||||||
|
Injecting messages:
|
||||||
|
Every write() to the opened device node places a log entry in
|
||||||
|
the kernel's printk buffer.
|
||||||
|
|
||||||
|
The logged line can be prefixed with a <N> syslog prefix, which
|
||||||
|
carries the syslog priority and facility. The single decimal
|
||||||
|
prefix number is composed of the 3 lowest bits being the syslog
|
||||||
|
priority and the higher bits the syslog facility number.
|
||||||
|
|
||||||
|
If no prefix is given, the priority number is the default kernel
|
||||||
|
log priority and the facility number is set to LOG_USER (1). It
|
||||||
|
is not possible to inject messages from userspace with the
|
||||||
|
facility number LOG_KERN (0), to make sure that the origin of
|
||||||
|
the messages can always be reliably determined.
|
||||||
|
|
||||||
|
Accessing the buffer:
|
||||||
|
Every read() from the opened device node receives one record
|
||||||
|
of the kernel's printk buffer.
|
||||||
|
|
||||||
|
The first read() directly following an open() always returns
|
||||||
|
first message in the buffer; there is no kernel-internal
|
||||||
|
persistent state; many readers can concurrently open the device
|
||||||
|
and read from it, without affecting other readers.
|
||||||
|
|
||||||
|
Every read() will receive the next available record. If no more
|
||||||
|
records are available read() will block, or if O_NONBLOCK is
|
||||||
|
used -EAGAIN returned.
|
||||||
|
|
||||||
|
Messages in the record ring buffer get overwritten as whole,
|
||||||
|
there are never partial messages received by read().
|
||||||
|
|
||||||
|
In case messages get overwritten in the circular buffer while
|
||||||
|
the device is kept open, the next read() will return -EPIPE,
|
||||||
|
and the seek position be updated to the next available record.
|
||||||
|
Subsequent reads() will return available records again.
|
||||||
|
|
||||||
|
Unlike the classic syslog() interface, the 64 bit record
|
||||||
|
sequence numbers allow to calculate the amount of lost
|
||||||
|
messages, in case the buffer gets overwritten. And they allow
|
||||||
|
to reconnect to the buffer and reconstruct the read position
|
||||||
|
if needed, without limiting the interface to a single reader.
|
||||||
|
|
||||||
|
The device supports seek with the following parameters:
|
||||||
|
SEEK_SET, 0
|
||||||
|
seek to the first entry in the buffer
|
||||||
|
SEEK_END, 0
|
||||||
|
seek after the last entry in the buffer
|
||||||
|
SEEK_DATA, 0
|
||||||
|
seek after the last record available at the time
|
||||||
|
the last SYSLOG_ACTION_CLEAR was issued.
|
||||||
|
|
||||||
|
The output format consists of a prefix carrying the syslog
|
||||||
|
prefix including priority and facility, the 64 bit message
|
||||||
|
sequence number and the monotonic timestamp in microseconds.
|
||||||
|
The values are separated by a ','. Future extensions might
|
||||||
|
add more comma separated values before the terminating ';'.
|
||||||
|
Unknown values should be gracefully ignored.
|
||||||
|
|
||||||
|
The human readable text string starts directly after the ';'
|
||||||
|
and is terminated by a '\n'. Untrusted values derived from
|
||||||
|
hardware or other facilities are printed, therefore
|
||||||
|
all non-printable characters in the log message are escaped
|
||||||
|
by "\x00" C-style hex encoding.
|
||||||
|
|
||||||
|
A line starting with ' ', is a continuation line, adding
|
||||||
|
key/value pairs to the log message, which provide the machine
|
||||||
|
readable context of the message, for reliable processing in
|
||||||
|
userspace.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
7,160,424069;pci_root PNP0A03:00: host bridge window [io 0x0000-0x0cf7] (ignored)
|
||||||
|
SUBSYSTEM=acpi
|
||||||
|
DEVICE=+acpi:PNP0A03:00
|
||||||
|
6,339,5140900;NET: Registered protocol family 10
|
||||||
|
30,340,5690716;udevd[80]: starting version 181
|
||||||
|
|
||||||
|
The DEVICE= key uniquely identifies devices the following way:
|
||||||
|
b12:8 - block dev_t
|
||||||
|
c127:3 - char dev_t
|
||||||
|
n8 - netdev ifindex
|
||||||
|
+sound:card0 - subsystem:devname
|
||||||
|
|
||||||
|
Users: dmesg(1), userspace kernel log consumers
|
@@ -6,13 +6,21 @@ Description: This is a read-only file. Dumps below driver information and
|
|||||||
hardware registers.
|
hardware registers.
|
||||||
- S ACTive
|
- S ACTive
|
||||||
- Command Issue
|
- Command Issue
|
||||||
- Allocated
|
|
||||||
- Completed
|
- Completed
|
||||||
- PORT IRQ STAT
|
- PORT IRQ STAT
|
||||||
- HOST IRQ STAT
|
- HOST IRQ STAT
|
||||||
|
- Allocated
|
||||||
|
- Commands in Q
|
||||||
|
|
||||||
What: /sys/block/rssd*/status
|
What: /sys/block/rssd*/status
|
||||||
Date: April 2012
|
Date: April 2012
|
||||||
KernelVersion: 3.4
|
KernelVersion: 3.4
|
||||||
Contact: Asai Thambi S P <asamymuthupa@micron.com>
|
Contact: Asai Thambi S P <asamymuthupa@micron.com>
|
||||||
Description: This is a read-only file. Indicates the status of the device.
|
Description: This is a read-only file. Indicates the status of the device.
|
||||||
|
|
||||||
|
What: /sys/block/rssd*/flags
|
||||||
|
Date: May 2012
|
||||||
|
KernelVersion: 3.5
|
||||||
|
Contact: Asai Thambi S P <asamymuthupa@micron.com>
|
||||||
|
Description: This is a read-only file. Dumps the flags in port and driver
|
||||||
|
data structure
|
||||||
|
77
Documentation/ABI/testing/sysfs-bus-fcoe
Normal file
77
Documentation/ABI/testing/sysfs-bus-fcoe
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
What: /sys/bus/fcoe/ctlr_X
|
||||||
|
Date: March 2012
|
||||||
|
KernelVersion: TBD
|
||||||
|
Contact: Robert Love <robert.w.love@intel.com>, devel@open-fcoe.org
|
||||||
|
Description: 'FCoE Controller' instances on the fcoe bus
|
||||||
|
Attributes:
|
||||||
|
|
||||||
|
fcf_dev_loss_tmo: Device loss timeout peroid (see below). Changing
|
||||||
|
this value will change the dev_loss_tmo for all
|
||||||
|
FCFs discovered by this controller.
|
||||||
|
|
||||||
|
lesb_link_fail: Link Error Status Block (LESB) link failure count.
|
||||||
|
|
||||||
|
lesb_vlink_fail: Link Error Status Block (LESB) virtual link
|
||||||
|
failure count.
|
||||||
|
|
||||||
|
lesb_miss_fka: Link Error Status Block (LESB) missed FCoE
|
||||||
|
Initialization Protocol (FIP) Keep-Alives (FKA).
|
||||||
|
|
||||||
|
lesb_symb_err: Link Error Status Block (LESB) symbolic error count.
|
||||||
|
|
||||||
|
lesb_err_block: Link Error Status Block (LESB) block error count.
|
||||||
|
|
||||||
|
lesb_fcs_error: Link Error Status Block (LESB) Fibre Channel
|
||||||
|
Serivces error count.
|
||||||
|
|
||||||
|
Notes: ctlr_X (global increment starting at 0)
|
||||||
|
|
||||||
|
What: /sys/bus/fcoe/fcf_X
|
||||||
|
Date: March 2012
|
||||||
|
KernelVersion: TBD
|
||||||
|
Contact: Robert Love <robert.w.love@intel.com>, devel@open-fcoe.org
|
||||||
|
Description: 'FCoE FCF' instances on the fcoe bus. A FCF is a Fibre Channel
|
||||||
|
Forwarder, which is a FCoE switch that can accept FCoE
|
||||||
|
(Ethernet) packets, unpack them, and forward the embedded
|
||||||
|
Fibre Channel frames into a FC fabric. It can also take
|
||||||
|
outbound FC frames and pack them in Ethernet packets to
|
||||||
|
be sent to their destination on the Ethernet segment.
|
||||||
|
Attributes:
|
||||||
|
|
||||||
|
fabric_name: Identifies the fabric that the FCF services.
|
||||||
|
|
||||||
|
switch_name: Identifies the FCF.
|
||||||
|
|
||||||
|
priority: The switch's priority amongst other FCFs on the same
|
||||||
|
fabric.
|
||||||
|
|
||||||
|
selected: 1 indicates that the switch has been selected for use;
|
||||||
|
0 indicates that the swich will not be used.
|
||||||
|
|
||||||
|
fc_map: The Fibre Channel MAP
|
||||||
|
|
||||||
|
vfid: The Virtual Fabric ID
|
||||||
|
|
||||||
|
mac: The FCF's MAC address
|
||||||
|
|
||||||
|
fka_peroid: The FIP Keep-Alive peroid
|
||||||
|
|
||||||
|
fabric_state: The internal kernel state
|
||||||
|
"Unknown" - Initialization value
|
||||||
|
"Disconnected" - No link to the FCF/fabric
|
||||||
|
"Connected" - Host is connected to the FCF
|
||||||
|
"Deleted" - FCF is being removed from the system
|
||||||
|
|
||||||
|
dev_loss_tmo: The device loss timeout peroid for this FCF.
|
||||||
|
|
||||||
|
Notes: A device loss infrastructre similar to the FC Transport's
|
||||||
|
is present in fcoe_sysfs. It is nice to have so that a
|
||||||
|
link flapping adapter doesn't continually advance the count
|
||||||
|
used to identify the discovered FCF. FCFs will exist in a
|
||||||
|
"Disconnected" state until either the timer expires and the
|
||||||
|
FCF becomes "Deleted" or the FCF is rediscovered and becomes
|
||||||
|
"Connected."
|
||||||
|
|
||||||
|
|
||||||
|
Users: The first user of this interface will be the fcoeadm application,
|
||||||
|
which is commonly packaged in the fcoe-utils package.
|
15
Documentation/ABI/testing/sysfs-bus-i2c-devices-lm3533
Normal file
15
Documentation/ABI/testing/sysfs-bus-i2c-devices-lm3533
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
What: /sys/bus/i2c/devices/.../output_hvled[n]
|
||||||
|
Date: April 2012
|
||||||
|
KernelVersion: 3.5
|
||||||
|
Contact: Johan Hovold <jhovold@gmail.com>
|
||||||
|
Description:
|
||||||
|
Set the controlling backlight device for high-voltage current
|
||||||
|
sink HVLED[n] (n = 1, 2) (0, 1).
|
||||||
|
|
||||||
|
What: /sys/bus/i2c/devices/.../output_lvled[n]
|
||||||
|
Date: April 2012
|
||||||
|
KernelVersion: 3.5
|
||||||
|
Contact: Johan Hovold <jhovold@gmail.com>
|
||||||
|
Description:
|
||||||
|
Set the controlling led device for low-voltage current sink
|
||||||
|
LVLED[n] (n = 1..5) (0..3).
|
@@ -108,7 +108,7 @@ Description:
|
|||||||
physically equivalent inputs when non differential readings are
|
physically equivalent inputs when non differential readings are
|
||||||
separately available. In differential only parts, then all that
|
separately available. In differential only parts, then all that
|
||||||
is required is a consistent labeling. Units after application
|
is required is a consistent labeling. Units after application
|
||||||
of scale and offset are nanofarads..
|
of scale and offset are nanofarads.
|
||||||
|
|
||||||
What: /sys/bus/iio/devices/iio:deviceX/in_temp_raw
|
What: /sys/bus/iio/devices/iio:deviceX/in_temp_raw
|
||||||
What: /sys/bus/iio/devices/iio:deviceX/in_tempX_raw
|
What: /sys/bus/iio/devices/iio:deviceX/in_tempX_raw
|
||||||
@@ -119,7 +119,7 @@ KernelVersion: 2.6.35
|
|||||||
Contact: linux-iio@vger.kernel.org
|
Contact: linux-iio@vger.kernel.org
|
||||||
Description:
|
Description:
|
||||||
Raw (unscaled no bias removal etc) temperature measurement.
|
Raw (unscaled no bias removal etc) temperature measurement.
|
||||||
It an axis is specified it generally means that the temperature
|
If an axis is specified it generally means that the temperature
|
||||||
sensor is associated with one part of a compound device (e.g.
|
sensor is associated with one part of a compound device (e.g.
|
||||||
a gyroscope axis). Units after application of scale and offset
|
a gyroscope axis). Units after application of scale and offset
|
||||||
are milli degrees Celsuis.
|
are milli degrees Celsuis.
|
||||||
@@ -232,7 +232,7 @@ Description:
|
|||||||
If known for a device, scale to be applied to <type>Y[_name]_raw
|
If known for a device, scale to be applied to <type>Y[_name]_raw
|
||||||
post addition of <type>[Y][_name]_offset in order to obtain the
|
post addition of <type>[Y][_name]_offset in order to obtain the
|
||||||
measured value in <type> units as specified in
|
measured value in <type> units as specified in
|
||||||
<type>[Y][_name]_raw documentation.. If shared across all in
|
<type>[Y][_name]_raw documentation. If shared across all in
|
||||||
channels then Y and <x|y|z> are not present and the value is
|
channels then Y and <x|y|z> are not present and the value is
|
||||||
called <type>[Y][_name]_scale. The peak modifier means this
|
called <type>[Y][_name]_scale. The peak modifier means this
|
||||||
value is applied to <type>Y[_name]_peak_raw values.
|
value is applied to <type>Y[_name]_peak_raw values.
|
||||||
@@ -243,6 +243,8 @@ What: /sys/bus/iio/devices/iio:deviceX/in_accel_z_calibbias
|
|||||||
What: /sys/bus/iio/devices/iio:deviceX/in_anglvel_x_calibbias
|
What: /sys/bus/iio/devices/iio:deviceX/in_anglvel_x_calibbias
|
||||||
What: /sys/bus/iio/devices/iio:deviceX/in_anglvel_y_calibbias
|
What: /sys/bus/iio/devices/iio:deviceX/in_anglvel_y_calibbias
|
||||||
What: /sys/bus/iio/devices/iio:deviceX/in_anglvel_z_calibbias
|
What: /sys/bus/iio/devices/iio:deviceX/in_anglvel_z_calibbias
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/in_illuminance0_calibbias
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/in_proximity0_calibbias
|
||||||
KernelVersion: 2.6.35
|
KernelVersion: 2.6.35
|
||||||
Contact: linux-iio@vger.kernel.org
|
Contact: linux-iio@vger.kernel.org
|
||||||
Description:
|
Description:
|
||||||
@@ -258,6 +260,8 @@ What /sys/bus/iio/devices/iio:deviceX/in_accel_z_calibscale
|
|||||||
What /sys/bus/iio/devices/iio:deviceX/in_anglvel_x_calibscale
|
What /sys/bus/iio/devices/iio:deviceX/in_anglvel_x_calibscale
|
||||||
What /sys/bus/iio/devices/iio:deviceX/in_anglvel_y_calibscale
|
What /sys/bus/iio/devices/iio:deviceX/in_anglvel_y_calibscale
|
||||||
What /sys/bus/iio/devices/iio:deviceX/in_anglvel_z_calibscale
|
What /sys/bus/iio/devices/iio:deviceX/in_anglvel_z_calibscale
|
||||||
|
what /sys/bus/iio/devices/iio:deviceX/in_illuminance0_calibscale
|
||||||
|
what /sys/bus/iio/devices/iio:deviceX/in_proximity0_calibscale
|
||||||
KernelVersion: 2.6.35
|
KernelVersion: 2.6.35
|
||||||
Contact: linux-iio@vger.kernel.org
|
Contact: linux-iio@vger.kernel.org
|
||||||
Description:
|
Description:
|
||||||
@@ -276,6 +280,13 @@ Description:
|
|||||||
If a discrete set of scale values are available, they
|
If a discrete set of scale values are available, they
|
||||||
are listed in this attribute.
|
are listed in this attribute.
|
||||||
|
|
||||||
|
What /sys/bus/iio/devices/iio:deviceX/out_voltageY_hardwaregain
|
||||||
|
KernelVersion: 2.6.35
|
||||||
|
Contact: linux-iio@vger.kernel.org
|
||||||
|
Description:
|
||||||
|
Hardware applied gain factor. If shared across all channels,
|
||||||
|
<type>_hardwaregain is used.
|
||||||
|
|
||||||
What: /sys/.../in_accel_filter_low_pass_3db_frequency
|
What: /sys/.../in_accel_filter_low_pass_3db_frequency
|
||||||
What: /sys/.../in_magn_filter_low_pass_3db_frequency
|
What: /sys/.../in_magn_filter_low_pass_3db_frequency
|
||||||
What: /sys/.../in_anglvel_filter_low_pass_3db_frequency
|
What: /sys/.../in_anglvel_filter_low_pass_3db_frequency
|
||||||
@@ -453,10 +464,14 @@ What: /sys/.../events/in_magn_z_raw_thresh_rising_value
|
|||||||
What: /sys/.../events/in_magn_z_raw_thresh_falling_value
|
What: /sys/.../events/in_magn_z_raw_thresh_falling_value
|
||||||
What: /sys/.../events/in_voltageY_supply_raw_thresh_rising_value
|
What: /sys/.../events/in_voltageY_supply_raw_thresh_rising_value
|
||||||
What: /sys/.../events/in_voltageY_supply_raw_thresh_falling_value
|
What: /sys/.../events/in_voltageY_supply_raw_thresh_falling_value
|
||||||
|
What: /sys/.../events/in_voltageY_raw_thresh_rising_value
|
||||||
What: /sys/.../events/in_voltageY_raw_thresh_falling_value
|
What: /sys/.../events/in_voltageY_raw_thresh_falling_value
|
||||||
What: /sys/.../events/in_voltageY_raw_thresh_falling_value
|
What: /sys/.../events/in_tempY_raw_thresh_rising_value
|
||||||
What: /sys/.../events/in_tempY_raw_thresh_falling_value
|
|
||||||
What: /sys/.../events/in_tempY_raw_thresh_falling_value
|
What: /sys/.../events/in_tempY_raw_thresh_falling_value
|
||||||
|
What: /sys/.../events/in_illuminance0_thresh_falling_value
|
||||||
|
what: /sys/.../events/in_illuminance0_thresh_rising_value
|
||||||
|
what: /sys/.../events/in_proximity0_thresh_falling_value
|
||||||
|
what: /sys/.../events/in_proximity0_thresh_rising_value
|
||||||
KernelVersion: 2.6.37
|
KernelVersion: 2.6.37
|
||||||
Contact: linux-iio@vger.kernel.org
|
Contact: linux-iio@vger.kernel.org
|
||||||
Description:
|
Description:
|
||||||
@@ -490,9 +505,9 @@ What: /sys/.../events/in_magn_z_raw_roc_rising_value
|
|||||||
What: /sys/.../events/in_magn_z_raw_roc_falling_value
|
What: /sys/.../events/in_magn_z_raw_roc_falling_value
|
||||||
What: /sys/.../events/in_voltageY_supply_raw_roc_rising_value
|
What: /sys/.../events/in_voltageY_supply_raw_roc_rising_value
|
||||||
What: /sys/.../events/in_voltageY_supply_raw_roc_falling_value
|
What: /sys/.../events/in_voltageY_supply_raw_roc_falling_value
|
||||||
|
What: /sys/.../events/in_voltageY_raw_roc_rising_value
|
||||||
What: /sys/.../events/in_voltageY_raw_roc_falling_value
|
What: /sys/.../events/in_voltageY_raw_roc_falling_value
|
||||||
What: /sys/.../events/in_voltageY_raw_roc_falling_value
|
What: /sys/.../events/in_tempY_raw_roc_rising_value
|
||||||
What: /sys/.../events/in_tempY_raw_roc_falling_value
|
|
||||||
What: /sys/.../events/in_tempY_raw_roc_falling_value
|
What: /sys/.../events/in_tempY_raw_roc_falling_value
|
||||||
KernelVersion: 2.6.37
|
KernelVersion: 2.6.37
|
||||||
Contact: linux-iio@vger.kernel.org
|
Contact: linux-iio@vger.kernel.org
|
||||||
@@ -556,6 +571,8 @@ What: /sys/.../events/in_tempY_thresh_falling_period
|
|||||||
What: /sys/.../events/in_tempY_roc_rising_period
|
What: /sys/.../events/in_tempY_roc_rising_period
|
||||||
What: /sys/.../events/in_tempY_roc_falling_period
|
What: /sys/.../events/in_tempY_roc_falling_period
|
||||||
What: /sys/.../events/in_accel_x&y&z_mag_falling_period
|
What: /sys/.../events/in_accel_x&y&z_mag_falling_period
|
||||||
|
What: /sys/.../events/in_intensity0_thresh_period
|
||||||
|
What: /sys/.../events/in_proximity0_thresh_period
|
||||||
KernelVersion: 2.6.37
|
KernelVersion: 2.6.37
|
||||||
Contact: linux-iio@vger.kernel.org
|
Contact: linux-iio@vger.kernel.org
|
||||||
Description:
|
Description:
|
||||||
@@ -718,24 +735,3 @@ Contact: linux-iio@vger.kernel.org
|
|||||||
Description:
|
Description:
|
||||||
This attribute is used to read the amount of quadrature error
|
This attribute is used to read the amount of quadrature error
|
||||||
present in the device at a given time.
|
present in the device at a given time.
|
||||||
|
|
||||||
What: /sys/.../iio:deviceX/ac_excitation_en
|
|
||||||
KernelVersion: 3.1.0
|
|
||||||
Contact: linux-iio@vger.kernel.org
|
|
||||||
Description:
|
|
||||||
This attribute, if available, is used to enable the AC
|
|
||||||
excitation mode found on some converters. In ac excitation mode,
|
|
||||||
the polarity of the excitation voltage is reversed on
|
|
||||||
alternate cycles, to eliminate DC errors.
|
|
||||||
|
|
||||||
What: /sys/.../iio:deviceX/bridge_switch_en
|
|
||||||
KernelVersion: 3.1.0
|
|
||||||
Contact: linux-iio@vger.kernel.org
|
|
||||||
Description:
|
|
||||||
This attribute, if available, is used to close or open the
|
|
||||||
bridge power down switch found on some converters.
|
|
||||||
In bridge applications, such as strain gauges and load cells,
|
|
||||||
the bridge itself consumes the majority of the current in the
|
|
||||||
system. To minimize the current consumption of the system,
|
|
||||||
the bridge can be disconnected (when it is not being used
|
|
||||||
using the bridge_switch_en attribute.
|
|
@@ -65,11 +65,11 @@ snap_*
|
|||||||
Entries under /sys/bus/rbd/devices/<dev-id>/snap_<snap-name>
|
Entries under /sys/bus/rbd/devices/<dev-id>/snap_<snap-name>
|
||||||
-------------------------------------------------------------
|
-------------------------------------------------------------
|
||||||
|
|
||||||
id
|
snap_id
|
||||||
|
|
||||||
The rados internal snapshot id assigned for this snapshot
|
The rados internal snapshot id assigned for this snapshot
|
||||||
|
|
||||||
size
|
snap_size
|
||||||
|
|
||||||
The size of the image when this snapshot was taken.
|
The size of the image when this snapshot was taken.
|
||||||
|
|
||||||
|
@@ -135,6 +135,17 @@ Description:
|
|||||||
for the device and attempt to bind to it. For example:
|
for the device and attempt to bind to it. For example:
|
||||||
# echo "8086 10f5" > /sys/bus/usb/drivers/foo/new_id
|
# echo "8086 10f5" > /sys/bus/usb/drivers/foo/new_id
|
||||||
|
|
||||||
|
Reading from this file will list all dynamically added
|
||||||
|
device IDs in the same format, with one entry per
|
||||||
|
line. For example:
|
||||||
|
# cat /sys/bus/usb/drivers/foo/new_id
|
||||||
|
8086 10f5
|
||||||
|
dead beef 06
|
||||||
|
f00d cafe
|
||||||
|
|
||||||
|
The list will be truncated at PAGE_SIZE bytes due to
|
||||||
|
sysfs restrictions.
|
||||||
|
|
||||||
What: /sys/bus/usb-serial/drivers/.../new_id
|
What: /sys/bus/usb-serial/drivers/.../new_id
|
||||||
Date: October 2011
|
Date: October 2011
|
||||||
Contact: linux-usb@vger.kernel.org
|
Contact: linux-usb@vger.kernel.org
|
||||||
@@ -157,6 +168,10 @@ Description:
|
|||||||
match the driver to the device. For example:
|
match the driver to the device. For example:
|
||||||
# echo "046d c315" > /sys/bus/usb/drivers/foo/remove_id
|
# echo "046d c315" > /sys/bus/usb/drivers/foo/remove_id
|
||||||
|
|
||||||
|
Reading from this file will list the dynamically added
|
||||||
|
device IDs, exactly like reading from the entry
|
||||||
|
"/sys/bus/usb/drivers/.../new_id"
|
||||||
|
|
||||||
What: /sys/bus/usb/device/.../avoid_reset_quirk
|
What: /sys/bus/usb/device/.../avoid_reset_quirk
|
||||||
Date: December 2009
|
Date: December 2009
|
||||||
Contact: Oliver Neukum <oliver@neukum.org>
|
Contact: Oliver Neukum <oliver@neukum.org>
|
||||||
@@ -189,7 +204,7 @@ Contact: Matthew Garrett <mjg@redhat.com>
|
|||||||
Description:
|
Description:
|
||||||
Some information about whether a given USB device is
|
Some information about whether a given USB device is
|
||||||
physically fixed to the platform can be inferred from a
|
physically fixed to the platform can be inferred from a
|
||||||
combination of hub decriptor bits and platform-specific data
|
combination of hub descriptor bits and platform-specific data
|
||||||
such as ACPI. This file will read either "removable" or
|
such as ACPI. This file will read either "removable" or
|
||||||
"fixed" if the information is available, and "unknown"
|
"fixed" if the information is available, and "unknown"
|
||||||
otherwise.
|
otherwise.
|
@@ -0,0 +1,48 @@
|
|||||||
|
What: /sys/class/backlight/<backlight>/als_channel
|
||||||
|
Date: May 2012
|
||||||
|
KernelVersion: 3.5
|
||||||
|
Contact: Johan Hovold <jhovold@gmail.com>
|
||||||
|
Description:
|
||||||
|
Get the ALS output channel used as input in
|
||||||
|
ALS-current-control mode (0, 1), where
|
||||||
|
|
||||||
|
0 - out_current0 (backlight 0)
|
||||||
|
1 - out_current1 (backlight 1)
|
||||||
|
|
||||||
|
What: /sys/class/backlight/<backlight>/als_en
|
||||||
|
Date: May 2012
|
||||||
|
KernelVersion: 3.5
|
||||||
|
Contact: Johan Hovold <jhovold@gmail.com>
|
||||||
|
Description:
|
||||||
|
Enable ALS-current-control mode (0, 1).
|
||||||
|
|
||||||
|
What: /sys/class/backlight/<backlight>/id
|
||||||
|
Date: April 2012
|
||||||
|
KernelVersion: 3.5
|
||||||
|
Contact: Johan Hovold <jhovold@gmail.com>
|
||||||
|
Description:
|
||||||
|
Get the id of this backlight (0, 1).
|
||||||
|
|
||||||
|
What: /sys/class/backlight/<backlight>/linear
|
||||||
|
Date: April 2012
|
||||||
|
KernelVersion: 3.5
|
||||||
|
Contact: Johan Hovold <jhovold@gmail.com>
|
||||||
|
Description:
|
||||||
|
Set the brightness-mapping mode (0, 1), where
|
||||||
|
|
||||||
|
0 - exponential mode
|
||||||
|
1 - linear mode
|
||||||
|
|
||||||
|
What: /sys/class/backlight/<backlight>/pwm
|
||||||
|
Date: April 2012
|
||||||
|
KernelVersion: 3.5
|
||||||
|
Contact: Johan Hovold <jhovold@gmail.com>
|
||||||
|
Description:
|
||||||
|
Set the PWM-input control mask (5 bits), where
|
||||||
|
|
||||||
|
bit 5 - PWM-input enabled in Zone 4
|
||||||
|
bit 4 - PWM-input enabled in Zone 3
|
||||||
|
bit 3 - PWM-input enabled in Zone 2
|
||||||
|
bit 2 - PWM-input enabled in Zone 1
|
||||||
|
bit 1 - PWM-input enabled in Zone 0
|
||||||
|
bit 0 - PWM-input enabled
|
97
Documentation/ABI/testing/sysfs-class-extcon
Normal file
97
Documentation/ABI/testing/sysfs-class-extcon
Normal file
@@ -0,0 +1,97 @@
|
|||||||
|
What: /sys/class/extcon/.../
|
||||||
|
Date: February 2012
|
||||||
|
Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
|
||||||
|
Description:
|
||||||
|
Provide a place in sysfs for the extcon objects.
|
||||||
|
This allows accessing extcon specific variables.
|
||||||
|
The name of extcon object denoted as ... is the name given
|
||||||
|
with extcon_dev_register.
|
||||||
|
|
||||||
|
One extcon device denotes a single external connector
|
||||||
|
port. An external connector may have multiple cables
|
||||||
|
attached simultaneously. Many of docks, cradles, and
|
||||||
|
accessory cables have such capability. For example,
|
||||||
|
the 30-pin port of Nuri board (/arch/arm/mach-exynos)
|
||||||
|
may have both HDMI and Charger attached, or analog audio,
|
||||||
|
video, and USB cables attached simulteneously.
|
||||||
|
|
||||||
|
If there are cables mutually exclusive with each other,
|
||||||
|
such binary relations may be expressed with extcon_dev's
|
||||||
|
mutually_exclusive array.
|
||||||
|
|
||||||
|
What: /sys/class/extcon/.../name
|
||||||
|
Date: February 2012
|
||||||
|
Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
|
||||||
|
Description:
|
||||||
|
The /sys/class/extcon/.../name shows the name of the extcon
|
||||||
|
object. If the extcon object has an optional callback
|
||||||
|
"show_name" defined, the callback will provide the name with
|
||||||
|
this sysfs node.
|
||||||
|
|
||||||
|
What: /sys/class/extcon/.../state
|
||||||
|
Date: February 2012
|
||||||
|
Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
|
||||||
|
Description:
|
||||||
|
The /sys/class/extcon/.../state shows and stores the cable
|
||||||
|
attach/detach information of the corresponding extcon object.
|
||||||
|
If the extcon object has an optional callback "show_state"
|
||||||
|
defined, the showing function is overriden with the optional
|
||||||
|
callback.
|
||||||
|
|
||||||
|
If the default callback for showing function is used, the
|
||||||
|
format is like this:
|
||||||
|
# cat state
|
||||||
|
USB_OTG=1
|
||||||
|
HDMI=0
|
||||||
|
TA=1
|
||||||
|
EAR_JACK=0
|
||||||
|
#
|
||||||
|
In this example, the extcon device have USB_OTG and TA
|
||||||
|
cables attached and HDMI and EAR_JACK cables detached.
|
||||||
|
|
||||||
|
In order to update the state of an extcon device, enter a hex
|
||||||
|
state number starting with 0x.
|
||||||
|
echo 0xHEX > state
|
||||||
|
|
||||||
|
This updates the whole state of the extcon dev.
|
||||||
|
Inputs of all the methods are required to meet the
|
||||||
|
mutually_exclusive contidions if they exist.
|
||||||
|
|
||||||
|
It is recommended to use this "global" state interface if
|
||||||
|
you need to enter the value atomically. The later state
|
||||||
|
interface associated with each cable cannot update
|
||||||
|
multiple cable states of an extcon device simultaneously.
|
||||||
|
|
||||||
|
What: /sys/class/extcon/.../cable.x/name
|
||||||
|
Date: February 2012
|
||||||
|
Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
|
||||||
|
Description:
|
||||||
|
The /sys/class/extcon/.../cable.x/name shows the name of cable
|
||||||
|
"x" (integer between 0 and 31) of an extcon device.
|
||||||
|
|
||||||
|
What: /sys/class/extcon/.../cable.x/state
|
||||||
|
Date: February 2012
|
||||||
|
Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
|
||||||
|
Description:
|
||||||
|
The /sys/class/extcon/.../cable.x/name shows and stores the
|
||||||
|
state of cable "x" (integer between 0 and 31) of an extcon
|
||||||
|
device. The state value is either 0 (detached) or 1
|
||||||
|
(attached).
|
||||||
|
|
||||||
|
What: /sys/class/extcon/.../mutually_exclusive/...
|
||||||
|
Date: December 2011
|
||||||
|
Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
|
||||||
|
Description:
|
||||||
|
Shows the relations of mutually exclusiveness. For example,
|
||||||
|
if the mutually_exclusive array of extcon_dev is
|
||||||
|
{0x3, 0x5, 0xC, 0x0}, the, the output is:
|
||||||
|
# ls mutually_exclusive/
|
||||||
|
0x3
|
||||||
|
0x5
|
||||||
|
0xc
|
||||||
|
#
|
||||||
|
|
||||||
|
Note that mutually_exclusive is a sub-directory of the extcon
|
||||||
|
device and the file names under the mutually_exclusive
|
||||||
|
directory show the mutually-exclusive sets, not the contents
|
||||||
|
of the files.
|
65
Documentation/ABI/testing/sysfs-class-led-driver-lm3533
Normal file
65
Documentation/ABI/testing/sysfs-class-led-driver-lm3533
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
What: /sys/class/leds/<led>/als_channel
|
||||||
|
Date: May 2012
|
||||||
|
KernelVersion: 3.5
|
||||||
|
Contact: Johan Hovold <jhovold@gmail.com>
|
||||||
|
Description:
|
||||||
|
Set the ALS output channel to use as input in
|
||||||
|
ALS-current-control mode (1, 2), where
|
||||||
|
|
||||||
|
1 - out_current1
|
||||||
|
2 - out_current2
|
||||||
|
|
||||||
|
What: /sys/class/leds/<led>/als_en
|
||||||
|
Date: May 2012
|
||||||
|
KernelVersion: 3.5
|
||||||
|
Contact: Johan Hovold <jhovold@gmail.com>
|
||||||
|
Description:
|
||||||
|
Enable ALS-current-control mode (0, 1).
|
||||||
|
|
||||||
|
What: /sys/class/leds/<led>/falltime
|
||||||
|
What: /sys/class/leds/<led>/risetime
|
||||||
|
Date: April 2012
|
||||||
|
KernelVersion: 3.5
|
||||||
|
Contact: Johan Hovold <jhovold@gmail.com>
|
||||||
|
Description:
|
||||||
|
Set the pattern generator fall and rise times (0..7), where
|
||||||
|
|
||||||
|
0 - 2048 us
|
||||||
|
1 - 262 ms
|
||||||
|
2 - 524 ms
|
||||||
|
3 - 1.049 s
|
||||||
|
4 - 2.097 s
|
||||||
|
5 - 4.194 s
|
||||||
|
6 - 8.389 s
|
||||||
|
7 - 16.78 s
|
||||||
|
|
||||||
|
What: /sys/class/leds/<led>/id
|
||||||
|
Date: April 2012
|
||||||
|
KernelVersion: 3.5
|
||||||
|
Contact: Johan Hovold <jhovold@gmail.com>
|
||||||
|
Description:
|
||||||
|
Get the id of this led (0..3).
|
||||||
|
|
||||||
|
What: /sys/class/leds/<led>/linear
|
||||||
|
Date: April 2012
|
||||||
|
KernelVersion: 3.5
|
||||||
|
Contact: Johan Hovold <jhovold@gmail.com>
|
||||||
|
Description:
|
||||||
|
Set the brightness-mapping mode (0, 1), where
|
||||||
|
|
||||||
|
0 - exponential mode
|
||||||
|
1 - linear mode
|
||||||
|
|
||||||
|
What: /sys/class/leds/<led>/pwm
|
||||||
|
Date: April 2012
|
||||||
|
KernelVersion: 3.5
|
||||||
|
Contact: Johan Hovold <jhovold@gmail.com>
|
||||||
|
Description:
|
||||||
|
Set the PWM-input control mask (5 bits), where
|
||||||
|
|
||||||
|
bit 5 - PWM-input enabled in Zone 4
|
||||||
|
bit 4 - PWM-input enabled in Zone 3
|
||||||
|
bit 3 - PWM-input enabled in Zone 2
|
||||||
|
bit 2 - PWM-input enabled in Zone 1
|
||||||
|
bit 1 - PWM-input enabled in Zone 0
|
||||||
|
bit 0 - PWM-input enabled
|
@@ -123,3 +123,54 @@ Description:
|
|||||||
half page, or a quarter page).
|
half page, or a quarter page).
|
||||||
|
|
||||||
In the case of ECC NOR, it is the ECC block size.
|
In the case of ECC NOR, it is the ECC block size.
|
||||||
|
|
||||||
|
What: /sys/class/mtd/mtdX/ecc_strength
|
||||||
|
Date: April 2012
|
||||||
|
KernelVersion: 3.4
|
||||||
|
Contact: linux-mtd@lists.infradead.org
|
||||||
|
Description:
|
||||||
|
Maximum number of bit errors that the device is capable of
|
||||||
|
correcting within each region covering an ecc step. This will
|
||||||
|
always be a non-negative integer. Note that some devices will
|
||||||
|
have multiple ecc steps within each writesize region.
|
||||||
|
|
||||||
|
In the case of devices lacking any ECC capability, it is 0.
|
||||||
|
|
||||||
|
What: /sys/class/mtd/mtdX/bitflip_threshold
|
||||||
|
Date: April 2012
|
||||||
|
KernelVersion: 3.4
|
||||||
|
Contact: linux-mtd@lists.infradead.org
|
||||||
|
Description:
|
||||||
|
This allows the user to examine and adjust the criteria by which
|
||||||
|
mtd returns -EUCLEAN from mtd_read(). If the maximum number of
|
||||||
|
bit errors that were corrected on any single region comprising
|
||||||
|
an ecc step (as reported by the driver) equals or exceeds this
|
||||||
|
value, -EUCLEAN is returned. Otherwise, absent an error, 0 is
|
||||||
|
returned. Higher layers (e.g., UBI) use this return code as an
|
||||||
|
indication that an erase block may be degrading and should be
|
||||||
|
scrutinized as a candidate for being marked as bad.
|
||||||
|
|
||||||
|
The initial value may be specified by the flash device driver.
|
||||||
|
If not, then the default value is ecc_strength.
|
||||||
|
|
||||||
|
The introduction of this feature brings a subtle change to the
|
||||||
|
meaning of the -EUCLEAN return code. Previously, it was
|
||||||
|
interpreted to mean simply "one or more bit errors were
|
||||||
|
corrected". Its new interpretation can be phrased as "a
|
||||||
|
dangerously high number of bit errors were corrected on one or
|
||||||
|
more regions comprising an ecc step". The precise definition of
|
||||||
|
"dangerously high" can be adjusted by the user with
|
||||||
|
bitflip_threshold. Users are discouraged from doing this,
|
||||||
|
however, unless they know what they are doing and have intimate
|
||||||
|
knowledge of the properties of their device. Broadly speaking,
|
||||||
|
bitflip_threshold should be low enough to detect genuine erase
|
||||||
|
block degradation, but high enough to avoid the consequences of
|
||||||
|
a persistent return value of -EUCLEAN on devices where sticky
|
||||||
|
bitflips occur. Note that if bitflip_threshold exceeds
|
||||||
|
ecc_strength, -EUCLEAN is never returned by mtd_read().
|
||||||
|
Conversely, if bitflip_threshold is zero, -EUCLEAN is always
|
||||||
|
returned, absent a hard error.
|
||||||
|
|
||||||
|
This is generally applicable only to NAND flash devices with ECC
|
||||||
|
capability. It is ignored on devices lacking ECC capability;
|
||||||
|
i.e., devices for which ecc_strength is zero.
|
||||||
|
@@ -14,6 +14,15 @@ Description:
|
|||||||
mesh will be sent using multiple interfaces at the
|
mesh will be sent using multiple interfaces at the
|
||||||
same time (if available).
|
same time (if available).
|
||||||
|
|
||||||
|
What: /sys/class/net/<mesh_iface>/mesh/bridge_loop_avoidance
|
||||||
|
Date: November 2011
|
||||||
|
Contact: Simon Wunderlich <siwu@hrz.tu-chemnitz.de>
|
||||||
|
Description:
|
||||||
|
Indicates whether the bridge loop avoidance feature
|
||||||
|
is enabled. This feature detects and avoids loops
|
||||||
|
between the mesh and devices bridged with the soft
|
||||||
|
interface <mesh_iface>.
|
||||||
|
|
||||||
What: /sys/class/net/<mesh_iface>/mesh/fragmentation
|
What: /sys/class/net/<mesh_iface>/mesh/fragmentation
|
||||||
Date: October 2010
|
Date: October 2010
|
||||||
Contact: Andreas Langer <an.langer@gmx.de>
|
Contact: Andreas Langer <an.langer@gmx.de>
|
||||||
|
@@ -96,16 +96,26 @@ Description:
|
|||||||
is read-only. If the device is not enabled to wake up the
|
is read-only. If the device is not enabled to wake up the
|
||||||
system from sleep states, this attribute is not present.
|
system from sleep states, this attribute is not present.
|
||||||
|
|
||||||
What: /sys/devices/.../power/wakeup_hit_count
|
What: /sys/devices/.../power/wakeup_abort_count
|
||||||
Date: September 2010
|
Date: February 2012
|
||||||
Contact: Rafael J. Wysocki <rjw@sisk.pl>
|
Contact: Rafael J. Wysocki <rjw@sisk.pl>
|
||||||
Description:
|
Description:
|
||||||
The /sys/devices/.../wakeup_hit_count attribute contains the
|
The /sys/devices/.../wakeup_abort_count attribute contains the
|
||||||
number of times the processing of a wakeup event associated with
|
number of times the processing of a wakeup event associated with
|
||||||
the device might prevent the system from entering a sleep state.
|
the device might have aborted system transition into a sleep
|
||||||
This attribute is read-only. If the device is not enabled to
|
state in progress. This attribute is read-only. If the device
|
||||||
wake up the system from sleep states, this attribute is not
|
is not enabled to wake up the system from sleep states, this
|
||||||
present.
|
attribute is not present.
|
||||||
|
|
||||||
|
What: /sys/devices/.../power/wakeup_expire_count
|
||||||
|
Date: February 2012
|
||||||
|
Contact: Rafael J. Wysocki <rjw@sisk.pl>
|
||||||
|
Description:
|
||||||
|
The /sys/devices/.../wakeup_expire_count attribute contains the
|
||||||
|
number of times a wakeup event associated with the device has
|
||||||
|
been reported with a timeout that expired. This attribute is
|
||||||
|
read-only. If the device is not enabled to wake up the system
|
||||||
|
from sleep states, this attribute is not present.
|
||||||
|
|
||||||
What: /sys/devices/.../power/wakeup_active
|
What: /sys/devices/.../power/wakeup_active
|
||||||
Date: September 2010
|
Date: September 2010
|
||||||
@@ -148,6 +158,17 @@ Description:
|
|||||||
not enabled to wake up the system from sleep states, this
|
not enabled to wake up the system from sleep states, this
|
||||||
attribute is not present.
|
attribute is not present.
|
||||||
|
|
||||||
|
What: /sys/devices/.../power/wakeup_prevent_sleep_time_ms
|
||||||
|
Date: February 2012
|
||||||
|
Contact: Rafael J. Wysocki <rjw@sisk.pl>
|
||||||
|
Description:
|
||||||
|
The /sys/devices/.../wakeup_prevent_sleep_time_ms attribute
|
||||||
|
contains the total time the device has been preventing
|
||||||
|
opportunistic transitions to sleep states from occuring.
|
||||||
|
This attribute is read-only. If the device is not enabled to
|
||||||
|
wake up the system from sleep states, this attribute is not
|
||||||
|
present.
|
||||||
|
|
||||||
What: /sys/devices/.../power/autosuspend_delay_ms
|
What: /sys/devices/.../power/autosuspend_delay_ms
|
||||||
Date: September 2010
|
Date: September 2010
|
||||||
Contact: Alan Stern <stern@rowland.harvard.edu>
|
Contact: Alan Stern <stern@rowland.harvard.edu>
|
||||||
|
@@ -9,31 +9,6 @@ Description:
|
|||||||
|
|
||||||
/sys/devices/system/cpu/cpu#/
|
/sys/devices/system/cpu/cpu#/
|
||||||
|
|
||||||
What: /sys/devices/system/cpu/sched_mc_power_savings
|
|
||||||
/sys/devices/system/cpu/sched_smt_power_savings
|
|
||||||
Date: June 2006
|
|
||||||
Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
|
|
||||||
Description: Discover and adjust the kernel's multi-core scheduler support.
|
|
||||||
|
|
||||||
Possible values are:
|
|
||||||
|
|
||||||
0 - No power saving load balance (default value)
|
|
||||||
1 - Fill one thread/core/package first for long running threads
|
|
||||||
2 - Also bias task wakeups to semi-idle cpu package for power
|
|
||||||
savings
|
|
||||||
|
|
||||||
sched_mc_power_savings is dependent upon SCHED_MC, which is
|
|
||||||
itself architecture dependent.
|
|
||||||
|
|
||||||
sched_smt_power_savings is dependent upon SCHED_SMT, which
|
|
||||||
is itself architecture dependent.
|
|
||||||
|
|
||||||
The two files are independent of each other. It is possible
|
|
||||||
that one file may be present without the other.
|
|
||||||
|
|
||||||
Introduced by git commit 5c45bf27.
|
|
||||||
|
|
||||||
|
|
||||||
What: /sys/devices/system/cpu/kernel_max
|
What: /sys/devices/system/cpu/kernel_max
|
||||||
/sys/devices/system/cpu/offline
|
/sys/devices/system/cpu/offline
|
||||||
/sys/devices/system/cpu/online
|
/sys/devices/system/cpu/online
|
||||||
|
@@ -9,15 +9,24 @@ Description:
|
|||||||
or 0 otherwise. Writing to this file one of these values
|
or 0 otherwise. Writing to this file one of these values
|
||||||
switches reporting speed.
|
switches reporting speed.
|
||||||
|
|
||||||
|
What: /sys/class/leds/0005\:056A\:00BD.0001\:selector\:*/
|
||||||
|
Date: May 2012
|
||||||
|
Kernel Version: 3.5
|
||||||
|
Contact: linux-bluetooth@vger.kernel.org
|
||||||
|
Description:
|
||||||
|
LED selector for Intuos4 WL. There are 4 leds, but only one LED
|
||||||
|
can be lit at a time. Max brightness is 127.
|
||||||
|
|
||||||
What: /sys/bus/usb/devices/<busnum>-<devnum>:<cfg>.<intf>/wacom_led/led
|
What: /sys/bus/usb/devices/<busnum>-<devnum>:<cfg>.<intf>/wacom_led/led
|
||||||
Date: August 2011
|
Date: August 2011
|
||||||
Contact: linux-input@vger.kernel.org
|
Contact: linux-input@vger.kernel.org
|
||||||
Description:
|
Description:
|
||||||
Attribute group for control of the status LEDs and the OLEDs.
|
Attribute group for control of the status LEDs and the OLEDs.
|
||||||
This attribute group is only available for Intuos 4 M, L,
|
This attribute group is only available for Intuos 4 M, L,
|
||||||
and XL (with LEDs and OLEDs) and Cintiq 21UX2 and Cintiq 24HD
|
and XL (with LEDs and OLEDs), Intuos 5 (LEDs only), and Cintiq
|
||||||
(LEDs only). Therefore its presence implicitly signifies the
|
21UX2 and Cintiq 24HD (LEDs only). Therefore its presence
|
||||||
presence of said LEDs and OLEDs on the tablet device.
|
implicitly signifies the presence of said LEDs and OLEDs on the
|
||||||
|
tablet device.
|
||||||
|
|
||||||
What: /sys/bus/usb/devices/<busnum>-<devnum>:<cfg>.<intf>/wacom_led/status0_luminance
|
What: /sys/bus/usb/devices/<busnum>-<devnum>:<cfg>.<intf>/wacom_led/status0_luminance
|
||||||
Date: August 2011
|
Date: August 2011
|
||||||
@@ -40,10 +49,10 @@ What: /sys/bus/usb/devices/<busnum>-<devnum>:<cfg>.<intf>/wacom_led/status_led0
|
|||||||
Date: August 2011
|
Date: August 2011
|
||||||
Contact: linux-input@vger.kernel.org
|
Contact: linux-input@vger.kernel.org
|
||||||
Description:
|
Description:
|
||||||
Writing to this file sets which one of the four (for Intuos 4)
|
Writing to this file sets which one of the four (for Intuos 4
|
||||||
or of the right four (for Cintiq 21UX2 and Cintiq 24HD) status
|
and Intuos 5) or of the right four (for Cintiq 21UX2 and Cintiq
|
||||||
LEDs is active (0..3). The other three LEDs on the same side are
|
24HD) status LEDs is active (0..3). The other three LEDs on the
|
||||||
always inactive.
|
same side are always inactive.
|
||||||
|
|
||||||
What: /sys/bus/usb/devices/<busnum>-<devnum>:<cfg>.<intf>/wacom_led/status_led1_select
|
What: /sys/bus/usb/devices/<busnum>-<devnum>:<cfg>.<intf>/wacom_led/status_led1_select
|
||||||
Date: September 2011
|
Date: September 2011
|
||||||
|
@@ -172,3 +172,62 @@ Description:
|
|||||||
|
|
||||||
Reading from this file will display the current value, which is
|
Reading from this file will display the current value, which is
|
||||||
set to 1 MB by default.
|
set to 1 MB by default.
|
||||||
|
|
||||||
|
What: /sys/power/autosleep
|
||||||
|
Date: April 2012
|
||||||
|
Contact: Rafael J. Wysocki <rjw@sisk.pl>
|
||||||
|
Description:
|
||||||
|
The /sys/power/autosleep file can be written one of the strings
|
||||||
|
returned by reads from /sys/power/state. If that happens, a
|
||||||
|
work item attempting to trigger a transition of the system to
|
||||||
|
the sleep state represented by that string is queued up. This
|
||||||
|
attempt will only succeed if there are no active wakeup sources
|
||||||
|
in the system at that time. After every execution, regardless
|
||||||
|
of whether or not the attempt to put the system to sleep has
|
||||||
|
succeeded, the work item requeues itself until user space
|
||||||
|
writes "off" to /sys/power/autosleep.
|
||||||
|
|
||||||
|
Reading from this file causes the last string successfully
|
||||||
|
written to it to be returned.
|
||||||
|
|
||||||
|
What: /sys/power/wake_lock
|
||||||
|
Date: February 2012
|
||||||
|
Contact: Rafael J. Wysocki <rjw@sisk.pl>
|
||||||
|
Description:
|
||||||
|
The /sys/power/wake_lock file allows user space to create
|
||||||
|
wakeup source objects and activate them on demand (if one of
|
||||||
|
those wakeup sources is active, reads from the
|
||||||
|
/sys/power/wakeup_count file block or return false). When a
|
||||||
|
string without white space is written to /sys/power/wake_lock,
|
||||||
|
it will be assumed to represent a wakeup source name. If there
|
||||||
|
is a wakeup source object with that name, it will be activated
|
||||||
|
(unless active already). Otherwise, a new wakeup source object
|
||||||
|
will be registered, assigned the given name and activated.
|
||||||
|
If a string written to /sys/power/wake_lock contains white
|
||||||
|
space, the part of the string preceding the white space will be
|
||||||
|
regarded as a wakeup source name and handled as descrived above.
|
||||||
|
The other part of the string will be regarded as a timeout (in
|
||||||
|
nanoseconds) such that the wakeup source will be automatically
|
||||||
|
deactivated after it has expired. The timeout, if present, is
|
||||||
|
set regardless of the current state of the wakeup source object
|
||||||
|
in question.
|
||||||
|
|
||||||
|
Reads from this file return a string consisting of the names of
|
||||||
|
wakeup sources created with the help of it that are active at
|
||||||
|
the moment, separated with spaces.
|
||||||
|
|
||||||
|
|
||||||
|
What: /sys/power/wake_unlock
|
||||||
|
Date: February 2012
|
||||||
|
Contact: Rafael J. Wysocki <rjw@sisk.pl>
|
||||||
|
Description:
|
||||||
|
The /sys/power/wake_unlock file allows user space to deactivate
|
||||||
|
wakeup sources created with the help of /sys/power/wake_lock.
|
||||||
|
When a string is written to /sys/power/wake_unlock, it will be
|
||||||
|
assumed to represent the name of a wakeup source to deactivate.
|
||||||
|
If a wakeup source object of that name exists and is active at
|
||||||
|
the moment, it will be deactivated.
|
||||||
|
|
||||||
|
Reads from this file return a string consisting of the names of
|
||||||
|
wakeup sources created with the help of /sys/power/wake_lock
|
||||||
|
that are inactive at the moment, separated with spaces.
|
||||||
|
@@ -671,8 +671,9 @@ ones already enabled by DEBUG.
|
|||||||
Chapter 14: Allocating memory
|
Chapter 14: Allocating memory
|
||||||
|
|
||||||
The kernel provides the following general purpose memory allocators:
|
The kernel provides the following general purpose memory allocators:
|
||||||
kmalloc(), kzalloc(), kcalloc(), vmalloc(), and vzalloc(). Please refer to
|
kmalloc(), kzalloc(), kmalloc_array(), kcalloc(), vmalloc(), and
|
||||||
the API documentation for further information about them.
|
vzalloc(). Please refer to the API documentation for further information
|
||||||
|
about them.
|
||||||
|
|
||||||
The preferred form for passing a size of a struct is the following:
|
The preferred form for passing a size of a struct is the following:
|
||||||
|
|
||||||
@@ -686,6 +687,17 @@ Casting the return value which is a void pointer is redundant. The conversion
|
|||||||
from void pointer to any other pointer type is guaranteed by the C programming
|
from void pointer to any other pointer type is guaranteed by the C programming
|
||||||
language.
|
language.
|
||||||
|
|
||||||
|
The preferred form for allocating an array is the following:
|
||||||
|
|
||||||
|
p = kmalloc_array(n, sizeof(...), ...);
|
||||||
|
|
||||||
|
The preferred form for allocating a zeroed array is the following:
|
||||||
|
|
||||||
|
p = kcalloc(n, sizeof(...), ...);
|
||||||
|
|
||||||
|
Both forms check for overflow on the allocation size n * sizeof(...),
|
||||||
|
and return NULL if that occurred.
|
||||||
|
|
||||||
|
|
||||||
Chapter 15: The inline disease
|
Chapter 15: The inline disease
|
||||||
|
|
||||||
|
@@ -516,7 +516,7 @@
|
|||||||
!Finclude/net/mac80211.h ieee80211_start_tx_ba_cb_irqsafe
|
!Finclude/net/mac80211.h ieee80211_start_tx_ba_cb_irqsafe
|
||||||
!Finclude/net/mac80211.h ieee80211_stop_tx_ba_session
|
!Finclude/net/mac80211.h ieee80211_stop_tx_ba_session
|
||||||
!Finclude/net/mac80211.h ieee80211_stop_tx_ba_cb_irqsafe
|
!Finclude/net/mac80211.h ieee80211_stop_tx_ba_cb_irqsafe
|
||||||
!Finclude/net/mac80211.h rate_control_changed
|
!Finclude/net/mac80211.h ieee80211_rate_control_changed
|
||||||
!Finclude/net/mac80211.h ieee80211_tx_rate_control
|
!Finclude/net/mac80211.h ieee80211_tx_rate_control
|
||||||
!Finclude/net/mac80211.h rate_control_send_low
|
!Finclude/net/mac80211.h rate_control_send_low
|
||||||
</chapter>
|
</chapter>
|
||||||
|
@@ -6,7 +6,7 @@
|
|||||||
# To add a new book the only step required is to add the book to the
|
# To add a new book the only step required is to add the book to the
|
||||||
# list of DOCBOOKS.
|
# list of DOCBOOKS.
|
||||||
|
|
||||||
DOCBOOKS := z8530book.xml mcabook.xml device-drivers.xml \
|
DOCBOOKS := z8530book.xml device-drivers.xml \
|
||||||
kernel-hacking.xml kernel-locking.xml deviceiobook.xml \
|
kernel-hacking.xml kernel-locking.xml deviceiobook.xml \
|
||||||
writing_usb_driver.xml networking.xml \
|
writing_usb_driver.xml networking.xml \
|
||||||
kernel-api.xml filesystems.xml lsm.xml usb.xml kgdb.xml \
|
kernel-api.xml filesystems.xml lsm.xml usb.xml kgdb.xml \
|
||||||
|
@@ -212,19 +212,6 @@ X!Edrivers/pci/hotplug.c
|
|||||||
<sect1><title>PCI Hotplug Support Library</title>
|
<sect1><title>PCI Hotplug Support Library</title>
|
||||||
!Edrivers/pci/hotplug/pci_hotplug_core.c
|
!Edrivers/pci/hotplug/pci_hotplug_core.c
|
||||||
</sect1>
|
</sect1>
|
||||||
<sect1><title>MCA Architecture</title>
|
|
||||||
<sect2><title>MCA Device Functions</title>
|
|
||||||
<para>
|
|
||||||
Refer to the file arch/x86/kernel/mca_32.c for more information.
|
|
||||||
</para>
|
|
||||||
<!-- FIXME: Removed for now since no structured comments in source
|
|
||||||
X!Earch/x86/kernel/mca_32.c
|
|
||||||
-->
|
|
||||||
</sect2>
|
|
||||||
<sect2><title>MCA Bus DMA</title>
|
|
||||||
!Iarch/x86/include/asm/mca_dma.h
|
|
||||||
</sect2>
|
|
||||||
</sect1>
|
|
||||||
</chapter>
|
</chapter>
|
||||||
|
|
||||||
<chapter id="firmware">
|
<chapter id="firmware">
|
||||||
|
@@ -1289,7 +1289,7 @@ static struct block_device_operations opt_fops = {
|
|||||||
* Sparc assembly will do this to ya.
|
* Sparc assembly will do this to ya.
|
||||||
*/
|
*/
|
||||||
C_LABEL(cputypvar):
|
C_LABEL(cputypvar):
|
||||||
.asciz "compatability"
|
.asciz "compatibility"
|
||||||
|
|
||||||
/* Tested on SS-5, SS-10. Probably someone at Sun applied a spell-checker. */
|
/* Tested on SS-5, SS-10. Probably someone at Sun applied a spell-checker. */
|
||||||
.align 4
|
.align 4
|
||||||
|
@@ -918,7 +918,7 @@ and other resources, etc.
|
|||||||
<title>HSM violation</title>
|
<title>HSM violation</title>
|
||||||
<para>
|
<para>
|
||||||
This error is indicated when STATUS value doesn't match HSM
|
This error is indicated when STATUS value doesn't match HSM
|
||||||
requirement during issuing or excution any ATA/ATAPI command.
|
requirement during issuing or execution any ATA/ATAPI command.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
|
@@ -1,107 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
|
|
||||||
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []>
|
|
||||||
|
|
||||||
<book id="MCAGuide">
|
|
||||||
<bookinfo>
|
|
||||||
<title>MCA Driver Programming Interface</title>
|
|
||||||
|
|
||||||
<authorgroup>
|
|
||||||
<author>
|
|
||||||
<firstname>Alan</firstname>
|
|
||||||
<surname>Cox</surname>
|
|
||||||
<affiliation>
|
|
||||||
<address>
|
|
||||||
<email>alan@lxorguk.ukuu.org.uk</email>
|
|
||||||
</address>
|
|
||||||
</affiliation>
|
|
||||||
</author>
|
|
||||||
<author>
|
|
||||||
<firstname>David</firstname>
|
|
||||||
<surname>Weinehall</surname>
|
|
||||||
</author>
|
|
||||||
<author>
|
|
||||||
<firstname>Chris</firstname>
|
|
||||||
<surname>Beauregard</surname>
|
|
||||||
</author>
|
|
||||||
</authorgroup>
|
|
||||||
|
|
||||||
<copyright>
|
|
||||||
<year>2000</year>
|
|
||||||
<holder>Alan Cox</holder>
|
|
||||||
<holder>David Weinehall</holder>
|
|
||||||
<holder>Chris Beauregard</holder>
|
|
||||||
</copyright>
|
|
||||||
|
|
||||||
<legalnotice>
|
|
||||||
<para>
|
|
||||||
This documentation is free software; you can redistribute
|
|
||||||
it and/or modify it under the terms of the GNU General Public
|
|
||||||
License as published by the Free Software Foundation; either
|
|
||||||
version 2 of the License, or (at your option) any later
|
|
||||||
version.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
This program is distributed in the hope that it will be
|
|
||||||
useful, but WITHOUT ANY WARRANTY; without even the implied
|
|
||||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
||||||
See the GNU General Public License for more details.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
You should have received a copy of the GNU General Public
|
|
||||||
License along with this program; if not, write to the Free
|
|
||||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
|
||||||
MA 02111-1307 USA
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
For more details see the file COPYING in the source
|
|
||||||
distribution of Linux.
|
|
||||||
</para>
|
|
||||||
</legalnotice>
|
|
||||||
</bookinfo>
|
|
||||||
|
|
||||||
<toc></toc>
|
|
||||||
|
|
||||||
<chapter id="intro">
|
|
||||||
<title>Introduction</title>
|
|
||||||
<para>
|
|
||||||
The MCA bus functions provide a generalised interface to find MCA
|
|
||||||
bus cards, to claim them for a driver, and to read and manipulate POS
|
|
||||||
registers without being aware of the motherboard internals or
|
|
||||||
certain deep magic specific to onboard devices.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
The basic interface to the MCA bus devices is the slot. Each slot
|
|
||||||
is numbered and virtual slot numbers are assigned to the internal
|
|
||||||
devices. Using a pci_dev as other busses do does not really make
|
|
||||||
sense in the MCA context as the MCA bus resources require card
|
|
||||||
specific interpretation.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
Finally the MCA bus functions provide a parallel set of DMA
|
|
||||||
functions mimicing the ISA bus DMA functions as closely as possible,
|
|
||||||
although also supporting the additional DMA functionality on the
|
|
||||||
MCA bus controllers.
|
|
||||||
</para>
|
|
||||||
</chapter>
|
|
||||||
<chapter id="bugs">
|
|
||||||
<title>Known Bugs And Assumptions</title>
|
|
||||||
<para>
|
|
||||||
None.
|
|
||||||
</para>
|
|
||||||
</chapter>
|
|
||||||
|
|
||||||
<chapter id="pubfunctions">
|
|
||||||
<title>Public Functions Provided</title>
|
|
||||||
!Edrivers/mca/mca-legacy.c
|
|
||||||
</chapter>
|
|
||||||
|
|
||||||
<chapter id="dmafunctions">
|
|
||||||
<title>DMA Functions Provided</title>
|
|
||||||
!Iarch/x86/include/asm/mca_dma.h
|
|
||||||
</chapter>
|
|
||||||
|
|
||||||
</book>
|
|
@@ -70,6 +70,8 @@ IOCTLS = \
|
|||||||
VIDIOC_SUBDEV_ENUM_MBUS_CODE \
|
VIDIOC_SUBDEV_ENUM_MBUS_CODE \
|
||||||
VIDIOC_SUBDEV_ENUM_FRAME_SIZE \
|
VIDIOC_SUBDEV_ENUM_FRAME_SIZE \
|
||||||
VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL \
|
VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL \
|
||||||
|
VIDIOC_SUBDEV_G_SELECTION \
|
||||||
|
VIDIOC_SUBDEV_S_SELECTION \
|
||||||
|
|
||||||
TYPES = \
|
TYPES = \
|
||||||
$(shell perl -ne 'print "$$1 " if /^typedef\s+[^\s]+\s+([^\s]+)\;/' $(srctree)/include/linux/videodev2.h) \
|
$(shell perl -ne 'print "$$1 " if /^typedef\s+[^\s]+\s+([^\s]+)\;/' $(srctree)/include/linux/videodev2.h) \
|
||||||
@@ -193,7 +195,7 @@ DVB_DOCUMENTED = \
|
|||||||
#
|
#
|
||||||
|
|
||||||
install_media_images = \
|
install_media_images = \
|
||||||
$(Q)cp $(OBJIMGFILES) $(MEDIA_OBJ_DIR)/media_api
|
$(Q)cp $(OBJIMGFILES) $(MEDIA_SRC_DIR)/v4l/*.svg $(MEDIA_OBJ_DIR)/media_api
|
||||||
|
|
||||||
$(MEDIA_OBJ_DIR)/%: $(MEDIA_SRC_DIR)/%.b64
|
$(MEDIA_OBJ_DIR)/%: $(MEDIA_SRC_DIR)/%.b64
|
||||||
$(Q)base64 -d $< >$@
|
$(Q)base64 -d $< >$@
|
||||||
|
@@ -531,6 +531,139 @@ typedef enum fe_delivery_system {
|
|||||||
here are referring to what can be found in the TMCC-structure -
|
here are referring to what can be found in the TMCC-structure -
|
||||||
independent of the mode.</para>
|
independent of the mode.</para>
|
||||||
</section>
|
</section>
|
||||||
|
<section id="DTV-ATSCMH-FIC-VER">
|
||||||
|
<title><constant>DTV_ATSCMH_FIC_VER</constant></title>
|
||||||
|
<para>Version number of the FIC (Fast Information Channel) signaling data.</para>
|
||||||
|
<para>FIC is used for relaying information to allow rapid service acquisition by the receiver.</para>
|
||||||
|
<para>Possible values: 0, 1, 2, 3, ..., 30, 31</para>
|
||||||
|
</section>
|
||||||
|
<section id="DTV-ATSCMH-PARADE-ID">
|
||||||
|
<title><constant>DTV_ATSCMH_PARADE_ID</constant></title>
|
||||||
|
<para>Parade identification number</para>
|
||||||
|
<para>A parade is a collection of up to eight MH groups, conveying one or two ensembles.</para>
|
||||||
|
<para>Possible values: 0, 1, 2, 3, ..., 126, 127</para>
|
||||||
|
</section>
|
||||||
|
<section id="DTV-ATSCMH-NOG">
|
||||||
|
<title><constant>DTV_ATSCMH_NOG</constant></title>
|
||||||
|
<para>Number of MH groups per MH subframe for a designated parade.</para>
|
||||||
|
<para>Possible values: 1, 2, 3, 4, 5, 6, 7, 8</para>
|
||||||
|
</section>
|
||||||
|
<section id="DTV-ATSCMH-TNOG">
|
||||||
|
<title><constant>DTV_ATSCMH_TNOG</constant></title>
|
||||||
|
<para>Total number of MH groups including all MH groups belonging to all MH parades in one MH subframe.</para>
|
||||||
|
<para>Possible values: 0, 1, 2, 3, ..., 30, 31</para>
|
||||||
|
</section>
|
||||||
|
<section id="DTV-ATSCMH-SGN">
|
||||||
|
<title><constant>DTV_ATSCMH_SGN</constant></title>
|
||||||
|
<para>Start group number.</para>
|
||||||
|
<para>Possible values: 0, 1, 2, 3, ..., 14, 15</para>
|
||||||
|
</section>
|
||||||
|
<section id="DTV-ATSCMH-PRC">
|
||||||
|
<title><constant>DTV_ATSCMH_PRC</constant></title>
|
||||||
|
<para>Parade repetition cycle.</para>
|
||||||
|
<para>Possible values: 1, 2, 3, 4, 5, 6, 7, 8</para>
|
||||||
|
</section>
|
||||||
|
<section id="DTV-ATSCMH-RS-FRAME-MODE">
|
||||||
|
<title><constant>DTV_ATSCMH_RS_FRAME_MODE</constant></title>
|
||||||
|
<para>RS frame mode.</para>
|
||||||
|
<para>Possible values are:</para>
|
||||||
|
<programlisting>
|
||||||
|
typedef enum atscmh_rs_frame_mode {
|
||||||
|
ATSCMH_RSFRAME_PRI_ONLY = 0,
|
||||||
|
ATSCMH_RSFRAME_PRI_SEC = 1,
|
||||||
|
} atscmh_rs_frame_mode_t;
|
||||||
|
</programlisting>
|
||||||
|
</section>
|
||||||
|
<section id="DTV-ATSCMH-RS-FRAME-ENSEMBLE">
|
||||||
|
<title><constant>DTV_ATSCMH_RS_FRAME_ENSEMBLE</constant></title>
|
||||||
|
<para>RS frame ensemble.</para>
|
||||||
|
<para>Possible values are:</para>
|
||||||
|
<programlisting>
|
||||||
|
typedef enum atscmh_rs_frame_ensemble {
|
||||||
|
ATSCMH_RSFRAME_ENS_PRI = 0,
|
||||||
|
ATSCMH_RSFRAME_ENS_SEC = 1,
|
||||||
|
} atscmh_rs_frame_ensemble_t;
|
||||||
|
</programlisting>
|
||||||
|
</section>
|
||||||
|
<section id="DTV-ATSCMH-RS-CODE-MODE-PRI">
|
||||||
|
<title><constant>DTV_ATSCMH_RS_CODE_MODE_PRI</constant></title>
|
||||||
|
<para>RS code mode (primary).</para>
|
||||||
|
<para>Possible values are:</para>
|
||||||
|
<programlisting>
|
||||||
|
typedef enum atscmh_rs_code_mode {
|
||||||
|
ATSCMH_RSCODE_211_187 = 0,
|
||||||
|
ATSCMH_RSCODE_223_187 = 1,
|
||||||
|
ATSCMH_RSCODE_235_187 = 2,
|
||||||
|
} atscmh_rs_code_mode_t;
|
||||||
|
</programlisting>
|
||||||
|
</section>
|
||||||
|
<section id="DTV-ATSCMH-RS-CODE-MODE-SEC">
|
||||||
|
<title><constant>DTV_ATSCMH_RS_CODE_MODE_SEC</constant></title>
|
||||||
|
<para>RS code mode (secondary).</para>
|
||||||
|
<para>Possible values are:</para>
|
||||||
|
<programlisting>
|
||||||
|
typedef enum atscmh_rs_code_mode {
|
||||||
|
ATSCMH_RSCODE_211_187 = 0,
|
||||||
|
ATSCMH_RSCODE_223_187 = 1,
|
||||||
|
ATSCMH_RSCODE_235_187 = 2,
|
||||||
|
} atscmh_rs_code_mode_t;
|
||||||
|
</programlisting>
|
||||||
|
</section>
|
||||||
|
<section id="DTV-ATSCMH-SCCC-BLOCK-MODE">
|
||||||
|
<title><constant>DTV_ATSCMH_SCCC_BLOCK_MODE</constant></title>
|
||||||
|
<para>Series Concatenated Convolutional Code Block Mode.</para>
|
||||||
|
<para>Possible values are:</para>
|
||||||
|
<programlisting>
|
||||||
|
typedef enum atscmh_sccc_block_mode {
|
||||||
|
ATSCMH_SCCC_BLK_SEP = 0,
|
||||||
|
ATSCMH_SCCC_BLK_COMB = 1,
|
||||||
|
} atscmh_sccc_block_mode_t;
|
||||||
|
</programlisting>
|
||||||
|
</section>
|
||||||
|
<section id="DTV-ATSCMH-SCCC-CODE-MODE-A">
|
||||||
|
<title><constant>DTV_ATSCMH_SCCC_CODE_MODE_A</constant></title>
|
||||||
|
<para>Series Concatenated Convolutional Code Rate.</para>
|
||||||
|
<para>Possible values are:</para>
|
||||||
|
<programlisting>
|
||||||
|
typedef enum atscmh_sccc_code_mode {
|
||||||
|
ATSCMH_SCCC_CODE_HLF = 0,
|
||||||
|
ATSCMH_SCCC_CODE_QTR = 1,
|
||||||
|
} atscmh_sccc_code_mode_t;
|
||||||
|
</programlisting>
|
||||||
|
</section>
|
||||||
|
<section id="DTV-ATSCMH-SCCC-CODE-MODE-B">
|
||||||
|
<title><constant>DTV_ATSCMH_SCCC_CODE_MODE_B</constant></title>
|
||||||
|
<para>Series Concatenated Convolutional Code Rate.</para>
|
||||||
|
<para>Possible values are:</para>
|
||||||
|
<programlisting>
|
||||||
|
typedef enum atscmh_sccc_code_mode {
|
||||||
|
ATSCMH_SCCC_CODE_HLF = 0,
|
||||||
|
ATSCMH_SCCC_CODE_QTR = 1,
|
||||||
|
} atscmh_sccc_code_mode_t;
|
||||||
|
</programlisting>
|
||||||
|
</section>
|
||||||
|
<section id="DTV-ATSCMH-SCCC-CODE-MODE-C">
|
||||||
|
<title><constant>DTV_ATSCMH_SCCC_CODE_MODE_C</constant></title>
|
||||||
|
<para>Series Concatenated Convolutional Code Rate.</para>
|
||||||
|
<para>Possible values are:</para>
|
||||||
|
<programlisting>
|
||||||
|
typedef enum atscmh_sccc_code_mode {
|
||||||
|
ATSCMH_SCCC_CODE_HLF = 0,
|
||||||
|
ATSCMH_SCCC_CODE_QTR = 1,
|
||||||
|
} atscmh_sccc_code_mode_t;
|
||||||
|
</programlisting>
|
||||||
|
</section>
|
||||||
|
<section id="DTV-ATSCMH-SCCC-CODE-MODE-D">
|
||||||
|
<title><constant>DTV_ATSCMH_SCCC_CODE_MODE_D</constant></title>
|
||||||
|
<para>Series Concatenated Convolutional Code Rate.</para>
|
||||||
|
<para>Possible values are:</para>
|
||||||
|
<programlisting>
|
||||||
|
typedef enum atscmh_sccc_code_mode {
|
||||||
|
ATSCMH_SCCC_CODE_HLF = 0,
|
||||||
|
ATSCMH_SCCC_CODE_QTR = 1,
|
||||||
|
} atscmh_sccc_code_mode_t;
|
||||||
|
</programlisting>
|
||||||
|
</section>
|
||||||
</section>
|
</section>
|
||||||
<section id="DTV-API-VERSION">
|
<section id="DTV-API-VERSION">
|
||||||
<title><constant>DTV_API_VERSION</constant></title>
|
<title><constant>DTV_API_VERSION</constant></title>
|
||||||
@@ -774,6 +907,33 @@ typedef enum fe_hierarchy {
|
|||||||
<listitem><para><link linkend="DTV-BANDWIDTH-HZ"><constant>DTV_BANDWIDTH_HZ</constant></link></para></listitem>
|
<listitem><para><link linkend="DTV-BANDWIDTH-HZ"><constant>DTV_BANDWIDTH_HZ</constant></link></para></listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</section>
|
</section>
|
||||||
|
<section id="atscmh-params">
|
||||||
|
<title>ATSC-MH delivery system</title>
|
||||||
|
<para>The following parameters are valid for ATSC-MH:</para>
|
||||||
|
<itemizedlist mark='opencircle'>
|
||||||
|
<listitem><para><link linkend="DTV-API-VERSION"><constant>DTV_API_VERSION</constant></link></para></listitem>
|
||||||
|
<listitem><para><link linkend="DTV-DELIVERY-SYSTEM"><constant>DTV_DELIVERY_SYSTEM</constant></link></para></listitem>
|
||||||
|
<listitem><para><link linkend="DTV-TUNE"><constant>DTV_TUNE</constant></link></para></listitem>
|
||||||
|
<listitem><para><link linkend="DTV-CLEAR"><constant>DTV_CLEAR</constant></link></para></listitem>
|
||||||
|
<listitem><para><link linkend="DTV-FREQUENCY"><constant>DTV_FREQUENCY</constant></link></para></listitem>
|
||||||
|
<listitem><para><link linkend="DTV-BANDWIDTH-HZ"><constant>DTV_BANDWIDTH_HZ</constant></link></para></listitem>
|
||||||
|
<listitem><para><link linkend="DTV-ATSCMH-FIC-VER"><constant>DTV_ATSCMH_FIC_VER</constant></link></para></listitem>
|
||||||
|
<listitem><para><link linkend="DTV-ATSCMH-PARADE-ID"><constant>DTV_ATSCMH_PARADE_ID</constant></link></para></listitem>
|
||||||
|
<listitem><para><link linkend="DTV-ATSCMH-NOG"><constant>DTV_ATSCMH_NOG</constant></link></para></listitem>
|
||||||
|
<listitem><para><link linkend="DTV-ATSCMH-TNOG"><constant>DTV_ATSCMH_TNOG</constant></link></para></listitem>
|
||||||
|
<listitem><para><link linkend="DTV-ATSCMH-SGN"><constant>DTV_ATSCMH_SGN</constant></link></para></listitem>
|
||||||
|
<listitem><para><link linkend="DTV-ATSCMH-PRC"><constant>DTV_ATSCMH_PRC</constant></link></para></listitem>
|
||||||
|
<listitem><para><link linkend="DTV-ATSCMH-RS-FRAME-MODE"><constant>DTV_ATSCMH_RS_FRAME_MODE</constant></link></para></listitem>
|
||||||
|
<listitem><para><link linkend="DTV-ATSCMH-RS-FRAME-ENSEMBLE"><constant>DTV_ATSCMH_RS_FRAME_ENSEMBLE</constant></link></para></listitem>
|
||||||
|
<listitem><para><link linkend="DTV-ATSCMH-CODE-MODE-PRI"><constant>DTV_ATSCMH_CODE_MODE_PRI</constant></link></para></listitem>
|
||||||
|
<listitem><para><link linkend="DTV-ATSCMH-CODE-MODE-SEC"><constant>DTV_ATSCMH_CODE_MODE_SEC</constant></link></para></listitem>
|
||||||
|
<listitem><para><link linkend="DTV-ATSCMH-SCCC-BLOCK-MODE"><constant>DTV_ATSCMH_SCCC_BLOCK_MODE</constant></link></para></listitem>
|
||||||
|
<listitem><para><link linkend="DTV-ATSCMH-SCCC-CODE_MODE-A"><constant>DTV_ATSCMH_SCCC_CODE_MODE_A</constant></link></para></listitem>
|
||||||
|
<listitem><para><link linkend="DTV-ATSCMH-SCCC-CODE_MODE-B"><constant>DTV_ATSCMH_SCCC_CODE_MODE_B</constant></link></para></listitem>
|
||||||
|
<listitem><para><link linkend="DTV-ATSCMH-SCCC-CODE_MODE-C"><constant>DTV_ATSCMH_SCCC_CODE_MODE_C</constant></link></para></listitem>
|
||||||
|
<listitem><para><link linkend="DTV-ATSCMH-SCCC-CODE_MODE-D"><constant>DTV_ATSCMH_SCCC_CODE_MODE_D</constant></link></para></listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</section>
|
||||||
</section>
|
</section>
|
||||||
<section id="frontend-property-cable-systems">
|
<section id="frontend-property-cable-systems">
|
||||||
<title>Properties used on cable delivery systems</title>
|
<title>Properties used on cable delivery systems</title>
|
||||||
|
@@ -197,4 +197,33 @@ in the frequency range from 87,5 to 108,0 MHz</title>
|
|||||||
<title>NTSC-4: United States RBDS Standard</title>
|
<title>NTSC-4: United States RBDS Standard</title>
|
||||||
</biblioentry>
|
</biblioentry>
|
||||||
|
|
||||||
|
<biblioentry id="iso12232">
|
||||||
|
<abbrev>ISO 12232:2006</abbrev>
|
||||||
|
<authorgroup>
|
||||||
|
<corpauthor>International Organization for Standardization
|
||||||
|
(<ulink url="http://www.iso.org">http://www.iso.org</ulink>)</corpauthor>
|
||||||
|
</authorgroup>
|
||||||
|
<title>Photography — Digital still cameras — Determination
|
||||||
|
of exposure index, ISO speed ratings, standard output sensitivity, and
|
||||||
|
recommended exposure index</title>
|
||||||
|
</biblioentry>
|
||||||
|
|
||||||
|
<biblioentry id="cea861">
|
||||||
|
<abbrev>CEA-861-E</abbrev>
|
||||||
|
<authorgroup>
|
||||||
|
<corpauthor>Consumer Electronics Association
|
||||||
|
(<ulink url="http://www.ce.org">http://www.ce.org</ulink>)</corpauthor>
|
||||||
|
</authorgroup>
|
||||||
|
<title>A DTV Profile for Uncompressed High Speed Digital Interfaces</title>
|
||||||
|
</biblioentry>
|
||||||
|
|
||||||
|
<biblioentry id="vesadmt">
|
||||||
|
<abbrev>VESA DMT</abbrev>
|
||||||
|
<authorgroup>
|
||||||
|
<corpauthor>Video Electronics Standards Association
|
||||||
|
(<ulink url="http://www.vesa.org">http://www.vesa.org</ulink>)</corpauthor>
|
||||||
|
</authorgroup>
|
||||||
|
<title>VESA and Industry Standards and Guidelines for Computer Display Monitor Timing (DMT)</title>
|
||||||
|
</biblioentry>
|
||||||
|
|
||||||
</bibliography>
|
</bibliography>
|
||||||
|
@@ -724,42 +724,50 @@ if (-1 == ioctl (fd, &VIDIOC-S-STD;, &std_id)) {
|
|||||||
}
|
}
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</example>
|
</example>
|
||||||
|
</section>
|
||||||
<section id="dv-timings">
|
<section id="dv-timings">
|
||||||
<title>Digital Video (DV) Timings</title>
|
<title>Digital Video (DV) Timings</title>
|
||||||
<para>
|
<para>
|
||||||
The video standards discussed so far has been dealing with Analog TV and the
|
The video standards discussed so far have been dealing with Analog TV and the
|
||||||
corresponding video timings. Today there are many more different hardware interfaces
|
corresponding video timings. Today there are many more different hardware interfaces
|
||||||
such as High Definition TV interfaces (HDMI), VGA, DVI connectors etc., that carry
|
such as High Definition TV interfaces (HDMI), VGA, DVI connectors etc., that carry
|
||||||
video signals and there is a need to extend the API to select the video timings
|
video signals and there is a need to extend the API to select the video timings
|
||||||
for these interfaces. Since it is not possible to extend the &v4l2-std-id; due to
|
for these interfaces. Since it is not possible to extend the &v4l2-std-id; due to
|
||||||
the limited bits available, a new set of IOCTLs is added to set/get video timings at
|
the limited bits available, a new set of IOCTLs was added to set/get video timings at
|
||||||
the input and output: </para><itemizedlist>
|
the input and output: </para><itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>DV Presets: Digital Video (DV) presets. These are IDs representing a
|
<para>DV Timings: This will allow applications to define detailed
|
||||||
|
video timings for the interface. This includes parameters such as width, height,
|
||||||
|
polarities, frontporch, backporch etc. The <filename>linux/v4l2-dv-timings.h</filename>
|
||||||
|
header can be used to get the timings of the formats in the <xref linkend="cea861" /> and
|
||||||
|
<xref linkend="vesadmt" /> standards.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>DV Presets: Digital Video (DV) presets (<emphasis role="bold">deprecated</emphasis>).
|
||||||
|
These are IDs representing a
|
||||||
video timing at the input/output. Presets are pre-defined timings implemented
|
video timing at the input/output. Presets are pre-defined timings implemented
|
||||||
by the hardware according to video standards. A __u32 data type is used to represent
|
by the hardware according to video standards. A __u32 data type is used to represent
|
||||||
a preset unlike the bit mask that is used in &v4l2-std-id; allowing future extensions
|
a preset unlike the bit mask that is used in &v4l2-std-id; allowing future extensions
|
||||||
to support as many different presets as needed.</para>
|
to support as many different presets as needed. This API is deprecated in favor of the DV Timings
|
||||||
</listitem>
|
API.</para>
|
||||||
<listitem>
|
|
||||||
<para>Custom DV Timings: This will allow applications to define more detailed
|
|
||||||
custom video timings for the interface. This includes parameters such as width, height,
|
|
||||||
polarities, frontporch, backporch etc.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
<para>To enumerate and query the attributes of the DV timings supported by a device,
|
||||||
|
applications use the &VIDIOC-ENUM-DV-TIMINGS; and &VIDIOC-DV-TIMINGS-CAP; ioctls.
|
||||||
|
To set DV timings for the device, applications use the
|
||||||
|
&VIDIOC-S-DV-TIMINGS; ioctl and to get current DV timings they use the
|
||||||
|
&VIDIOC-G-DV-TIMINGS; ioctl. To detect the DV timings as seen by the video receiver applications
|
||||||
|
use the &VIDIOC-QUERY-DV-TIMINGS; ioctl.</para>
|
||||||
<para>To enumerate and query the attributes of DV presets supported by a device,
|
<para>To enumerate and query the attributes of DV presets supported by a device,
|
||||||
applications use the &VIDIOC-ENUM-DV-PRESETS; ioctl. To get the current DV preset,
|
applications use the &VIDIOC-ENUM-DV-PRESETS; ioctl. To get the current DV preset,
|
||||||
applications use the &VIDIOC-G-DV-PRESET; ioctl and to set a preset they use the
|
applications use the &VIDIOC-G-DV-PRESET; ioctl and to set a preset they use the
|
||||||
&VIDIOC-S-DV-PRESET; ioctl.</para>
|
&VIDIOC-S-DV-PRESET; ioctl. To detect the preset as seen by the video receiver applications
|
||||||
<para>To set custom DV timings for the device, applications use the
|
use the &VIDIOC-QUERY-DV-PRESET; ioctl.</para>
|
||||||
&VIDIOC-S-DV-TIMINGS; ioctl and to get current custom DV timings they use the
|
|
||||||
&VIDIOC-G-DV-TIMINGS; ioctl.</para>
|
|
||||||
<para>Applications can make use of the <xref linkend="input-capabilities" /> and
|
<para>Applications can make use of the <xref linkend="input-capabilities" /> and
|
||||||
<xref linkend="output-capabilities"/> flags to decide what ioctls are available to set the
|
<xref linkend="output-capabilities"/> flags to decide what ioctls are available to set the
|
||||||
video timings for the device.</para>
|
video timings for the device.</para>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
|
||||||
|
|
||||||
&sub-controls;
|
&sub-controls;
|
||||||
|
|
||||||
|
@@ -2407,6 +2407,54 @@ details.</para>
|
|||||||
<para>Added <link linkend="jpeg-controls">JPEG compression control
|
<para>Added <link linkend="jpeg-controls">JPEG compression control
|
||||||
class</link>.</para>
|
class</link>.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Extended the DV Timings API:
|
||||||
|
&VIDIOC-ENUM-DV-TIMINGS;, &VIDIOC-QUERY-DV-TIMINGS; and
|
||||||
|
&VIDIOC-DV-TIMINGS-CAP;.</para>
|
||||||
|
</listitem>
|
||||||
|
</orderedlist>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<title>V4L2 in Linux 3.5</title>
|
||||||
|
<orderedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>Added integer menus, the new type will be
|
||||||
|
V4L2_CTRL_TYPE_INTEGER_MENU.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Added selection API for V4L2 subdev interface:
|
||||||
|
&VIDIOC-SUBDEV-G-SELECTION; and
|
||||||
|
&VIDIOC-SUBDEV-S-SELECTION;.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para> Added <constant>V4L2_COLORFX_ANTIQUE</constant>,
|
||||||
|
<constant>V4L2_COLORFX_ART_FREEZE</constant>,
|
||||||
|
<constant>V4L2_COLORFX_AQUA</constant>,
|
||||||
|
<constant>V4L2_COLORFX_SILHOUETTE</constant>,
|
||||||
|
<constant>V4L2_COLORFX_SOLARIZATION</constant>,
|
||||||
|
<constant>V4L2_COLORFX_VIVID</constant> and
|
||||||
|
<constant>V4L2_COLORFX_ARBITRARY_CBCR</constant> menu items
|
||||||
|
to the <constant>V4L2_CID_COLORFX</constant> control.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para> Added <constant>V4L2_CID_COLORFX_CBCR</constant> control.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para> Added camera controls <constant>V4L2_CID_AUTO_EXPOSURE_BIAS</constant>,
|
||||||
|
<constant>V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE</constant>,
|
||||||
|
<constant>V4L2_CID_IMAGE_STABILIZATION</constant>,
|
||||||
|
<constant>V4L2_CID_ISO_SENSITIVITY</constant>,
|
||||||
|
<constant>V4L2_CID_ISO_SENSITIVITY_AUTO</constant>,
|
||||||
|
<constant>V4L2_CID_EXPOSURE_METERING</constant>,
|
||||||
|
<constant>V4L2_CID_SCENE_MODE</constant>,
|
||||||
|
<constant>V4L2_CID_3A_LOCK</constant>,
|
||||||
|
<constant>V4L2_CID_AUTO_FOCUS_START</constant>,
|
||||||
|
<constant>V4L2_CID_AUTO_FOCUS_STOP</constant>,
|
||||||
|
<constant>V4L2_CID_AUTO_FOCUS_STATUS</constant> and
|
||||||
|
<constant>V4L2_CID_AUTO_FOCUS_RANGE</constant>.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
</orderedlist>
|
</orderedlist>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
@@ -2505,6 +2553,10 @@ and may change in the future.</para>
|
|||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>&VIDIOC-ENCODER-CMD; and &VIDIOC-TRY-ENCODER-CMD;
|
<para>&VIDIOC-ENCODER-CMD; and &VIDIOC-TRY-ENCODER-CMD;
|
||||||
|
ioctls.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>&VIDIOC-DECODER-CMD; and &VIDIOC-TRY-DECODER-CMD;
|
||||||
ioctls.</para>
|
ioctls.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
@@ -2514,6 +2566,10 @@ ioctls.</para>
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>&VIDIOC-DBG-G-CHIP-IDENT; ioctl.</para>
|
<para>&VIDIOC-DBG-G-CHIP-IDENT; ioctl.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>&VIDIOC-ENUM-DV-TIMINGS;, &VIDIOC-QUERY-DV-TIMINGS; and
|
||||||
|
&VIDIOC-DV-TIMINGS-CAP; ioctls.</para>
|
||||||
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Flash API. <xref linkend="flash-controls" /></para>
|
<para>Flash API. <xref linkend="flash-controls" /></para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@@ -2523,6 +2579,14 @@ ioctls.</para>
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>Selection API. <xref linkend="selection-api" /></para>
|
<para>Selection API. <xref linkend="selection-api" /></para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Sub-device selection API: &VIDIOC-SUBDEV-G-SELECTION;
|
||||||
|
and &VIDIOC-SUBDEV-S-SELECTION; ioctls.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para><link linkend="v4l2-auto-focus-area"><constant>
|
||||||
|
V4L2_CID_AUTO_FOCUS_AREA</constant></link> control.</para>
|
||||||
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
@@ -2538,6 +2602,17 @@ interfaces and should not be implemented in new drivers.</para>
|
|||||||
<constant>VIDIOC_S_MPEGCOMP</constant> ioctls. Use Extended Controls,
|
<constant>VIDIOC_S_MPEGCOMP</constant> ioctls. Use Extended Controls,
|
||||||
<xref linkend="extended-controls" />.</para>
|
<xref linkend="extended-controls" />.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>&VIDIOC-G-DV-PRESET;, &VIDIOC-S-DV-PRESET;, &VIDIOC-ENUM-DV-PRESETS; and
|
||||||
|
&VIDIOC-QUERY-DV-PRESET; ioctls. Use the DV Timings API (<xref linkend="dv-timings" />).</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para><constant>VIDIOC_SUBDEV_G_CROP</constant> and
|
||||||
|
<constant>VIDIOC_SUBDEV_S_CROP</constant> ioctls. Use
|
||||||
|
<constant>VIDIOC_SUBDEV_G_SELECTION</constant> and
|
||||||
|
<constant>VIDIOC_SUBDEV_S_SELECTION</constant>, <xref
|
||||||
|
linkend="vidioc-subdev-g-selection" />.</para>
|
||||||
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
@@ -285,18 +285,92 @@ minimum value disables backlight compensation.</entry>
|
|||||||
<row id="v4l2-colorfx">
|
<row id="v4l2-colorfx">
|
||||||
<entry><constant>V4L2_CID_COLORFX</constant></entry>
|
<entry><constant>V4L2_CID_COLORFX</constant></entry>
|
||||||
<entry>enum</entry>
|
<entry>enum</entry>
|
||||||
<entry>Selects a color effect. Possible values for
|
<entry>Selects a color effect. The following values are defined:
|
||||||
<constant>enum v4l2_colorfx</constant> are:
|
</entry>
|
||||||
<constant>V4L2_COLORFX_NONE</constant> (0),
|
</row><row>
|
||||||
<constant>V4L2_COLORFX_BW</constant> (1),
|
<entry></entry>
|
||||||
<constant>V4L2_COLORFX_SEPIA</constant> (2),
|
<entry></entry>
|
||||||
<constant>V4L2_COLORFX_NEGATIVE</constant> (3),
|
<entrytbl spanname="descr" cols="2">
|
||||||
<constant>V4L2_COLORFX_EMBOSS</constant> (4),
|
<tbody valign="top">
|
||||||
<constant>V4L2_COLORFX_SKETCH</constant> (5),
|
<row>
|
||||||
<constant>V4L2_COLORFX_SKY_BLUE</constant> (6),
|
<entry><constant>V4L2_COLORFX_NONE</constant> </entry>
|
||||||
<constant>V4L2_COLORFX_GRASS_GREEN</constant> (7),
|
<entry>Color effect is disabled.</entry>
|
||||||
<constant>V4L2_COLORFX_SKIN_WHITEN</constant> (8) and
|
</row>
|
||||||
<constant>V4L2_COLORFX_VIVID</constant> (9).</entry>
|
<row>
|
||||||
|
<entry><constant>V4L2_COLORFX_ANTIQUE</constant> </entry>
|
||||||
|
<entry>An aging (old photo) effect.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_COLORFX_ART_FREEZE</constant> </entry>
|
||||||
|
<entry>Frost color effect.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_COLORFX_AQUA</constant> </entry>
|
||||||
|
<entry>Water color, cool tone.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_COLORFX_BW</constant> </entry>
|
||||||
|
<entry>Black and white.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_COLORFX_EMBOSS</constant> </entry>
|
||||||
|
<entry>Emboss, the highlights and shadows replace light/dark boundaries
|
||||||
|
and low contrast areas are set to a gray background.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_COLORFX_GRASS_GREEN</constant> </entry>
|
||||||
|
<entry>Grass green.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_COLORFX_NEGATIVE</constant> </entry>
|
||||||
|
<entry>Negative.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_COLORFX_SEPIA</constant> </entry>
|
||||||
|
<entry>Sepia tone.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_COLORFX_SKETCH</constant> </entry>
|
||||||
|
<entry>Sketch.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_COLORFX_SKIN_WHITEN</constant> </entry>
|
||||||
|
<entry>Skin whiten.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_COLORFX_SKY_BLUE</constant> </entry>
|
||||||
|
<entry>Sky blue.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_COLORFX_SOLARIZATION</constant> </entry>
|
||||||
|
<entry>Solarization, the image is partially reversed in tone,
|
||||||
|
only color values above or below a certain threshold are inverted.
|
||||||
|
</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_COLORFX_SILHOUETTE</constant> </entry>
|
||||||
|
<entry>Silhouette (outline).</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_COLORFX_VIVID</constant> </entry>
|
||||||
|
<entry>Vivid colors.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_COLORFX_SET_CBCR</constant> </entry>
|
||||||
|
<entry>The Cb and Cr chroma components are replaced by fixed
|
||||||
|
coefficients determined by <constant>V4L2_CID_COLORFX_CBCR</constant>
|
||||||
|
control.</entry>
|
||||||
|
</row>
|
||||||
|
</tbody>
|
||||||
|
</entrytbl>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_CID_COLORFX_CBCR</constant></entry>
|
||||||
|
<entry>integer</entry>
|
||||||
|
<entry>Determines the Cb and Cr coefficients for <constant>V4L2_COLORFX_SET_CBCR</constant>
|
||||||
|
color effect. Bits [7:0] of the supplied 32 bit value are interpreted as
|
||||||
|
Cr component, bits [15:8] as Cb component and bits [31:16] must be zero.
|
||||||
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry><constant>V4L2_CID_ROTATE</constant></entry>
|
<entry><constant>V4L2_CID_ROTATE</constant></entry>
|
||||||
@@ -2023,7 +2097,7 @@ Possible values are:</entry>
|
|||||||
<entry>integer</entry>
|
<entry>integer</entry>
|
||||||
</row>
|
</row>
|
||||||
<row><entry spanname="descr">Cyclic intra macroblock refresh. This is the number of continuous macroblocks
|
<row><entry spanname="descr">Cyclic intra macroblock refresh. This is the number of continuous macroblocks
|
||||||
refreshed every frame. Each frame a succesive set of macroblocks is refreshed until the cycle completes and starts from the
|
refreshed every frame. Each frame a successive set of macroblocks is refreshed until the cycle completes and starts from the
|
||||||
top of the frame. Applicable to H264, H263 and MPEG4 encoder.</entry>
|
top of the frame. Applicable to H264, H263 and MPEG4 encoder.</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@@ -2183,7 +2257,7 @@ Applicable to the MPEG4 and H264 encoders.</entry>
|
|||||||
<entry>integer</entry>
|
<entry>integer</entry>
|
||||||
</row>
|
</row>
|
||||||
<row><entry spanname="descr">The Video Buffer Verifier size in kilobytes, it is used as a limitation of frame skip.
|
<row><entry spanname="descr">The Video Buffer Verifier size in kilobytes, it is used as a limitation of frame skip.
|
||||||
The VBV is defined in the standard as a mean to verify that the produced stream will be succesfully decoded.
|
The VBV is defined in the standard as a mean to verify that the produced stream will be successfully decoded.
|
||||||
The standard describes it as "Part of a hypothetical decoder that is conceptually connected to the
|
The standard describes it as "Part of a hypothetical decoder that is conceptually connected to the
|
||||||
output of the encoder. Its purpose is to provide a constraint on the variability of the data rate that an
|
output of the encoder. Its purpose is to provide a constraint on the variability of the data rate that an
|
||||||
encoder or editing process may produce.".
|
encoder or editing process may produce.".
|
||||||
@@ -2196,7 +2270,7 @@ Applicable to the MPEG1, MPEG2, MPEG4 encoders.</entry>
|
|||||||
<entry>integer</entry>
|
<entry>integer</entry>
|
||||||
</row>
|
</row>
|
||||||
<row><entry spanname="descr">The Coded Picture Buffer size in kilobytes, it is used as a limitation of frame skip.
|
<row><entry spanname="descr">The Coded Picture Buffer size in kilobytes, it is used as a limitation of frame skip.
|
||||||
The CPB is defined in the H264 standard as a mean to verify that the produced stream will be succesfully decoded.
|
The CPB is defined in the H264 standard as a mean to verify that the produced stream will be successfully decoded.
|
||||||
Applicable to the H264 encoder.</entry>
|
Applicable to the H264 encoder.</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@@ -2774,6 +2848,51 @@ remain constant.</entry>
|
|||||||
</row>
|
</row>
|
||||||
<row><entry></entry></row>
|
<row><entry></entry></row>
|
||||||
|
|
||||||
|
<row>
|
||||||
|
<entry spanname="id"><constant>V4L2_CID_EXPOSURE_BIAS</constant> </entry>
|
||||||
|
<entry>integer menu</entry>
|
||||||
|
</row><row><entry spanname="descr"> Determines the automatic
|
||||||
|
exposure compensation, it is effective only when <constant>V4L2_CID_EXPOSURE_AUTO</constant>
|
||||||
|
control is set to <constant>AUTO</constant>, <constant>SHUTTER_PRIORITY </constant>
|
||||||
|
or <constant>APERTURE_PRIORITY</constant>.
|
||||||
|
It is expressed in terms of EV, drivers should interpret the values as 0.001 EV
|
||||||
|
units, where the value 1000 stands for +1 EV.
|
||||||
|
<para>Increasing the exposure compensation value is equivalent to decreasing
|
||||||
|
the exposure value (EV) and will increase the amount of light at the image
|
||||||
|
sensor. The camera performs the exposure compensation by adjusting absolute
|
||||||
|
exposure time and/or aperture.</para></entry>
|
||||||
|
</row>
|
||||||
|
<row><entry></entry></row>
|
||||||
|
|
||||||
|
<row id="v4l2-exposure-metering">
|
||||||
|
<entry spanname="id"><constant>V4L2_CID_EXPOSURE_METERING</constant> </entry>
|
||||||
|
<entry>enum v4l2_exposure_metering</entry>
|
||||||
|
</row><row><entry spanname="descr">Determines how the camera measures
|
||||||
|
the amount of light available for the frame exposure. Possible values are:</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entrytbl spanname="descr" cols="2">
|
||||||
|
<tbody valign="top">
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_EXPOSURE_METERING_AVERAGE</constant> </entry>
|
||||||
|
<entry>Use the light information coming from the entire frame
|
||||||
|
and average giving no weighting to any particular portion of the metered area.
|
||||||
|
</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_EXPOSURE_METERING_CENTER_WEIGHTED</constant> </entry>
|
||||||
|
<entry>Average the light information coming from the entire frame
|
||||||
|
giving priority to the center of the metered area.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_EXPOSURE_METERING_SPOT</constant> </entry>
|
||||||
|
<entry>Measure only very small area at the center of the frame.</entry>
|
||||||
|
</row>
|
||||||
|
</tbody>
|
||||||
|
</entrytbl>
|
||||||
|
</row>
|
||||||
|
<row><entry></entry></row>
|
||||||
|
|
||||||
<row>
|
<row>
|
||||||
<entry spanname="id"><constant>V4L2_CID_PAN_RELATIVE</constant> </entry>
|
<entry spanname="id"><constant>V4L2_CID_PAN_RELATIVE</constant> </entry>
|
||||||
<entry>integer</entry>
|
<entry>integer</entry>
|
||||||
@@ -2857,12 +2976,106 @@ negative values towards infinity. This is a write-only control.</entry>
|
|||||||
<row>
|
<row>
|
||||||
<entry spanname="id"><constant>V4L2_CID_FOCUS_AUTO</constant> </entry>
|
<entry spanname="id"><constant>V4L2_CID_FOCUS_AUTO</constant> </entry>
|
||||||
<entry>boolean</entry>
|
<entry>boolean</entry>
|
||||||
</row><row><entry spanname="descr">Enables automatic focus
|
</row><row><entry spanname="descr">Enables continuous automatic
|
||||||
adjustments. The effect of manual focus adjustments while this feature
|
focus adjustments. The effect of manual focus adjustments while this feature
|
||||||
is enabled is undefined, drivers should ignore such requests.</entry>
|
is enabled is undefined, drivers should ignore such requests.</entry>
|
||||||
</row>
|
</row>
|
||||||
<row><entry></entry></row>
|
<row><entry></entry></row>
|
||||||
|
|
||||||
|
<row>
|
||||||
|
<entry spanname="id"><constant>V4L2_CID_AUTO_FOCUS_START</constant> </entry>
|
||||||
|
<entry>button</entry>
|
||||||
|
</row><row><entry spanname="descr">Starts single auto focus process.
|
||||||
|
The effect of setting this control when <constant>V4L2_CID_FOCUS_AUTO</constant>
|
||||||
|
is set to <constant>TRUE</constant> (1) is undefined, drivers should ignore
|
||||||
|
such requests.</entry>
|
||||||
|
</row>
|
||||||
|
<row><entry></entry></row>
|
||||||
|
|
||||||
|
<row>
|
||||||
|
<entry spanname="id"><constant>V4L2_CID_AUTO_FOCUS_STOP</constant> </entry>
|
||||||
|
<entry>button</entry>
|
||||||
|
</row><row><entry spanname="descr">Aborts automatic focusing
|
||||||
|
started with <constant>V4L2_CID_AUTO_FOCUS_START</constant> control. It is
|
||||||
|
effective only when the continuous autofocus is disabled, that is when
|
||||||
|
<constant>V4L2_CID_FOCUS_AUTO</constant> control is set to <constant>FALSE
|
||||||
|
</constant> (0).</entry>
|
||||||
|
</row>
|
||||||
|
<row><entry></entry></row>
|
||||||
|
|
||||||
|
<row id="v4l2-auto-focus-status">
|
||||||
|
<entry spanname="id">
|
||||||
|
<constant>V4L2_CID_AUTO_FOCUS_STATUS</constant> </entry>
|
||||||
|
<entry>bitmask</entry>
|
||||||
|
</row>
|
||||||
|
<row><entry spanname="descr">The automatic focus status. This is a read-only
|
||||||
|
control.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entrytbl spanname="descr" cols="2">
|
||||||
|
<tbody valign="top">
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_AUTO_FOCUS_STATUS_IDLE</constant> </entry>
|
||||||
|
<entry>Automatic focus is not active.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_AUTO_FOCUS_STATUS_BUSY</constant> </entry>
|
||||||
|
<entry>Automatic focusing is in progress.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_AUTO_FOCUS_STATUS_REACHED</constant> </entry>
|
||||||
|
<entry>Focus has been reached.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_AUTO_FOCUS_STATUS_FAILED</constant> </entry>
|
||||||
|
<entry>Automatic focus has failed, the driver will not
|
||||||
|
transition from this state until another action is
|
||||||
|
performed by an application.</entry>
|
||||||
|
</row>
|
||||||
|
</tbody>
|
||||||
|
</entrytbl>
|
||||||
|
</row>
|
||||||
|
<row><entry spanname="descr">
|
||||||
|
Setting <constant>V4L2_LOCK_FOCUS</constant> lock bit of the <constant>V4L2_CID_3A_LOCK
|
||||||
|
</constant> control may stop updates of the <constant>V4L2_CID_AUTO_FOCUS_STATUS</constant>
|
||||||
|
control value.</entry>
|
||||||
|
</row>
|
||||||
|
<row><entry></entry></row>
|
||||||
|
|
||||||
|
<row id="v4l2-auto-focus-range">
|
||||||
|
<entry spanname="id">
|
||||||
|
<constant>V4L2_CID_AUTO_FOCUS_RANGE</constant> </entry>
|
||||||
|
<entry>enum v4l2_auto_focus_range</entry>
|
||||||
|
</row>
|
||||||
|
<row><entry spanname="descr">Determines auto focus distance range
|
||||||
|
for which lens may be adjusted. </entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entrytbl spanname="descr" cols="2">
|
||||||
|
<tbody valign="top">
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_AUTO_FOCUS_RANGE_AUTO</constant> </entry>
|
||||||
|
<entry>The camera automatically selects the focus range.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_AUTO_FOCUS_RANGE_NORMAL</constant> </entry>
|
||||||
|
<entry>Normal distance range, limited for best automatic focus
|
||||||
|
performance.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_AUTO_FOCUS_RANGE_MACRO</constant> </entry>
|
||||||
|
<entry>Macro (close-up) auto focus. The camera will
|
||||||
|
use its minimum possible distance for auto focus.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_AUTO_FOCUS_RANGE_INFINITY</constant> </entry>
|
||||||
|
<entry>The lens is set to focus on an object at infinite distance.</entry>
|
||||||
|
</row>
|
||||||
|
</tbody>
|
||||||
|
</entrytbl>
|
||||||
|
</row>
|
||||||
|
<row><entry></entry></row>
|
||||||
|
|
||||||
<row>
|
<row>
|
||||||
<entry spanname="id"><constant>V4L2_CID_ZOOM_ABSOLUTE</constant> </entry>
|
<entry spanname="id"><constant>V4L2_CID_ZOOM_ABSOLUTE</constant> </entry>
|
||||||
<entry>integer</entry>
|
<entry>integer</entry>
|
||||||
@@ -2932,6 +3145,295 @@ camera sensor on or off, or specify its strength. Such band-stop filters can
|
|||||||
be used, for example, to filter out the fluorescent light component.</entry>
|
be used, for example, to filter out the fluorescent light component.</entry>
|
||||||
</row>
|
</row>
|
||||||
<row><entry></entry></row>
|
<row><entry></entry></row>
|
||||||
|
|
||||||
|
<row id="v4l2-auto-n-preset-white-balance">
|
||||||
|
<entry spanname="id"><constant>V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE</constant> </entry>
|
||||||
|
<entry>enum v4l2_auto_n_preset_white_balance</entry>
|
||||||
|
</row><row><entry spanname="descr">Sets white balance to automatic,
|
||||||
|
manual or a preset. The presets determine color temperature of the light as
|
||||||
|
a hint to the camera for white balance adjustments resulting in most accurate
|
||||||
|
color representation. The following white balance presets are listed in order
|
||||||
|
of increasing color temperature.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entrytbl spanname="descr" cols="2">
|
||||||
|
<tbody valign="top">
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_WHITE_BALANCE_MANUAL</constant> </entry>
|
||||||
|
<entry>Manual white balance.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_WHITE_BALANCE_AUTO</constant> </entry>
|
||||||
|
<entry>Automatic white balance adjustments.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_WHITE_BALANCE_INCANDESCENT</constant> </entry>
|
||||||
|
<entry>White balance setting for incandescent (tungsten) lighting.
|
||||||
|
It generally cools down the colors and corresponds approximately to 2500...3500 K
|
||||||
|
color temperature range.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_WHITE_BALANCE_FLUORESCENT</constant> </entry>
|
||||||
|
<entry>White balance preset for fluorescent lighting.
|
||||||
|
It corresponds approximately to 4000...5000 K color temperature.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_WHITE_BALANCE_FLUORESCENT_H</constant> </entry>
|
||||||
|
<entry>With this setting the camera will compensate for
|
||||||
|
fluorescent H lighting.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_WHITE_BALANCE_HORIZON</constant> </entry>
|
||||||
|
<entry>White balance setting for horizon daylight.
|
||||||
|
It corresponds approximately to 5000 K color temperature.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_WHITE_BALANCE_DAYLIGHT</constant> </entry>
|
||||||
|
<entry>White balance preset for daylight (with clear sky).
|
||||||
|
It corresponds approximately to 5000...6500 K color temperature.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_WHITE_BALANCE_FLASH</constant> </entry>
|
||||||
|
<entry>With this setting the camera will compensate for the flash
|
||||||
|
light. It slightly warms up the colors and corresponds roughly to 5000...5500 K
|
||||||
|
color temperature.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_WHITE_BALANCE_CLOUDY</constant> </entry>
|
||||||
|
<entry>White balance preset for moderately overcast sky.
|
||||||
|
This option corresponds approximately to 6500...8000 K color temperature
|
||||||
|
range.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_WHITE_BALANCE_SHADE</constant> </entry>
|
||||||
|
<entry>White balance preset for shade or heavily overcast
|
||||||
|
sky. It corresponds approximately to 9000...10000 K color temperature.
|
||||||
|
</entry>
|
||||||
|
</row>
|
||||||
|
</tbody>
|
||||||
|
</entrytbl>
|
||||||
|
</row>
|
||||||
|
<row><entry></entry></row>
|
||||||
|
|
||||||
|
<row id="v4l2-wide-dynamic-range">
|
||||||
|
<entry spanname="id"><constant>V4L2_CID_WIDE_DYNAMIC_RANGE</constant></entry>
|
||||||
|
<entry>boolean</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry spanname="descr">Enables or disables the camera's wide dynamic
|
||||||
|
range feature. This feature allows to obtain clear images in situations where
|
||||||
|
intensity of the illumination varies significantly throughout the scene, i.e.
|
||||||
|
there are simultaneously very dark and very bright areas. It is most commonly
|
||||||
|
realized in cameras by combining two subsequent frames with different exposure
|
||||||
|
times. <footnote id="ctypeconv"><para> This control may be changed to a menu
|
||||||
|
control in the future, if more options are required.</para></footnote></entry>
|
||||||
|
</row>
|
||||||
|
<row><entry></entry></row>
|
||||||
|
|
||||||
|
<row id="v4l2-image-stabilization">
|
||||||
|
<entry spanname="id"><constant>V4L2_CID_IMAGE_STABILIZATION</constant></entry>
|
||||||
|
<entry>boolean</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry spanname="descr">Enables or disables image stabilization.
|
||||||
|
<footnoteref linkend="ctypeconv"/></entry>
|
||||||
|
</row>
|
||||||
|
<row><entry></entry></row>
|
||||||
|
|
||||||
|
<row>
|
||||||
|
<entry spanname="id"><constant>V4L2_CID_ISO_SENSITIVITY</constant> </entry>
|
||||||
|
<entry>integer menu</entry>
|
||||||
|
</row><row><entry spanname="descr">Determines ISO equivalent of an
|
||||||
|
image sensor indicating the sensor's sensitivity to light. The numbers are
|
||||||
|
expressed in arithmetic scale, as per <xref linkend="iso12232" /> standard,
|
||||||
|
where doubling the sensor sensitivity is represented by doubling the numerical
|
||||||
|
ISO value. Applications should interpret the values as standard ISO values
|
||||||
|
multiplied by 1000, e.g. control value 800 stands for ISO 0.8. Drivers will
|
||||||
|
usually support only a subset of standard ISO values. The effect of setting
|
||||||
|
this control while the <constant>V4L2_CID_ISO_SENSITIVITY_AUTO</constant>
|
||||||
|
control is set to a value other than <constant>V4L2_CID_ISO_SENSITIVITY_MANUAL
|
||||||
|
</constant> is undefined, drivers should ignore such requests.</entry>
|
||||||
|
</row>
|
||||||
|
<row><entry></entry></row>
|
||||||
|
|
||||||
|
<row id="v4l2-iso-sensitivity-auto-type">
|
||||||
|
<entry spanname="id"><constant>V4L2_CID_ISO_SENSITIVITY_AUTO</constant> </entry>
|
||||||
|
<entry>enum v4l2_iso_sensitivity_type</entry>
|
||||||
|
</row><row><entry spanname="descr">Enables or disables automatic ISO
|
||||||
|
sensitivity adjustments.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entrytbl spanname="descr" cols="2">
|
||||||
|
<tbody valign="top">
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_CID_ISO_SENSITIVITY_MANUAL</constant> </entry>
|
||||||
|
<entry>Manual ISO sensitivity.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_CID_ISO_SENSITIVITY_AUTO</constant> </entry>
|
||||||
|
<entry>Automatic ISO sensitivity adjustments.</entry>
|
||||||
|
</row>
|
||||||
|
</tbody>
|
||||||
|
</entrytbl>
|
||||||
|
</row>
|
||||||
|
<row><entry></entry></row>
|
||||||
|
|
||||||
|
<row id="v4l2-scene-mode">
|
||||||
|
<entry spanname="id"><constant>V4L2_CID_SCENE_MODE</constant> </entry>
|
||||||
|
<entry>enum v4l2_scene_mode</entry>
|
||||||
|
</row><row><entry spanname="descr">This control allows to select
|
||||||
|
scene programs as the camera automatic modes optimized for common shooting
|
||||||
|
scenes. Within these modes the camera determines best exposure, aperture,
|
||||||
|
focusing, light metering, white balance and equivalent sensitivity. The
|
||||||
|
controls of those parameters are influenced by the scene mode control.
|
||||||
|
An exact behavior in each mode is subject to the camera specification.
|
||||||
|
|
||||||
|
<para>When the scene mode feature is not used, this control should be set to
|
||||||
|
<constant>V4L2_SCENE_MODE_NONE</constant> to make sure the other possibly
|
||||||
|
related controls are accessible. The following scene programs are defined:
|
||||||
|
</para>
|
||||||
|
</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entrytbl spanname="descr" cols="2">
|
||||||
|
<tbody valign="top">
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_SCENE_MODE_NONE</constant> </entry>
|
||||||
|
<entry>The scene mode feature is disabled.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_SCENE_MODE_BACKLIGHT</constant> </entry>
|
||||||
|
<entry>Backlight. Compensates for dark shadows when light is
|
||||||
|
coming from behind a subject, also by automatically turning
|
||||||
|
on the flash.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_SCENE_MODE_BEACH_SNOW</constant> </entry>
|
||||||
|
<entry>Beach and snow. This mode compensates for all-white or
|
||||||
|
bright scenes, which tend to look gray and low contrast, when camera's automatic
|
||||||
|
exposure is based on an average scene brightness. To compensate, this mode
|
||||||
|
automatically slightly overexposes the frames. The white balance may also be
|
||||||
|
adjusted to compensate for the fact that reflected snow looks bluish rather
|
||||||
|
than white.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_SCENE_MODE_CANDLELIGHT</constant> </entry>
|
||||||
|
<entry>Candle light. The camera generally raises the ISO
|
||||||
|
sensitivity and lowers the shutter speed. This mode compensates for relatively
|
||||||
|
close subject in the scene. The flash is disabled in order to preserve the
|
||||||
|
ambiance of the light.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_SCENE_MODE_DAWN_DUSK</constant> </entry>
|
||||||
|
<entry>Dawn and dusk. Preserves the colors seen in low
|
||||||
|
natural light before dusk and after down. The camera may turn off the flash,
|
||||||
|
and automatically focus at infinity. It will usually boost saturation and
|
||||||
|
lower the shutter speed.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_SCENE_MODE_FALL_COLORS</constant> </entry>
|
||||||
|
<entry>Fall colors. Increases saturation and adjusts white
|
||||||
|
balance for color enhancement. Pictures of autumn leaves get saturated reds
|
||||||
|
and yellows.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_SCENE_MODE_FIREWORKS</constant> </entry>
|
||||||
|
<entry>Fireworks. Long exposure times are used to capture
|
||||||
|
the expanding burst of light from a firework. The camera may invoke image
|
||||||
|
stabilization.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_SCENE_MODE_LANDSCAPE</constant> </entry>
|
||||||
|
<entry>Landscape. The camera may choose a small aperture to
|
||||||
|
provide deep depth of field and long exposure duration to help capture detail
|
||||||
|
in dim light conditions. The focus is fixed at infinity. Suitable for distant
|
||||||
|
and wide scenery.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_SCENE_MODE_NIGHT</constant> </entry>
|
||||||
|
<entry>Night, also known as Night Landscape. Designed for low
|
||||||
|
light conditions, it preserves detail in the dark areas without blowing out bright
|
||||||
|
objects. The camera generally sets itself to a medium-to-high ISO sensitivity,
|
||||||
|
with a relatively long exposure time, and turns flash off. As such, there will be
|
||||||
|
increased image noise and the possibility of blurred image.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_SCENE_MODE_PARTY_INDOOR</constant> </entry>
|
||||||
|
<entry>Party and indoor. Designed to capture indoor scenes
|
||||||
|
that are lit by indoor background lighting as well as the flash. The camera
|
||||||
|
usually increases ISO sensitivity, and adjusts exposure for the low light
|
||||||
|
conditions.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_SCENE_MODE_PORTRAIT</constant> </entry>
|
||||||
|
<entry>Portrait. The camera adjusts the aperture so that the
|
||||||
|
depth of field is reduced, which helps to isolate the subject against a smooth
|
||||||
|
background. Most cameras recognize the presence of faces in the scene and focus
|
||||||
|
on them. The color hue is adjusted to enhance skin tones. The intensity of the
|
||||||
|
flash is often reduced.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_SCENE_MODE_SPORTS</constant> </entry>
|
||||||
|
<entry>Sports. Significantly increases ISO and uses a fast
|
||||||
|
shutter speed to freeze motion of rapidly-moving subjects. Increased image
|
||||||
|
noise may be seen in this mode.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_SCENE_MODE_SUNSET</constant> </entry>
|
||||||
|
<entry>Sunset. Preserves deep hues seen in sunsets and
|
||||||
|
sunrises. It bumps up the saturation.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_SCENE_MODE_TEXT</constant> </entry>
|
||||||
|
<entry>Text. It applies extra contrast and sharpness, it is
|
||||||
|
typically a black-and-white mode optimized for readability. Automatic focus
|
||||||
|
may be switched to close-up mode and this setting may also involve some
|
||||||
|
lens-distortion correction.</entry>
|
||||||
|
</row>
|
||||||
|
</tbody>
|
||||||
|
</entrytbl>
|
||||||
|
</row>
|
||||||
|
<row><entry></entry></row>
|
||||||
|
|
||||||
|
<row>
|
||||||
|
<entry spanname="id"><constant>V4L2_CID_3A_LOCK</constant></entry>
|
||||||
|
<entry>bitmask</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry spanname="descr">This control locks or unlocks the automatic
|
||||||
|
focus, exposure and white balance. The automatic adjustments can be paused
|
||||||
|
independently by setting the corresponding lock bit to 1. The camera then retains
|
||||||
|
the settings until the lock bit is cleared. The following lock bits are defined:
|
||||||
|
</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entrytbl spanname="descr" cols="2">
|
||||||
|
<tbody valign="top">
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_LOCK_EXPOSURE</constant></entry>
|
||||||
|
<entry>Automatic exposure adjustments lock.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_LOCK_WHITE_BALANCE</constant></entry>
|
||||||
|
<entry>Automatic white balance adjustments lock.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_LOCK_FOCUS</constant></entry>
|
||||||
|
<entry>Automatic focus lock.</entry>
|
||||||
|
</row>
|
||||||
|
</tbody>
|
||||||
|
</entrytbl>
|
||||||
|
</row>
|
||||||
|
<row><entry spanname="descr">
|
||||||
|
When a given algorithm is not enabled, drivers should ignore requests
|
||||||
|
to lock it and should return no error. An example might be an application
|
||||||
|
setting bit <constant>V4L2_LOCK_WHITE_BALANCE</constant> when the
|
||||||
|
<constant>V4L2_CID_AUTO_WHITE_BALANCE</constant> control is set to
|
||||||
|
<constant>FALSE</constant>. The value of this control may be changed
|
||||||
|
by exposure, white balance or focus controls.</entry>
|
||||||
|
</row>
|
||||||
|
<row><entry></entry></row>
|
||||||
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</tgroup>
|
</tgroup>
|
||||||
</table>
|
</table>
|
||||||
@@ -3476,7 +3978,7 @@ interface and may change in the future.</para>
|
|||||||
<entry spanname="id"><constant>V4L2_CID_JPEG_CHROMA_SUBSAMPLING</constant></entry>
|
<entry spanname="id"><constant>V4L2_CID_JPEG_CHROMA_SUBSAMPLING</constant></entry>
|
||||||
<entry>menu</entry>
|
<entry>menu</entry>
|
||||||
</row>
|
</row>
|
||||||
<row id="jpeg-chroma-subsampling-control">
|
<row id="v4l2-jpeg-chroma-subsampling">
|
||||||
<entry spanname="descr">The chroma subsampling factors describe how
|
<entry spanname="descr">The chroma subsampling factors describe how
|
||||||
each component of an input image is sampled, in respect to maximum
|
each component of an input image is sampled, in respect to maximum
|
||||||
sample rate in each spatial dimension. See <xref linkend="itu-t81"/>,
|
sample rate in each spatial dimension. See <xref linkend="itu-t81"/>,
|
||||||
@@ -3486,7 +3988,7 @@ interface and may change in the future.</para>
|
|||||||
from RGB to Y'CbCr color space.
|
from RGB to Y'CbCr color space.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row id = "v4l2-jpeg-chroma-subsampling">
|
||||||
<entrytbl spanname="descr" cols="2">
|
<entrytbl spanname="descr" cols="2">
|
||||||
<tbody valign="top">
|
<tbody valign="top">
|
||||||
<row>
|
<row>
|
||||||
@@ -3538,12 +4040,12 @@ interface and may change in the future.</para>
|
|||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
<row id="jpeg-quality-control">
|
<row id="jpeg-quality-control">
|
||||||
<entry spanname="id"><constant>V4L2_CID_JPEG_COMPRESION_QUALITY</constant></entry>
|
<entry spanname="id"><constant>V4L2_CID_JPEG_COMPRESSION_QUALITY</constant></entry>
|
||||||
<entry>integer</entry>
|
<entry>integer</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry spanname="descr">
|
<entry spanname="descr">
|
||||||
<constant>V4L2_CID_JPEG_COMPRESION_QUALITY</constant> control
|
<constant>V4L2_CID_JPEG_COMPRESSION_QUALITY</constant> control
|
||||||
determines trade-off between image quality and size.
|
determines trade-off between image quality and size.
|
||||||
It provides simpler method for applications to control image quality,
|
It provides simpler method for applications to control image quality,
|
||||||
without a need for direct reconfiguration of luminance and chrominance
|
without a need for direct reconfiguration of luminance and chrominance
|
||||||
@@ -3551,7 +4053,7 @@ interface and may change in the future.</para>
|
|||||||
|
|
||||||
In cases where a driver uses quantization tables configured directly
|
In cases where a driver uses quantization tables configured directly
|
||||||
by an application, using interfaces defined elsewhere, <constant>
|
by an application, using interfaces defined elsewhere, <constant>
|
||||||
V4L2_CID_JPEG_COMPRESION_QUALITY</constant> control should be set
|
V4L2_CID_JPEG_COMPRESSION_QUALITY</constant> control should be set
|
||||||
by driver to 0.
|
by driver to 0.
|
||||||
|
|
||||||
<para>The value range of this control is driver-specific. Only
|
<para>The value range of this control is driver-specific. Only
|
||||||
@@ -3599,4 +4101,172 @@ interface and may change in the future.</para>
|
|||||||
to <xref linkend="itu-t81"/>, <xref linkend="jfif"/>,
|
to <xref linkend="itu-t81"/>, <xref linkend="jfif"/>,
|
||||||
<xref linkend="w3c-jpeg-jfif"/>.</para>
|
<xref linkend="w3c-jpeg-jfif"/>.</para>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
<section id="image-source-controls">
|
||||||
|
<title>Image Source Control Reference</title>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<title>Experimental</title>
|
||||||
|
|
||||||
|
<para>This is an <link
|
||||||
|
linkend="experimental">experimental</link> interface and may
|
||||||
|
change in the future.</para>
|
||||||
|
</note>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The Image Source control class is intended for low-level
|
||||||
|
control of image source devices such as image sensors. The
|
||||||
|
devices feature an analogue to digital converter and a bus
|
||||||
|
transmitter to transmit the image data out of the device.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<table pgwide="1" frame="none" id="image-source-control-id">
|
||||||
|
<title>Image Source Control IDs</title>
|
||||||
|
|
||||||
|
<tgroup cols="4">
|
||||||
|
<colspec colname="c1" colwidth="1*" />
|
||||||
|
<colspec colname="c2" colwidth="6*" />
|
||||||
|
<colspec colname="c3" colwidth="2*" />
|
||||||
|
<colspec colname="c4" colwidth="6*" />
|
||||||
|
<spanspec namest="c1" nameend="c2" spanname="id" />
|
||||||
|
<spanspec namest="c2" nameend="c4" spanname="descr" />
|
||||||
|
<thead>
|
||||||
|
<row>
|
||||||
|
<entry spanname="id" align="left">ID</entry>
|
||||||
|
<entry align="left">Type</entry>
|
||||||
|
</row><row rowsep="1"><entry spanname="descr" align="left">Description</entry>
|
||||||
|
</row>
|
||||||
|
</thead>
|
||||||
|
<tbody valign="top">
|
||||||
|
<row><entry></entry></row>
|
||||||
|
<row>
|
||||||
|
<entry spanname="id"><constant>V4L2_CID_IMAGE_SOURCE_CLASS</constant></entry>
|
||||||
|
<entry>class</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry spanname="descr">The IMAGE_SOURCE class descriptor.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry spanname="id"><constant>V4L2_CID_VBLANK</constant></entry>
|
||||||
|
<entry>integer</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry spanname="descr">Vertical blanking. The idle period
|
||||||
|
after every frame during which no image data is produced.
|
||||||
|
The unit of vertical blanking is a line. Every line has
|
||||||
|
length of the image width plus horizontal blanking at the
|
||||||
|
pixel rate defined by
|
||||||
|
<constant>V4L2_CID_PIXEL_RATE</constant> control in the
|
||||||
|
same sub-device.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry spanname="id"><constant>V4L2_CID_HBLANK</constant></entry>
|
||||||
|
<entry>integer</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry spanname="descr">Horizontal blanking. The idle
|
||||||
|
period after every line of image data during which no
|
||||||
|
image data is produced. The unit of horizontal blanking is
|
||||||
|
pixels.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry spanname="id"><constant>V4L2_CID_ANALOGUE_GAIN</constant></entry>
|
||||||
|
<entry>integer</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry spanname="descr">Analogue gain is gain affecting
|
||||||
|
all colour components in the pixel matrix. The gain
|
||||||
|
operation is performed in the analogue domain before A/D
|
||||||
|
conversion.
|
||||||
|
</entry>
|
||||||
|
</row>
|
||||||
|
<row><entry></entry></row>
|
||||||
|
</tbody>
|
||||||
|
</tgroup>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="image-process-controls">
|
||||||
|
<title>Image Process Control Reference</title>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<title>Experimental</title>
|
||||||
|
|
||||||
|
<para>This is an <link
|
||||||
|
linkend="experimental">experimental</link> interface and may
|
||||||
|
change in the future.</para>
|
||||||
|
</note>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The Image Source control class is intended for low-level control of
|
||||||
|
image processing functions. Unlike
|
||||||
|
<constant>V4L2_CID_IMAGE_SOURCE_CLASS</constant>, the controls in
|
||||||
|
this class affect processing the image, and do not control capturing
|
||||||
|
of it.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<table pgwide="1" frame="none" id="image-process-control-id">
|
||||||
|
<title>Image Source Control IDs</title>
|
||||||
|
|
||||||
|
<tgroup cols="4">
|
||||||
|
<colspec colname="c1" colwidth="1*" />
|
||||||
|
<colspec colname="c2" colwidth="6*" />
|
||||||
|
<colspec colname="c3" colwidth="2*" />
|
||||||
|
<colspec colname="c4" colwidth="6*" />
|
||||||
|
<spanspec namest="c1" nameend="c2" spanname="id" />
|
||||||
|
<spanspec namest="c2" nameend="c4" spanname="descr" />
|
||||||
|
<thead>
|
||||||
|
<row>
|
||||||
|
<entry spanname="id" align="left">ID</entry>
|
||||||
|
<entry align="left">Type</entry>
|
||||||
|
</row><row rowsep="1"><entry spanname="descr" align="left">Description</entry>
|
||||||
|
</row>
|
||||||
|
</thead>
|
||||||
|
<tbody valign="top">
|
||||||
|
<row><entry></entry></row>
|
||||||
|
<row>
|
||||||
|
<entry spanname="id"><constant>V4L2_CID_IMAGE_PROC_CLASS</constant></entry>
|
||||||
|
<entry>class</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry spanname="descr">The IMAGE_PROC class descriptor.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry spanname="id"><constant>V4L2_CID_LINK_FREQ</constant></entry>
|
||||||
|
<entry>integer menu</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry spanname="descr">Data bus frequency. Together with the
|
||||||
|
media bus pixel code, bus type (clock cycles per sample), the
|
||||||
|
data bus frequency defines the pixel rate
|
||||||
|
(<constant>V4L2_CID_PIXEL_RATE</constant>) in the
|
||||||
|
pixel array (or possibly elsewhere, if the device is not an
|
||||||
|
image sensor). The frame rate can be calculated from the pixel
|
||||||
|
clock, image width and height and horizontal and vertical
|
||||||
|
blanking. While the pixel rate control may be defined elsewhere
|
||||||
|
than in the subdev containing the pixel array, the frame rate
|
||||||
|
cannot be obtained from that information. This is because only
|
||||||
|
on the pixel array it can be assumed that the vertical and
|
||||||
|
horizontal blanking information is exact: no other blanking is
|
||||||
|
allowed in the pixel array. The selection of frame rate is
|
||||||
|
performed by selecting the desired horizontal and vertical
|
||||||
|
blanking. The unit of this control is Hz. </entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry spanname="id"><constant>V4L2_CID_PIXEL_RATE</constant></entry>
|
||||||
|
<entry>64-bit integer</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry spanname="descr">Pixel rate in the source pads of
|
||||||
|
the subdev. This control is read-only and its unit is
|
||||||
|
pixels / second.
|
||||||
|
</entry>
|
||||||
|
</row>
|
||||||
|
<row><entry></entry></row>
|
||||||
|
</tbody>
|
||||||
|
</tgroup>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
@@ -76,11 +76,12 @@
|
|||||||
<wordasword>format</wordasword> means the combination of media bus data
|
<wordasword>format</wordasword> means the combination of media bus data
|
||||||
format, frame width and frame height.</para></note>
|
format, frame width and frame height.</para></note>
|
||||||
|
|
||||||
<para>Image formats are typically negotiated on video capture and output
|
<para>Image formats are typically negotiated on video capture and
|
||||||
devices using the <link linkend="crop">cropping and scaling</link> ioctls.
|
output devices using the format and <link
|
||||||
The driver is responsible for configuring every block in the video pipeline
|
linkend="vidioc-subdev-g-selection">selection</link> ioctls. The
|
||||||
according to the requested format at the pipeline input and/or
|
driver is responsible for configuring every block in the video
|
||||||
output.</para>
|
pipeline according to the requested format at the pipeline input
|
||||||
|
and/or output.</para>
|
||||||
|
|
||||||
<para>For complex devices, such as often found in embedded systems,
|
<para>For complex devices, such as often found in embedded systems,
|
||||||
identical image sizes at the output of a pipeline can be achieved using
|
identical image sizes at the output of a pipeline can be achieved using
|
||||||
@@ -276,11 +277,11 @@
|
|||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
<title>Cropping and scaling</title>
|
<title>Selections: cropping, scaling and composition</title>
|
||||||
|
|
||||||
<para>Many sub-devices support cropping frames on their input or output
|
<para>Many sub-devices support cropping frames on their input or output
|
||||||
pads (or possible even on both). Cropping is used to select the area of
|
pads (or possible even on both). Cropping is used to select the area of
|
||||||
interest in an image, typically on a video sensor or video decoder. It can
|
interest in an image, typically on an image sensor or a video decoder. It can
|
||||||
also be used as part of digital zoom implementations to select the area of
|
also be used as part of digital zoom implementations to select the area of
|
||||||
the image that will be scaled up.</para>
|
the image that will be scaled up.</para>
|
||||||
|
|
||||||
@@ -288,26 +289,179 @@
|
|||||||
&v4l2-rect; by the coordinates of the top left corner and the rectangle
|
&v4l2-rect; by the coordinates of the top left corner and the rectangle
|
||||||
size. Both the coordinates and sizes are expressed in pixels.</para>
|
size. Both the coordinates and sizes are expressed in pixels.</para>
|
||||||
|
|
||||||
<para>The crop rectangle is retrieved and set using the
|
<para>As for pad formats, drivers store try and active
|
||||||
&VIDIOC-SUBDEV-G-CROP; and &VIDIOC-SUBDEV-S-CROP; ioctls. Like for pad
|
rectangles for the selection targets of ACTUAL type <xref
|
||||||
formats, drivers store try and active crop rectangles. The format
|
linkend="v4l2-subdev-selection-targets">.</xref></para>
|
||||||
negotiation mechanism applies to crop settings as well.</para>
|
|
||||||
|
|
||||||
<para>On input pads, cropping is applied relatively to the current pad
|
<para>On sink pads, cropping is applied relative to the
|
||||||
format. The pad format represents the image size as received by the
|
current pad format. The pad format represents the image size as
|
||||||
sub-device from the previous block in the pipeline, and the crop rectangle
|
received by the sub-device from the previous block in the
|
||||||
represents the sub-image that will be transmitted further inside the
|
pipeline, and the crop rectangle represents the sub-image that
|
||||||
sub-device for processing. The crop rectangle be entirely containted
|
will be transmitted further inside the sub-device for
|
||||||
inside the input image size.</para>
|
processing.</para>
|
||||||
|
|
||||||
<para>Input crop rectangle are reset to their default value when the input
|
<para>The scaling operation changes the size of the image by
|
||||||
image format is modified. Drivers should use the input image size as the
|
scaling it to new dimensions. The scaling ratio isn't specified
|
||||||
crop rectangle default value, but hardware requirements may prevent this.
|
explicitly, but is implied from the original and scaled image
|
||||||
</para>
|
sizes. Both sizes are represented by &v4l2-rect;.</para>
|
||||||
|
|
||||||
<para>Cropping behaviour on output pads is not defined.</para>
|
<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>
|
||||||
|
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>
|
||||||
|
|
||||||
|
<para>On source pads, cropping is similar to sink pads, with the
|
||||||
|
exception that the source size from which the cropping is
|
||||||
|
performed, is the COMPOSE rectangle on the sink pad. In both
|
||||||
|
sink and source pads, the crop rectangle must be entirely
|
||||||
|
contained inside the source image size for the crop
|
||||||
|
operation.</para>
|
||||||
|
|
||||||
|
<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
|
||||||
|
used to round the image size either up or down. <xref
|
||||||
|
linkend="v4l2-subdev-selection-flags"></xref></para>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<title>Types of selection targets</title>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<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>
|
||||||
|
</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>
|
||||||
|
</section>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<title>Order of configuration and format propagation</title>
|
||||||
|
|
||||||
|
<para>Inside subdevs, the order of image processing steps will
|
||||||
|
always be from the sink pad towards the source pad. This is also
|
||||||
|
reflected in the order in which the configuration must be
|
||||||
|
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
|
||||||
|
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
|
||||||
|
underlying hardware.</para>
|
||||||
|
|
||||||
|
<para>The coordinates to a step always refer to the actual size
|
||||||
|
of the previous step. The exception to this rule is the source
|
||||||
|
compose rectangle, which refers to the sink compose bounds
|
||||||
|
rectangle --- if it is supported by the hardware.</para>
|
||||||
|
|
||||||
|
<orderedlist>
|
||||||
|
<listitem>Sink pad format. The user configures the sink pad
|
||||||
|
format. This format defines the parameters of the image the
|
||||||
|
entity receives through the pad for further processing.</listitem>
|
||||||
|
|
||||||
|
<listitem>Sink pad actual crop selection. The sink pad crop
|
||||||
|
defines the crop performed to the sink pad format.</listitem>
|
||||||
|
|
||||||
|
<listitem>Sink pad actual compose selection. The size of the
|
||||||
|
sink pad compose rectangle defines the scaling ratio compared
|
||||||
|
to the size of the sink pad crop rectangle. The location of
|
||||||
|
the compose rectangle specifies the location of the actual
|
||||||
|
sink compose rectangle in the sink compose bounds
|
||||||
|
rectangle.</listitem>
|
||||||
|
|
||||||
|
<listitem>Source pad actual crop selection. Crop on the source
|
||||||
|
pad defines crop performed to the image in the sink compose
|
||||||
|
bounds rectangle.</listitem>
|
||||||
|
|
||||||
|
<listitem>Source pad format. The source pad format defines the
|
||||||
|
output pixel format of the subdev, as well as the other
|
||||||
|
parameters with the exception of the image width and height.
|
||||||
|
Width and height are defined by the size of the source pad
|
||||||
|
actual crop selection.</listitem>
|
||||||
|
</orderedlist>
|
||||||
|
|
||||||
|
<para>Accessing any of the above rectangles not supported by the
|
||||||
|
subdev will return <constant>EINVAL</constant>. Any rectangle
|
||||||
|
referring to a previous unsupported rectangle coordinates will
|
||||||
|
instead refer to the previous supported rectangle. For example,
|
||||||
|
if sink crop is not supported, the compose selection will refer
|
||||||
|
to the sink pad format dimensions instead.</para>
|
||||||
|
|
||||||
|
<figure id="subdev-image-processing-crop">
|
||||||
|
<title>Image processing in subdevs: simple crop example</title>
|
||||||
|
<mediaobject>
|
||||||
|
<imageobject>
|
||||||
|
<imagedata fileref="subdev-image-processing-crop.svg"
|
||||||
|
format="SVG" scale="200" />
|
||||||
|
</imageobject>
|
||||||
|
</mediaobject>
|
||||||
|
</figure>
|
||||||
|
|
||||||
|
<para>In the above example, the subdev supports cropping on its
|
||||||
|
sink pad. To configure it, the user sets the media bus format on
|
||||||
|
the subdev's sink pad. Now the actual crop rectangle can be set
|
||||||
|
on the sink pad --- the location and size of this rectangle
|
||||||
|
reflect the location and size of a rectangle to be cropped from
|
||||||
|
the sink format. The size of the sink crop rectangle will also
|
||||||
|
be the size of the format of the subdev's source pad.</para>
|
||||||
|
|
||||||
|
<figure id="subdev-image-processing-scaling-multi-source">
|
||||||
|
<title>Image processing in subdevs: scaling with multiple sources</title>
|
||||||
|
<mediaobject>
|
||||||
|
<imageobject>
|
||||||
|
<imagedata fileref="subdev-image-processing-scaling-multi-source.svg"
|
||||||
|
format="SVG" scale="200" />
|
||||||
|
</imageobject>
|
||||||
|
</mediaobject>
|
||||||
|
</figure>
|
||||||
|
|
||||||
|
<para>In this example, the subdev is capable of first cropping,
|
||||||
|
then scaling and finally cropping for two source pads
|
||||||
|
individually from the resulting scaled image. The location of
|
||||||
|
the scaled image in the cropped image is ignored in sink compose
|
||||||
|
target. Both of the locations of the source crop rectangles
|
||||||
|
refer to the sink scaling rectangle, independently cropping an
|
||||||
|
area at location specified by the source crop rectangle from
|
||||||
|
it.</para>
|
||||||
|
|
||||||
|
<figure id="subdev-image-processing-full">
|
||||||
|
<title>Image processing in subdevs: scaling and composition
|
||||||
|
with multiple sinks and sources</title>
|
||||||
|
<mediaobject>
|
||||||
|
<imageobject>
|
||||||
|
<imagedata fileref="subdev-image-processing-full.svg"
|
||||||
|
format="SVG" scale="200" />
|
||||||
|
</imageobject>
|
||||||
|
</mediaobject>
|
||||||
|
</figure>
|
||||||
|
|
||||||
|
<para>The subdev driver supports two sink pads and two source
|
||||||
|
pads. The images from both of the sink pads are individually
|
||||||
|
cropped, then scaled and further composed on the composition
|
||||||
|
bounds rectangle. From that, two independent streams are cropped
|
||||||
|
and sent out of the subdev from the source pads.</para>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
&sub-subdev-formats;
|
&sub-subdev-formats;
|
||||||
|
@@ -543,12 +543,13 @@ and can range from zero to the number of buffers allocated
|
|||||||
with the &VIDIOC-REQBUFS; ioctl (&v4l2-requestbuffers; <structfield>count</structfield>) minus one.</entry>
|
with the &VIDIOC-REQBUFS; ioctl (&v4l2-requestbuffers; <structfield>count</structfield>) minus one.</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>&v4l2-buf-type;</entry>
|
<entry>__u32</entry>
|
||||||
<entry><structfield>type</structfield></entry>
|
<entry><structfield>type</structfield></entry>
|
||||||
<entry></entry>
|
<entry></entry>
|
||||||
<entry>Type of the buffer, same as &v4l2-format;
|
<entry>Type of the buffer, same as &v4l2-format;
|
||||||
<structfield>type</structfield> or &v4l2-requestbuffers;
|
<structfield>type</structfield> or &v4l2-requestbuffers;
|
||||||
<structfield>type</structfield>, set by the application.</entry>
|
<structfield>type</structfield>, set by the application. See <xref
|
||||||
|
linkend="v4l2-buf-type" /></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>__u32</entry>
|
<entry>__u32</entry>
|
||||||
@@ -568,7 +569,7 @@ refers to an input stream, applications when an output stream.</entry>
|
|||||||
linkend="buffer-flags" />.</entry>
|
linkend="buffer-flags" />.</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>&v4l2-field;</entry>
|
<entry>__u32</entry>
|
||||||
<entry><structfield>field</structfield></entry>
|
<entry><structfield>field</structfield></entry>
|
||||||
<entry></entry>
|
<entry></entry>
|
||||||
<entry>Indicates the field order of the image in the
|
<entry>Indicates the field order of the image in the
|
||||||
@@ -630,11 +631,12 @@ bandwidth. These devices identify by not enumerating any video
|
|||||||
standards, see <xref linkend="standard" />.</para></entry>
|
standards, see <xref linkend="standard" />.</para></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>&v4l2-memory;</entry>
|
<entry>__u32</entry>
|
||||||
<entry><structfield>memory</structfield></entry>
|
<entry><structfield>memory</structfield></entry>
|
||||||
<entry></entry>
|
<entry></entry>
|
||||||
<entry>This field must be set by applications and/or drivers
|
<entry>This field must be set by applications and/or drivers
|
||||||
in accordance with the selected I/O method.</entry>
|
in accordance with the selected I/O method. See <xref linkend="v4l2-memory"
|
||||||
|
/></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>union</entry>
|
<entry>union</entry>
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
<refentry>
|
<refentry id="pixfmt-srggb10">
|
||||||
<refmeta>
|
<refmeta>
|
||||||
<refentrytitle>V4L2_PIX_FMT_SRGGB10 ('RG10'),
|
<refentrytitle>V4L2_PIX_FMT_SRGGB10 ('RG10'),
|
||||||
V4L2_PIX_FMT_SGRBG10 ('BA10'),
|
V4L2_PIX_FMT_SGRBG10 ('BA10'),
|
||||||
|
29
Documentation/DocBook/media/v4l/pixfmt-srggb10dpcm8.xml
Normal file
29
Documentation/DocBook/media/v4l/pixfmt-srggb10dpcm8.xml
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
<refentry id="pixfmt-srggb10dpcm8">
|
||||||
|
<refmeta>
|
||||||
|
<refentrytitle>
|
||||||
|
V4L2_PIX_FMT_SBGGR10DPCM8 ('bBA8'),
|
||||||
|
V4L2_PIX_FMT_SGBRG10DPCM8 ('bGA8'),
|
||||||
|
V4L2_PIX_FMT_SGRBG10DPCM8 ('BD10'),
|
||||||
|
V4L2_PIX_FMT_SRGGB10DPCM8 ('bRA8'),
|
||||||
|
</refentrytitle>
|
||||||
|
&manvol;
|
||||||
|
</refmeta>
|
||||||
|
<refnamediv>
|
||||||
|
<refname id="V4L2-PIX-FMT-SBGGR10DPCM8"><constant>V4L2_PIX_FMT_SBGGR10DPCM8</constant></refname>
|
||||||
|
<refname id="V4L2-PIX-FMT-SGBRG10DPCM8"><constant>V4L2_PIX_FMT_SGBRG10DPCM8</constant></refname>
|
||||||
|
<refname id="V4L2-PIX-FMT-SGRBG10DPCM8"><constant>V4L2_PIX_FMT_SGRBG10DPCM8</constant></refname>
|
||||||
|
<refname id="V4L2-PIX-FMT-SRGGB10DPCM8"><constant>V4L2_PIX_FMT_SRGGB10DPCM8</constant></refname>
|
||||||
|
<refpurpose>10-bit Bayer formats compressed to 8 bits</refpurpose>
|
||||||
|
</refnamediv>
|
||||||
|
<refsect1>
|
||||||
|
<title>Description</title>
|
||||||
|
|
||||||
|
<para>The following four pixel formats are raw sRGB / Bayer formats
|
||||||
|
with 10 bits per colour compressed to 8 bits each, using DPCM
|
||||||
|
compression. DPCM, differential pulse-code modulation, is lossy.
|
||||||
|
Each colour component consumes 8 bits of memory. In other respects
|
||||||
|
this format is similar to <xref
|
||||||
|
linkend="pixfmt-srggb10">.</xref></para>
|
||||||
|
|
||||||
|
</refsect1>
|
||||||
|
</refentry>
|
@@ -673,6 +673,7 @@ access the palette, this must be done with ioctls of the Linux framebuffer API.<
|
|||||||
&sub-srggb8;
|
&sub-srggb8;
|
||||||
&sub-sbggr16;
|
&sub-sbggr16;
|
||||||
&sub-srggb10;
|
&sub-srggb10;
|
||||||
|
&sub-srggb10dpcm8;
|
||||||
&sub-srggb12;
|
&sub-srggb12;
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
@@ -876,11 +877,6 @@ kernel sources in the file <filename>Documentation/video4linux/cx2341x/README.hm
|
|||||||
<entry>'S561'</entry>
|
<entry>'S561'</entry>
|
||||||
<entry>Compressed GBRG Bayer format used by the gspca driver.</entry>
|
<entry>Compressed GBRG Bayer format used by the gspca driver.</entry>
|
||||||
</row>
|
</row>
|
||||||
<row id="V4L2-PIX-FMT-SGRBG10DPCM8">
|
|
||||||
<entry><constant>V4L2_PIX_FMT_SGRBG10DPCM8</constant></entry>
|
|
||||||
<entry>'DB10'</entry>
|
|
||||||
<entry>10 bit raw Bayer DPCM compressed to 8 bits.</entry>
|
|
||||||
</row>
|
|
||||||
<row id="V4L2-PIX-FMT-PAC207">
|
<row id="V4L2-PIX-FMT-PAC207">
|
||||||
<entry><constant>V4L2_PIX_FMT_PAC207</constant></entry>
|
<entry><constant>V4L2_PIX_FMT_PAC207</constant></entry>
|
||||||
<entry>'P207'</entry>
|
<entry>'P207'</entry>
|
||||||
|
614
Documentation/DocBook/media/v4l/subdev-image-processing-crop.dia
Normal file
614
Documentation/DocBook/media/v4l/subdev-image-processing-crop.dia
Normal file
@@ -0,0 +1,614 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<dia:diagram xmlns:dia="http://www.lysator.liu.se/~alla/dia/">
|
||||||
|
<dia:diagramdata>
|
||||||
|
<dia:attribute name="background">
|
||||||
|
<dia:color val="#ffffff"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="pagebreak">
|
||||||
|
<dia:color val="#000099"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="paper">
|
||||||
|
<dia:composite type="paper">
|
||||||
|
<dia:attribute name="name">
|
||||||
|
<dia:string>#A4#</dia:string>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="tmargin">
|
||||||
|
<dia:real val="2.8222000598907471"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="bmargin">
|
||||||
|
<dia:real val="2.8222000598907471"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="lmargin">
|
||||||
|
<dia:real val="2.8222000598907471"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="rmargin">
|
||||||
|
<dia:real val="2.8222000598907471"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="is_portrait">
|
||||||
|
<dia:boolean val="false"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="scaling">
|
||||||
|
<dia:real val="0.49000000953674316"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="fitto">
|
||||||
|
<dia:boolean val="false"/>
|
||||||
|
</dia:attribute>
|
||||||
|
</dia:composite>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="grid">
|
||||||
|
<dia:composite type="grid">
|
||||||
|
<dia:attribute name="width_x">
|
||||||
|
<dia:real val="1"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="width_y">
|
||||||
|
<dia:real val="1"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="visible_x">
|
||||||
|
<dia:int val="1"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="visible_y">
|
||||||
|
<dia:int val="1"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:composite type="color"/>
|
||||||
|
</dia:composite>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="color">
|
||||||
|
<dia:color val="#d8e5e5"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="guides">
|
||||||
|
<dia:composite type="guides">
|
||||||
|
<dia:attribute name="hguides"/>
|
||||||
|
<dia:attribute name="vguides"/>
|
||||||
|
</dia:composite>
|
||||||
|
</dia:attribute>
|
||||||
|
</dia:diagramdata>
|
||||||
|
<dia:layer name="Background" visible="true" active="true">
|
||||||
|
<dia:object type="Standard - Box" version="0" id="O0">
|
||||||
|
<dia:attribute name="obj_pos">
|
||||||
|
<dia:point val="-0.4,6.5"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="obj_bb">
|
||||||
|
<dia:rectangle val="-0.45,6.45;23.1387,16.2"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="elem_corner">
|
||||||
|
<dia:point val="-0.4,6.5"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="elem_width">
|
||||||
|
<dia:real val="23.48871579904775"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="elem_height">
|
||||||
|
<dia:real val="9.6500000000000004"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="border_width">
|
||||||
|
<dia:real val="0.10000000149011612"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="show_background">
|
||||||
|
<dia:boolean val="false"/>
|
||||||
|
</dia:attribute>
|
||||||
|
</dia:object>
|
||||||
|
<dia:object type="Standard - Box" version="0" id="O1">
|
||||||
|
<dia:attribute name="obj_pos">
|
||||||
|
<dia:point val="0.225,9.45"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="obj_bb">
|
||||||
|
<dia:rectangle val="0.175,9.4;8.225,14.7"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="elem_corner">
|
||||||
|
<dia:point val="0.225,9.45"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="elem_width">
|
||||||
|
<dia:real val="7.9499999999999975"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="elem_height">
|
||||||
|
<dia:real val="5.1999999999999975"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="border_width">
|
||||||
|
<dia:real val="0.10000000149011612"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="border_color">
|
||||||
|
<dia:color val="#a52a2a"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="show_background">
|
||||||
|
<dia:boolean val="true"/>
|
||||||
|
</dia:attribute>
|
||||||
|
</dia:object>
|
||||||
|
<dia:object type="Standard - Box" version="0" id="O2">
|
||||||
|
<dia:attribute name="obj_pos">
|
||||||
|
<dia:point val="3.175,10.55"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="obj_bb">
|
||||||
|
<dia:rectangle val="3.125,10.5;7.925,14.45"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="elem_corner">
|
||||||
|
<dia:point val="3.175,10.55"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="elem_width">
|
||||||
|
<dia:real val="4.6999999999999975"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="elem_height">
|
||||||
|
<dia:real val="3.8499999999999979"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="border_width">
|
||||||
|
<dia:real val="0.10000000149011612"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="border_color">
|
||||||
|
<dia:color val="#0000ff"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="show_background">
|
||||||
|
<dia:boolean val="true"/>
|
||||||
|
</dia:attribute>
|
||||||
|
</dia:object>
|
||||||
|
<dia:object type="Standard - Text" version="1" id="O3">
|
||||||
|
<dia:attribute name="obj_pos">
|
||||||
|
<dia:point val="3.725,11.3875"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="obj_bb">
|
||||||
|
<dia:rectangle val="3.725,10.7925;6.6025,13.14"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="text">
|
||||||
|
<dia:composite type="text">
|
||||||
|
<dia:attribute name="string">
|
||||||
|
<dia:string>#sink
|
||||||
|
crop
|
||||||
|
selection#</dia:string>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="font">
|
||||||
|
<dia:font family="sans" style="0" name="Helvetica"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="height">
|
||||||
|
<dia:real val="0.80000000000000004"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="pos">
|
||||||
|
<dia:point val="3.725,11.3875"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="color">
|
||||||
|
<dia:color val="#0000ff"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="alignment">
|
||||||
|
<dia:enum val="0"/>
|
||||||
|
</dia:attribute>
|
||||||
|
</dia:composite>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="valign">
|
||||||
|
<dia:enum val="3"/>
|
||||||
|
</dia:attribute>
|
||||||
|
</dia:object>
|
||||||
|
<dia:object type="Standard - Text" version="1" id="O4">
|
||||||
|
<dia:attribute name="obj_pos">
|
||||||
|
<dia:point val="1.475,7.9"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="obj_bb">
|
||||||
|
<dia:rectangle val="1.475,7.305;1.475,8.0525"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="text">
|
||||||
|
<dia:composite type="text">
|
||||||
|
<dia:attribute name="string">
|
||||||
|
<dia:string>##</dia:string>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="font">
|
||||||
|
<dia:font family="sans" style="0" name="Helvetica"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="height">
|
||||||
|
<dia:real val="0.80000000000000004"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="pos">
|
||||||
|
<dia:point val="1.475,7.9"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="color">
|
||||||
|
<dia:color val="#000000"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="alignment">
|
||||||
|
<dia:enum val="0"/>
|
||||||
|
</dia:attribute>
|
||||||
|
</dia:composite>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="valign">
|
||||||
|
<dia:enum val="3"/>
|
||||||
|
</dia:attribute>
|
||||||
|
</dia:object>
|
||||||
|
<dia:object type="Standard - Text" version="1" id="O5">
|
||||||
|
<dia:attribute name="obj_pos">
|
||||||
|
<dia:point val="0.426918,7.89569"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="obj_bb">
|
||||||
|
<dia:rectangle val="0.426918,7.30069;3.90942,8.84819"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="text">
|
||||||
|
<dia:composite type="text">
|
||||||
|
<dia:attribute name="string">
|
||||||
|
<dia:string>#sink media
|
||||||
|
bus format#</dia:string>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="font">
|
||||||
|
<dia:font family="sans" style="0" name="Helvetica"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="height">
|
||||||
|
<dia:real val="0.80000000000000004"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="pos">
|
||||||
|
<dia:point val="0.426918,7.89569"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="color">
|
||||||
|
<dia:color val="#a52a2a"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="alignment">
|
||||||
|
<dia:enum val="0"/>
|
||||||
|
</dia:attribute>
|
||||||
|
</dia:composite>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="valign">
|
||||||
|
<dia:enum val="3"/>
|
||||||
|
</dia:attribute>
|
||||||
|
</dia:object>
|
||||||
|
<dia:object type="Standard - Text" version="1" id="O6">
|
||||||
|
<dia:attribute name="obj_pos">
|
||||||
|
<dia:point val="17.4887,7.75"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="obj_bb">
|
||||||
|
<dia:rectangle val="17.4887,7.155;21.8112,8.7025"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="text">
|
||||||
|
<dia:composite type="text">
|
||||||
|
<dia:attribute name="string">
|
||||||
|
<dia:string>#source media
|
||||||
|
bus format#</dia:string>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="font">
|
||||||
|
<dia:font family="sans" style="0" name="Helvetica"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="height">
|
||||||
|
<dia:real val="0.80000000000000004"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="pos">
|
||||||
|
<dia:point val="17.4887,7.75"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="color">
|
||||||
|
<dia:color val="#8b6914"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="alignment">
|
||||||
|
<dia:enum val="0"/>
|
||||||
|
</dia:attribute>
|
||||||
|
</dia:composite>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="valign">
|
||||||
|
<dia:enum val="3"/>
|
||||||
|
</dia:attribute>
|
||||||
|
</dia:object>
|
||||||
|
<dia:object type="Standard - Box" version="0" id="O7">
|
||||||
|
<dia:attribute name="obj_pos">
|
||||||
|
<dia:point val="17.5244,9.5417"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="obj_bb">
|
||||||
|
<dia:rectangle val="17.4744,9.4917;22.2387,13.35"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="elem_corner">
|
||||||
|
<dia:point val="17.5244,9.5417"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="elem_width">
|
||||||
|
<dia:real val="4.6643157990477508"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="elem_height">
|
||||||
|
<dia:real val="3.758300000000002"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="border_width">
|
||||||
|
<dia:real val="0.10000000149011612"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="border_color">
|
||||||
|
<dia:color val="#8b6914"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="show_background">
|
||||||
|
<dia:boolean val="true"/>
|
||||||
|
</dia:attribute>
|
||||||
|
</dia:object>
|
||||||
|
<dia:object type="Standard - Line" version="0" id="O8">
|
||||||
|
<dia:attribute name="obj_pos">
|
||||||
|
<dia:point val="17.5244,13.3"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="obj_bb">
|
||||||
|
<dia:rectangle val="3.12132,13.2463;17.5781,14.4537"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="conn_endpoints">
|
||||||
|
<dia:point val="17.5244,13.3"/>
|
||||||
|
<dia:point val="3.175,14.4"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="numcp">
|
||||||
|
<dia:int val="1"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="line_color">
|
||||||
|
<dia:color val="#e60505"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="line_style">
|
||||||
|
<dia:enum val="4"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:connections>
|
||||||
|
<dia:connection handle="0" to="O7" connection="5"/>
|
||||||
|
<dia:connection handle="1" to="O2" connection="5"/>
|
||||||
|
</dia:connections>
|
||||||
|
</dia:object>
|
||||||
|
<dia:object type="Standard - Line" version="0" id="O9">
|
||||||
|
<dia:attribute name="obj_pos">
|
||||||
|
<dia:point val="17.5244,9.5417"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="obj_bb">
|
||||||
|
<dia:rectangle val="3.12162,9.48832;17.5778,10.6034"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="conn_endpoints">
|
||||||
|
<dia:point val="17.5244,9.5417"/>
|
||||||
|
<dia:point val="3.175,10.55"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="numcp">
|
||||||
|
<dia:int val="1"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="line_color">
|
||||||
|
<dia:color val="#e60505"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="line_style">
|
||||||
|
<dia:enum val="4"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:connections>
|
||||||
|
<dia:connection handle="0" to="O7" connection="0"/>
|
||||||
|
<dia:connection handle="1" to="O2" connection="0"/>
|
||||||
|
</dia:connections>
|
||||||
|
</dia:object>
|
||||||
|
<dia:object type="Standard - Line" version="0" id="O10">
|
||||||
|
<dia:attribute name="obj_pos">
|
||||||
|
<dia:point val="22.1887,13.3"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="obj_bb">
|
||||||
|
<dia:rectangle val="7.82132,13.2463;22.2424,14.4537"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="conn_endpoints">
|
||||||
|
<dia:point val="22.1887,13.3"/>
|
||||||
|
<dia:point val="7.875,14.4"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="numcp">
|
||||||
|
<dia:int val="1"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="line_color">
|
||||||
|
<dia:color val="#e60505"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="line_style">
|
||||||
|
<dia:enum val="4"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:connections>
|
||||||
|
<dia:connection handle="0" to="O7" connection="7"/>
|
||||||
|
<dia:connection handle="1" to="O2" connection="7"/>
|
||||||
|
</dia:connections>
|
||||||
|
</dia:object>
|
||||||
|
<dia:object type="Standard - Line" version="0" id="O11">
|
||||||
|
<dia:attribute name="obj_pos">
|
||||||
|
<dia:point val="22.1887,9.5417"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="obj_bb">
|
||||||
|
<dia:rectangle val="7.82161,9.48831;22.2421,10.6034"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="conn_endpoints">
|
||||||
|
<dia:point val="22.1887,9.5417"/>
|
||||||
|
<dia:point val="7.875,10.55"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="numcp">
|
||||||
|
<dia:int val="1"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="line_color">
|
||||||
|
<dia:color val="#e60505"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="line_style">
|
||||||
|
<dia:enum val="4"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:connections>
|
||||||
|
<dia:connection handle="0" to="O7" connection="2"/>
|
||||||
|
<dia:connection handle="1" to="O2" connection="2"/>
|
||||||
|
</dia:connections>
|
||||||
|
</dia:object>
|
||||||
|
<dia:object type="Geometric - Perfect Circle" version="1" id="O12">
|
||||||
|
<dia:attribute name="obj_pos">
|
||||||
|
<dia:point val="23.23,10.5742"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="obj_bb">
|
||||||
|
<dia:rectangle val="23.18,10.5242;24.13,11.4742"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="meta">
|
||||||
|
<dia:composite type="dict"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="elem_corner">
|
||||||
|
<dia:point val="23.23,10.5742"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="elem_width">
|
||||||
|
<dia:real val="0.84999999999999787"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="elem_height">
|
||||||
|
<dia:real val="0.84999999999999787"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="line_width">
|
||||||
|
<dia:real val="0.10000000000000001"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="line_colour">
|
||||||
|
<dia:color val="#000000"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="fill_colour">
|
||||||
|
<dia:color val="#ffffff"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="show_background">
|
||||||
|
<dia:boolean val="true"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="line_style">
|
||||||
|
<dia:enum val="0"/>
|
||||||
|
<dia:real val="1"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="flip_horizontal">
|
||||||
|
<dia:boolean val="false"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="flip_vertical">
|
||||||
|
<dia:boolean val="false"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="subscale">
|
||||||
|
<dia:real val="1"/>
|
||||||
|
</dia:attribute>
|
||||||
|
</dia:object>
|
||||||
|
<dia:object type="Standard - Line" version="0" id="O13">
|
||||||
|
<dia:attribute name="obj_pos">
|
||||||
|
<dia:point val="24.08,10.9992"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="obj_bb">
|
||||||
|
<dia:rectangle val="24.03,10.6388;32.4953,11.3624"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="conn_endpoints">
|
||||||
|
<dia:point val="24.08,10.9992"/>
|
||||||
|
<dia:point val="32.3835,11.0007"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="numcp">
|
||||||
|
<dia:int val="1"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="end_arrow">
|
||||||
|
<dia:enum val="22"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="end_arrow_length">
|
||||||
|
<dia:real val="0.5"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="end_arrow_width">
|
||||||
|
<dia:real val="0.5"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:connections>
|
||||||
|
<dia:connection handle="0" to="O12" connection="3"/>
|
||||||
|
</dia:connections>
|
||||||
|
</dia:object>
|
||||||
|
<dia:object type="Standard - Text" version="1" id="O14">
|
||||||
|
<dia:attribute name="obj_pos">
|
||||||
|
<dia:point val="25.3454,10.49"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="obj_bb">
|
||||||
|
<dia:rectangle val="25.3454,9.895;29.9904,10.6425"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="text">
|
||||||
|
<dia:composite type="text">
|
||||||
|
<dia:attribute name="string">
|
||||||
|
<dia:string>#pad 1 (source)#</dia:string>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="font">
|
||||||
|
<dia:font family="sans" style="0" name="Helvetica"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="height">
|
||||||
|
<dia:real val="0.80000000000000004"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="pos">
|
||||||
|
<dia:point val="25.3454,10.49"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="color">
|
||||||
|
<dia:color val="#000000"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="alignment">
|
||||||
|
<dia:enum val="0"/>
|
||||||
|
</dia:attribute>
|
||||||
|
</dia:composite>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="valign">
|
||||||
|
<dia:enum val="3"/>
|
||||||
|
</dia:attribute>
|
||||||
|
</dia:object>
|
||||||
|
<dia:object type="Geometric - Perfect Circle" version="1" id="O15">
|
||||||
|
<dia:attribute name="obj_pos">
|
||||||
|
<dia:point val="-1.44491,11.6506"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="obj_bb">
|
||||||
|
<dia:rectangle val="-1.49491,11.6006;-0.54491,12.5506"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="meta">
|
||||||
|
<dia:composite type="dict"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="elem_corner">
|
||||||
|
<dia:point val="-1.44491,11.6506"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="elem_width">
|
||||||
|
<dia:real val="0.84999999999999787"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="elem_height">
|
||||||
|
<dia:real val="0.84999999999999787"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="line_width">
|
||||||
|
<dia:real val="0.10000000000000001"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="line_colour">
|
||||||
|
<dia:color val="#000000"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="fill_colour">
|
||||||
|
<dia:color val="#ffffff"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="show_background">
|
||||||
|
<dia:boolean val="true"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="line_style">
|
||||||
|
<dia:enum val="0"/>
|
||||||
|
<dia:real val="1"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="flip_horizontal">
|
||||||
|
<dia:boolean val="false"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="flip_vertical">
|
||||||
|
<dia:boolean val="false"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="subscale">
|
||||||
|
<dia:real val="1"/>
|
||||||
|
</dia:attribute>
|
||||||
|
</dia:object>
|
||||||
|
<dia:object type="Standard - Line" version="0" id="O16">
|
||||||
|
<dia:attribute name="obj_pos">
|
||||||
|
<dia:point val="-9.61991,12.09"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="obj_bb">
|
||||||
|
<dia:rectangle val="-9.67,11.7149;-1.33311,12.4385"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="conn_endpoints">
|
||||||
|
<dia:point val="-9.61991,12.09"/>
|
||||||
|
<dia:point val="-1.44491,12.0756"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="numcp">
|
||||||
|
<dia:int val="1"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="end_arrow">
|
||||||
|
<dia:enum val="22"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="end_arrow_length">
|
||||||
|
<dia:real val="0.5"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="end_arrow_width">
|
||||||
|
<dia:real val="0.5"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:connections>
|
||||||
|
<dia:connection handle="1" to="O15" connection="2"/>
|
||||||
|
</dia:connections>
|
||||||
|
</dia:object>
|
||||||
|
<dia:object type="Standard - Text" version="1" id="O17">
|
||||||
|
<dia:attribute name="obj_pos">
|
||||||
|
<dia:point val="-7.39291,11.49"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="obj_bb">
|
||||||
|
<dia:rectangle val="-7.39291,10.895;-3.58791,11.6425"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="text">
|
||||||
|
<dia:composite type="text">
|
||||||
|
<dia:attribute name="string">
|
||||||
|
<dia:string>#pad 0 (sink)#</dia:string>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="font">
|
||||||
|
<dia:font family="sans" style="0" name="Helvetica"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="height">
|
||||||
|
<dia:real val="0.80000000000000004"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="pos">
|
||||||
|
<dia:point val="-7.39291,11.49"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="color">
|
||||||
|
<dia:color val="#000000"/>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="alignment">
|
||||||
|
<dia:enum val="0"/>
|
||||||
|
</dia:attribute>
|
||||||
|
</dia:composite>
|
||||||
|
</dia:attribute>
|
||||||
|
<dia:attribute name="valign">
|
||||||
|
<dia:enum val="3"/>
|
||||||
|
</dia:attribute>
|
||||||
|
</dia:object>
|
||||||
|
</dia:layer>
|
||||||
|
</dia:diagram>
|
@@ -0,0 +1,63 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/PR-SVG-20010719/DTD/svg10.dtd">
|
||||||
|
<svg width="43cm" height="10cm" viewBox="-194 128 844 196" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
<rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="-8" y="130" width="469.774" height="193"/>
|
||||||
|
<g>
|
||||||
|
<rect style="fill: #ffffff" x="4.5" y="189" width="159" height="104"/>
|
||||||
|
<rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #a52a2a" x="4.5" y="189" width="159" height="104"/>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
<rect style="fill: #ffffff" x="63.5" y="211" width="94" height="77"/>
|
||||||
|
<rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #0000ff" x="63.5" y="211" width="94" height="77"/>
|
||||||
|
</g>
|
||||||
|
<text style="fill: #0000ff;text-anchor:start;font-size:12.8;font-family:sanserif;font-style:normal;font-weight:normal" x="74.5" y="227.75">
|
||||||
|
<tspan x="74.5" y="227.75">sink</tspan>
|
||||||
|
<tspan x="74.5" y="243.75">crop</tspan>
|
||||||
|
<tspan x="74.5" y="259.75">selection</tspan>
|
||||||
|
</text>
|
||||||
|
<text style="fill: #000000;text-anchor:start;font-size:12.8;font-family:sanserif;font-style:normal;font-weight:normal" x="29.5" y="158">
|
||||||
|
<tspan x="29.5" y="158"></tspan>
|
||||||
|
</text>
|
||||||
|
<text style="fill: #a52a2a;text-anchor:start;font-size:12.8;font-family:sanserif;font-style:normal;font-weight:normal" x="8.53836" y="157.914">
|
||||||
|
<tspan x="8.53836" y="157.914">sink media</tspan>
|
||||||
|
<tspan x="8.53836" y="173.914">bus format</tspan>
|
||||||
|
</text>
|
||||||
|
<text style="fill: #8b6914;text-anchor:start;font-size:12.8;font-family:sanserif;font-style:normal;font-weight:normal" x="349.774" y="155">
|
||||||
|
<tspan x="349.774" y="155">source media</tspan>
|
||||||
|
<tspan x="349.774" y="171">bus format</tspan>
|
||||||
|
</text>
|
||||||
|
<g>
|
||||||
|
<rect style="fill: #ffffff" x="350.488" y="190.834" width="93.2863" height="75.166"/>
|
||||||
|
<rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #8b6914" x="350.488" y="190.834" width="93.2863" height="75.166"/>
|
||||||
|
</g>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #e60505" x1="350.488" y1="266" x2="63.5" y2="288"/>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #e60505" x1="350.488" y1="190.834" x2="63.5" y2="211"/>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #e60505" x1="443.774" y1="266" x2="157.5" y2="288"/>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #e60505" x1="443.774" y1="190.834" x2="157.5" y2="211"/>
|
||||||
|
<g>
|
||||||
|
<ellipse style="fill: #ffffff" cx="473.1" cy="219.984" rx="8.5" ry="8.5"/>
|
||||||
|
<ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="473.1" cy="219.984" rx="8.5" ry="8.5"/>
|
||||||
|
<ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="473.1" cy="219.984" rx="8.5" ry="8.5"/>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="481.6" y1="219.984" x2="637.934" y2="220.012"/>
|
||||||
|
<polygon style="fill: #000000" points="645.434,220.014 635.433,225.012 637.934,220.012 635.435,215.012 "/>
|
||||||
|
<polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="645.434,220.014 635.433,225.012 637.934,220.012 635.435,215.012 "/>
|
||||||
|
</g>
|
||||||
|
<text style="fill: #000000;text-anchor:start;font-size:12.8;font-family:sanserif;font-style:normal;font-weight:normal" x="506.908" y="209.8">
|
||||||
|
<tspan x="506.908" y="209.8">pad 1 (source)</tspan>
|
||||||
|
</text>
|
||||||
|
<g>
|
||||||
|
<ellipse style="fill: #ffffff" cx="-20.3982" cy="241.512" rx="8.5" ry="8.5"/>
|
||||||
|
<ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="-20.3982" cy="241.512" rx="8.5" ry="8.5"/>
|
||||||
|
<ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="-20.3982" cy="241.512" rx="8.5" ry="8.5"/>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="-192.398" y1="241.8" x2="-38.6343" y2="241.529"/>
|
||||||
|
<polygon style="fill: #000000" points="-31.1343,241.516 -41.1254,246.534 -38.6343,241.529 -41.1431,236.534 "/>
|
||||||
|
<polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="-31.1343,241.516 -41.1254,246.534 -38.6343,241.529 -41.1431,236.534 "/>
|
||||||
|
</g>
|
||||||
|
<text style="fill: #000000;text-anchor:start;font-size:12.8;font-family:sanserif;font-style:normal;font-weight:normal" x="-147.858" y="229.8">
|
||||||
|
<tspan x="-147.858" y="229.8">pad 0 (sink)</tspan>
|
||||||
|
</text>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 4.5 KiB |
1588
Documentation/DocBook/media/v4l/subdev-image-processing-full.dia
Normal file
1588
Documentation/DocBook/media/v4l/subdev-image-processing-full.dia
Normal file
File diff suppressed because it is too large
Load Diff
163
Documentation/DocBook/media/v4l/subdev-image-processing-full.svg
Normal file
163
Documentation/DocBook/media/v4l/subdev-image-processing-full.svg
Normal file
@@ -0,0 +1,163 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/PR-SVG-20010719/DTD/svg10.dtd">
|
||||||
|
<svg width="59cm" height="18cm" viewBox="-186 71 1178 346" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
<g>
|
||||||
|
<rect style="fill: #ffffff" x="318.9" y="129" width="208.1" height="249"/>
|
||||||
|
<rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #ff765a" x="318.9" y="129" width="208.1" height="249"/>
|
||||||
|
</g>
|
||||||
|
<rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="-2" y="73" width="806" height="343"/>
|
||||||
|
<g>
|
||||||
|
<ellipse style="fill: #ffffff" cx="-12.5" cy="166.712" rx="8.5" ry="8.5"/>
|
||||||
|
<ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="-12.5" cy="166.712" rx="8.5" ry="8.5"/>
|
||||||
|
<ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="-12.5" cy="166.712" rx="8.5" ry="8.5"/>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
<ellipse style="fill: #ffffff" cx="815.232" cy="205.184" rx="8.5" ry="8.5"/>
|
||||||
|
<ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="815.232" cy="205.184" rx="8.5" ry="8.5"/>
|
||||||
|
<ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="815.232" cy="205.184" rx="8.5" ry="8.5"/>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="-184.5" y1="167" x2="-30.7361" y2="166.729"/>
|
||||||
|
<polygon style="fill: #000000" points="-23.2361,166.716 -33.2272,171.734 -30.7361,166.729 -33.2449,161.734 "/>
|
||||||
|
<polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="-23.2361,166.716 -33.2272,171.734 -30.7361,166.729 -33.2449,161.734 "/>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="823.732" y1="205.184" x2="980.066" y2="205.212"/>
|
||||||
|
<polygon style="fill: #000000" points="987.566,205.214 977.565,210.212 980.066,205.212 977.567,200.212 "/>
|
||||||
|
<polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="987.566,205.214 977.565,210.212 980.066,205.212 977.567,200.212 "/>
|
||||||
|
</g>
|
||||||
|
<text style="fill: #000000;text-anchor:start;font-size:12.8;font-family:sanserif;font-style:normal;font-weight:normal" x="-139.96" y="155">
|
||||||
|
<tspan x="-139.96" y="155">pad 0 (sink)</tspan>
|
||||||
|
</text>
|
||||||
|
<text style="fill: #000000;text-anchor:start;font-size:12.8;font-family:sanserif;font-style:normal;font-weight:normal" x="849.04" y="195">
|
||||||
|
<tspan x="849.04" y="195">pad 2 (source)</tspan>
|
||||||
|
</text>
|
||||||
|
<g>
|
||||||
|
<rect style="fill: #ffffff" x="5.5" y="120" width="159" height="104"/>
|
||||||
|
<rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #a52a2a" x="5.5" y="120" width="159" height="104"/>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
<rect style="fill: #ffffff" x="62.5" y="136" width="94" height="77"/>
|
||||||
|
<rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #0000ff" x="62.5" y="136" width="94" height="77"/>
|
||||||
|
</g>
|
||||||
|
<text style="fill: #000000;text-anchor:start;font-size:12.8;font-family:sanserif;font-style:normal;font-weight:normal" x="30.5" y="89">
|
||||||
|
<tspan x="30.5" y="89"></tspan>
|
||||||
|
</text>
|
||||||
|
<text style="fill: #a52a2a;text-anchor:start;font-size:12.8;font-family:sanserif;font-style:normal;font-weight:normal" x="9.53836" y="88.9138">
|
||||||
|
<tspan x="9.53836" y="88.9138">sink media</tspan>
|
||||||
|
<tspan x="9.53836" y="104.914">bus format</tspan>
|
||||||
|
</text>
|
||||||
|
<g>
|
||||||
|
<rect style="fill: #ffffff" x="333.644" y="185.65" width="165.2" height="172.478"/>
|
||||||
|
<rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #00ff00" x="333.644" y="185.65" width="165.2" height="172.478"/>
|
||||||
|
</g>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #e60505" x1="333.644" y1="358.128" x2="62.5" y2="213"/>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #e60505" x1="333.644" y1="185.65" x2="62.5" y2="136"/>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #e60505" x1="498.844" y1="358.128" x2="156.5" y2="213"/>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #e60505" x1="498.844" y1="185.65" x2="156.5" y2="136"/>
|
||||||
|
<text style="fill: #00ff00;text-anchor:start;font-size:12.8;font-family:sanserif;font-style:normal;font-weight:normal" x="334.704" y="149.442">
|
||||||
|
<tspan x="334.704" y="149.442">sink compose</tspan>
|
||||||
|
<tspan x="334.704" y="165.442">selection (scaling)</tspan>
|
||||||
|
</text>
|
||||||
|
<g>
|
||||||
|
<rect style="fill: #ffffff" x="409.322" y="194.565" width="100.186" height="71.4523"/>
|
||||||
|
<rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #a020f0" x="409.322" y="194.565" width="100.186" height="71.4523"/>
|
||||||
|
</g>
|
||||||
|
<text style="fill: #8b6914;text-anchor:start;font-size:12.8;font-family:sanserif;font-style:normal;font-weight:normal" x="689.5" y="105.128">
|
||||||
|
<tspan x="689.5" y="105.128">source media</tspan>
|
||||||
|
<tspan x="689.5" y="121.128">bus format</tspan>
|
||||||
|
</text>
|
||||||
|
<g>
|
||||||
|
<rect style="fill: #ffffff" x="688.488" y="173.834" width="100.186" height="71.4523"/>
|
||||||
|
<rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #8b6914" x="688.488" y="173.834" width="100.186" height="71.4523"/>
|
||||||
|
</g>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #e60505" x1="688.488" y1="245.286" x2="409.322" y2="266.018"/>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #e60505" x1="688.488" y1="173.834" x2="409.322" y2="194.565"/>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #e60505" x1="788.674" y1="245.286" x2="509.508" y2="266.018"/>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #e60505" x1="788.674" y1="173.834" x2="509.508" y2="194.565"/>
|
||||||
|
<text style="fill: #ff765a;text-anchor:start;font-size:12.8;font-family:sanserif;font-style:normal;font-weight:normal" x="325" y="103">
|
||||||
|
<tspan x="325" y="103">sink compose</tspan>
|
||||||
|
<tspan x="325" y="119">bounds selection</tspan>
|
||||||
|
</text>
|
||||||
|
<g>
|
||||||
|
<ellipse style="fill: #ffffff" cx="-12.0982" cy="341.512" rx="8.5" ry="8.5"/>
|
||||||
|
<ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="-12.0982" cy="341.512" rx="8.5" ry="8.5"/>
|
||||||
|
<ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="-12.0982" cy="341.512" rx="8.5" ry="8.5"/>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="-184.098" y1="341.8" x2="-30.3343" y2="341.529"/>
|
||||||
|
<polygon style="fill: #000000" points="-22.8343,341.516 -32.8254,346.534 -30.3343,341.529 -32.8431,336.534 "/>
|
||||||
|
<polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="-22.8343,341.516 -32.8254,346.534 -30.3343,341.529 -32.8431,336.534 "/>
|
||||||
|
</g>
|
||||||
|
<text style="fill: #000000;text-anchor:start;font-size:12.8;font-family:sanserif;font-style:normal;font-weight:normal" x="-139" y="329">
|
||||||
|
<tspan x="-139" y="329">pad 1 (sink)</tspan>
|
||||||
|
</text>
|
||||||
|
<g>
|
||||||
|
<rect style="fill: #ffffff" x="7.80824" y="292.8" width="112.092" height="82.2"/>
|
||||||
|
<rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #a52a2a" x="7.80824" y="292.8" width="112.092" height="82.2"/>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
<rect style="fill: #ffffff" x="52.9" y="314.8" width="58.1" height="50.2"/>
|
||||||
|
<rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #0000ff" x="52.9" y="314.8" width="58.1" height="50.2"/>
|
||||||
|
</g>
|
||||||
|
<text style="fill: #000000;text-anchor:start;font-size:12.8;font-family:sanserif;font-style:normal;font-weight:normal" x="31.9" y="259.8">
|
||||||
|
<tspan x="31.9" y="259.8"></tspan>
|
||||||
|
</text>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #e60505" x1="358.9" y1="251.9" x2="52.9" y2="314.8"/>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #e60505" x1="358.9" y1="316" x2="52.9" y2="365"/>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #e60505" x1="434" y1="316" x2="111" y2="365"/>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #e60505" x1="434" y1="251.9" x2="111" y2="314.8"/>
|
||||||
|
<rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #00ff00" x="358.9" y="251.9" width="75.1" height="64.1"/>
|
||||||
|
<rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #a020f0" x="443.262" y="284.466" width="64.738" height="48.534"/>
|
||||||
|
<g>
|
||||||
|
<rect style="fill: #ffffff" x="693.428" y="324.734" width="63.572" height="49.266"/>
|
||||||
|
<rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #8b6914" x="693.428" y="324.734" width="63.572" height="49.266"/>
|
||||||
|
</g>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #e60505" x1="693.428" y1="374" x2="443.262" y2="333"/>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #e60505" x1="693.428" y1="324.734" x2="443.262" y2="284.466"/>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #e60505" x1="757" y1="374" x2="508" y2="333"/>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #e60505" x1="757" y1="324.734" x2="508" y2="284.466"/>
|
||||||
|
<g>
|
||||||
|
<ellipse style="fill: #ffffff" cx="815.44" cy="343.984" rx="8.5" ry="8.5"/>
|
||||||
|
<ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="815.44" cy="343.984" rx="8.5" ry="8.5"/>
|
||||||
|
<ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="815.44" cy="343.984" rx="8.5" ry="8.5"/>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="823.94" y1="343.984" x2="980.274" y2="344.012"/>
|
||||||
|
<polygon style="fill: #000000" points="987.774,344.014 977.773,349.012 980.274,344.012 977.775,339.012 "/>
|
||||||
|
<polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="987.774,344.014 977.773,349.012 980.274,344.012 977.775,339.012 "/>
|
||||||
|
</g>
|
||||||
|
<text style="fill: #000000;text-anchor:start;font-size:12.8;font-family:sanserif;font-style:normal;font-weight:normal" x="849.248" y="333.8">
|
||||||
|
<tspan x="849.248" y="333.8">pad 3 (source)</tspan>
|
||||||
|
</text>
|
||||||
|
<text style="fill: #0000ff;text-anchor:start;font-size:12.8;font-family:sanserif;font-style:normal;font-weight:normal" x="197" y="91">
|
||||||
|
<tspan x="197" y="91">sink</tspan>
|
||||||
|
<tspan x="197" y="107">crop</tspan>
|
||||||
|
<tspan x="197" y="123">selection</tspan>
|
||||||
|
</text>
|
||||||
|
<text style="fill: #a020f0;text-anchor:start;font-size:12.8;font-family:sanserif;font-style:normal;font-weight:normal" x="553" y="95">
|
||||||
|
<tspan x="553" y="95">source</tspan>
|
||||||
|
<tspan x="553" y="111">crop</tspan>
|
||||||
|
<tspan x="553" y="127">selection</tspan>
|
||||||
|
</text>
|
||||||
|
<g>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #0000ff" x1="211" y1="132" x2="166.21" y2="135.287"/>
|
||||||
|
<polygon style="fill: #0000ff" points="158.73,135.836 168.337,130.118 166.21,135.287 169.069,140.091 "/>
|
||||||
|
<polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #0000ff" points="158.73,135.836 168.337,130.118 166.21,135.287 169.069,140.091 "/>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #0000ff" x1="209" y1="131" x2="115.581" y2="306.209"/>
|
||||||
|
<polygon style="fill: #0000ff" points="112.052,312.827 112.345,301.65 115.581,306.209 121.169,306.355 "/>
|
||||||
|
<polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #0000ff" points="112.052,312.827 112.345,301.65 115.581,306.209 121.169,306.355 "/>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #a020f0" x1="550.492" y1="133.214" x2="514.916" y2="186.469"/>
|
||||||
|
<polygon style="fill: #a020f0" points="510.75,192.706 512.147,181.613 514.916,186.469 520.463,187.168 "/>
|
||||||
|
<polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #a020f0" points="510.75,192.706 512.147,181.613 514.916,186.469 520.463,187.168 "/>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #a020f0" x1="550.072" y1="133.787" x2="510.618" y2="275.089"/>
|
||||||
|
<polygon style="fill: #a020f0" points="508.601,282.312 506.475,271.336 510.618,275.089 516.106,274.025 "/>
|
||||||
|
<polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #a020f0" points="508.601,282.312 506.475,271.336 510.618,275.089 516.106,274.025 "/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 12 KiB |
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,116 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/PR-SVG-20010719/DTD/svg10.dtd">
|
||||||
|
<svg width="59cm" height="17cm" viewBox="-194 128 1179 330" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
<rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="-8" y="130" width="806" height="327"/>
|
||||||
|
<g>
|
||||||
|
<rect style="fill: #ffffff" x="4.5" y="189" width="159" height="104"/>
|
||||||
|
<rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #a52a2a" x="4.5" y="189" width="159" height="104"/>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
<rect style="fill: #ffffff" x="49.5" y="204" width="94" height="77"/>
|
||||||
|
<rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #0000ff" x="49.5" y="204" width="94" height="77"/>
|
||||||
|
</g>
|
||||||
|
<text style="fill: #0000ff;text-anchor:start;font-size:12.8;font-family:sanserif;font-style:normal;font-weight:normal" x="60" y="224">
|
||||||
|
<tspan x="60" y="224">sink</tspan>
|
||||||
|
<tspan x="60" y="240">crop</tspan>
|
||||||
|
<tspan x="60" y="256">selection</tspan>
|
||||||
|
</text>
|
||||||
|
<text style="fill: #000000;text-anchor:start;font-size:12.8;font-family:sanserif;font-style:normal;font-weight:normal" x="29.5" y="158">
|
||||||
|
<tspan x="29.5" y="158"></tspan>
|
||||||
|
</text>
|
||||||
|
<text style="fill: #a52a2a;text-anchor:start;font-size:12.8;font-family:sanserif;font-style:normal;font-weight:normal" x="8.53836" y="157.914">
|
||||||
|
<tspan x="8.53836" y="157.914">sink media</tspan>
|
||||||
|
<tspan x="8.53836" y="173.914">bus format</tspan>
|
||||||
|
</text>
|
||||||
|
<g>
|
||||||
|
<rect style="fill: #ffffff" x="333.644" y="185.65" width="165.2" height="172.478"/>
|
||||||
|
<rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #00ff00" x="333.644" y="185.65" width="165.2" height="172.478"/>
|
||||||
|
</g>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #e60505" x1="333.644" y1="358.128" x2="49.5" y2="281"/>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #e60505" x1="333.644" y1="185.65" x2="49.5" y2="204"/>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #e60505" x1="498.844" y1="358.128" x2="143.5" y2="281"/>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #e60505" x1="498.844" y1="185.65" x2="143.5" y2="204"/>
|
||||||
|
<text style="fill: #00ff00;text-anchor:start;font-size:12.8;font-family:sanserif;font-style:normal;font-weight:normal" x="334.704" y="149.442">
|
||||||
|
<tspan x="334.704" y="149.442">sink compose</tspan>
|
||||||
|
<tspan x="334.704" y="165.442">selection (scaling)</tspan>
|
||||||
|
</text>
|
||||||
|
<g>
|
||||||
|
<rect style="fill: #ffffff" x="382.322" y="199.565" width="100.186" height="71.4523"/>
|
||||||
|
<rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #a020f0" x="382.322" y="199.565" width="100.186" height="71.4523"/>
|
||||||
|
</g>
|
||||||
|
<text style="fill: #a020f0;text-anchor:start;font-size:12.8;font-family:sanserif;font-style:normal;font-weight:normal" x="543.322" y="149.442">
|
||||||
|
<tspan x="543.322" y="149.442">source</tspan>
|
||||||
|
<tspan x="543.322" y="165.442">crop</tspan>
|
||||||
|
<tspan x="543.322" y="181.442">selection</tspan>
|
||||||
|
</text>
|
||||||
|
<text style="fill: #8b6914;text-anchor:start;font-size:12.8;font-family:sanserif;font-style:normal;font-weight:normal" x="691.5" y="157.128">
|
||||||
|
<tspan x="691.5" y="157.128">source media</tspan>
|
||||||
|
<tspan x="691.5" y="173.128">bus format</tspan>
|
||||||
|
</text>
|
||||||
|
<g>
|
||||||
|
<rect style="fill: #ffffff" x="690.488" y="225.834" width="100.186" height="71.4523"/>
|
||||||
|
<rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #8b6914" x="690.488" y="225.834" width="100.186" height="71.4523"/>
|
||||||
|
</g>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #e60505" x1="690.488" y1="297.286" x2="382.322" y2="271.018"/>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #e60505" x1="690.488" y1="225.834" x2="382.322" y2="199.565"/>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #e60505" x1="790.674" y1="297.286" x2="482.508" y2="271.018"/>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #e60505" x1="790.674" y1="225.834" x2="482.508" y2="199.565"/>
|
||||||
|
<g>
|
||||||
|
<ellipse style="fill: #ffffff" cx="808.1" cy="249.984" rx="8.5" ry="8.5"/>
|
||||||
|
<ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="808.1" cy="249.984" rx="8.5" ry="8.5"/>
|
||||||
|
<ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="808.1" cy="249.984" rx="8.5" ry="8.5"/>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="816.6" y1="249.984" x2="972.934" y2="250.012"/>
|
||||||
|
<polygon style="fill: #000000" points="980.434,250.014 970.433,255.012 972.934,250.012 970.435,245.012 "/>
|
||||||
|
<polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="980.434,250.014 970.433,255.012 972.934,250.012 970.435,245.012 "/>
|
||||||
|
</g>
|
||||||
|
<text style="fill: #000000;text-anchor:start;font-size:12.8;font-family:sanserif;font-style:normal;font-weight:normal" x="841.908" y="239.8">
|
||||||
|
<tspan x="841.908" y="239.8">pad 1 (source)</tspan>
|
||||||
|
</text>
|
||||||
|
<g>
|
||||||
|
<ellipse style="fill: #ffffff" cx="-20.3982" cy="241.512" rx="8.5" ry="8.5"/>
|
||||||
|
<ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="-20.3982" cy="241.512" rx="8.5" ry="8.5"/>
|
||||||
|
<ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="-20.3982" cy="241.512" rx="8.5" ry="8.5"/>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="-192.398" y1="241.8" x2="-38.6343" y2="241.529"/>
|
||||||
|
<polygon style="fill: #000000" points="-31.1343,241.516 -41.1254,246.534 -38.6343,241.529 -41.1431,236.534 "/>
|
||||||
|
<polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="-31.1343,241.516 -41.1254,246.534 -38.6343,241.529 -41.1431,236.534 "/>
|
||||||
|
</g>
|
||||||
|
<text style="fill: #000000;text-anchor:start;font-size:12.8;font-family:sanserif;font-style:normal;font-weight:normal" x="-147.858" y="229.8">
|
||||||
|
<tspan x="-147.858" y="229.8">pad 0 (sink)</tspan>
|
||||||
|
</text>
|
||||||
|
<rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #a020f0" x="389.822" y="276.666" width="100.186" height="71.4523"/>
|
||||||
|
<g>
|
||||||
|
<rect style="fill: #ffffff" x="689.988" y="345.934" width="100.186" height="71.4523"/>
|
||||||
|
<rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #8b6914" x="689.988" y="345.934" width="100.186" height="71.4523"/>
|
||||||
|
</g>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #e60505" x1="689.988" y1="417.386" x2="389.822" y2="348.118"/>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #e60505" x1="689.988" y1="345.934" x2="389.822" y2="276.666"/>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #e60505" x1="790.174" y1="417.386" x2="490.008" y2="348.118"/>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #e60505" x1="790.174" y1="345.934" x2="490.008" y2="276.666"/>
|
||||||
|
<g>
|
||||||
|
<ellipse style="fill: #ffffff" cx="805.6" cy="384.084" rx="8.5" ry="8.5"/>
|
||||||
|
<ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="805.6" cy="384.084" rx="8.5" ry="8.5"/>
|
||||||
|
<ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="805.6" cy="384.084" rx="8.5" ry="8.5"/>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="814.1" y1="384.084" x2="970.434" y2="384.112"/>
|
||||||
|
<polygon style="fill: #000000" points="977.934,384.114 967.933,389.112 970.434,384.112 967.935,379.112 "/>
|
||||||
|
<polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="977.934,384.114 967.933,389.112 970.434,384.112 967.935,379.112 "/>
|
||||||
|
</g>
|
||||||
|
<text style="fill: #000000;text-anchor:start;font-size:12.8;font-family:sanserif;font-style:normal;font-weight:normal" x="839.408" y="373.9">
|
||||||
|
<tspan x="839.408" y="373.9">pad 2 (source)</tspan>
|
||||||
|
</text>
|
||||||
|
<g>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #a020f0" x1="546" y1="191" x2="492.157" y2="198.263"/>
|
||||||
|
<polygon style="fill: #a020f0" points="484.724,199.266 493.966,192.974 492.157,198.263 495.303,202.884 "/>
|
||||||
|
<polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #a020f0" points="484.724,199.266 493.966,192.974 492.157,198.263 495.303,202.884 "/>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #a020f0" x1="546.908" y1="190.725" x2="495.383" y2="268.548"/>
|
||||||
|
<polygon style="fill: #a020f0" points="491.242,274.802 492.594,263.703 495.383,268.548 500.932,269.224 "/>
|
||||||
|
<polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #a020f0" points="491.242,274.802 492.594,263.703 495.383,268.548 500.932,269.224 "/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 8.8 KiB |
@@ -28,8 +28,8 @@ documentation.</contrib>
|
|||||||
<firstname>Hans</firstname>
|
<firstname>Hans</firstname>
|
||||||
<surname>Verkuil</surname>
|
<surname>Verkuil</surname>
|
||||||
<contrib>Designed and documented the VIDIOC_LOG_STATUS ioctl,
|
<contrib>Designed and documented the VIDIOC_LOG_STATUS ioctl,
|
||||||
the extended control ioctls and major parts of the sliced VBI
|
the extended control ioctls, major parts of the sliced VBI API, the
|
||||||
API.</contrib>
|
MPEG encoder and decoder APIs and the DV Timings API.</contrib>
|
||||||
<affiliation>
|
<affiliation>
|
||||||
<address>
|
<address>
|
||||||
<email>hverkuil@xs4all.nl</email>
|
<email>hverkuil@xs4all.nl</email>
|
||||||
@@ -96,6 +96,17 @@ Remote Controller chapter.</contrib>
|
|||||||
</address>
|
</address>
|
||||||
</affiliation>
|
</affiliation>
|
||||||
</author>
|
</author>
|
||||||
|
|
||||||
|
<author>
|
||||||
|
<firstname>Sakari</firstname>
|
||||||
|
<surname>Ailus</surname>
|
||||||
|
<contrib>Subdev selections API.</contrib>
|
||||||
|
<affiliation>
|
||||||
|
<address>
|
||||||
|
<email>sakari.ailus@iki.fi</email>
|
||||||
|
</address>
|
||||||
|
</affiliation>
|
||||||
|
</author>
|
||||||
</authorgroup>
|
</authorgroup>
|
||||||
|
|
||||||
<copyright>
|
<copyright>
|
||||||
@@ -112,6 +123,7 @@ Remote Controller chapter.</contrib>
|
|||||||
<year>2009</year>
|
<year>2009</year>
|
||||||
<year>2010</year>
|
<year>2010</year>
|
||||||
<year>2011</year>
|
<year>2011</year>
|
||||||
|
<year>2012</year>
|
||||||
<holder>Bill Dirks, Michael H. Schimek, Hans Verkuil, Martin
|
<holder>Bill Dirks, Michael H. Schimek, Hans Verkuil, Martin
|
||||||
Rubli, Andy Walls, Muralidharan Karicheri, Mauro Carvalho Chehab,
|
Rubli, Andy Walls, Muralidharan Karicheri, Mauro Carvalho Chehab,
|
||||||
Pawel Osciak</holder>
|
Pawel Osciak</holder>
|
||||||
@@ -127,6 +139,28 @@ structs, ioctls) must be noted in more detail in the history chapter
|
|||||||
(compat.xml), along with the possible impact on existing drivers and
|
(compat.xml), along with the possible impact on existing drivers and
|
||||||
applications. -->
|
applications. -->
|
||||||
|
|
||||||
|
<revision>
|
||||||
|
<revnumber>3.5</revnumber>
|
||||||
|
<date>2012-05-07</date>
|
||||||
|
<authorinitials>sa, sn</authorinitials>
|
||||||
|
<revremark>Added V4L2_CTRL_TYPE_INTEGER_MENU and V4L2 subdev
|
||||||
|
selections API. Improved the description of V4L2_CID_COLORFX
|
||||||
|
control, added V4L2_CID_COLORFX_CBCR control.
|
||||||
|
Added camera controls V4L2_CID_AUTO_EXPOSURE_BIAS,
|
||||||
|
V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE, V4L2_CID_IMAGE_STABILIZATION,
|
||||||
|
V4L2_CID_ISO_SENSITIVITY, V4L2_CID_ISO_SENSITIVITY_AUTO,
|
||||||
|
V4L2_CID_EXPOSURE_METERING, V4L2_CID_SCENE_MODE,
|
||||||
|
V4L2_CID_3A_LOCK, V4L2_CID_AUTO_FOCUS_START,
|
||||||
|
V4L2_CID_AUTO_FOCUS_STOP, V4L2_CID_AUTO_FOCUS_STATUS
|
||||||
|
and V4L2_CID_AUTO_FOCUS_RANGE.
|
||||||
|
</revremark>
|
||||||
|
<date>2012-05-01</date>
|
||||||
|
<authorinitials>hv</authorinitials>
|
||||||
|
<revremark>Added VIDIOC_ENUM_DV_TIMINGS, VIDIOC_QUERY_DV_TIMINGS and
|
||||||
|
VIDIOC_DV_TIMINGS_CAP.
|
||||||
|
</revremark>
|
||||||
|
</revision>
|
||||||
|
|
||||||
<revision>
|
<revision>
|
||||||
<revnumber>3.4</revnumber>
|
<revnumber>3.4</revnumber>
|
||||||
<date>2012-01-25</date>
|
<date>2012-01-25</date>
|
||||||
@@ -433,7 +467,7 @@ and discussions on the V4L mailing list.</revremark>
|
|||||||
</partinfo>
|
</partinfo>
|
||||||
|
|
||||||
<title>Video for Linux Two API Specification</title>
|
<title>Video for Linux Two API Specification</title>
|
||||||
<subtitle>Revision 3.3</subtitle>
|
<subtitle>Revision 3.5</subtitle>
|
||||||
|
|
||||||
<chapter id="common">
|
<chapter id="common">
|
||||||
&sub-common;
|
&sub-common;
|
||||||
@@ -491,10 +525,12 @@ and discussions on the V4L mailing list.</revremark>
|
|||||||
&sub-dbg-g-register;
|
&sub-dbg-g-register;
|
||||||
&sub-decoder-cmd;
|
&sub-decoder-cmd;
|
||||||
&sub-dqevent;
|
&sub-dqevent;
|
||||||
|
&sub-dv-timings-cap;
|
||||||
&sub-encoder-cmd;
|
&sub-encoder-cmd;
|
||||||
&sub-enumaudio;
|
&sub-enumaudio;
|
||||||
&sub-enumaudioout;
|
&sub-enumaudioout;
|
||||||
&sub-enum-dv-presets;
|
&sub-enum-dv-presets;
|
||||||
|
&sub-enum-dv-timings;
|
||||||
&sub-enum-fmt;
|
&sub-enum-fmt;
|
||||||
&sub-enum-framesizes;
|
&sub-enum-framesizes;
|
||||||
&sub-enum-frameintervals;
|
&sub-enum-frameintervals;
|
||||||
@@ -529,6 +565,7 @@ and discussions on the V4L mailing list.</revremark>
|
|||||||
&sub-querycap;
|
&sub-querycap;
|
||||||
&sub-queryctrl;
|
&sub-queryctrl;
|
||||||
&sub-query-dv-preset;
|
&sub-query-dv-preset;
|
||||||
|
&sub-query-dv-timings;
|
||||||
&sub-querystd;
|
&sub-querystd;
|
||||||
&sub-prepare-buf;
|
&sub-prepare-buf;
|
||||||
&sub-reqbufs;
|
&sub-reqbufs;
|
||||||
@@ -540,6 +577,7 @@ and discussions on the V4L mailing list.</revremark>
|
|||||||
&sub-subdev-g-crop;
|
&sub-subdev-g-crop;
|
||||||
&sub-subdev-g-fmt;
|
&sub-subdev-g-fmt;
|
||||||
&sub-subdev-g-frame-interval;
|
&sub-subdev-g-frame-interval;
|
||||||
|
&sub-subdev-g-selection;
|
||||||
&sub-subscribe-event;
|
&sub-subscribe-event;
|
||||||
<!-- End of ioctls. -->
|
<!-- End of ioctls. -->
|
||||||
&sub-mmap;
|
&sub-mmap;
|
||||||
|
@@ -48,6 +48,12 @@
|
|||||||
<refsect1>
|
<refsect1>
|
||||||
<title>Description</title>
|
<title>Description</title>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<title>Experimental</title>
|
||||||
|
<para>This is an <link linkend="experimental"> experimental </link>
|
||||||
|
interface and may change in the future.</para>
|
||||||
|
</note>
|
||||||
|
|
||||||
<para>This ioctl is used to create buffers for <link linkend="mmap">memory
|
<para>This ioctl is used to create buffers for <link linkend="mmap">memory
|
||||||
mapped</link> or <link linkend="userp">user pointer</link>
|
mapped</link> or <link linkend="userp">user pointer</link>
|
||||||
I/O. It can be used as an alternative or in addition to the
|
I/O. It can be used as an alternative or in addition to the
|
||||||
@@ -94,16 +100,18 @@ information.</para>
|
|||||||
<entry>The number of buffers requested or granted.</entry>
|
<entry>The number of buffers requested or granted.</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>&v4l2-memory;</entry>
|
<entry>__u32</entry>
|
||||||
<entry><structfield>memory</structfield></entry>
|
<entry><structfield>memory</structfield></entry>
|
||||||
<entry>Applications set this field to
|
<entry>Applications set this field to
|
||||||
<constant>V4L2_MEMORY_MMAP</constant> or
|
<constant>V4L2_MEMORY_MMAP</constant> or
|
||||||
<constant>V4L2_MEMORY_USERPTR</constant>.</entry>
|
<constant>V4L2_MEMORY_USERPTR</constant>. See <xref linkend="v4l2-memory"
|
||||||
|
/></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>&v4l2-format;</entry>
|
<entry>__u32</entry>
|
||||||
<entry><structfield>format</structfield></entry>
|
<entry><structfield>format</structfield></entry>
|
||||||
<entry>Filled in by the application, preserved by the driver.</entry>
|
<entry>Filled in by the application, preserved by the driver.
|
||||||
|
See <xref linkend="v4l2-format" />.</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>__u32</entry>
|
<entry>__u32</entry>
|
||||||
|
@@ -65,7 +65,7 @@ output.</para>
|
|||||||
&cs-str;
|
&cs-str;
|
||||||
<tbody valign="top">
|
<tbody valign="top">
|
||||||
<row>
|
<row>
|
||||||
<entry>&v4l2-buf-type;</entry>
|
<entry>__u32</entry>
|
||||||
<entry><structfield>type</structfield></entry>
|
<entry><structfield>type</structfield></entry>
|
||||||
<entry>Type of the data stream, set by the application.
|
<entry>Type of the data stream, set by the application.
|
||||||
Only these types are valid here:
|
Only these types are valid here:
|
||||||
@@ -73,7 +73,7 @@ Only these types are valid here:
|
|||||||
<constant>V4L2_BUF_TYPE_VIDEO_OUTPUT</constant>,
|
<constant>V4L2_BUF_TYPE_VIDEO_OUTPUT</constant>,
|
||||||
<constant>V4L2_BUF_TYPE_VIDEO_OVERLAY</constant>, and custom (driver
|
<constant>V4L2_BUF_TYPE_VIDEO_OVERLAY</constant>, and custom (driver
|
||||||
defined) types with code <constant>V4L2_BUF_TYPE_PRIVATE</constant>
|
defined) types with code <constant>V4L2_BUF_TYPE_PRIVATE</constant>
|
||||||
and higher.</entry>
|
and higher. See <xref linkend="v4l2-buf-type" />.</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>struct <link linkend="v4l2-rect-crop">v4l2_rect</link></entry>
|
<entry>struct <link linkend="v4l2-rect-crop">v4l2_rect</link></entry>
|
||||||
|
211
Documentation/DocBook/media/v4l/vidioc-dv-timings-cap.xml
Normal file
211
Documentation/DocBook/media/v4l/vidioc-dv-timings-cap.xml
Normal file
@@ -0,0 +1,211 @@
|
|||||||
|
<refentry id="vidioc-dv-timings-cap">
|
||||||
|
<refmeta>
|
||||||
|
<refentrytitle>ioctl VIDIOC_DV_TIMINGS_CAP</refentrytitle>
|
||||||
|
&manvol;
|
||||||
|
</refmeta>
|
||||||
|
|
||||||
|
<refnamediv>
|
||||||
|
<refname>VIDIOC_DV_TIMINGS_CAP</refname>
|
||||||
|
<refpurpose>The capabilities of the Digital Video receiver/transmitter</refpurpose>
|
||||||
|
</refnamediv>
|
||||||
|
|
||||||
|
<refsynopsisdiv>
|
||||||
|
<funcsynopsis>
|
||||||
|
<funcprototype>
|
||||||
|
<funcdef>int <function>ioctl</function></funcdef>
|
||||||
|
<paramdef>int <parameter>fd</parameter></paramdef>
|
||||||
|
<paramdef>int <parameter>request</parameter></paramdef>
|
||||||
|
<paramdef>struct v4l2_dv_timings_cap *<parameter>argp</parameter></paramdef>
|
||||||
|
</funcprototype>
|
||||||
|
</funcsynopsis>
|
||||||
|
</refsynopsisdiv>
|
||||||
|
|
||||||
|
<refsect1>
|
||||||
|
<title>Arguments</title>
|
||||||
|
|
||||||
|
<variablelist>
|
||||||
|
<varlistentry>
|
||||||
|
<term><parameter>fd</parameter></term>
|
||||||
|
<listitem>
|
||||||
|
<para>&fd;</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><parameter>request</parameter></term>
|
||||||
|
<listitem>
|
||||||
|
<para>VIDIOC_DV_TIMINGS_CAP</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><parameter>argp</parameter></term>
|
||||||
|
<listitem>
|
||||||
|
<para></para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
</variablelist>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1>
|
||||||
|
<title>Description</title>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<title>Experimental</title>
|
||||||
|
<para>This is an <link linkend="experimental"> experimental </link>
|
||||||
|
interface and may change in the future.</para>
|
||||||
|
</note>
|
||||||
|
|
||||||
|
<para>To query the available timings, applications initialize the
|
||||||
|
<structfield>index</structfield> field and zero the reserved array of &v4l2-dv-timings-cap;
|
||||||
|
and call the <constant>VIDIOC_DV_TIMINGS_CAP</constant> ioctl with a pointer to this
|
||||||
|
structure. Drivers fill the rest of the structure or return an
|
||||||
|
&EINVAL; when the index is out of bounds. To enumerate all supported DV timings,
|
||||||
|
applications shall begin at index zero, incrementing by one until the
|
||||||
|
driver returns <errorcode>EINVAL</errorcode>. Note that drivers may enumerate a
|
||||||
|
different set of DV timings after switching the video input or
|
||||||
|
output.</para>
|
||||||
|
|
||||||
|
<table pgwide="1" frame="none" id="v4l2-bt-timings-cap">
|
||||||
|
<title>struct <structname>v4l2_bt_timings_cap</structname></title>
|
||||||
|
<tgroup cols="3">
|
||||||
|
&cs-str;
|
||||||
|
<tbody valign="top">
|
||||||
|
<row>
|
||||||
|
<entry>__u32</entry>
|
||||||
|
<entry><structfield>min_width</structfield></entry>
|
||||||
|
<entry>Minimum width of the active video in pixels.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>__u32</entry>
|
||||||
|
<entry><structfield>max_width</structfield></entry>
|
||||||
|
<entry>Maximum width of the active video in pixels.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>__u32</entry>
|
||||||
|
<entry><structfield>min_height</structfield></entry>
|
||||||
|
<entry>Minimum height of the active video in lines.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>__u32</entry>
|
||||||
|
<entry><structfield>max_height</structfield></entry>
|
||||||
|
<entry>Maximum height of the active video in lines.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>__u64</entry>
|
||||||
|
<entry><structfield>min_pixelclock</structfield></entry>
|
||||||
|
<entry>Minimum pixelclock frequency in Hz.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>__u64</entry>
|
||||||
|
<entry><structfield>max_pixelclock</structfield></entry>
|
||||||
|
<entry>Maximum pixelclock frequency in Hz.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>__u32</entry>
|
||||||
|
<entry><structfield>standards</structfield></entry>
|
||||||
|
<entry>The video standard(s) supported by the hardware.
|
||||||
|
See <xref linkend="dv-bt-standards"/> for a list of standards.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>__u32</entry>
|
||||||
|
<entry><structfield>capabilities</structfield></entry>
|
||||||
|
<entry>Several flags giving more information about the capabilities.
|
||||||
|
See <xref linkend="dv-bt-cap-capabilities"/> for a description of the flags.
|
||||||
|
</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>__u32</entry>
|
||||||
|
<entry><structfield>reserved</structfield>[16]</entry>
|
||||||
|
<entry></entry>
|
||||||
|
</row>
|
||||||
|
</tbody>
|
||||||
|
</tgroup>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table pgwide="1" frame="none" id="v4l2-dv-timings-cap">
|
||||||
|
<title>struct <structname>v4l2_dv_timings_cap</structname></title>
|
||||||
|
<tgroup cols="4">
|
||||||
|
&cs-str;
|
||||||
|
<tbody valign="top">
|
||||||
|
<row>
|
||||||
|
<entry>__u32</entry>
|
||||||
|
<entry><structfield>type</structfield></entry>
|
||||||
|
<entry>Type of DV timings as listed in <xref linkend="dv-timing-types"/>.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>__u32</entry>
|
||||||
|
<entry><structfield>reserved</structfield>[3]</entry>
|
||||||
|
<entry>Reserved for future extensions. Drivers must set the array to zero.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>union</entry>
|
||||||
|
<entry><structfield></structfield></entry>
|
||||||
|
<entry></entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry></entry>
|
||||||
|
<entry>&v4l2-bt-timings-cap;</entry>
|
||||||
|
<entry><structfield>bt</structfield></entry>
|
||||||
|
<entry>BT.656/1120 timings capabilities of the hardware.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry></entry>
|
||||||
|
<entry>__u32</entry>
|
||||||
|
<entry><structfield>raw_data</structfield>[32]</entry>
|
||||||
|
<entry></entry>
|
||||||
|
</row>
|
||||||
|
</tbody>
|
||||||
|
</tgroup>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table pgwide="1" frame="none" id="dv-bt-cap-capabilities">
|
||||||
|
<title>DV BT Timing capabilities</title>
|
||||||
|
<tgroup cols="2">
|
||||||
|
&cs-str;
|
||||||
|
<tbody valign="top">
|
||||||
|
<row>
|
||||||
|
<entry>Flag</entry>
|
||||||
|
<entry>Description</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry></entry>
|
||||||
|
<entry></entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>V4L2_DV_BT_CAP_INTERLACED</entry>
|
||||||
|
<entry>Interlaced formats are supported.
|
||||||
|
</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>V4L2_DV_BT_CAP_PROGRESSIVE</entry>
|
||||||
|
<entry>Progressive formats are supported.
|
||||||
|
</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>V4L2_DV_BT_CAP_REDUCED_BLANKING</entry>
|
||||||
|
<entry>CVT/GTF specific: the timings can make use of reduced blanking (CVT)
|
||||||
|
or the 'Secondary GTF' curve (GTF).
|
||||||
|
</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>V4L2_DV_BT_CAP_CUSTOM</entry>
|
||||||
|
<entry>Can support non-standard timings, i.e. timings not belonging to the
|
||||||
|
standards set in the <structfield>standards</structfield> field.
|
||||||
|
</entry>
|
||||||
|
</row>
|
||||||
|
</tbody>
|
||||||
|
</tgroup>
|
||||||
|
</table>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1>
|
||||||
|
&return-value;
|
||||||
|
</refsect1>
|
||||||
|
</refentry>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Local Variables:
|
||||||
|
mode: sgml
|
||||||
|
sgml-parent-document: "v4l2.sgml"
|
||||||
|
indent-tabs-mode: nil
|
||||||
|
End:
|
||||||
|
-->
|
@@ -48,6 +48,10 @@
|
|||||||
<refsect1>
|
<refsect1>
|
||||||
<title>Description</title>
|
<title>Description</title>
|
||||||
|
|
||||||
|
<para>This ioctl is <emphasis role="bold">deprecated</emphasis>.
|
||||||
|
New drivers and applications should use &VIDIOC-ENUM-DV-TIMINGS; instead.
|
||||||
|
</para>
|
||||||
|
|
||||||
<para>To query the attributes of a DV preset, applications initialize the
|
<para>To query the attributes of a DV preset, applications initialize the
|
||||||
<structfield>index</structfield> field and zero the reserved array of &v4l2-dv-enum-preset;
|
<structfield>index</structfield> field and zero the reserved array of &v4l2-dv-enum-preset;
|
||||||
and call the <constant>VIDIOC_ENUM_DV_PRESETS</constant> ioctl with a pointer to this
|
and call the <constant>VIDIOC_ENUM_DV_PRESETS</constant> ioctl with a pointer to this
|
||||||
|
119
Documentation/DocBook/media/v4l/vidioc-enum-dv-timings.xml
Normal file
119
Documentation/DocBook/media/v4l/vidioc-enum-dv-timings.xml
Normal file
@@ -0,0 +1,119 @@
|
|||||||
|
<refentry id="vidioc-enum-dv-timings">
|
||||||
|
<refmeta>
|
||||||
|
<refentrytitle>ioctl VIDIOC_ENUM_DV_TIMINGS</refentrytitle>
|
||||||
|
&manvol;
|
||||||
|
</refmeta>
|
||||||
|
|
||||||
|
<refnamediv>
|
||||||
|
<refname>VIDIOC_ENUM_DV_TIMINGS</refname>
|
||||||
|
<refpurpose>Enumerate supported Digital Video timings</refpurpose>
|
||||||
|
</refnamediv>
|
||||||
|
|
||||||
|
<refsynopsisdiv>
|
||||||
|
<funcsynopsis>
|
||||||
|
<funcprototype>
|
||||||
|
<funcdef>int <function>ioctl</function></funcdef>
|
||||||
|
<paramdef>int <parameter>fd</parameter></paramdef>
|
||||||
|
<paramdef>int <parameter>request</parameter></paramdef>
|
||||||
|
<paramdef>struct v4l2_enum_dv_timings *<parameter>argp</parameter></paramdef>
|
||||||
|
</funcprototype>
|
||||||
|
</funcsynopsis>
|
||||||
|
</refsynopsisdiv>
|
||||||
|
|
||||||
|
<refsect1>
|
||||||
|
<title>Arguments</title>
|
||||||
|
|
||||||
|
<variablelist>
|
||||||
|
<varlistentry>
|
||||||
|
<term><parameter>fd</parameter></term>
|
||||||
|
<listitem>
|
||||||
|
<para>&fd;</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><parameter>request</parameter></term>
|
||||||
|
<listitem>
|
||||||
|
<para>VIDIOC_ENUM_DV_TIMINGS</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><parameter>argp</parameter></term>
|
||||||
|
<listitem>
|
||||||
|
<para></para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
</variablelist>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1>
|
||||||
|
<title>Description</title>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<title>Experimental</title>
|
||||||
|
<para>This is an <link linkend="experimental"> experimental </link>
|
||||||
|
interface and may change in the future.</para>
|
||||||
|
</note>
|
||||||
|
|
||||||
|
<para>While some DV receivers or transmitters support a wide range of timings, others
|
||||||
|
support only a limited number of timings. With this ioctl applications can enumerate a list
|
||||||
|
of known supported timings. Call &VIDIOC-DV-TIMINGS-CAP; to check if it also supports other
|
||||||
|
standards or even custom timings that are not in this list.</para>
|
||||||
|
|
||||||
|
<para>To query the available timings, applications initialize the
|
||||||
|
<structfield>index</structfield> field and zero the reserved array of &v4l2-enum-dv-timings;
|
||||||
|
and call the <constant>VIDIOC_ENUM_DV_TIMINGS</constant> ioctl with a pointer to this
|
||||||
|
structure. Drivers fill the rest of the structure or return an
|
||||||
|
&EINVAL; when the index is out of bounds. To enumerate all supported DV timings,
|
||||||
|
applications shall begin at index zero, incrementing by one until the
|
||||||
|
driver returns <errorcode>EINVAL</errorcode>. Note that drivers may enumerate a
|
||||||
|
different set of DV timings after switching the video input or
|
||||||
|
output.</para>
|
||||||
|
|
||||||
|
<table pgwide="1" frame="none" id="v4l2-enum-dv-timings">
|
||||||
|
<title>struct <structname>v4l2_enum_dv_timings</structname></title>
|
||||||
|
<tgroup cols="3">
|
||||||
|
&cs-str;
|
||||||
|
<tbody valign="top">
|
||||||
|
<row>
|
||||||
|
<entry>__u32</entry>
|
||||||
|
<entry><structfield>index</structfield></entry>
|
||||||
|
<entry>Number of the DV timings, set by the
|
||||||
|
application.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>__u32</entry>
|
||||||
|
<entry><structfield>reserved</structfield>[3]</entry>
|
||||||
|
<entry>Reserved for future extensions. Drivers must set the array to zero.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>&v4l2-dv-timings;</entry>
|
||||||
|
<entry><structfield>timings</structfield></entry>
|
||||||
|
<entry>The timings.</entry>
|
||||||
|
</row>
|
||||||
|
</tbody>
|
||||||
|
</tgroup>
|
||||||
|
</table>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1>
|
||||||
|
&return-value;
|
||||||
|
|
||||||
|
<variablelist>
|
||||||
|
<varlistentry>
|
||||||
|
<term><errorcode>EINVAL</errorcode></term>
|
||||||
|
<listitem>
|
||||||
|
<para>The &v4l2-enum-dv-timings; <structfield>index</structfield>
|
||||||
|
is out of bounds.</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
</variablelist>
|
||||||
|
</refsect1>
|
||||||
|
</refentry>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Local Variables:
|
||||||
|
mode: sgml
|
||||||
|
sgml-parent-document: "v4l2.sgml"
|
||||||
|
indent-tabs-mode: nil
|
||||||
|
End:
|
||||||
|
-->
|
@@ -71,7 +71,7 @@ the application. This is in no way related to the <structfield>
|
|||||||
pixelformat</structfield> field.</entry>
|
pixelformat</structfield> field.</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>&v4l2-buf-type;</entry>
|
<entry>__u32</entry>
|
||||||
<entry><structfield>type</structfield></entry>
|
<entry><structfield>type</structfield></entry>
|
||||||
<entry>Type of the data stream, set by the application.
|
<entry>Type of the data stream, set by the application.
|
||||||
Only these types are valid here:
|
Only these types are valid here:
|
||||||
@@ -81,7 +81,7 @@ Only these types are valid here:
|
|||||||
<constant>V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE</constant>,
|
<constant>V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE</constant>,
|
||||||
<constant>V4L2_BUF_TYPE_VIDEO_OVERLAY</constant>, and custom (driver
|
<constant>V4L2_BUF_TYPE_VIDEO_OVERLAY</constant>, and custom (driver
|
||||||
defined) types with code <constant>V4L2_BUF_TYPE_PRIVATE</constant>
|
defined) types with code <constant>V4L2_BUF_TYPE_PRIVATE</constant>
|
||||||
and higher.</entry>
|
and higher. See <xref linkend="v4l2-buf-type" />.</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>__u32</entry>
|
<entry>__u32</entry>
|
||||||
|
@@ -285,7 +285,7 @@ input/output interface to linux-media@vger.kernel.org on 19 Oct 2009.
|
|||||||
<row>
|
<row>
|
||||||
<entry><constant>V4L2_IN_CAP_CUSTOM_TIMINGS</constant></entry>
|
<entry><constant>V4L2_IN_CAP_CUSTOM_TIMINGS</constant></entry>
|
||||||
<entry>0x00000002</entry>
|
<entry>0x00000002</entry>
|
||||||
<entry>This input supports setting custom video timings by using VIDIOC_S_DV_TIMINGS.</entry>
|
<entry>This input supports setting video timings by using VIDIOC_S_DV_TIMINGS.</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry><constant>V4L2_IN_CAP_STD</constant></entry>
|
<entry><constant>V4L2_IN_CAP_STD</constant></entry>
|
||||||
|
@@ -170,7 +170,7 @@ input/output interface to linux-media@vger.kernel.org on 19 Oct 2009.
|
|||||||
<row>
|
<row>
|
||||||
<entry><constant>V4L2_OUT_CAP_CUSTOM_TIMINGS</constant></entry>
|
<entry><constant>V4L2_OUT_CAP_CUSTOM_TIMINGS</constant></entry>
|
||||||
<entry>0x00000002</entry>
|
<entry>0x00000002</entry>
|
||||||
<entry>This output supports setting custom video timings by using VIDIOC_S_DV_TIMINGS.</entry>
|
<entry>This output supports setting video timings by using VIDIOC_S_DV_TIMINGS.</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry><constant>V4L2_OUT_CAP_STD</constant></entry>
|
<entry><constant>V4L2_OUT_CAP_STD</constant></entry>
|
||||||
|
@@ -100,14 +100,14 @@ changed and <constant>VIDIOC_S_CROP</constant> returns the
|
|||||||
&cs-str;
|
&cs-str;
|
||||||
<tbody valign="top">
|
<tbody valign="top">
|
||||||
<row>
|
<row>
|
||||||
<entry>&v4l2-buf-type;</entry>
|
<entry>__u32</entry>
|
||||||
<entry><structfield>type</structfield></entry>
|
<entry><structfield>type</structfield></entry>
|
||||||
<entry>Type of the data stream, set by the application.
|
<entry>Type of the data stream, set by the application.
|
||||||
Only these types are valid here: <constant>V4L2_BUF_TYPE_VIDEO_CAPTURE</constant>,
|
Only these types are valid here: <constant>V4L2_BUF_TYPE_VIDEO_CAPTURE</constant>,
|
||||||
<constant>V4L2_BUF_TYPE_VIDEO_OUTPUT</constant>,
|
<constant>V4L2_BUF_TYPE_VIDEO_OUTPUT</constant>,
|
||||||
<constant>V4L2_BUF_TYPE_VIDEO_OVERLAY</constant>, and custom (driver
|
<constant>V4L2_BUF_TYPE_VIDEO_OVERLAY</constant>, and custom (driver
|
||||||
defined) types with code <constant>V4L2_BUF_TYPE_PRIVATE</constant>
|
defined) types with code <constant>V4L2_BUF_TYPE_PRIVATE</constant>
|
||||||
and higher.</entry>
|
and higher. See <xref linkend="v4l2-buf-type" />.</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>&v4l2-rect;</entry>
|
<entry>&v4l2-rect;</entry>
|
||||||
|
@@ -48,6 +48,12 @@
|
|||||||
|
|
||||||
<refsect1>
|
<refsect1>
|
||||||
<title>Description</title>
|
<title>Description</title>
|
||||||
|
|
||||||
|
<para>These ioctls are <emphasis role="bold">deprecated</emphasis>.
|
||||||
|
New drivers and applications should use &VIDIOC-G-DV-TIMINGS; and &VIDIOC-S-DV-TIMINGS;
|
||||||
|
instead.
|
||||||
|
</para>
|
||||||
|
|
||||||
<para>To query and select the current DV preset, applications
|
<para>To query and select the current DV preset, applications
|
||||||
use the <constant>VIDIOC_G_DV_PRESET</constant> and <constant>VIDIOC_S_DV_PRESET</constant>
|
use the <constant>VIDIOC_G_DV_PRESET</constant> and <constant>VIDIOC_S_DV_PRESET</constant>
|
||||||
ioctls which take a pointer to a &v4l2-dv-preset; type as argument.
|
ioctls which take a pointer to a &v4l2-dv-preset; type as argument.
|
||||||
|
@@ -7,7 +7,7 @@
|
|||||||
<refnamediv>
|
<refnamediv>
|
||||||
<refname>VIDIOC_G_DV_TIMINGS</refname>
|
<refname>VIDIOC_G_DV_TIMINGS</refname>
|
||||||
<refname>VIDIOC_S_DV_TIMINGS</refname>
|
<refname>VIDIOC_S_DV_TIMINGS</refname>
|
||||||
<refpurpose>Get or set custom DV timings for input or output</refpurpose>
|
<refpurpose>Get or set DV timings for input or output</refpurpose>
|
||||||
</refnamediv>
|
</refnamediv>
|
||||||
|
|
||||||
<refsynopsisdiv>
|
<refsynopsisdiv>
|
||||||
@@ -48,12 +48,15 @@
|
|||||||
|
|
||||||
<refsect1>
|
<refsect1>
|
||||||
<title>Description</title>
|
<title>Description</title>
|
||||||
<para>To set custom DV timings for the input or output, applications use the
|
<para>To set DV timings for the input or output, applications use the
|
||||||
<constant>VIDIOC_S_DV_TIMINGS</constant> ioctl and to get the current custom timings,
|
<constant>VIDIOC_S_DV_TIMINGS</constant> ioctl and to get the current timings,
|
||||||
applications use the <constant>VIDIOC_G_DV_TIMINGS</constant> ioctl. The detailed timing
|
applications use the <constant>VIDIOC_G_DV_TIMINGS</constant> ioctl. The detailed timing
|
||||||
information is filled in using the structure &v4l2-dv-timings;. These ioctls take
|
information is filled in using the structure &v4l2-dv-timings;. These ioctls take
|
||||||
a pointer to the &v4l2-dv-timings; structure as argument. If the ioctl is not supported
|
a pointer to the &v4l2-dv-timings; structure as argument. If the ioctl is not supported
|
||||||
or the timing values are not correct, the driver returns &EINVAL;.</para>
|
or the timing values are not correct, the driver returns &EINVAL;.</para>
|
||||||
|
<para>The <filename>linux/v4l2-dv-timings.h</filename> header can be used to get the
|
||||||
|
timings of the formats in the <xref linkend="cea861" /> and <xref linkend="vesadmt" />
|
||||||
|
standards.</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
|
|
||||||
<refsect1>
|
<refsect1>
|
||||||
@@ -83,12 +86,13 @@ or the timing values are not correct, the driver returns &EINVAL;.</para>
|
|||||||
<row>
|
<row>
|
||||||
<entry>__u32</entry>
|
<entry>__u32</entry>
|
||||||
<entry><structfield>width</structfield></entry>
|
<entry><structfield>width</structfield></entry>
|
||||||
<entry>Width of the active video in pixels</entry>
|
<entry>Width of the active video in pixels.</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>__u32</entry>
|
<entry>__u32</entry>
|
||||||
<entry><structfield>height</structfield></entry>
|
<entry><structfield>height</structfield></entry>
|
||||||
<entry>Height of the active video in lines</entry>
|
<entry>Height of the active video frame in lines. So for interlaced formats the
|
||||||
|
height of the active video in each field is <structfield>height</structfield>/2.</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>__u32</entry>
|
<entry>__u32</entry>
|
||||||
@@ -125,32 +129,52 @@ bit 0 (V4L2_DV_VSYNC_POS_POL) is for vertical sync polarity and bit 1 (V4L2_DV_H
|
|||||||
<row>
|
<row>
|
||||||
<entry>__u32</entry>
|
<entry>__u32</entry>
|
||||||
<entry><structfield>vfrontporch</structfield></entry>
|
<entry><structfield>vfrontporch</structfield></entry>
|
||||||
<entry>Vertical front porch in lines</entry>
|
<entry>Vertical front porch in lines. For interlaced formats this refers to the
|
||||||
|
odd field (aka field 1).</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>__u32</entry>
|
<entry>__u32</entry>
|
||||||
<entry><structfield>vsync</structfield></entry>
|
<entry><structfield>vsync</structfield></entry>
|
||||||
<entry>Vertical sync length in lines</entry>
|
<entry>Vertical sync length in lines. For interlaced formats this refers to the
|
||||||
|
odd field (aka field 1).</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>__u32</entry>
|
<entry>__u32</entry>
|
||||||
<entry><structfield>vbackporch</structfield></entry>
|
<entry><structfield>vbackporch</structfield></entry>
|
||||||
<entry>Vertical back porch in lines</entry>
|
<entry>Vertical back porch in lines. For interlaced formats this refers to the
|
||||||
|
odd field (aka field 1).</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>__u32</entry>
|
<entry>__u32</entry>
|
||||||
<entry><structfield>il_vfrontporch</structfield></entry>
|
<entry><structfield>il_vfrontporch</structfield></entry>
|
||||||
<entry>Vertical front porch in lines for bottom field of interlaced field formats</entry>
|
<entry>Vertical front porch in lines for the even field (aka field 2) of
|
||||||
|
interlaced field formats.</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>__u32</entry>
|
<entry>__u32</entry>
|
||||||
<entry><structfield>il_vsync</structfield></entry>
|
<entry><structfield>il_vsync</structfield></entry>
|
||||||
<entry>Vertical sync length in lines for bottom field of interlaced field formats</entry>
|
<entry>Vertical sync length in lines for the even field (aka field 2) of
|
||||||
|
interlaced field formats.</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>__u32</entry>
|
<entry>__u32</entry>
|
||||||
<entry><structfield>il_vbackporch</structfield></entry>
|
<entry><structfield>il_vbackporch</structfield></entry>
|
||||||
<entry>Vertical back porch in lines for bottom field of interlaced field formats</entry>
|
<entry>Vertical back porch in lines for the even field (aka field 2) of
|
||||||
|
interlaced field formats.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>__u32</entry>
|
||||||
|
<entry><structfield>standards</structfield></entry>
|
||||||
|
<entry>The video standard(s) this format belongs to. This will be filled in by
|
||||||
|
the driver. Applications must set this to 0. See <xref linkend="dv-bt-standards"/>
|
||||||
|
for a list of standards.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>__u32</entry>
|
||||||
|
<entry><structfield>flags</structfield></entry>
|
||||||
|
<entry>Several flags giving more information about the format.
|
||||||
|
See <xref linkend="dv-bt-flags"/> for a description of the flags.
|
||||||
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
</tbody>
|
</tbody>
|
||||||
</tgroup>
|
</tgroup>
|
||||||
@@ -211,6 +235,90 @@ bit 0 (V4L2_DV_VSYNC_POS_POL) is for vertical sync polarity and bit 1 (V4L2_DV_H
|
|||||||
</tbody>
|
</tbody>
|
||||||
</tgroup>
|
</tgroup>
|
||||||
</table>
|
</table>
|
||||||
|
<table pgwide="1" frame="none" id="dv-bt-standards">
|
||||||
|
<title>DV BT Timing standards</title>
|
||||||
|
<tgroup cols="2">
|
||||||
|
&cs-str;
|
||||||
|
<tbody valign="top">
|
||||||
|
<row>
|
||||||
|
<entry>Timing standard</entry>
|
||||||
|
<entry>Description</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry></entry>
|
||||||
|
<entry></entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>V4L2_DV_BT_STD_CEA861</entry>
|
||||||
|
<entry>The timings follow the CEA-861 Digital TV Profile standard</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>V4L2_DV_BT_STD_DMT</entry>
|
||||||
|
<entry>The timings follow the VESA Discrete Monitor Timings standard</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>V4L2_DV_BT_STD_CVT</entry>
|
||||||
|
<entry>The timings follow the VESA Coordinated Video Timings standard</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>V4L2_DV_BT_STD_GTF</entry>
|
||||||
|
<entry>The timings follow the VESA Generalized Timings Formula standard</entry>
|
||||||
|
</row>
|
||||||
|
</tbody>
|
||||||
|
</tgroup>
|
||||||
|
</table>
|
||||||
|
<table pgwide="1" frame="none" id="dv-bt-flags">
|
||||||
|
<title>DV BT Timing flags</title>
|
||||||
|
<tgroup cols="2">
|
||||||
|
&cs-str;
|
||||||
|
<tbody valign="top">
|
||||||
|
<row>
|
||||||
|
<entry>Flag</entry>
|
||||||
|
<entry>Description</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry></entry>
|
||||||
|
<entry></entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>V4L2_DV_FL_REDUCED_BLANKING</entry>
|
||||||
|
<entry>CVT/GTF specific: the timings use reduced blanking (CVT) or the 'Secondary
|
||||||
|
GTF' curve (GTF). In both cases the horizontal and/or vertical blanking
|
||||||
|
intervals are reduced, allowing a higher resolution over the same
|
||||||
|
bandwidth. This is a read-only flag, applications must not set this.
|
||||||
|
</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>V4L2_DV_FL_CAN_REDUCE_FPS</entry>
|
||||||
|
<entry>CEA-861 specific: set for CEA-861 formats with a framerate that is a multiple
|
||||||
|
of six. These formats can be optionally played at 1 / 1.001 speed to
|
||||||
|
be compatible with 60 Hz based standards such as NTSC and PAL-M that use a framerate of
|
||||||
|
29.97 frames per second. If the transmitter can't generate such frequencies, then the
|
||||||
|
flag will also be cleared. This is a read-only flag, applications must not set this.
|
||||||
|
</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>V4L2_DV_FL_REDUCED_FPS</entry>
|
||||||
|
<entry>CEA-861 specific: only valid for video transmitters, the flag is cleared
|
||||||
|
by receivers. It is also only valid for formats with the V4L2_DV_FL_CAN_REDUCE_FPS flag
|
||||||
|
set, for other formats the flag will be cleared by the driver.
|
||||||
|
|
||||||
|
If the application sets this flag, then the pixelclock used to set up the transmitter is
|
||||||
|
divided by 1.001 to make it compatible with NTSC framerates. If the transmitter
|
||||||
|
can't generate such frequencies, then the flag will also be cleared.
|
||||||
|
</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>V4L2_DV_FL_HALF_LINE</entry>
|
||||||
|
<entry>Specific to interlaced formats: if set, then field 1 (aka the odd field)
|
||||||
|
is really one half-line longer and field 2 (aka the even field) is really one half-line
|
||||||
|
shorter, so each field has exactly the same number of half-lines. Whether half-lines can be
|
||||||
|
detected or used depends on the hardware.
|
||||||
|
</entry>
|
||||||
|
</row>
|
||||||
|
</tbody>
|
||||||
|
</tgroup>
|
||||||
|
</table>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1>
|
<refsect1>
|
||||||
&return-value;
|
&return-value;
|
||||||
|
@@ -265,6 +265,32 @@ These controls are described in <xref
|
|||||||
These controls are described in <xref
|
These controls are described in <xref
|
||||||
linkend="flash-controls" />.</entry>
|
linkend="flash-controls" />.</entry>
|
||||||
</row>
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_CTRL_CLASS_JPEG</constant></entry>
|
||||||
|
<entry>0x9d0000</entry>
|
||||||
|
<entry>The class containing JPEG compression controls.
|
||||||
|
These controls are described in <xref
|
||||||
|
linkend="jpeg-controls" />.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_CTRL_CLASS_IMAGE_SOURCE</constant></entry>
|
||||||
|
<entry>0x9e0000</entry> <entry>The class containing image
|
||||||
|
source controls. These controls are described in <xref
|
||||||
|
linkend="image-source-controls" />.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_CTRL_CLASS_IMAGE_PROC</constant></entry>
|
||||||
|
<entry>0x9f0000</entry> <entry>The class containing image
|
||||||
|
processing controls. These controls are described in <xref
|
||||||
|
linkend="image-process-controls" />.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_CTRL_CLASS_JPEG</constant></entry>
|
||||||
|
<entry>0x9d0000</entry>
|
||||||
|
<entry>The class containing JPEG compression controls.
|
||||||
|
These controls are described in <xref
|
||||||
|
linkend="jpeg-controls" />.</entry>
|
||||||
|
</row>
|
||||||
</tbody>
|
</tbody>
|
||||||
</tgroup>
|
</tgroup>
|
||||||
</table>
|
</table>
|
||||||
|
@@ -116,7 +116,7 @@ this ioctl.</para>
|
|||||||
<colspec colname="c4" />
|
<colspec colname="c4" />
|
||||||
<tbody valign="top">
|
<tbody valign="top">
|
||||||
<row>
|
<row>
|
||||||
<entry>&v4l2-buf-type;</entry>
|
<entry>__u32</entry>
|
||||||
<entry><structfield>type</structfield></entry>
|
<entry><structfield>type</structfield></entry>
|
||||||
<entry></entry>
|
<entry></entry>
|
||||||
<entry>Type of the data stream, see <xref
|
<entry>Type of the data stream, see <xref
|
||||||
|
@@ -95,14 +95,14 @@ the &v4l2-output; <structfield>modulator</structfield> field and the
|
|||||||
&v4l2-modulator; <structfield>index</structfield> field.</entry>
|
&v4l2-modulator; <structfield>index</structfield> field.</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>&v4l2-tuner-type;</entry>
|
<entry>__u32</entry>
|
||||||
<entry><structfield>type</structfield></entry>
|
<entry><structfield>type</structfield></entry>
|
||||||
<entry>The tuner type. This is the same value as in the
|
<entry>The tuner type. This is the same value as in the
|
||||||
&v4l2-tuner; <structfield>type</structfield> field. The type must be set
|
&v4l2-tuner; <structfield>type</structfield> field. See The type must be set
|
||||||
to <constant>V4L2_TUNER_RADIO</constant> for <filename>/dev/radioX</filename>
|
to <constant>V4L2_TUNER_RADIO</constant> for <filename>/dev/radioX</filename>
|
||||||
device nodes, and to <constant>V4L2_TUNER_ANALOG_TV</constant>
|
device nodes, and to <constant>V4L2_TUNER_ANALOG_TV</constant>
|
||||||
for all others. The field is not applicable to modulators, &ie; ignored
|
for all others. The field is not applicable to modulators, &ie; ignored
|
||||||
by drivers.</entry>
|
by drivers. See <xref linkend="v4l2-tuner-type" /></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>__u32</entry>
|
<entry>__u32</entry>
|
||||||
|
@@ -75,11 +75,12 @@ devices.</para>
|
|||||||
&cs-ustr;
|
&cs-ustr;
|
||||||
<tbody valign="top">
|
<tbody valign="top">
|
||||||
<row>
|
<row>
|
||||||
<entry>&v4l2-buf-type;</entry>
|
<entry>__u32</entry>
|
||||||
<entry><structfield>type</structfield></entry>
|
<entry><structfield>type</structfield></entry>
|
||||||
<entry></entry>
|
<entry></entry>
|
||||||
<entry>The buffer (stream) type, same as &v4l2-format;
|
<entry>The buffer (stream) type, same as &v4l2-format;
|
||||||
<structfield>type</structfield>, set by the application.</entry>
|
<structfield>type</structfield>, set by the application. See <xref
|
||||||
|
linkend="v4l2-buf-type" /></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>union</entry>
|
<entry>union</entry>
|
||||||
|
@@ -148,7 +148,7 @@ using the &VIDIOC-S-FMT; ioctl as described in <xref
|
|||||||
<structfield>service_lines</structfield>[1][0] to zero.</entry>
|
<structfield>service_lines</structfield>[1][0] to zero.</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>&v4l2-buf-type;</entry>
|
<entry>__u32</entry>
|
||||||
<entry><structfield>type</structfield></entry>
|
<entry><structfield>type</structfield></entry>
|
||||||
<entry>Type of the data stream, see <xref
|
<entry>Type of the data stream, see <xref
|
||||||
linkend="v4l2-buf-type" />. Should be
|
linkend="v4l2-buf-type" />. Should be
|
||||||
|
@@ -107,7 +107,7 @@ user.<!-- FIXME Video inputs already have a name, the purpose of this
|
|||||||
field is not quite clear.--></para></entry>
|
field is not quite clear.--></para></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>&v4l2-tuner-type;</entry>
|
<entry>__u32</entry>
|
||||||
<entry><structfield>type</structfield></entry>
|
<entry><structfield>type</structfield></entry>
|
||||||
<entry spanname="hspan">Type of the tuner, see <xref
|
<entry spanname="hspan">Type of the tuner, see <xref
|
||||||
linkend="v4l2-tuner-type" />.</entry>
|
linkend="v4l2-tuner-type" />.</entry>
|
||||||
|
@@ -48,6 +48,12 @@
|
|||||||
<refsect1>
|
<refsect1>
|
||||||
<title>Description</title>
|
<title>Description</title>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<title>Experimental</title>
|
||||||
|
<para>This is an <link linkend="experimental"> experimental </link>
|
||||||
|
interface and may change in the future.</para>
|
||||||
|
</note>
|
||||||
|
|
||||||
<para>Applications can optionally call the
|
<para>Applications can optionally call the
|
||||||
<constant>VIDIOC_PREPARE_BUF</constant> ioctl to pass ownership of the buffer
|
<constant>VIDIOC_PREPARE_BUF</constant> ioctl to pass ownership of the buffer
|
||||||
to the driver before actually enqueuing it, using the
|
to the driver before actually enqueuing it, using the
|
||||||
|
@@ -49,6 +49,10 @@ input</refpurpose>
|
|||||||
<refsect1>
|
<refsect1>
|
||||||
<title>Description</title>
|
<title>Description</title>
|
||||||
|
|
||||||
|
<para>This ioctl is <emphasis role="bold">deprecated</emphasis>.
|
||||||
|
New drivers and applications should use &VIDIOC-QUERY-DV-TIMINGS; instead.
|
||||||
|
</para>
|
||||||
|
|
||||||
<para>The hardware may be able to detect the current DV preset
|
<para>The hardware may be able to detect the current DV preset
|
||||||
automatically, similar to sensing the video standard. To do so, applications
|
automatically, similar to sensing the video standard. To do so, applications
|
||||||
call <constant> VIDIOC_QUERY_DV_PRESET</constant> with a pointer to a
|
call <constant> VIDIOC_QUERY_DV_PRESET</constant> with a pointer to a
|
||||||
|
104
Documentation/DocBook/media/v4l/vidioc-query-dv-timings.xml
Normal file
104
Documentation/DocBook/media/v4l/vidioc-query-dv-timings.xml
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
<refentry id="vidioc-query-dv-timings">
|
||||||
|
<refmeta>
|
||||||
|
<refentrytitle>ioctl VIDIOC_QUERY_DV_TIMINGS</refentrytitle>
|
||||||
|
&manvol;
|
||||||
|
</refmeta>
|
||||||
|
|
||||||
|
<refnamediv>
|
||||||
|
<refname>VIDIOC_QUERY_DV_TIMINGS</refname>
|
||||||
|
<refpurpose>Sense the DV preset received by the current
|
||||||
|
input</refpurpose>
|
||||||
|
</refnamediv>
|
||||||
|
|
||||||
|
<refsynopsisdiv>
|
||||||
|
<funcsynopsis>
|
||||||
|
<funcprototype>
|
||||||
|
<funcdef>int <function>ioctl</function></funcdef>
|
||||||
|
<paramdef>int <parameter>fd</parameter></paramdef>
|
||||||
|
<paramdef>int <parameter>request</parameter></paramdef>
|
||||||
|
<paramdef>struct v4l2_dv_timings *<parameter>argp</parameter></paramdef>
|
||||||
|
</funcprototype>
|
||||||
|
</funcsynopsis>
|
||||||
|
</refsynopsisdiv>
|
||||||
|
|
||||||
|
<refsect1>
|
||||||
|
<title>Arguments</title>
|
||||||
|
|
||||||
|
<variablelist>
|
||||||
|
<varlistentry>
|
||||||
|
<term><parameter>fd</parameter></term>
|
||||||
|
<listitem>
|
||||||
|
<para>&fd;</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><parameter>request</parameter></term>
|
||||||
|
<listitem>
|
||||||
|
<para>VIDIOC_QUERY_DV_TIMINGS</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><parameter>argp</parameter></term>
|
||||||
|
<listitem>
|
||||||
|
<para></para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
</variablelist>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1>
|
||||||
|
<title>Description</title>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<title>Experimental</title>
|
||||||
|
<para>This is an <link linkend="experimental"> experimental </link>
|
||||||
|
interface and may change in the future.</para>
|
||||||
|
</note>
|
||||||
|
|
||||||
|
<para>The hardware may be able to detect the current DV timings
|
||||||
|
automatically, similar to sensing the video standard. To do so, applications
|
||||||
|
call <constant>VIDIOC_QUERY_DV_TIMINGS</constant> with a pointer to a
|
||||||
|
&v4l2-dv-timings;. Once the hardware detects the timings, it will fill in the
|
||||||
|
timings structure.
|
||||||
|
|
||||||
|
If the timings could not be detected because there was no signal, then
|
||||||
|
<errorcode>ENOLINK</errorcode> is returned. If a signal was detected, but
|
||||||
|
it was unstable and the receiver could not lock to the signal, then
|
||||||
|
<errorcode>ENOLCK</errorcode> is returned. If the receiver could lock to the signal,
|
||||||
|
but the format is unsupported (e.g. because the pixelclock is out of range
|
||||||
|
of the hardware capabilities), then the driver fills in whatever timings it
|
||||||
|
could find and returns <errorcode>ERANGE</errorcode>. In that case the application
|
||||||
|
can call &VIDIOC-DV-TIMINGS-CAP; to compare the found timings with the hardware's
|
||||||
|
capabilities in order to give more precise feedback to the user.
|
||||||
|
</para>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1>
|
||||||
|
&return-value;
|
||||||
|
|
||||||
|
<variablelist>
|
||||||
|
<varlistentry>
|
||||||
|
<term><errorcode>ENOLINK</errorcode></term>
|
||||||
|
<listitem>
|
||||||
|
<para>No timings could be detected because no signal was found.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><errorcode>ENOLCK</errorcode></term>
|
||||||
|
<listitem>
|
||||||
|
<para>The signal was unstable and the hardware could not lock on to it.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><errorcode>ERANGE</errorcode></term>
|
||||||
|
<listitem>
|
||||||
|
<para>Timings were found, but they are out of range of the hardware
|
||||||
|
capabilities.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
</variablelist>
|
||||||
|
</refsect1>
|
||||||
|
</refentry>
|
@@ -127,7 +127,7 @@ the first control with a higher ID. Drivers which do not support this
|
|||||||
flag yet always return an &EINVAL;.</entry>
|
flag yet always return an &EINVAL;.</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>&v4l2-ctrl-type;</entry>
|
<entry>__u32</entry>
|
||||||
<entry><structfield>type</structfield></entry>
|
<entry><structfield>type</structfield></entry>
|
||||||
<entry>Type of control, see <xref
|
<entry>Type of control, see <xref
|
||||||
linkend="v4l2-ctrl-type" />.</entry>
|
linkend="v4l2-ctrl-type" />.</entry>
|
||||||
@@ -215,11 +215,12 @@ the array to zero.</entry>
|
|||||||
|
|
||||||
<table pgwide="1" frame="none" id="v4l2-querymenu">
|
<table pgwide="1" frame="none" id="v4l2-querymenu">
|
||||||
<title>struct <structname>v4l2_querymenu</structname></title>
|
<title>struct <structname>v4l2_querymenu</structname></title>
|
||||||
<tgroup cols="3">
|
<tgroup cols="4">
|
||||||
&cs-str;
|
&cs-str;
|
||||||
<tbody valign="top">
|
<tbody valign="top">
|
||||||
<row>
|
<row>
|
||||||
<entry>__u32</entry>
|
<entry>__u32</entry>
|
||||||
|
<entry></entry>
|
||||||
<entry><structfield>id</structfield></entry>
|
<entry><structfield>id</structfield></entry>
|
||||||
<entry>Identifies the control, set by the application
|
<entry>Identifies the control, set by the application
|
||||||
from the respective &v4l2-queryctrl;
|
from the respective &v4l2-queryctrl;
|
||||||
@@ -227,18 +228,38 @@ from the respective &v4l2-queryctrl;
|
|||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>__u32</entry>
|
<entry>__u32</entry>
|
||||||
|
<entry></entry>
|
||||||
<entry><structfield>index</structfield></entry>
|
<entry><structfield>index</structfield></entry>
|
||||||
<entry>Index of the menu item, starting at zero, set by
|
<entry>Index of the menu item, starting at zero, set by
|
||||||
the application.</entry>
|
the application.</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
|
<entry>union</entry>
|
||||||
|
<entry></entry>
|
||||||
|
<entry></entry>
|
||||||
|
<entry></entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry></entry>
|
||||||
<entry>__u8</entry>
|
<entry>__u8</entry>
|
||||||
<entry><structfield>name</structfield>[32]</entry>
|
<entry><structfield>name</structfield>[32]</entry>
|
||||||
<entry>Name of the menu item, a NUL-terminated ASCII
|
<entry>Name of the menu item, a NUL-terminated ASCII
|
||||||
string. This information is intended for the user.</entry>
|
string. This information is intended for the user. This field is valid
|
||||||
|
for <constant>V4L2_CTRL_FLAG_MENU</constant> type controls.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry></entry>
|
||||||
|
<entry>__s64</entry>
|
||||||
|
<entry><structfield>value</structfield></entry>
|
||||||
|
<entry>
|
||||||
|
Value of the integer menu item. This field is valid for
|
||||||
|
<constant>V4L2_CTRL_FLAG_INTEGER_MENU</constant> type
|
||||||
|
controls.
|
||||||
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>__u32</entry>
|
<entry>__u32</entry>
|
||||||
|
<entry></entry>
|
||||||
<entry><structfield>reserved</structfield></entry>
|
<entry><structfield>reserved</structfield></entry>
|
||||||
<entry>Reserved for future extensions. Drivers must set
|
<entry>Reserved for future extensions. Drivers must set
|
||||||
the array to zero.</entry>
|
the array to zero.</entry>
|
||||||
@@ -291,6 +312,20 @@ values which are actually different on the hardware.</entry>
|
|||||||
the menu items can be enumerated with the
|
the menu items can be enumerated with the
|
||||||
<constant>VIDIOC_QUERYMENU</constant> ioctl.</entry>
|
<constant>VIDIOC_QUERYMENU</constant> ioctl.</entry>
|
||||||
</row>
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_CTRL_TYPE_INTEGER_MENU</constant></entry>
|
||||||
|
<entry>≥ 0</entry>
|
||||||
|
<entry>1</entry>
|
||||||
|
<entry>N-1</entry>
|
||||||
|
<entry>
|
||||||
|
The control has a menu of N choices. The values of the
|
||||||
|
menu items can be enumerated with the
|
||||||
|
<constant>VIDIOC_QUERYMENU</constant> ioctl. This is
|
||||||
|
similar to <constant>V4L2_CTRL_TYPE_MENU</constant>
|
||||||
|
except that instead of strings, the menu items are
|
||||||
|
signed 64-bit integers.
|
||||||
|
</entry>
|
||||||
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry><constant>V4L2_CTRL_TYPE_BITMASK</constant></entry>
|
<entry><constant>V4L2_CTRL_TYPE_BITMASK</constant></entry>
|
||||||
<entry>0</entry>
|
<entry>0</entry>
|
||||||
|
@@ -92,18 +92,19 @@ streamoff.--></para>
|
|||||||
<entry>The number of buffers requested or granted.</entry>
|
<entry>The number of buffers requested or granted.</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>&v4l2-buf-type;</entry>
|
<entry>__u32</entry>
|
||||||
<entry><structfield>type</structfield></entry>
|
<entry><structfield>type</structfield></entry>
|
||||||
<entry>Type of the stream or buffers, this is the same
|
<entry>Type of the stream or buffers, this is the same
|
||||||
as the &v4l2-format; <structfield>type</structfield> field. See <xref
|
as the &v4l2-format; <structfield>type</structfield> field. See <xref
|
||||||
linkend="v4l2-buf-type" /> for valid values.</entry>
|
linkend="v4l2-buf-type" /> for valid values.</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>&v4l2-memory;</entry>
|
<entry>__u32</entry>
|
||||||
<entry><structfield>memory</structfield></entry>
|
<entry><structfield>memory</structfield></entry>
|
||||||
<entry>Applications set this field to
|
<entry>Applications set this field to
|
||||||
<constant>V4L2_MEMORY_MMAP</constant> or
|
<constant>V4L2_MEMORY_MMAP</constant> or
|
||||||
<constant>V4L2_MEMORY_USERPTR</constant>.</entry>
|
<constant>V4L2_MEMORY_USERPTR</constant>. See <xref linkend="v4l2-memory"
|
||||||
|
/>.</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>__u32</entry>
|
<entry>__u32</entry>
|
||||||
|
@@ -73,10 +73,11 @@ same value as in the &v4l2-input; <structfield>tuner</structfield>
|
|||||||
field and the &v4l2-tuner; <structfield>index</structfield> field.</entry>
|
field and the &v4l2-tuner; <structfield>index</structfield> field.</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>&v4l2-tuner-type;</entry>
|
<entry>__u32</entry>
|
||||||
<entry><structfield>type</structfield></entry>
|
<entry><structfield>type</structfield></entry>
|
||||||
<entry>The tuner type. This is the same value as in the
|
<entry>The tuner type. This is the same value as in the
|
||||||
&v4l2-tuner; <structfield>type</structfield> field.</entry>
|
&v4l2-tuner; <structfield>type</structfield> field. See <xref
|
||||||
|
linkend="v4l2-tuner-type" /></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>__u32</entry>
|
<entry>__u32</entry>
|
||||||
|
@@ -58,9 +58,12 @@
|
|||||||
<title>Description</title>
|
<title>Description</title>
|
||||||
|
|
||||||
<note>
|
<note>
|
||||||
<title>Experimental</title>
|
<title>Obsolete</title>
|
||||||
<para>This is an <link linkend="experimental">experimental</link>
|
|
||||||
interface and may change in the future.</para>
|
<para>This is an <link linkend="obsolete">obsolete</link>
|
||||||
|
interface and may be removed in the future. It is superseded by
|
||||||
|
<link linkend="vidioc-subdev-g-selection">the selection
|
||||||
|
API</link>.</para>
|
||||||
</note>
|
</note>
|
||||||
|
|
||||||
<para>To retrieve the current crop rectangle applications set the
|
<para>To retrieve the current crop rectangle applications set the
|
||||||
|
228
Documentation/DocBook/media/v4l/vidioc-subdev-g-selection.xml
Normal file
228
Documentation/DocBook/media/v4l/vidioc-subdev-g-selection.xml
Normal file
@@ -0,0 +1,228 @@
|
|||||||
|
<refentry id="vidioc-subdev-g-selection">
|
||||||
|
<refmeta>
|
||||||
|
<refentrytitle>ioctl VIDIOC_SUBDEV_G_SELECTION, VIDIOC_SUBDEV_S_SELECTION</refentrytitle>
|
||||||
|
&manvol;
|
||||||
|
</refmeta>
|
||||||
|
|
||||||
|
<refnamediv>
|
||||||
|
<refname>VIDIOC_SUBDEV_G_SELECTION</refname>
|
||||||
|
<refname>VIDIOC_SUBDEV_S_SELECTION</refname>
|
||||||
|
<refpurpose>Get or set selection rectangles on a subdev pad</refpurpose>
|
||||||
|
</refnamediv>
|
||||||
|
|
||||||
|
<refsynopsisdiv>
|
||||||
|
<funcsynopsis>
|
||||||
|
<funcprototype>
|
||||||
|
<funcdef>int <function>ioctl</function></funcdef>
|
||||||
|
<paramdef>int <parameter>fd</parameter></paramdef>
|
||||||
|
<paramdef>int <parameter>request</parameter></paramdef>
|
||||||
|
<paramdef>struct v4l2_subdev_selection *<parameter>argp</parameter></paramdef>
|
||||||
|
</funcprototype>
|
||||||
|
</funcsynopsis>
|
||||||
|
</refsynopsisdiv>
|
||||||
|
|
||||||
|
<refsect1>
|
||||||
|
<title>Arguments</title>
|
||||||
|
|
||||||
|
<variablelist>
|
||||||
|
<varlistentry>
|
||||||
|
<term><parameter>fd</parameter></term>
|
||||||
|
<listitem>
|
||||||
|
<para>&fd;</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><parameter>request</parameter></term>
|
||||||
|
<listitem>
|
||||||
|
<para>VIDIOC_SUBDEV_G_SELECTION, VIDIOC_SUBDEV_S_SELECTION</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><parameter>argp</parameter></term>
|
||||||
|
<listitem>
|
||||||
|
<para></para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
</variablelist>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1>
|
||||||
|
<title>Description</title>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<title>Experimental</title>
|
||||||
|
<para>This is an <link linkend="experimental">experimental</link>
|
||||||
|
interface and may change in the future.</para>
|
||||||
|
</note>
|
||||||
|
|
||||||
|
<para>The selections are used to configure various image
|
||||||
|
processing functionality performed by the subdevs which affect the
|
||||||
|
image size. This currently includes cropping, scaling and
|
||||||
|
composition.</para>
|
||||||
|
|
||||||
|
<para>The selection API replaces <link
|
||||||
|
linkend="vidioc-subdev-g-crop">the old subdev crop API</link>. All
|
||||||
|
the function of the crop API, and more, are supported by the
|
||||||
|
selections API.</para>
|
||||||
|
|
||||||
|
<para>See <xref linkend="subdev"></xref> for
|
||||||
|
more information on how each selection target affects the image
|
||||||
|
processing pipeline inside the subdevice.</para>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<title>Types of selection targets</title>
|
||||||
|
|
||||||
|
<para>There are two types of selection targets: actual and bounds.
|
||||||
|
The ACTUAL targets are the targets which configure the hardware.
|
||||||
|
The BOUNDS target will return a rectangle that contain all
|
||||||
|
possible ACTUAL rectangles.</para>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<title>Discovering supported features</title>
|
||||||
|
|
||||||
|
<para>To discover which targets are supported, the user can
|
||||||
|
perform <constant>VIDIOC_SUBDEV_G_SELECTION</constant> on them.
|
||||||
|
Any unsupported target will return
|
||||||
|
<constant>EINVAL</constant>.</para>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<table pgwide="1" frame="none" id="v4l2-subdev-selection-targets">
|
||||||
|
<title>V4L2 subdev selection targets</title>
|
||||||
|
<tgroup cols="3">
|
||||||
|
&cs-def;
|
||||||
|
<tbody valign="top">
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_SUBDEV_SEL_TGT_CROP_ACTUAL</constant></entry>
|
||||||
|
<entry>0x0000</entry>
|
||||||
|
<entry>Actual crop. Defines the cropping
|
||||||
|
performed by the processing step.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_SUBDEV_SEL_TGT_CROP_BOUNDS</constant></entry>
|
||||||
|
<entry>0x0002</entry>
|
||||||
|
<entry>Bounds of the crop rectangle.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_SUBDEV_SEL_TGT_COMPOSE_ACTUAL</constant></entry>
|
||||||
|
<entry>0x0100</entry>
|
||||||
|
<entry>Actual compose rectangle. Used to configure scaling
|
||||||
|
on sink pads and composition on source pads.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_SUBDEV_SEL_TGT_COMPOSE_BOUNDS</constant></entry>
|
||||||
|
<entry>0x0102</entry>
|
||||||
|
<entry>Bounds of the compose rectangle.</entry>
|
||||||
|
</row>
|
||||||
|
</tbody>
|
||||||
|
</tgroup>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table pgwide="1" frame="none" id="v4l2-subdev-selection-flags">
|
||||||
|
<title>V4L2 subdev selection flags</title>
|
||||||
|
<tgroup cols="3">
|
||||||
|
&cs-def;
|
||||||
|
<tbody valign="top">
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_SUBDEV_SEL_FLAG_SIZE_GE</constant></entry>
|
||||||
|
<entry>(1 << 0)</entry> <entry>Suggest the driver it
|
||||||
|
should choose greater or equal rectangle (in size) than
|
||||||
|
was requested. Albeit the driver may choose a lesser size,
|
||||||
|
it will only do so due to hardware limitations. Without
|
||||||
|
this flag (and
|
||||||
|
<constant>V4L2_SUBDEV_SEL_FLAG_SIZE_LE</constant>) the
|
||||||
|
behaviour is to choose the closest possible
|
||||||
|
rectangle.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_SUBDEV_SEL_FLAG_SIZE_LE</constant></entry>
|
||||||
|
<entry>(1 << 1)</entry> <entry>Suggest the driver it
|
||||||
|
should choose lesser or equal rectangle (in size) than was
|
||||||
|
requested. Albeit the driver may choose a greater size, it
|
||||||
|
will only do so due to hardware limitations.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><constant>V4L2_SUBDEV_SEL_FLAG_KEEP_CONFIG</constant></entry>
|
||||||
|
<entry>(1 << 2)</entry>
|
||||||
|
<entry>The configuration should not be propagated to any
|
||||||
|
further processing steps. If this flag is not given, the
|
||||||
|
configuration is propagated inside the subdevice to all
|
||||||
|
further processing steps.</entry>
|
||||||
|
</row>
|
||||||
|
</tbody>
|
||||||
|
</tgroup>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table pgwide="1" frame="none" id="v4l2-subdev-selection">
|
||||||
|
<title>struct <structname>v4l2_subdev_selection</structname></title>
|
||||||
|
<tgroup cols="3">
|
||||||
|
&cs-str;
|
||||||
|
<tbody valign="top">
|
||||||
|
<row>
|
||||||
|
<entry>__u32</entry>
|
||||||
|
<entry><structfield>which</structfield></entry>
|
||||||
|
<entry>Active or try selection, from
|
||||||
|
&v4l2-subdev-format-whence;.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>__u32</entry>
|
||||||
|
<entry><structfield>pad</structfield></entry>
|
||||||
|
<entry>Pad number as reported by the media framework.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>__u32</entry>
|
||||||
|
<entry><structfield>target</structfield></entry>
|
||||||
|
<entry>Target selection rectangle. See
|
||||||
|
<xref linkend="v4l2-subdev-selection-targets">.</xref>.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>__u32</entry>
|
||||||
|
<entry><structfield>flags</structfield></entry>
|
||||||
|
<entry>Flags. See
|
||||||
|
<xref linkend="v4l2-subdev-selection-flags">.</xref></entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>&v4l2-rect;</entry>
|
||||||
|
<entry><structfield>rect</structfield></entry>
|
||||||
|
<entry>Selection rectangle, in pixels.</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>__u32</entry>
|
||||||
|
<entry><structfield>reserved</structfield>[8]</entry>
|
||||||
|
<entry>Reserved for future extensions. Applications and drivers must
|
||||||
|
set the array to zero.</entry>
|
||||||
|
</row>
|
||||||
|
</tbody>
|
||||||
|
</tgroup>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1>
|
||||||
|
&return-value;
|
||||||
|
|
||||||
|
<variablelist>
|
||||||
|
<varlistentry>
|
||||||
|
<term><errorcode>EBUSY</errorcode></term>
|
||||||
|
<listitem>
|
||||||
|
<para>The selection rectangle can't be changed because the
|
||||||
|
pad is currently busy. This can be caused, for instance, by
|
||||||
|
an active video stream on the pad. The ioctl must not be
|
||||||
|
retried without performing another action to fix the problem
|
||||||
|
first. Only returned by
|
||||||
|
<constant>VIDIOC_SUBDEV_S_SELECTION</constant></para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><errorcode>EINVAL</errorcode></term>
|
||||||
|
<listitem>
|
||||||
|
<para>The &v4l2-subdev-selection;
|
||||||
|
<structfield>pad</structfield> references a non-existing
|
||||||
|
pad, the <structfield>which</structfield> field references a
|
||||||
|
non-existing format, or the selection target is not
|
||||||
|
supported on the given subdev pad.</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
</variablelist>
|
||||||
|
</refsect1>
|
||||||
|
</refentry>
|
@@ -1119,8 +1119,6 @@ in this page</entry>
|
|||||||
These constants are defined in nand.h. They are ored together to describe
|
These constants are defined in nand.h. They are ored together to describe
|
||||||
the chip functionality.
|
the chip functionality.
|
||||||
<programlisting>
|
<programlisting>
|
||||||
/* Chip can not auto increment pages */
|
|
||||||
#define NAND_NO_AUTOINCR 0x00000001
|
|
||||||
/* Buswitdh is 16 bit */
|
/* Buswitdh is 16 bit */
|
||||||
#define NAND_BUSWIDTH_16 0x00000002
|
#define NAND_BUSWIDTH_16 0x00000002
|
||||||
/* Device supports partial programming without padding */
|
/* Device supports partial programming without padding */
|
||||||
|
@@ -218,16 +218,16 @@ The development process
|
|||||||
Linux kernel development process currently consists of a few different
|
Linux kernel development process currently consists of a few different
|
||||||
main kernel "branches" and lots of different subsystem-specific kernel
|
main kernel "branches" and lots of different subsystem-specific kernel
|
||||||
branches. These different branches are:
|
branches. These different branches are:
|
||||||
- main 2.6.x kernel tree
|
- main 3.x kernel tree
|
||||||
- 2.6.x.y -stable kernel tree
|
- 3.x.y -stable kernel tree
|
||||||
- 2.6.x -git kernel patches
|
- 3.x -git kernel patches
|
||||||
- subsystem specific kernel trees and patches
|
- subsystem specific kernel trees and patches
|
||||||
- the 2.6.x -next kernel tree for integration tests
|
- the 3.x -next kernel tree for integration tests
|
||||||
|
|
||||||
2.6.x kernel tree
|
3.x kernel tree
|
||||||
-----------------
|
-----------------
|
||||||
2.6.x kernels are maintained by Linus Torvalds, and can be found on
|
3.x kernels are maintained by Linus Torvalds, and can be found on
|
||||||
kernel.org in the pub/linux/kernel/v2.6/ directory. Its development
|
kernel.org in the pub/linux/kernel/v3.x/ directory. Its development
|
||||||
process is as follows:
|
process is as follows:
|
||||||
- As soon as a new kernel is released a two weeks window is open,
|
- As soon as a new kernel is released a two weeks window is open,
|
||||||
during this period of time maintainers can submit big diffs to
|
during this period of time maintainers can submit big diffs to
|
||||||
@@ -262,20 +262,20 @@ mailing list about kernel releases:
|
|||||||
released according to perceived bug status, not according to a
|
released according to perceived bug status, not according to a
|
||||||
preconceived timeline."
|
preconceived timeline."
|
||||||
|
|
||||||
2.6.x.y -stable kernel tree
|
3.x.y -stable kernel tree
|
||||||
---------------------------
|
---------------------------
|
||||||
Kernels with 4-part versions are -stable kernels. They contain
|
Kernels with 3-part versions are -stable kernels. They contain
|
||||||
relatively small and critical fixes for security problems or significant
|
relatively small and critical fixes for security problems or significant
|
||||||
regressions discovered in a given 2.6.x kernel.
|
regressions discovered in a given 3.x kernel.
|
||||||
|
|
||||||
This is the recommended branch for users who want the most recent stable
|
This is the recommended branch for users who want the most recent stable
|
||||||
kernel and are not interested in helping test development/experimental
|
kernel and are not interested in helping test development/experimental
|
||||||
versions.
|
versions.
|
||||||
|
|
||||||
If no 2.6.x.y kernel is available, then the highest numbered 2.6.x
|
If no 3.x.y kernel is available, then the highest numbered 3.x
|
||||||
kernel is the current stable kernel.
|
kernel is the current stable kernel.
|
||||||
|
|
||||||
2.6.x.y are maintained by the "stable" team <stable@vger.kernel.org>, and
|
3.x.y are maintained by the "stable" team <stable@vger.kernel.org>, and
|
||||||
are released as needs dictate. The normal release period is approximately
|
are released as needs dictate. The normal release period is approximately
|
||||||
two weeks, but it can be longer if there are no pressing problems. A
|
two weeks, but it can be longer if there are no pressing problems. A
|
||||||
security-related problem, instead, can cause a release to happen almost
|
security-related problem, instead, can cause a release to happen almost
|
||||||
@@ -285,7 +285,7 @@ The file Documentation/stable_kernel_rules.txt in the kernel tree
|
|||||||
documents what kinds of changes are acceptable for the -stable tree, and
|
documents what kinds of changes are acceptable for the -stable tree, and
|
||||||
how the release process works.
|
how the release process works.
|
||||||
|
|
||||||
2.6.x -git patches
|
3.x -git patches
|
||||||
------------------
|
------------------
|
||||||
These are daily snapshots of Linus' kernel tree which are managed in a
|
These are daily snapshots of Linus' kernel tree which are managed in a
|
||||||
git repository (hence the name.) These patches are usually released
|
git repository (hence the name.) These patches are usually released
|
||||||
@@ -317,13 +317,13 @@ revisions to it, and maintainers can mark patches as under review,
|
|||||||
accepted, or rejected. Most of these patchwork sites are listed at
|
accepted, or rejected. Most of these patchwork sites are listed at
|
||||||
http://patchwork.kernel.org/.
|
http://patchwork.kernel.org/.
|
||||||
|
|
||||||
2.6.x -next kernel tree for integration tests
|
3.x -next kernel tree for integration tests
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
Before updates from subsystem trees are merged into the mainline 2.6.x
|
Before updates from subsystem trees are merged into the mainline 3.x
|
||||||
tree, they need to be integration-tested. For this purpose, a special
|
tree, they need to be integration-tested. For this purpose, a special
|
||||||
testing repository exists into which virtually all subsystem trees are
|
testing repository exists into which virtually all subsystem trees are
|
||||||
pulled on an almost daily basis:
|
pulled on an almost daily basis:
|
||||||
http://git.kernel.org/?p=linux/kernel/git/sfr/linux-next.git
|
http://git.kernel.org/?p=linux/kernel/git/next/linux-next.git
|
||||||
http://linux.f-seidel.de/linux-next/pmwiki/
|
http://linux.f-seidel.de/linux-next/pmwiki/
|
||||||
|
|
||||||
This way, the -next kernel gives a summary outlook onto what will be
|
This way, the -next kernel gives a summary outlook onto what will be
|
||||||
|
@@ -1,3 +1,3 @@
|
|||||||
obj-m := DocBook/ accounting/ auxdisplay/ connector/ \
|
obj-m := DocBook/ accounting/ auxdisplay/ connector/ \
|
||||||
filesystems/ filesystems/configfs/ ia64/ laptops/ networking/ \
|
filesystems/ filesystems/configfs/ ia64/ laptops/ networking/ \
|
||||||
pcmcia/ spi/ timers/ watchdog/src/
|
pcmcia/ spi/ timers/ watchdog/src/ misc-devices/mei/
|
||||||
|
@@ -47,6 +47,16 @@ irqreader Says to invoke RCU readers from irq level. This is currently
|
|||||||
permit this. (Or, more accurately, variants of RCU that do
|
permit this. (Or, more accurately, variants of RCU that do
|
||||||
-not- permit this know to ignore this variable.)
|
-not- permit this know to ignore this variable.)
|
||||||
|
|
||||||
|
n_barrier_cbs If this is nonzero, RCU barrier testing will be conducted,
|
||||||
|
in which case n_barrier_cbs specifies the number of
|
||||||
|
RCU callbacks (and corresponding kthreads) to use for
|
||||||
|
this testing. The value cannot be negative. If you
|
||||||
|
specify this to be non-zero when torture_type indicates a
|
||||||
|
synchronous RCU implementation (one for which a member of
|
||||||
|
the synchronize_rcu() rather than the call_rcu() family is
|
||||||
|
used -- see the documentation for torture_type below), an
|
||||||
|
error will be reported and no testing will be carried out.
|
||||||
|
|
||||||
nfakewriters This is the number of RCU fake writer threads to run. Fake
|
nfakewriters This is the number of RCU fake writer threads to run. Fake
|
||||||
writer threads repeatedly use the synchronous "wait for
|
writer threads repeatedly use the synchronous "wait for
|
||||||
current readers" function of the interface selected by
|
current readers" function of the interface selected by
|
||||||
@@ -188,7 +198,7 @@ OUTPUT
|
|||||||
The statistics output is as follows:
|
The statistics output is as follows:
|
||||||
|
|
||||||
rcu-torture:--- Start of test: nreaders=16 nfakewriters=4 stat_interval=30 verbose=0 test_no_idle_hz=1 shuffle_interval=3 stutter=5 irqreader=1 fqs_duration=0 fqs_holdoff=0 fqs_stutter=3 test_boost=1/0 test_boost_interval=7 test_boost_duration=4
|
rcu-torture:--- Start of test: nreaders=16 nfakewriters=4 stat_interval=30 verbose=0 test_no_idle_hz=1 shuffle_interval=3 stutter=5 irqreader=1 fqs_duration=0 fqs_holdoff=0 fqs_stutter=3 test_boost=1/0 test_boost_interval=7 test_boost_duration=4
|
||||||
rcu-torture: rtc: (null) ver: 155441 tfle: 0 rta: 155441 rtaf: 8884 rtf: 155440 rtmbe: 0 rtbke: 0 rtbre: 0 rtbf: 0 rtb: 0 nt: 3055767
|
rcu-torture: rtc: (null) ver: 155441 tfle: 0 rta: 155441 rtaf: 8884 rtf: 155440 rtmbe: 0 rtbe: 0 rtbke: 0 rtbre: 0 rtbf: 0 rtb: 0 nt: 3055767
|
||||||
rcu-torture: Reader Pipe: 727860534 34213 0 0 0 0 0 0 0 0 0
|
rcu-torture: Reader Pipe: 727860534 34213 0 0 0 0 0 0 0 0 0
|
||||||
rcu-torture: Reader Batch: 727877838 17003 0 0 0 0 0 0 0 0 0
|
rcu-torture: Reader Batch: 727877838 17003 0 0 0 0 0 0 0 0 0
|
||||||
rcu-torture: Free-Block Circulation: 155440 155440 155440 155440 155440 155440 155440 155440 155440 155440 0
|
rcu-torture: Free-Block Circulation: 155440 155440 155440 155440 155440 155440 155440 155440 155440 155440 0
|
||||||
@@ -230,6 +240,9 @@ o "rtmbe": A non-zero value indicates that rcutorture believes that
|
|||||||
rcu_assign_pointer() and rcu_dereference() are not working
|
rcu_assign_pointer() and rcu_dereference() are not working
|
||||||
correctly. This value should be zero.
|
correctly. This value should be zero.
|
||||||
|
|
||||||
|
o "rtbe": A non-zero value indicates that one of the rcu_barrier()
|
||||||
|
family of functions is not working correctly.
|
||||||
|
|
||||||
o "rtbke": rcutorture was unable to create the real-time kthreads
|
o "rtbke": rcutorture was unable to create the real-time kthreads
|
||||||
used to force RCU priority inversion. This value should be zero.
|
used to force RCU priority inversion. This value should be zero.
|
||||||
|
|
||||||
|
@@ -150,7 +150,8 @@ be able to justify all violations that remain in your patch.
|
|||||||
|
|
||||||
Look through the MAINTAINERS file and the source code, and determine
|
Look through the MAINTAINERS file and the source code, and determine
|
||||||
if your change applies to a specific subsystem of the kernel, with
|
if your change applies to a specific subsystem of the kernel, with
|
||||||
an assigned maintainer. If so, e-mail that person.
|
an assigned maintainer. If so, e-mail that person. The script
|
||||||
|
scripts/get_maintainer.pl can be very useful at this step.
|
||||||
|
|
||||||
If no maintainer is listed, or the maintainer does not respond, send
|
If no maintainer is listed, or the maintainer does not respond, send
|
||||||
your patch to the primary Linux kernel developer's mailing list,
|
your patch to the primary Linux kernel developer's mailing list,
|
||||||
|
@@ -4,8 +4,6 @@ Booting
|
|||||||
- requirements for booting
|
- requirements for booting
|
||||||
Interrupts
|
Interrupts
|
||||||
- ARM Interrupt subsystem documentation
|
- ARM Interrupt subsystem documentation
|
||||||
IXP2000
|
|
||||||
- Release Notes for Linux on Intel's IXP2000 Network Processor
|
|
||||||
msm
|
msm
|
||||||
- MSM specific documentation
|
- MSM specific documentation
|
||||||
Netwinder
|
Netwinder
|
||||||
|
@@ -1,69 +0,0 @@
|
|||||||
|
|
||||||
-------------------------------------------------------------------------
|
|
||||||
Release Notes for Linux on Intel's IXP2000 Network Processor
|
|
||||||
|
|
||||||
Maintained by Deepak Saxena <dsaxena@plexity.net>
|
|
||||||
-------------------------------------------------------------------------
|
|
||||||
|
|
||||||
1. Overview
|
|
||||||
|
|
||||||
Intel's IXP2000 family of NPUs (IXP2400, IXP2800, IXP2850) is designed
|
|
||||||
for high-performance network applications such high-availability
|
|
||||||
telecom systems. In addition to an XScale core, it contains up to 8
|
|
||||||
"MicroEngines" that run special code, several high-end networking
|
|
||||||
interfaces (UTOPIA, SPI, etc), a PCI host bridge, one serial port,
|
|
||||||
flash interface, and some other odds and ends. For more information, see:
|
|
||||||
|
|
||||||
http://developer.intel.com
|
|
||||||
|
|
||||||
2. Linux Support
|
|
||||||
|
|
||||||
Linux currently supports the following features on the IXP2000 NPUs:
|
|
||||||
|
|
||||||
- On-chip serial
|
|
||||||
- PCI
|
|
||||||
- Flash (MTD/JFFS2)
|
|
||||||
- I2C through GPIO
|
|
||||||
- Timers (watchdog, OS)
|
|
||||||
|
|
||||||
That is about all we can support under Linux ATM b/c the core networking
|
|
||||||
components of the chip are accessed via Intel's closed source SDK.
|
|
||||||
Please contact Intel directly on issues with using those. There is
|
|
||||||
also a mailing list run by some folks at Princeton University that might
|
|
||||||
be of help: https://lists.cs.princeton.edu/mailman/listinfo/ixp2xxx
|
|
||||||
|
|
||||||
WHATEVER YOU DO, DO NOT POST EMAIL TO THE LINUX-ARM OR LINUX-ARM-KERNEL
|
|
||||||
MAILING LISTS REGARDING THE INTEL SDK.
|
|
||||||
|
|
||||||
3. Supported Platforms
|
|
||||||
|
|
||||||
- Intel IXDP2400 Reference Platform
|
|
||||||
- Intel IXDP2800 Reference Platform
|
|
||||||
- Intel IXDP2401 Reference Platform
|
|
||||||
- Intel IXDP2801 Reference Platform
|
|
||||||
- RadiSys ENP-2611
|
|
||||||
|
|
||||||
4. Usage Notes
|
|
||||||
|
|
||||||
- The IXP2000 platforms usually have rather complex PCI bus topologies
|
|
||||||
with large memory space requirements. In addition, b/c of the way the
|
|
||||||
Intel SDK is designed, devices are enumerated in a very specific
|
|
||||||
way. B/c of this this, we use "pci=firmware" option in the kernel
|
|
||||||
command line so that we do not re-enumerate the bus.
|
|
||||||
|
|
||||||
- IXDP2x01 systems have variable clock tick rates that we cannot determine
|
|
||||||
via HW registers. The "ixdp2x01_clk=XXX" cmd line options allow you
|
|
||||||
to pass the clock rate to the board port.
|
|
||||||
|
|
||||||
5. Thanks
|
|
||||||
|
|
||||||
The IXP2000 work has been funded by Intel Corp. and MontaVista Software, Inc.
|
|
||||||
|
|
||||||
The following people have contributed patches/comments/etc:
|
|
||||||
|
|
||||||
Naeem F. Afzal
|
|
||||||
Lennert Buytenhek
|
|
||||||
Jeffrey Daly
|
|
||||||
|
|
||||||
-------------------------------------------------------------------------
|
|
||||||
Last Update: 8/09/2004
|
|
@@ -47,6 +47,51 @@ flexible way to enable non-common multi-display configuration. In addition to
|
|||||||
modelling the hardware overlays, omapdss supports virtual overlays and overlay
|
modelling the hardware overlays, omapdss supports virtual overlays and overlay
|
||||||
managers. These can be used when updating a display with CPU or system DMA.
|
managers. These can be used when updating a display with CPU or system DMA.
|
||||||
|
|
||||||
|
omapdss driver support for audio
|
||||||
|
--------------------------------
|
||||||
|
There exist several display technologies and standards that support audio as
|
||||||
|
well. Hence, it is relevant to update the DSS device driver to provide an audio
|
||||||
|
interface that may be used by an audio driver or any other driver interested in
|
||||||
|
the functionality.
|
||||||
|
|
||||||
|
The audio_enable function is intended to prepare the relevant
|
||||||
|
IP for playback (e.g., enabling an audio FIFO, taking in/out of reset
|
||||||
|
some IP, enabling companion chips, etc). It is intended to be called before
|
||||||
|
audio_start. The audio_disable function performs the reverse operation and is
|
||||||
|
intended to be called after audio_stop.
|
||||||
|
|
||||||
|
While a given DSS device driver may support audio, it is possible that for
|
||||||
|
certain configurations audio is not supported (e.g., an HDMI display using a
|
||||||
|
VESA video timing). The audio_supported function is intended to query whether
|
||||||
|
the current configuration of the display supports audio.
|
||||||
|
|
||||||
|
The audio_config function is intended to configure all the relevant audio
|
||||||
|
parameters of the display. In order to make the function independent of any
|
||||||
|
specific DSS device driver, a struct omap_dss_audio is defined. Its purpose
|
||||||
|
is to contain all the required parameters for audio configuration. At the
|
||||||
|
moment, such structure contains pointers to IEC-60958 channel status word
|
||||||
|
and CEA-861 audio infoframe structures. This should be enough to support
|
||||||
|
HDMI and DisplayPort, as both are based on CEA-861 and IEC-60958.
|
||||||
|
|
||||||
|
The audio_enable/disable, audio_config and audio_supported functions could be
|
||||||
|
implemented as functions that may sleep. Hence, they should not be called
|
||||||
|
while holding a spinlock or a readlock.
|
||||||
|
|
||||||
|
The audio_start/audio_stop function is intended to effectively start/stop audio
|
||||||
|
playback after the configuration has taken place. These functions are designed
|
||||||
|
to be used in an atomic context. Hence, audio_start should return quickly and be
|
||||||
|
called only after all the needed resources for audio playback (audio FIFOs,
|
||||||
|
DMA channels, companion chips, etc) have been enabled to begin data transfers.
|
||||||
|
audio_stop is designed to only stop the audio transfers. The resources used
|
||||||
|
for playback are released using audio_disable.
|
||||||
|
|
||||||
|
The enum omap_dss_audio_state may be used to help the implementations of
|
||||||
|
the interface to keep track of the audio state. The initial state is _DISABLED;
|
||||||
|
then, the state transitions to _CONFIGURED, and then, when it is ready to
|
||||||
|
play audio, to _ENABLED. The state _PLAYING is used when the audio is being
|
||||||
|
rendered.
|
||||||
|
|
||||||
|
|
||||||
Panel and controller drivers
|
Panel and controller drivers
|
||||||
----------------------------
|
----------------------------
|
||||||
|
|
||||||
@@ -156,6 +201,7 @@ timings Display timings (pixclock,xres/hfp/hbp/hsw,yres/vfp/vbp/vsw)
|
|||||||
"pal" and "ntsc"
|
"pal" and "ntsc"
|
||||||
panel_name
|
panel_name
|
||||||
tear_elim Tearing elimination 0=off, 1=on
|
tear_elim Tearing elimination 0=off, 1=on
|
||||||
|
output_type Output type (video encoder only): "composite" or "svideo"
|
||||||
|
|
||||||
There are also some debugfs files at <debugfs>/omapdss/ which show information
|
There are also some debugfs files at <debugfs>/omapdss/ which show information
|
||||||
about clocks and registers.
|
about clocks and registers.
|
||||||
|
@@ -8,53 +8,56 @@ Introduction
|
|||||||
weblink : http://www.st.com/spear
|
weblink : http://www.st.com/spear
|
||||||
|
|
||||||
The ST Microelectronics SPEAr range of ARM9/CortexA9 System-on-Chip CPUs are
|
The ST Microelectronics SPEAr range of ARM9/CortexA9 System-on-Chip CPUs are
|
||||||
supported by the 'spear' platform of ARM Linux. Currently SPEAr300,
|
supported by the 'spear' platform of ARM Linux. Currently SPEAr1310,
|
||||||
SPEAr310, SPEAr320 and SPEAr600 SOCs are supported. Support for the SPEAr13XX
|
SPEAr1340, SPEAr300, SPEAr310, SPEAr320 and SPEAr600 SOCs are supported.
|
||||||
series is in progress.
|
|
||||||
|
|
||||||
Hierarchy in SPEAr is as follows:
|
Hierarchy in SPEAr is as follows:
|
||||||
|
|
||||||
SPEAr (Platform)
|
SPEAr (Platform)
|
||||||
- SPEAr3XX (3XX SOC series, based on ARM9)
|
- SPEAr3XX (3XX SOC series, based on ARM9)
|
||||||
- SPEAr300 (SOC)
|
- SPEAr300 (SOC)
|
||||||
- SPEAr300_EVB (Evaluation Board)
|
- SPEAr300 Evaluation Board
|
||||||
- SPEAr310 (SOC)
|
- SPEAr310 (SOC)
|
||||||
- SPEAr310_EVB (Evaluation Board)
|
- SPEAr310 Evaluation Board
|
||||||
- SPEAr320 (SOC)
|
- SPEAr320 (SOC)
|
||||||
- SPEAr320_EVB (Evaluation Board)
|
- SPEAr320 Evaluation Board
|
||||||
- SPEAr6XX (6XX SOC series, based on ARM9)
|
- SPEAr6XX (6XX SOC series, based on ARM9)
|
||||||
- SPEAr600 (SOC)
|
- SPEAr600 (SOC)
|
||||||
- SPEAr600_EVB (Evaluation Board)
|
- SPEAr600 Evaluation Board
|
||||||
- SPEAr13XX (13XX SOC series, based on ARM CORTEXA9)
|
- SPEAr13XX (13XX SOC series, based on ARM CORTEXA9)
|
||||||
- SPEAr1300 (SOC)
|
- SPEAr1310 (SOC)
|
||||||
|
- SPEAr1310 Evaluation Board
|
||||||
|
- SPEAr1340 (SOC)
|
||||||
|
- SPEAr1340 Evaluation Board
|
||||||
|
|
||||||
Configuration
|
Configuration
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
A generic configuration is provided for each machine, and can be used as the
|
A generic configuration is provided for each machine, and can be used as the
|
||||||
default by
|
default by
|
||||||
make spear600_defconfig
|
make spear13xx_defconfig
|
||||||
make spear300_defconfig
|
make spear3xx_defconfig
|
||||||
make spear310_defconfig
|
make spear6xx_defconfig
|
||||||
make spear320_defconfig
|
|
||||||
|
|
||||||
Layout
|
Layout
|
||||||
------
|
------
|
||||||
|
|
||||||
The common files for multiple machine families (SPEAr3XX, SPEAr6XX and
|
The common files for multiple machine families (SPEAr3xx, SPEAr6xx and
|
||||||
SPEAr13XX) are located in the platform code contained in arch/arm/plat-spear
|
SPEAr13xx) are located in the platform code contained in arch/arm/plat-spear
|
||||||
with headers in plat/.
|
with headers in plat/.
|
||||||
|
|
||||||
Each machine series have a directory with name arch/arm/mach-spear followed by
|
Each machine series have a directory with name arch/arm/mach-spear followed by
|
||||||
series name. Like mach-spear3xx, mach-spear6xx and mach-spear13xx.
|
series name. Like mach-spear3xx, mach-spear6xx and mach-spear13xx.
|
||||||
|
|
||||||
Common file for machines of spear3xx family is mach-spear3xx/spear3xx.c and for
|
Common file for machines of spear3xx family is mach-spear3xx/spear3xx.c, for
|
||||||
spear6xx is mach-spear6xx/spear6xx.c. mach-spear* also contain soc/machine
|
spear6xx is mach-spear6xx/spear6xx.c and for spear13xx family is
|
||||||
specific files, like spear300.c, spear310.c, spear320.c and spear600.c.
|
mach-spear13xx/spear13xx.c. mach-spear* also contain soc/machine specific
|
||||||
mach-spear* also contains board specific files for each machine type.
|
files, like spear1310.c, spear1340.c spear300.c, spear310.c, spear320.c and
|
||||||
|
spear600.c. mach-spear* doesn't contains board specific files as they fully
|
||||||
|
support Flattened Device Tree.
|
||||||
|
|
||||||
|
|
||||||
Document Author
|
Document Author
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
Viresh Kumar, (c) 2010 ST Microelectronics
|
Viresh Kumar <viresh.kumar@st.com>, (c) 2010-2012 ST Microelectronics
|
||||||
|
@@ -53,7 +53,7 @@
|
|||||||
|
|
||||||
3. But there are some exceptions
|
3. But there are some exceptions
|
||||||
- Kernel permit the identical GPIO be requested both as GPIO and GPIO
|
- Kernel permit the identical GPIO be requested both as GPIO and GPIO
|
||||||
interrut.
|
interrupt.
|
||||||
Some drivers, like gpio-keys, need this behavior. Kernel only print out
|
Some drivers, like gpio-keys, need this behavior. Kernel only print out
|
||||||
warning messages like,
|
warning messages like,
|
||||||
bfin-gpio: GPIO 24 is already reserved by gpio-keys: BTN0, and you are
|
bfin-gpio: GPIO 24 is already reserved by gpio-keys: BTN0, and you are
|
||||||
|
@@ -184,12 +184,14 @@ behind this approach is that a cgroup that aggressively uses a shared
|
|||||||
page will eventually get charged for it (once it is uncharged from
|
page will eventually get charged for it (once it is uncharged from
|
||||||
the cgroup that brought it in -- this will happen on memory pressure).
|
the cgroup that brought it in -- this will happen on memory pressure).
|
||||||
|
|
||||||
|
But see section 8.2: when moving a task to another cgroup, its pages may
|
||||||
|
be recharged to the new cgroup, if move_charge_at_immigrate has been chosen.
|
||||||
|
|
||||||
Exception: If CONFIG_CGROUP_CGROUP_MEM_RES_CTLR_SWAP is not used.
|
Exception: If CONFIG_CGROUP_CGROUP_MEM_RES_CTLR_SWAP is not used.
|
||||||
When you do swapoff and make swapped-out pages of shmem(tmpfs) to
|
When you do swapoff and make swapped-out pages of shmem(tmpfs) to
|
||||||
be backed into memory in force, charges for pages are accounted against the
|
be backed into memory in force, charges for pages are accounted against the
|
||||||
caller of swapoff rather than the users of shmem.
|
caller of swapoff rather than the users of shmem.
|
||||||
|
|
||||||
|
|
||||||
2.4 Swap Extension (CONFIG_CGROUP_MEM_RES_CTLR_SWAP)
|
2.4 Swap Extension (CONFIG_CGROUP_MEM_RES_CTLR_SWAP)
|
||||||
|
|
||||||
Swap Extension allows you to record charge for swap. A swapped-in page is
|
Swap Extension allows you to record charge for swap. A swapped-in page is
|
||||||
@@ -374,14 +376,15 @@ cgroup might have some charge associated with it, even though all
|
|||||||
tasks have migrated away from it. (because we charge against pages, not
|
tasks have migrated away from it. (because we charge against pages, not
|
||||||
against tasks.)
|
against tasks.)
|
||||||
|
|
||||||
Such charges are freed or moved to their parent. At moving, both of RSS
|
We move the stats to root (if use_hierarchy==0) or parent (if
|
||||||
and CACHES are moved to parent.
|
use_hierarchy==1), and no change on the charge except uncharging
|
||||||
rmdir() may return -EBUSY if freeing/moving fails. See 5.1 also.
|
from the child.
|
||||||
|
|
||||||
Charges recorded in swap information is not updated at removal of cgroup.
|
Charges recorded in swap information is not updated at removal of cgroup.
|
||||||
Recorded information is discarded and a cgroup which uses swap (swapcache)
|
Recorded information is discarded and a cgroup which uses swap (swapcache)
|
||||||
will be charged as a new owner of it.
|
will be charged as a new owner of it.
|
||||||
|
|
||||||
|
About use_hierarchy, see Section 6.
|
||||||
|
|
||||||
5. Misc. interfaces.
|
5. Misc. interfaces.
|
||||||
|
|
||||||
@@ -394,13 +397,15 @@ will be charged as a new owner of it.
|
|||||||
|
|
||||||
Almost all pages tracked by this memory cgroup will be unmapped and freed.
|
Almost all pages tracked by this memory cgroup will be unmapped and freed.
|
||||||
Some pages cannot be freed because they are locked or in-use. Such pages are
|
Some pages cannot be freed because they are locked or in-use. Such pages are
|
||||||
moved to parent and this cgroup will be empty. This may return -EBUSY if
|
moved to parent(if use_hierarchy==1) or root (if use_hierarchy==0) and this
|
||||||
VM is too busy to free/move all pages immediately.
|
cgroup will be empty.
|
||||||
|
|
||||||
Typical use case of this interface is that calling this before rmdir().
|
Typical use case of this interface is that calling this before rmdir().
|
||||||
Because rmdir() moves all pages to parent, some out-of-use page caches can be
|
Because rmdir() moves all pages to parent, some out-of-use page caches can be
|
||||||
moved to the parent. If you want to avoid that, force_empty will be useful.
|
moved to the parent. If you want to avoid that, force_empty will be useful.
|
||||||
|
|
||||||
|
About use_hierarchy, see Section 6.
|
||||||
|
|
||||||
5.2 stat file
|
5.2 stat file
|
||||||
|
|
||||||
memory.stat file includes following statistics
|
memory.stat file includes following statistics
|
||||||
@@ -430,17 +435,10 @@ hierarchical_memory_limit - # of bytes of memory limit with regard to hierarchy
|
|||||||
hierarchical_memsw_limit - # of bytes of memory+swap limit with regard to
|
hierarchical_memsw_limit - # of bytes of memory+swap limit with regard to
|
||||||
hierarchy under which memory cgroup is.
|
hierarchy under which memory cgroup is.
|
||||||
|
|
||||||
total_cache - sum of all children's "cache"
|
total_<counter> - # hierarchical version of <counter>, which in
|
||||||
total_rss - sum of all children's "rss"
|
addition to the cgroup's own value includes the
|
||||||
total_mapped_file - sum of all children's "cache"
|
sum of all hierarchical children's values of
|
||||||
total_pgpgin - sum of all children's "pgpgin"
|
<counter>, i.e. total_cache
|
||||||
total_pgpgout - sum of all children's "pgpgout"
|
|
||||||
total_swap - sum of all children's "swap"
|
|
||||||
total_inactive_anon - sum of all children's "inactive_anon"
|
|
||||||
total_active_anon - sum of all children's "active_anon"
|
|
||||||
total_inactive_file - sum of all children's "inactive_file"
|
|
||||||
total_active_file - sum of all children's "active_file"
|
|
||||||
total_unevictable - sum of all children's "unevictable"
|
|
||||||
|
|
||||||
# The following additional stats are dependent on CONFIG_DEBUG_VM.
|
# The following additional stats are dependent on CONFIG_DEBUG_VM.
|
||||||
|
|
||||||
@@ -622,8 +620,7 @@ memory cgroup.
|
|||||||
bit | what type of charges would be moved ?
|
bit | what type of charges would be moved ?
|
||||||
-----+------------------------------------------------------------------------
|
-----+------------------------------------------------------------------------
|
||||||
0 | A charge of an anonymous page(or swap of it) used by the target task.
|
0 | A charge of an anonymous page(or swap of it) used by the target task.
|
||||||
| Those pages and swaps must be used only by the target task. You must
|
| You must enable Swap Extension(see 2.4) to enable move of swap charges.
|
||||||
| enable Swap Extension(see 2.4) to enable move of swap charges.
|
|
||||||
-----+------------------------------------------------------------------------
|
-----+------------------------------------------------------------------------
|
||||||
1 | A charge of file pages(normal file, tmpfs file(e.g. ipc shared memory)
|
1 | A charge of file pages(normal file, tmpfs file(e.g. ipc shared memory)
|
||||||
| and swaps of tmpfs file) mmapped by the target task. Unlike the case of
|
| and swaps of tmpfs file) mmapped by the target task. Unlike the case of
|
||||||
@@ -636,8 +633,6 @@ memory cgroup.
|
|||||||
|
|
||||||
8.3 TODO
|
8.3 TODO
|
||||||
|
|
||||||
- Implement madvise(2) to let users decide the vma to be moved or not to be
|
|
||||||
moved.
|
|
||||||
- All of moving charge operations are done under cgroup_mutex. It's not good
|
- All of moving charge operations are done under cgroup_mutex. It's not good
|
||||||
behavior to hold the mutex too long, so we may need some trick.
|
behavior to hold the mutex too long, so we may need some trick.
|
||||||
|
|
||||||
|
@@ -77,11 +77,11 @@ to work with it.
|
|||||||
where the charging failed.
|
where the charging failed.
|
||||||
|
|
||||||
d. int res_counter_charge_locked
|
d. int res_counter_charge_locked
|
||||||
(struct res_counter *rc, unsigned long val)
|
(struct res_counter *rc, unsigned long val, bool force)
|
||||||
|
|
||||||
The same as res_counter_charge(), but it must not acquire/release the
|
The same as res_counter_charge(), but it must not acquire/release the
|
||||||
res_counter->lock internally (it must be called with res_counter->lock
|
res_counter->lock internally (it must be called with res_counter->lock
|
||||||
held).
|
held). The force parameter indicates whether we can bypass the limit.
|
||||||
|
|
||||||
e. void res_counter_uncharge[_locked]
|
e. void res_counter_uncharge[_locked]
|
||||||
(struct res_counter *rc, unsigned long val)
|
(struct res_counter *rc, unsigned long val)
|
||||||
@@ -92,6 +92,14 @@ to work with it.
|
|||||||
|
|
||||||
The _locked routines imply that the res_counter->lock is taken.
|
The _locked routines imply that the res_counter->lock is taken.
|
||||||
|
|
||||||
|
f. void res_counter_uncharge_until
|
||||||
|
(struct res_counter *rc, struct res_counter *top,
|
||||||
|
unsinged long val)
|
||||||
|
|
||||||
|
Almost same as res_cunter_uncharge() but propagation of uncharge
|
||||||
|
stops when rc == top. This is useful when kill a res_coutner in
|
||||||
|
child cgroup.
|
||||||
|
|
||||||
2.1 Other accounting routines
|
2.1 Other accounting routines
|
||||||
|
|
||||||
There are more routines that may help you with common needs, like
|
There are more routines that may help you with common needs, like
|
||||||
|
@@ -1,35 +1,31 @@
|
|||||||
Linux 2.4 on the CRIS architecture
|
Linux on the CRIS architecture
|
||||||
==================================
|
==============================
|
||||||
$Id: README,v 1.7 2001/04/19 12:38:32 bjornw Exp $
|
|
||||||
|
|
||||||
This is a port of Linux 2.4 to Axis Communications ETRAX 100LX embedded
|
This is a port of Linux to Axis Communications ETRAX 100LX,
|
||||||
network CPU. For more information about CRIS and ETRAX please see further
|
ETRAX FS and ARTPEC-3 embedded network CPUs.
|
||||||
below.
|
|
||||||
|
For more information about CRIS and ETRAX please see further below.
|
||||||
|
|
||||||
In order to compile this you need a version of gcc with support for the
|
In order to compile this you need a version of gcc with support for the
|
||||||
ETRAX chip family. Please see this link for more information on how to
|
ETRAX chip family. Please see this link for more information on how to
|
||||||
download the compiler and other tools useful when building and booting
|
download the compiler and other tools useful when building and booting
|
||||||
software for the ETRAX platform:
|
software for the ETRAX platform:
|
||||||
|
|
||||||
http://developer.axis.com/doc/software/devboard_lx/install-howto.html
|
http://developer.axis.com/wiki/doku.php?id=axis:install-howto-2_20
|
||||||
|
|
||||||
<more specific information should come in this document later>
|
|
||||||
|
|
||||||
What is CRIS ?
|
What is CRIS ?
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
CRIS is an acronym for 'Code Reduced Instruction Set'. It is the CPU
|
CRIS is an acronym for 'Code Reduced Instruction Set'. It is the CPU
|
||||||
architecture in Axis Communication AB's range of embedded network CPU's,
|
architecture in Axis Communication AB's range of embedded network CPU's,
|
||||||
called ETRAX. The latest CPU is called ETRAX 100LX, where LX stands for
|
called ETRAX.
|
||||||
'Linux' because the chip was designed to be a good host for the Linux
|
|
||||||
operating system.
|
|
||||||
|
|
||||||
The ETRAX 100LX chip
|
The ETRAX 100LX chip
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
For reference, please see the press-release:
|
For reference, please see the following link:
|
||||||
|
|
||||||
http://www.axis.com/news/us/001101_etrax.htm
|
http://www.axis.com/products/dev_etrax_100lx/index.htm
|
||||||
|
|
||||||
The ETRAX 100LX is a 100 MIPS processor with 8kB cache, MMU, and a very broad
|
The ETRAX 100LX is a 100 MIPS processor with 8kB cache, MMU, and a very broad
|
||||||
range of built-in interfaces, all with modern scatter/gather DMA.
|
range of built-in interfaces, all with modern scatter/gather DMA.
|
||||||
@@ -55,16 +51,24 @@ I/O interfaces:
|
|||||||
(not all interfaces are available at the same time due to chip pin
|
(not all interfaces are available at the same time due to chip pin
|
||||||
multiplexing)
|
multiplexing)
|
||||||
|
|
||||||
The previous version of the ETRAX, the ETRAX 100, sits in almost all of
|
ETRAX 100LX is CRISv10 architecture.
|
||||||
Axis shipping thin-servers like the Axis 2100 web camera or the ETRAX 100
|
|
||||||
developer-board. It lacks an MMU so the Linux we run on that is a version
|
|
||||||
of uClinux (Linux 2.0 without MM-support) ported to the CRIS architecture.
|
|
||||||
The new Linux 2.4 port has full MM and needs a CPU with an MMU, so it will
|
|
||||||
not run on the ETRAX 100.
|
|
||||||
|
|
||||||
A version of the Axis developer-board with ETRAX 100LX (running Linux
|
|
||||||
2.4) is now available. For more information please see developer.axis.com.
|
|
||||||
|
|
||||||
|
The ETRAX FS and ARTPEC-3 chips
|
||||||
|
-------------------------------
|
||||||
|
|
||||||
|
The ETRAX FS is a 200MHz 32-bit RISC processor with on-chip 16kB
|
||||||
|
I-cache and 16kB D-cache and with a wide range of device interfaces
|
||||||
|
including multiple high speed serial ports and an integrated USB 1.1 PHY.
|
||||||
|
|
||||||
|
The ARTPEC-3 is a variant of the ETRAX FS with additional IO-units
|
||||||
|
used by the Axis Communications network cameras.
|
||||||
|
|
||||||
|
See below link for more information:
|
||||||
|
|
||||||
|
http://www.axis.com/products/dev_etrax_fs/index.htm
|
||||||
|
|
||||||
|
ETRAX FS and ARTPEC-3 are both CRISv32 architectures.
|
||||||
|
|
||||||
Bootlog
|
Bootlog
|
||||||
-------
|
-------
|
||||||
@@ -182,10 +186,6 @@ SwapFree: 0 kB
|
|||||||
-rwxr-xr-x 1 342 100 16252 Jan 01 00:00 telnetd
|
-rwxr-xr-x 1 342 100 16252 Jan 01 00:00 telnetd
|
||||||
|
|
||||||
|
|
||||||
(All programs are statically linked to the libc at this point - we have not ported the
|
|
||||||
shared libraries yet)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -287,6 +287,17 @@ iii) Messages
|
|||||||
the current transaction id is when you change it with this
|
the current transaction id is when you change it with this
|
||||||
compare-and-swap message.
|
compare-and-swap message.
|
||||||
|
|
||||||
|
reserve_metadata_snap
|
||||||
|
|
||||||
|
Reserve a copy of the data mapping btree for use by userland.
|
||||||
|
This allows userland to inspect the mappings as they were when
|
||||||
|
this message was executed. Use the pool's status command to
|
||||||
|
get the root block associated with the metadata snapshot.
|
||||||
|
|
||||||
|
release_metadata_snap
|
||||||
|
|
||||||
|
Release a previously reserved copy of the data mapping btree.
|
||||||
|
|
||||||
'thin' target
|
'thin' target
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
|
@@ -98,7 +98,8 @@ Your cooperation is appreciated.
|
|||||||
8 = /dev/random Nondeterministic random number gen.
|
8 = /dev/random Nondeterministic random number gen.
|
||||||
9 = /dev/urandom Faster, less secure random number gen.
|
9 = /dev/urandom Faster, less secure random number gen.
|
||||||
10 = /dev/aio Asynchronous I/O notification interface
|
10 = /dev/aio Asynchronous I/O notification interface
|
||||||
11 = /dev/kmsg Writes to this come out as printk's
|
11 = /dev/kmsg Writes to this come out as printk's, reads
|
||||||
|
export the buffered printk records.
|
||||||
12 = /dev/oldmem Used by crashdump kernels to access
|
12 = /dev/oldmem Used by crashdump kernels to access
|
||||||
the memory of the kernel that crashed.
|
the memory of the kernel that crashed.
|
||||||
|
|
||||||
@@ -846,13 +847,7 @@ Your cooperation is appreciated.
|
|||||||
...
|
...
|
||||||
31 = /dev/tap15 16th Ethertap device
|
31 = /dev/tap15 16th Ethertap device
|
||||||
|
|
||||||
36 block MCA ESDI hard disk
|
36 block OBSOLETE (was MCA ESDI hard disk)
|
||||||
0 = /dev/eda First ESDI disk whole disk
|
|
||||||
64 = /dev/edb Second ESDI disk whole disk
|
|
||||||
...
|
|
||||||
|
|
||||||
Partitions are handled in the same way as IDE disks
|
|
||||||
(see major number 3).
|
|
||||||
|
|
||||||
37 char IDE tape
|
37 char IDE tape
|
||||||
0 = /dev/ht0 First IDE tape
|
0 = /dev/ht0 First IDE tape
|
||||||
|
27
Documentation/devicetree/bindings/arm/arch_timer.txt
Normal file
27
Documentation/devicetree/bindings/arm/arch_timer.txt
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
* ARM architected timer
|
||||||
|
|
||||||
|
ARM Cortex-A7 and Cortex-A15 have a per-core architected timer, which
|
||||||
|
provides per-cpu timers.
|
||||||
|
|
||||||
|
The timer is attached to a GIC to deliver its per-processor interrupts.
|
||||||
|
|
||||||
|
** Timer node properties:
|
||||||
|
|
||||||
|
- compatible : Should at least contain "arm,armv7-timer".
|
||||||
|
|
||||||
|
- interrupts : Interrupt list for secure, non-secure, virtual and
|
||||||
|
hypervisor timers, in that order.
|
||||||
|
|
||||||
|
- clock-frequency : The frequency of the main counter, in Hz. Optional.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
timer {
|
||||||
|
compatible = "arm,cortex-a15-timer",
|
||||||
|
"arm,armv7-timer";
|
||||||
|
interrupts = <1 13 0xf08>,
|
||||||
|
<1 14 0xf08>,
|
||||||
|
<1 11 0xf08>,
|
||||||
|
<1 10 0xf08>;
|
||||||
|
clock-frequency = <100000000>;
|
||||||
|
};
|
65
Documentation/devicetree/bindings/arm/atmel-adc.txt
Normal file
65
Documentation/devicetree/bindings/arm/atmel-adc.txt
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
* AT91's Analog to Digital Converter (ADC)
|
||||||
|
|
||||||
|
Required properties:
|
||||||
|
- compatible: Should be "atmel,at91sam9260-adc"
|
||||||
|
- reg: Should contain ADC registers location and length
|
||||||
|
- interrupts: Should contain the IRQ line for the ADC
|
||||||
|
- atmel,adc-channel-base: Offset of the first channel data register
|
||||||
|
- atmel,adc-channels-used: Bitmask of the channels muxed and enable for this
|
||||||
|
device
|
||||||
|
- atmel,adc-drdy-mask: Mask of the DRDY interruption in the ADC
|
||||||
|
- atmel,adc-num-channels: Number of channels available in the ADC
|
||||||
|
- atmel,adc-startup-time: Startup Time of the ADC in microseconds as
|
||||||
|
defined in the datasheet
|
||||||
|
- atmel,adc-status-register: Offset of the Interrupt Status Register
|
||||||
|
- atmel,adc-trigger-register: Offset of the Trigger Register
|
||||||
|
- atmel,adc-vref: Reference voltage in millivolts for the conversions
|
||||||
|
|
||||||
|
Optional properties:
|
||||||
|
- atmel,adc-use-external: Boolean to enable of external triggers
|
||||||
|
|
||||||
|
Optional trigger Nodes:
|
||||||
|
- Required properties:
|
||||||
|
* trigger-name: Name of the trigger exposed to the user
|
||||||
|
* trigger-value: Value to put in the Trigger register
|
||||||
|
to activate this trigger
|
||||||
|
- Optional properties:
|
||||||
|
* trigger-external: Is the trigger an external trigger?
|
||||||
|
|
||||||
|
Examples:
|
||||||
|
adc0: adc@fffb0000 {
|
||||||
|
compatible = "atmel,at91sam9260-adc";
|
||||||
|
reg = <0xfffb0000 0x100>;
|
||||||
|
interrupts = <20 4>;
|
||||||
|
atmel,adc-channel-base = <0x30>;
|
||||||
|
atmel,adc-channels-used = <0xff>;
|
||||||
|
atmel,adc-drdy-mask = <0x10000>;
|
||||||
|
atmel,adc-num-channels = <8>;
|
||||||
|
atmel,adc-startup-time = <40>;
|
||||||
|
atmel,adc-status-register = <0x1c>;
|
||||||
|
atmel,adc-trigger-register = <0x08>;
|
||||||
|
atmel,adc-use-external;
|
||||||
|
atmel,adc-vref = <3300>;
|
||||||
|
|
||||||
|
trigger@0 {
|
||||||
|
trigger-name = "external-rising";
|
||||||
|
trigger-value = <0x1>;
|
||||||
|
trigger-external;
|
||||||
|
};
|
||||||
|
trigger@1 {
|
||||||
|
trigger-name = "external-falling";
|
||||||
|
trigger-value = <0x2>;
|
||||||
|
trigger-external;
|
||||||
|
};
|
||||||
|
|
||||||
|
trigger@2 {
|
||||||
|
trigger-name = "external-any";
|
||||||
|
trigger-value = <0x3>;
|
||||||
|
trigger-external;
|
||||||
|
};
|
||||||
|
|
||||||
|
trigger@3 {
|
||||||
|
trigger-name = "continuous";
|
||||||
|
trigger-value = <0x6>;
|
||||||
|
};
|
||||||
|
};
|
@@ -1,6 +1,14 @@
|
|||||||
Freescale i.MX Platforms Device Tree Bindings
|
Freescale i.MX Platforms Device Tree Bindings
|
||||||
-----------------------------------------------
|
-----------------------------------------------
|
||||||
|
|
||||||
|
i.MX23 Evaluation Kit
|
||||||
|
Required root node properties:
|
||||||
|
- compatible = "fsl,imx23-evk", "fsl,imx23";
|
||||||
|
|
||||||
|
i.MX28 Evaluation Kit
|
||||||
|
Required root node properties:
|
||||||
|
- compatible = "fsl,imx28-evk", "fsl,imx28";
|
||||||
|
|
||||||
i.MX51 Babbage Board
|
i.MX51 Babbage Board
|
||||||
Required root node properties:
|
Required root node properties:
|
||||||
- compatible = "fsl,imx51-babbage", "fsl,imx51";
|
- compatible = "fsl,imx51-babbage", "fsl,imx51";
|
||||||
@@ -29,6 +37,10 @@ i.MX6 Quad SABRE Lite Board
|
|||||||
Required root node properties:
|
Required root node properties:
|
||||||
- compatible = "fsl,imx6q-sabrelite", "fsl,imx6q";
|
- compatible = "fsl,imx6q-sabrelite", "fsl,imx6q";
|
||||||
|
|
||||||
|
i.MX6 Quad SABRE Smart Device Board
|
||||||
|
Required root node properties:
|
||||||
|
- compatible = "fsl,imx6q-sabresd", "fsl,imx6q";
|
||||||
|
|
||||||
Generic i.MX boards
|
Generic i.MX boards
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
|
@@ -11,7 +11,9 @@ have PPIs or SGIs.
|
|||||||
Main node required properties:
|
Main node required properties:
|
||||||
|
|
||||||
- compatible : should be one of:
|
- compatible : should be one of:
|
||||||
|
"arm,cortex-a15-gic"
|
||||||
"arm,cortex-a9-gic"
|
"arm,cortex-a9-gic"
|
||||||
|
"arm,cortex-a7-gic"
|
||||||
"arm,arm11mp-gic"
|
"arm,arm11mp-gic"
|
||||||
- interrupt-controller : Identifies the node as an interrupt controller
|
- interrupt-controller : Identifies the node as an interrupt controller
|
||||||
- #interrupt-cells : Specifies the number of cells needed to encode an
|
- #interrupt-cells : Specifies the number of cells needed to encode an
|
||||||
@@ -39,8 +41,9 @@ Main node required properties:
|
|||||||
the GIC cpu interface register base and size.
|
the GIC cpu interface register base and size.
|
||||||
|
|
||||||
Optional
|
Optional
|
||||||
- interrupts : Interrupt source of the parent interrupt controller. Only
|
- interrupts : Interrupt source of the parent interrupt controller on
|
||||||
present on secondary GICs.
|
secondary GICs, or VGIC maintainance interrupt on primary GIC (see
|
||||||
|
below).
|
||||||
|
|
||||||
- cpu-offset : per-cpu offset within the distributor and cpu interface
|
- cpu-offset : per-cpu offset within the distributor and cpu interface
|
||||||
regions, used when the GIC doesn't have banked registers. The offset is
|
regions, used when the GIC doesn't have banked registers. The offset is
|
||||||
@@ -57,3 +60,31 @@ Example:
|
|||||||
<0xfff10100 0x100>;
|
<0xfff10100 0x100>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
* GIC virtualization extensions (VGIC)
|
||||||
|
|
||||||
|
For ARM cores that support the virtualization extensions, additional
|
||||||
|
properties must be described (they only exist if the GIC is the
|
||||||
|
primary interrupt controller).
|
||||||
|
|
||||||
|
Required properties:
|
||||||
|
|
||||||
|
- reg : Additional regions specifying the base physical address and
|
||||||
|
size of the VGIC registers. The first additional region is the GIC
|
||||||
|
virtual interface control register base and size. The 2nd additional
|
||||||
|
region is the GIC virtual cpu interface register base and size.
|
||||||
|
|
||||||
|
- interrupts : VGIC maintainance interrupt.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
interrupt-controller@2c001000 {
|
||||||
|
compatible = "arm,cortex-a15-gic";
|
||||||
|
#interrupt-cells = <3>;
|
||||||
|
interrupt-controller;
|
||||||
|
reg = <0x2c001000 0x1000>,
|
||||||
|
<0x2c002000 0x1000>,
|
||||||
|
<0x2c004000 0x2000>,
|
||||||
|
<0x2c006000 0x2000>;
|
||||||
|
interrupts = <1 9 0xf04>;
|
||||||
|
};
|
||||||
|
38
Documentation/devicetree/bindings/arm/lpc32xx-mic.txt
Normal file
38
Documentation/devicetree/bindings/arm/lpc32xx-mic.txt
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
* NXP LPC32xx Main Interrupt Controller
|
||||||
|
(MIC, including SIC1 and SIC2 secondary controllers)
|
||||||
|
|
||||||
|
Required properties:
|
||||||
|
- compatible: Should be "nxp,lpc3220-mic"
|
||||||
|
- interrupt-controller: Identifies the node as an interrupt controller.
|
||||||
|
- interrupt-parent: Empty for the interrupt controller itself
|
||||||
|
- #interrupt-cells: The number of cells to define the interrupts. Should be 2.
|
||||||
|
The first cell is the IRQ number
|
||||||
|
The second cell is used to specify mode:
|
||||||
|
1 = low-to-high edge triggered
|
||||||
|
2 = high-to-low edge triggered
|
||||||
|
4 = active high level-sensitive
|
||||||
|
8 = active low level-sensitive
|
||||||
|
Default for internal sources should be set to 4 (active high).
|
||||||
|
- reg: Should contain MIC registers location and length
|
||||||
|
|
||||||
|
Examples:
|
||||||
|
/*
|
||||||
|
* MIC
|
||||||
|
*/
|
||||||
|
mic: interrupt-controller@40008000 {
|
||||||
|
compatible = "nxp,lpc3220-mic";
|
||||||
|
interrupt-controller;
|
||||||
|
interrupt-parent;
|
||||||
|
#interrupt-cells = <2>;
|
||||||
|
reg = <0x40008000 0xC000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ADC
|
||||||
|
*/
|
||||||
|
adc@40048000 {
|
||||||
|
compatible = "nxp,lpc3220-adc";
|
||||||
|
reg = <0x40048000 0x1000>;
|
||||||
|
interrupt-parent = <&mic>;
|
||||||
|
interrupts = <39 4>;
|
||||||
|
};
|
8
Documentation/devicetree/bindings/arm/lpc32xx.txt
Normal file
8
Documentation/devicetree/bindings/arm/lpc32xx.txt
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
NXP LPC32xx Platforms Device Tree Bindings
|
||||||
|
------------------------------------------
|
||||||
|
|
||||||
|
Boards with the NXP LPC32xx SoC shall have the following properties:
|
||||||
|
|
||||||
|
Required root node property:
|
||||||
|
|
||||||
|
compatible: must be "nxp,lpc3220", "nxp,lpc3230", "nxp,lpc3240" or "nxp,lpc3250"
|
40
Documentation/devicetree/bindings/arm/mrvl/intc.txt
Normal file
40
Documentation/devicetree/bindings/arm/mrvl/intc.txt
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
* Marvell MMP Interrupt controller
|
||||||
|
|
||||||
|
Required properties:
|
||||||
|
- compatible : Should be "mrvl,mmp-intc", "mrvl,mmp2-intc" or
|
||||||
|
"mrvl,mmp2-mux-intc"
|
||||||
|
- reg : Address and length of the register set of the interrupt controller.
|
||||||
|
If the interrupt controller is intc, address and length means the range
|
||||||
|
of the whold interrupt controller. If the interrupt controller is mux-intc,
|
||||||
|
address and length means one register. Since address of mux-intc is in the
|
||||||
|
range of intc. mux-intc is secondary interrupt controller.
|
||||||
|
- reg-names : Name of the register set of the interrupt controller. It's
|
||||||
|
only required in mux-intc interrupt controller.
|
||||||
|
- interrupts : Should be the port interrupt shared by mux interrupts. It's
|
||||||
|
only required in mux-intc interrupt controller.
|
||||||
|
- interrupt-controller : Identifies the node as an interrupt controller.
|
||||||
|
- #interrupt-cells : Specifies the number of cells needed to encode an
|
||||||
|
interrupt source.
|
||||||
|
- mrvl,intc-nr-irqs : Specifies the number of interrupts in the interrupt
|
||||||
|
controller.
|
||||||
|
- mrvl,clr-mfp-irq : Specifies the interrupt that needs to clear MFP edge
|
||||||
|
detection first.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
intc: interrupt-controller@d4282000 {
|
||||||
|
compatible = "mrvl,mmp2-intc";
|
||||||
|
interrupt-controller;
|
||||||
|
#interrupt-cells = <1>;
|
||||||
|
reg = <0xd4282000 0x1000>;
|
||||||
|
mrvl,intc-nr-irqs = <64>;
|
||||||
|
};
|
||||||
|
|
||||||
|
intcmux4@d4282150 {
|
||||||
|
compatible = "mrvl,mmp2-mux-intc";
|
||||||
|
interrupts = <4>;
|
||||||
|
interrupt-controller;
|
||||||
|
#interrupt-cells = <1>;
|
||||||
|
reg = <0x150 0x4>, <0x168 0x4>;
|
||||||
|
reg-names = "mux status", "mux mask";
|
||||||
|
mrvl,intc-nr-irqs = <2>;
|
||||||
|
};
|
@@ -4,3 +4,11 @@ Marvell Platforms Device Tree Bindings
|
|||||||
PXA168 Aspenite Board
|
PXA168 Aspenite Board
|
||||||
Required root node properties:
|
Required root node properties:
|
||||||
- compatible = "mrvl,pxa168-aspenite", "mrvl,pxa168";
|
- compatible = "mrvl,pxa168-aspenite", "mrvl,pxa168";
|
||||||
|
|
||||||
|
PXA910 DKB Board
|
||||||
|
Required root node properties:
|
||||||
|
- compatible = "mrvl,pxa910-dkb";
|
||||||
|
|
||||||
|
MMP2 Brownstone Board
|
||||||
|
Required root node properties:
|
||||||
|
- compatible = "mrvl,mmp2-brownstone";
|
13
Documentation/devicetree/bindings/arm/mrvl/timer.txt
Normal file
13
Documentation/devicetree/bindings/arm/mrvl/timer.txt
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
* Marvell MMP Timer controller
|
||||||
|
|
||||||
|
Required properties:
|
||||||
|
- compatible : Should be "mrvl,mmp-timer".
|
||||||
|
- reg : Address and length of the register set of timer controller.
|
||||||
|
- interrupts : Should be the interrupt number.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
timer0: timer@d4014000 {
|
||||||
|
compatible = "mrvl,mmp-timer";
|
||||||
|
reg = <0xd4014000 0x100>;
|
||||||
|
interrupts = <13>;
|
||||||
|
};
|
@@ -0,0 +1,52 @@
|
|||||||
|
* Samsung Exynos Interrupt Combiner Controller
|
||||||
|
|
||||||
|
Samsung's Exynos4 architecture includes a interrupt combiner controller which
|
||||||
|
can combine interrupt sources as a group and provide a single interrupt request
|
||||||
|
for the group. The interrupt request from each group are connected to a parent
|
||||||
|
interrupt controller, such as GIC in case of Exynos4210.
|
||||||
|
|
||||||
|
The interrupt combiner controller consists of multiple combiners. Upto eight
|
||||||
|
interrupt sources can be connected to a combiner. The combiner outputs one
|
||||||
|
combined interrupt for its eight interrupt sources. The combined interrupt
|
||||||
|
is usually connected to a parent interrupt controller.
|
||||||
|
|
||||||
|
A single node in the device tree is used to describe the interrupt combiner
|
||||||
|
controller module (which includes multiple combiners). A combiner in the
|
||||||
|
interrupt controller module shares config/control registers with other
|
||||||
|
combiners. For example, a 32-bit interrupt enable/disable config register
|
||||||
|
can accommodate upto 4 interrupt combiners (with each combiner supporting
|
||||||
|
upto 8 interrupt sources).
|
||||||
|
|
||||||
|
Required properties:
|
||||||
|
- compatible: should be "samsung,exynos4210-combiner".
|
||||||
|
- interrupt-controller: Identifies the node as an interrupt controller.
|
||||||
|
- #interrupt-cells: should be <2>. The meaning of the cells are
|
||||||
|
* First Cell: Combiner Group Number.
|
||||||
|
* Second Cell: Interrupt number within the group.
|
||||||
|
- reg: Base address and size of interrupt combiner registers.
|
||||||
|
- interrupts: The list of interrupts generated by the combiners which are then
|
||||||
|
connected to a parent interrupt controller. The format of the interrupt
|
||||||
|
specifier depends in the interrupt parent controller.
|
||||||
|
|
||||||
|
Optional properties:
|
||||||
|
- samsung,combiner-nr: The number of interrupt combiners supported. If this
|
||||||
|
property is not specified, the default number of combiners is assumed
|
||||||
|
to be 16.
|
||||||
|
- interrupt-parent: pHandle of the parent interrupt controller, if not
|
||||||
|
inherited from the parent node.
|
||||||
|
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
The following is a an example from the Exynos4210 SoC dtsi file.
|
||||||
|
|
||||||
|
combiner:interrupt-controller@10440000 {
|
||||||
|
compatible = "samsung,exynos4210-combiner";
|
||||||
|
interrupt-controller;
|
||||||
|
#interrupt-cells = <2>;
|
||||||
|
reg = <0x10440000 0x1000>;
|
||||||
|
interrupts = <0 0 0>, <0 1 0>, <0 2 0>, <0 3 0>,
|
||||||
|
<0 4 0>, <0 5 0>, <0 6 0>, <0 7 0>,
|
||||||
|
<0 8 0>, <0 9 0>, <0 10 0>, <0 11 0>,
|
||||||
|
<0 12 0>, <0 13 0>, <0 14 0>, <0 15 0>;
|
||||||
|
};
|
18
Documentation/devicetree/bindings/arm/spear-timer.txt
Normal file
18
Documentation/devicetree/bindings/arm/spear-timer.txt
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
* SPEAr ARM Timer
|
||||||
|
|
||||||
|
** Timer node required properties:
|
||||||
|
|
||||||
|
- compatible : Should be:
|
||||||
|
"st,spear-timer"
|
||||||
|
- reg: Address range of the timer registers
|
||||||
|
- interrupt-parent: Should be the phandle for the interrupt controller
|
||||||
|
that services interrupts for this device
|
||||||
|
- interrupt: Should contain the timer interrupt number
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
timer@f0000000 {
|
||||||
|
compatible = "st,spear-timer";
|
||||||
|
reg = <0xf0000000 0x400>;
|
||||||
|
interrupts = <2>;
|
||||||
|
};
|
@@ -2,7 +2,25 @@ ST SPEAr Platforms Device Tree Bindings
|
|||||||
---------------------------------------
|
---------------------------------------
|
||||||
|
|
||||||
Boards with the ST SPEAr600 SoC shall have the following properties:
|
Boards with the ST SPEAr600 SoC shall have the following properties:
|
||||||
|
|
||||||
Required root node property:
|
Required root node property:
|
||||||
|
|
||||||
compatible = "st,spear600";
|
compatible = "st,spear600";
|
||||||
|
|
||||||
|
Boards with the ST SPEAr300 SoC shall have the following properties:
|
||||||
|
Required root node property:
|
||||||
|
compatible = "st,spear300";
|
||||||
|
|
||||||
|
Boards with the ST SPEAr310 SoC shall have the following properties:
|
||||||
|
Required root node property:
|
||||||
|
compatible = "st,spear310";
|
||||||
|
|
||||||
|
Boards with the ST SPEAr320 SoC shall have the following properties:
|
||||||
|
Required root node property:
|
||||||
|
compatible = "st,spear320";
|
||||||
|
|
||||||
|
Boards with the ST SPEAr1310 SoC shall have the following properties:
|
||||||
|
Required root node property:
|
||||||
|
compatible = "st,spear1310";
|
||||||
|
|
||||||
|
Boards with the ST SPEAr1340 SoC shall have the following properties:
|
||||||
|
Required root node property:
|
||||||
|
compatible = "st,spear1340";
|
||||||
|
@@ -0,0 +1,11 @@
|
|||||||
|
NVIDIA Tegra AHB
|
||||||
|
|
||||||
|
Required properties:
|
||||||
|
- compatible : "nvidia,tegra20-ahb" or "nvidia,tegra30-ahb"
|
||||||
|
- reg : Should contain 1 register ranges(address and length)
|
||||||
|
|
||||||
|
Example:
|
||||||
|
ahb: ahb@6000c004 {
|
||||||
|
compatible = "nvidia,tegra20-ahb";
|
||||||
|
reg = <0x6000c004 0x10c>; /* AHB Arbitration + Gizmo Controller */
|
||||||
|
};
|
@@ -0,0 +1,16 @@
|
|||||||
|
NVIDIA Tegra20 MC(Memory Controller)
|
||||||
|
|
||||||
|
Required properties:
|
||||||
|
- compatible : "nvidia,tegra20-mc"
|
||||||
|
- reg : Should contain 2 register ranges(address and length); see the
|
||||||
|
example below. Note that the MC registers are interleaved with the
|
||||||
|
GART registers, and hence must be represented as multiple ranges.
|
||||||
|
- interrupts : Should contain MC General interrupt.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
mc {
|
||||||
|
compatible = "nvidia,tegra20-mc";
|
||||||
|
reg = <0x7000f000 0x024
|
||||||
|
0x7000f03c 0x3c4>;
|
||||||
|
interrupts = <0 77 0x04>;
|
||||||
|
};
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user