openwrt/target/linux/brcm2708/patches-3.10/0140-V4L2-Fix-JPEG-timestam...

36 lines
1.2 KiB
Diff

From 126bd13f65c8e88fd4eb037433ab39f7faf803ca Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dsteve@broadcom.com>
Date: Thu, 19 Dec 2013 17:33:02 +0000
Subject: [PATCH 140/174] V4L2: Fix JPEG timestamp issue
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(-)
--- a/drivers/media/platform/bcm2835/bcm2835-camera.c
+++ b/drivers/media/platform/bcm2835/bcm2835-camera.c
@@ -238,7 +238,8 @@ static void buffer_cb(struct vchiq_mmal_
}
} 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;
@@ -259,7 +260,7 @@ static void buffer_cb(struct vchiq_mmal_
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,