diff options
| author | Mauro Carvalho Chehab <mchehab@s-opensource.com> | 2016-09-08 17:01:44 -0400 |
|---|---|---|
| committer | Mauro Carvalho Chehab <mchehab@s-opensource.com> | 2016-09-09 09:18:49 -0400 |
| commit | bf4404b482f927096ba3001d829a79f788d2265f (patch) | |
| tree | 83f901803a0e51e2e57c73c8758b7a6f14470ead /include/media | |
| parent | 24ade5b6de002c51d18722e996dd92e49ad88802 (diff) | |
[media] videobuf2-v4l2.h: improve documentation
There are a few issues at the documentation: fields not documented,
bad cross refrences, etc.
Fix them.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Diffstat (limited to 'include/media')
| -rw-r--r-- | include/media/videobuf2-v4l2.h | 52 |
1 files changed, 33 insertions, 19 deletions
diff --git a/include/media/videobuf2-v4l2.h b/include/media/videobuf2-v4l2.h index 01b1b71fc6fd..611d4f330a4c 100644 --- a/include/media/videobuf2-v4l2.h +++ b/include/media/videobuf2-v4l2.h | |||
| @@ -25,11 +25,13 @@ | |||
| 25 | 25 | ||
| 26 | /** | 26 | /** |
| 27 | * struct vb2_v4l2_buffer - video buffer information for v4l2 | 27 | * struct vb2_v4l2_buffer - video buffer information for v4l2 |
| 28 | * | ||
| 28 | * @vb2_buf: video buffer 2 | 29 | * @vb2_buf: video buffer 2 |
| 29 | * @flags: buffer informational flags | 30 | * @flags: buffer informational flags |
| 30 | * @field: enum v4l2_field; field order of the image in the buffer | 31 | * @field: enum v4l2_field; field order of the image in the buffer |
| 31 | * @timecode: frame timecode | 32 | * @timecode: frame timecode |
| 32 | * @sequence: sequence count of this frame | 33 | * @sequence: sequence count of this frame |
| 34 | * | ||
| 33 | * Should contain enough information to be able to cover all the fields | 35 | * Should contain enough information to be able to cover all the fields |
| 34 | * of struct v4l2_buffer at videodev2.h | 36 | * of struct v4l2_buffer at videodev2.h |
| 35 | */ | 37 | */ |
| @@ -53,6 +55,7 @@ int vb2_querybuf(struct vb2_queue *q, struct v4l2_buffer *b); | |||
| 53 | /** | 55 | /** |
| 54 | * vb2_reqbufs() - Wrapper for vb2_core_reqbufs() that also verifies | 56 | * vb2_reqbufs() - Wrapper for vb2_core_reqbufs() that also verifies |
| 55 | * the memory and type values. | 57 | * the memory and type values. |
| 58 | * | ||
| 56 | * @q: videobuf2 queue | 59 | * @q: videobuf2 queue |
| 57 | * @req: struct passed from userspace to vidioc_reqbufs handler | 60 | * @req: struct passed from userspace to vidioc_reqbufs handler |
| 58 | * in driver | 61 | * in driver |
| @@ -62,6 +65,7 @@ int vb2_reqbufs(struct vb2_queue *q, struct v4l2_requestbuffers *req); | |||
| 62 | /** | 65 | /** |
| 63 | * vb2_create_bufs() - Wrapper for vb2_core_create_bufs() that also verifies | 66 | * vb2_create_bufs() - Wrapper for vb2_core_create_bufs() that also verifies |
| 64 | * the memory and type values. | 67 | * the memory and type values. |
| 68 | * | ||
| 65 | * @q: videobuf2 queue | 69 | * @q: videobuf2 queue |
| 66 | * @create: creation parameters, passed from userspace to vidioc_create_bufs | 70 | * @create: creation parameters, passed from userspace to vidioc_create_bufs |
| 67 | * handler in driver | 71 | * handler in driver |
| @@ -70,15 +74,17 @@ int vb2_create_bufs(struct vb2_queue *q, struct v4l2_create_buffers *create); | |||
| 70 | 74 | ||
| 71 | /** | 75 | /** |
| 72 | * vb2_prepare_buf() - Pass ownership of a buffer from userspace to the kernel | 76 | * vb2_prepare_buf() - Pass ownership of a buffer from userspace to the kernel |
| 77 | * | ||
| 73 | * @q: videobuf2 queue | 78 | * @q: videobuf2 queue |
| 74 | * @b: buffer structure passed from userspace to vidioc_prepare_buf | 79 | * @b: buffer structure passed from userspace to vidioc_prepare_buf |
| 75 | * handler in driver | 80 | * handler in driver |
| 76 | * | 81 | * |
| 77 | * Should be called from vidioc_prepare_buf ioctl handler of a driver. | 82 | * Should be called from vidioc_prepare_buf ioctl handler of a driver. |
| 78 | * This function: | 83 | * This function: |
| 79 | * 1) verifies the passed buffer, | 84 | * |
| 80 | * 2) calls buf_prepare callback in the driver (if provided), in which | 85 | * #) verifies the passed buffer, |
| 81 | * driver-specific buffer initialization can be performed, | 86 | * #) calls buf_prepare callback in the driver (if provided), in which |
| 87 | * driver-specific buffer initialization can be performed. | ||
| 82 | * | 88 | * |
| 83 | * The return values from this function are intended to be directly returned | 89 | * The return values from this function are intended to be directly returned |
| 84 | * from vidioc_prepare_buf handler in driver. | 90 | * from vidioc_prepare_buf handler in driver. |
| @@ -88,53 +94,57 @@ int vb2_prepare_buf(struct vb2_queue *q, struct v4l2_buffer *b); | |||
| 88 | /** | 94 | /** |
| 89 | * vb2_qbuf() - Queue a buffer from userspace | 95 | * vb2_qbuf() - Queue a buffer from userspace |
| 90 | * @q: videobuf2 queue | 96 | * @q: videobuf2 queue |
| 91 | * @b: buffer structure passed from userspace to vidioc_qbuf handler | 97 | * @b: buffer structure passed from userspace to VIDIOC_QBUF() handler |
| 92 | * in driver | 98 | * in driver |
| 93 | * | 99 | * |
| 94 | * Should be called from vidioc_qbuf ioctl handler of a driver. | 100 | * Should be called from VIDIOC_QBUF() ioctl handler of a driver. |
| 101 | * | ||
| 95 | * This function: | 102 | * This function: |
| 96 | * 1) verifies the passed buffer, | 103 | * |
| 97 | * 2) if necessary, calls buf_prepare callback in the driver (if provided), in | 104 | * #) verifies the passed buffer, |
| 105 | * #) if necessary, calls buf_prepare callback in the driver (if provided), in | ||
| 98 | * which driver-specific buffer initialization can be performed, | 106 | * which driver-specific buffer initialization can be performed, |
| 99 | * 3) if streaming is on, queues the buffer in driver by the means of buf_queue | 107 | * #) if streaming is on, queues the buffer in driver by the means of buf_queue |
| 100 | * callback for processing. | 108 | * callback for processing. |
| 101 | * | 109 | * |
| 102 | * The return values from this function are intended to be directly returned | 110 | * The return values from this function are intended to be directly returned |
| 103 | * from vidioc_qbuf handler in driver. | 111 | * from VIDIOC_QBUF() handler in driver. |
| 104 | */ | 112 | */ |
| 105 | int vb2_qbuf(struct vb2_queue *q, struct v4l2_buffer *b); | 113 | int vb2_qbuf(struct vb2_queue *q, struct v4l2_buffer *b); |
| 106 | 114 | ||
| 107 | /** | 115 | /** |
| 108 | * vb2_expbuf() - Export a buffer as a file descriptor | 116 | * vb2_expbuf() - Export a buffer as a file descriptor |
| 109 | * @q: videobuf2 queue | 117 | * @q: videobuf2 queue |
| 110 | * @eb: export buffer structure passed from userspace to vidioc_expbuf | 118 | * @eb: export buffer structure passed from userspace to VIDIOC_EXPBUF() |
| 111 | * handler in driver | 119 | * handler in driver |
| 112 | * | 120 | * |
| 113 | * The return values from this function are intended to be directly returned | 121 | * The return values from this function are intended to be directly returned |
| 114 | * from vidioc_expbuf handler in driver. | 122 | * from VIDIOC_EXPBUF() handler in driver. |
| 115 | */ | 123 | */ |
| 116 | int vb2_expbuf(struct vb2_queue *q, struct v4l2_exportbuffer *eb); | 124 | int vb2_expbuf(struct vb2_queue *q, struct v4l2_exportbuffer *eb); |
| 117 | 125 | ||
| 118 | /** | 126 | /** |
| 119 | * vb2_dqbuf() - Dequeue a buffer to the userspace | 127 | * vb2_dqbuf() - Dequeue a buffer to the userspace |
| 120 | * @q: videobuf2 queue | 128 | * @q: videobuf2 queue |
| 121 | * @b: buffer structure passed from userspace to vidioc_dqbuf handler | 129 | * @b: buffer structure passed from userspace to VIDIOC_DQBUF() handler |
| 122 | * in driver | 130 | * in driver |
| 123 | * @nonblocking: if true, this call will not sleep waiting for a buffer if no | 131 | * @nonblocking: if true, this call will not sleep waiting for a buffer if no |
| 124 | * buffers ready for dequeuing are present. Normally the driver | 132 | * buffers ready for dequeuing are present. Normally the driver |
| 125 | * would be passing (file->f_flags & O_NONBLOCK) here | 133 | * would be passing (file->f_flags & O_NONBLOCK) here |
| 126 | * | 134 | * |
| 127 | * Should be called from vidioc_dqbuf ioctl handler of a driver. | 135 | * Should be called from VIDIOC_DQBUF() ioctl handler of a driver. |
| 136 | * | ||
| 128 | * This function: | 137 | * This function: |
| 129 | * 1) verifies the passed buffer, | 138 | * |
| 130 | * 2) calls buf_finish callback in the driver (if provided), in which | 139 | * #) verifies the passed buffer, |
| 140 | * #) calls buf_finish callback in the driver (if provided), in which | ||
| 131 | * driver can perform any additional operations that may be required before | 141 | * driver can perform any additional operations that may be required before |
| 132 | * returning the buffer to userspace, such as cache sync, | 142 | * returning the buffer to userspace, such as cache sync, |
| 133 | * 3) the buffer struct members are filled with relevant information for | 143 | * #) the buffer struct members are filled with relevant information for |
| 134 | * the userspace. | 144 | * the userspace. |
| 135 | * | 145 | * |
| 136 | * The return values from this function are intended to be directly returned | 146 | * The return values from this function are intended to be directly returned |
| 137 | * from vidioc_dqbuf handler in driver. | 147 | * from VIDIOC_DQBUF() handler in driver. |
| 138 | */ | 148 | */ |
| 139 | int vb2_dqbuf(struct vb2_queue *q, struct v4l2_buffer *b, bool nonblocking); | 149 | int vb2_dqbuf(struct vb2_queue *q, struct v4l2_buffer *b, bool nonblocking); |
| 140 | 150 | ||
| @@ -144,7 +154,9 @@ int vb2_dqbuf(struct vb2_queue *q, struct v4l2_buffer *b, bool nonblocking); | |||
| 144 | * @type: type argument passed from userspace to vidioc_streamon handler | 154 | * @type: type argument passed from userspace to vidioc_streamon handler |
| 145 | * | 155 | * |
| 146 | * Should be called from vidioc_streamon handler of a driver. | 156 | * Should be called from vidioc_streamon handler of a driver. |
| 157 | * | ||
| 147 | * This function: | 158 | * This function: |
| 159 | * | ||
| 148 | * 1) verifies current state | 160 | * 1) verifies current state |
| 149 | * 2) passes any previously queued buffers to the driver and starts streaming | 161 | * 2) passes any previously queued buffers to the driver and starts streaming |
| 150 | * | 162 | * |
| @@ -159,9 +171,11 @@ int vb2_streamon(struct vb2_queue *q, enum v4l2_buf_type type); | |||
| 159 | * @type: type argument passed from userspace to vidioc_streamoff handler | 171 | * @type: type argument passed from userspace to vidioc_streamoff handler |
| 160 | * | 172 | * |
| 161 | * Should be called from vidioc_streamoff handler of a driver. | 173 | * Should be called from vidioc_streamoff handler of a driver. |
| 174 | * | ||
| 162 | * This function: | 175 | * This function: |
| 163 | * 1) verifies current state, | 176 | * |
| 164 | * 2) stop streaming and dequeues any queued buffers, including those previously | 177 | * #) verifies current state, |
| 178 | * #) stop streaming and dequeues any queued buffers, including those previously | ||
| 165 | * passed to the driver (after waiting for the driver to finish). | 179 | * passed to the driver (after waiting for the driver to finish). |
| 166 | * | 180 | * |
| 167 | * This call can be used for pausing playback. | 181 | * This call can be used for pausing playback. |
