diff options
Diffstat (limited to 'Documentation/DocBook/media/v4l/io.xml')
-rw-r--r-- | Documentation/DocBook/media/v4l/io.xml | 59 |
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 | |||
488 | different or the same device (known as the importer role), or both. This | 488 | different or the same device (known as the importer role), or both. This |
489 | section describes the DMABUF importer role API in V4L2.</para> | 489 | section 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 |
492 | details about exporting V4L2 buffers as DMABUF file descriptors.</para> | 492 | details 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 |
745 | system time (as returned by the <function>gettimeofday()</function> | 745 | byte was captured, as returned by the |
746 | function) when the first data byte was captured. For output streams | 746 | <function>clock_gettime()</function> function for the relevant |
747 | the data will not be displayed before this time, secondary to the | 747 | clock id; see <constant>V4L2_BUF_FLAG_TIMESTAMP_*</constant> in |
748 | nominal frame rate determined by the current video standard in | 748 | <xref linkend="buffer-flags" />. For output streams the data |
749 | enqueued order. Applications can for example zero this field to | 749 | will not be displayed before this time, secondary to the nominal |
750 | display frames as soon as possible. The driver stores the time at | 750 | frame rate determined by the current video standard in enqueued |
751 | which 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 |
753 | applications to monitor the drift between the video and system | 753 | the first data byte was actually sent out in the |
754 | clock.</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 | |||
1114 | in this buffer has not been created by the CPU but by some DMA-capable unit, | 1116 | in this buffer has not been created by the CPU but by some DMA-capable unit, |
1115 | in which case caches have not been used.</entry> | 1117 | in 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> |