[media] media: videobuf2: Move timestamp to vb2_buffer
Move timestamp from struct vb2_v4l2_buffer to struct vb2_buffer for common use, and change its type to u64 in order to handling y2038 problem. This patch also includes all device drivers' changes related to this restructuring. Signed-off-by: Junghak Sung <jh1009.sung@samsung.com> Signed-off-by: Geunyoung Kim <nenggun.kim@samsung.com> Acked-by: Seung-Woo Kim <sw0312.kim@samsung.com> Acked-by: Inki Dae <inki.dae@samsung.com> Signed-off-by: Hans Verkuil <hansverk@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
This commit is contained in:

committed by
Mauro Carvalho Chehab

parent
9057bc2b35
commit
d6dd645eae
@@ -694,19 +694,16 @@ void uvc_video_clock_update(struct uvc_streaming *stream,
|
||||
ts.tv_nsec -= NSEC_PER_SEC;
|
||||
}
|
||||
|
||||
uvc_trace(UVC_TRACE_CLOCK, "%s: SOF %u.%06llu y %llu ts %lu.%06lu "
|
||||
"buf ts %lu.%06lu (x1 %u/%u/%u x2 %u/%u/%u y1 %u y2 %u)\n",
|
||||
uvc_trace(UVC_TRACE_CLOCK, "%s: SOF %u.%06llu y %llu ts %llu "
|
||||
"buf ts %llu (x1 %u/%u/%u x2 %u/%u/%u y1 %u y2 %u)\n",
|
||||
stream->dev->name,
|
||||
sof >> 16, div_u64(((u64)sof & 0xffff) * 1000000LLU, 65536),
|
||||
y, ts.tv_sec, ts.tv_nsec / NSEC_PER_USEC,
|
||||
vbuf->timestamp.tv_sec,
|
||||
(unsigned long)vbuf->timestamp.tv_usec,
|
||||
y, timespec_to_ns(&ts), vbuf->vb2_buf.timestamp,
|
||||
x1, first->host_sof, first->dev_sof,
|
||||
x2, last->host_sof, last->dev_sof, y1, y2);
|
||||
|
||||
/* Update the V4L2 buffer. */
|
||||
vbuf->timestamp.tv_sec = ts.tv_sec;
|
||||
vbuf->timestamp.tv_usec = ts.tv_nsec / NSEC_PER_USEC;
|
||||
vbuf->vb2_buf.timestamp = timespec_to_ns(&ts);
|
||||
|
||||
done:
|
||||
spin_unlock_irqrestore(&stream->clock.lock, flags);
|
||||
@@ -1034,9 +1031,7 @@ static int uvc_video_decode_start(struct uvc_streaming *stream,
|
||||
|
||||
buf->buf.field = V4L2_FIELD_NONE;
|
||||
buf->buf.sequence = stream->sequence;
|
||||
buf->buf.timestamp.tv_sec = ts.tv_sec;
|
||||
buf->buf.timestamp.tv_usec =
|
||||
ts.tv_nsec / NSEC_PER_USEC;
|
||||
buf->buf.vb2_buf.timestamp = timespec_to_ns(&ts);
|
||||
|
||||
/* TODO: Handle PTS and SCR. */
|
||||
buf->state = UVC_BUF_STATE_ACTIVE;
|
||||
|
Reference in New Issue
Block a user