aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/DocBook/media/v4l/io.xml
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/DocBook/media/v4l/io.xml')
-rw-r--r--Documentation/DocBook/media/v4l/io.xml59
1 files changed, 45 insertions, 14 deletions
diff --git a/Documentation/DocBook/media/v4l/io.xml b/Documentation/DocBook/media/v4l/io.xml
index 388a34032653..e6c58559ca6b 100644
--- a/Documentation/DocBook/media/v4l/io.xml
+++ b/Documentation/DocBook/media/v4l/io.xml
@@ -477,7 +477,7 @@ rest should be evident.</para>
477 477
478 <note> 478 <note>
479 <title>Experimental</title> 479 <title>Experimental</title>
480 <para>This is an <link linkend="experimental"> experimental </link> 480 <para>This is an <link linkend="experimental">experimental</link>
481 interface and may change in the future.</para> 481 interface and may change in the future.</para>
482 </note> 482 </note>
483 483
@@ -488,7 +488,7 @@ DMA buffer from userspace using a file descriptor previously exported for a
488different or the same device (known as the importer role), or both. This 488different or the same device (known as the importer role), or both. This
489section describes the DMABUF importer role API in V4L2.</para> 489section describes the DMABUF importer role API in V4L2.</para>
490 490
491 <para>Refer to <link linked="vidioc-expbuf"> DMABUF exporting </link> for 491 <para>Refer to <link linkend="vidioc-expbuf">DMABUF exporting</link> for
492details about exporting V4L2 buffers as DMABUF file descriptors.</para> 492details about exporting V4L2 buffers as DMABUF file descriptors.</para>
493 493
494<para>Input and output devices support the streaming I/O method when the 494<para>Input and output devices support the streaming I/O method when the
@@ -741,17 +741,19 @@ applications when an output stream.</entry>
741 <entry>struct timeval</entry> 741 <entry>struct timeval</entry>
742 <entry><structfield>timestamp</structfield></entry> 742 <entry><structfield>timestamp</structfield></entry>
743 <entry></entry> 743 <entry></entry>
744 <entry><para>For input streams this is the 744 <entry><para>For input streams this is time when the first data
745system time (as returned by the <function>gettimeofday()</function> 745 byte was captured, as returned by the
746function) when the first data byte was captured. For output streams 746 <function>clock_gettime()</function> function for the relevant
747the data will not be displayed before this time, secondary to the 747 clock id; see <constant>V4L2_BUF_FLAG_TIMESTAMP_*</constant> in
748nominal frame rate determined by the current video standard in 748 <xref linkend="buffer-flags" />. For output streams the data
749enqueued order. Applications can for example zero this field to 749 will not be displayed before this time, secondary to the nominal
750display frames as soon as possible. The driver stores the time at 750 frame rate determined by the current video standard in enqueued
751which the first data byte was actually sent out in the 751 order. Applications can for example zero this field to display
752<structfield>timestamp</structfield> field. This permits 752 frames as soon as possible. The driver stores the time at which
753applications to monitor the drift between the video and system 753 the first data byte was actually sent out in the
754clock.</para></entry> 754 <structfield>timestamp</structfield> field. This permits
755 applications to monitor the drift between the video and system
756 clock.</para></entry>
755 </row> 757 </row>
756 <row> 758 <row>
757 <entry>&v4l2-timecode;</entry> 759 <entry>&v4l2-timecode;</entry>
@@ -903,7 +905,7 @@ should set this to 0.</entry>
903 </row> 905 </row>
904 <row> 906 <row>
905 <entry></entry> 907 <entry></entry>
906 <entry>__unsigned long</entry> 908 <entry>unsigned long</entry>
907 <entry><structfield>userptr</structfield></entry> 909 <entry><structfield>userptr</structfield></entry>
908 <entry>When the memory type in the containing &v4l2-buffer; is 910 <entry>When the memory type in the containing &v4l2-buffer; is
909 <constant>V4L2_MEMORY_USERPTR</constant>, this is a userspace 911 <constant>V4L2_MEMORY_USERPTR</constant>, this is a userspace
@@ -1114,6 +1116,35 @@ Typically applications shall use this flag for output buffers if the data
1114in this buffer has not been created by the CPU but by some DMA-capable unit, 1116in this buffer has not been created by the CPU but by some DMA-capable unit,
1115in which case caches have not been used.</entry> 1117in which case caches have not been used.</entry>
1116 </row> 1118 </row>
1119 <row>
1120 <entry><constant>V4L2_BUF_FLAG_TIMESTAMP_MASK</constant></entry>
1121 <entry>0xe000</entry>
1122 <entry>Mask for timestamp types below. To test the
1123 timestamp type, mask out bits not belonging to timestamp
1124 type by performing a logical and operation with buffer
1125 flags and timestamp mask.</entry>
1126 </row>
1127 <row>
1128 <entry><constant>V4L2_BUF_FLAG_TIMESTAMP_UNKNOWN</constant></entry>
1129 <entry>0x0000</entry>
1130 <entry>Unknown timestamp type. This type is used by
1131 drivers before Linux 3.9 and may be either monotonic (see
1132 below) or realtime (wall clock). Monotonic clock has been
1133 favoured in embedded systems whereas most of the drivers
1134 use the realtime clock. Either kinds of timestamps are
1135 available in user space via
1136 <function>clock_gettime(2)</function> using clock IDs
1137 <constant>CLOCK_MONOTONIC</constant> and
1138 <constant>CLOCK_REALTIME</constant>, respectively.</entry>
1139 </row>
1140 <row>
1141 <entry><constant>V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC</constant></entry>
1142 <entry>0x2000</entry>
1143 <entry>The buffer timestamp has been taken from the
1144 <constant>CLOCK_MONOTONIC</constant> clock. To access the
1145 same clock outside V4L2, use
1146 <function>clock_gettime(2)</function> .</entry>
1147 </row>
1117 </tbody> 1148 </tbody>
1118 </tgroup> 1149 </tgroup>
1119 </table> 1150 </table>