2014-09-27 19:10:51 +00:00
|
|
|
From a1eed4a5fcd05d266f68dd30fa17ba045a2a322e Mon Sep 17 00:00:00 2001
|
2014-02-28 20:30:08 +00:00
|
|
|
From: Dave Stevenson <dsteve@broadcom.com>
|
|
|
|
Date: Thu, 19 Dec 2013 17:33:02 +0000
|
2014-09-27 19:10:51 +00:00
|
|
|
Subject: [PATCH 140/196] V4L2: Fix JPEG timestamp issue
|
2014-02-28 20:30:08 +00:00
|
|
|
|
|
|
|
JPEG images were coming through from the GPU with timestamp
|
|
|
|
of 0. Detect this and give current system time instead
|
|
|
|
of some invalid value.
|
|
|
|
|
|
|
|
Signed-off-by: Dave Stevenson <dsteve@broadcom.com>
|
|
|
|
---
|
|
|
|
drivers/media/platform/bcm2835/bcm2835-camera.c | 5 +++--
|
|
|
|
1 file changed, 3 insertions(+), 2 deletions(-)
|
|
|
|
|
2014-09-27 19:10:51 +00:00
|
|
|
diff --git a/drivers/media/platform/bcm2835/bcm2835-camera.c b/drivers/media/platform/bcm2835/bcm2835-camera.c
|
|
|
|
index 4766a9c..9fc90a2 100644
|
2014-02-28 20:30:08 +00:00
|
|
|
--- a/drivers/media/platform/bcm2835/bcm2835-camera.c
|
|
|
|
+++ b/drivers/media/platform/bcm2835/bcm2835-camera.c
|
2014-09-27 19:10:51 +00:00
|
|
|
@@ -238,7 +238,8 @@ static void buffer_cb(struct vchiq_mmal_instance *instance,
|
2014-02-28 20:30:08 +00:00
|
|
|
}
|
|
|
|
} else {
|
|
|
|
if (dev->capture.frame_count) {
|
|
|
|
- if (dev->capture.vc_start_timestamp != -1) {
|
|
|
|
+ if (dev->capture.vc_start_timestamp != -1 &&
|
|
|
|
+ pts != 0) {
|
|
|
|
s64 runtime_us = pts -
|
|
|
|
dev->capture.vc_start_timestamp;
|
|
|
|
u32 div = 0;
|
2014-09-27 19:10:51 +00:00
|
|
|
@@ -259,7 +260,7 @@ static void buffer_cb(struct vchiq_mmal_instance *instance,
|
2014-02-28 20:30:08 +00:00
|
|
|
USEC_PER_SEC;
|
|
|
|
}
|
|
|
|
v4l2_dbg(1, bcm2835_v4l2_debug, &dev->v4l2_dev,
|
|
|
|
- "Convert start time %d.%06d and %llu"
|
|
|
|
+ "Convert start time %d.%06d and %llu "
|
|
|
|
"with offset %llu to %d.%06d\n",
|
|
|
|
(int)dev->capture.kernel_start_ts.
|
|
|
|
tv_sec,
|
2014-09-27 19:10:51 +00:00
|
|
|
--
|
|
|
|
1.9.1
|
|
|
|
|