diff options
Diffstat (limited to 'target/linux/bcm27xx/patches-5.4/950-0163-staging-bcm2835-camera-Ensure-timestamps-never-go-ba.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-5.4/950-0163-staging-bcm2835-camera-Ensure-timestamps-never-go-ba.patch | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/target/linux/bcm27xx/patches-5.4/950-0163-staging-bcm2835-camera-Ensure-timestamps-never-go-ba.patch b/target/linux/bcm27xx/patches-5.4/950-0163-staging-bcm2835-camera-Ensure-timestamps-never-go-ba.patch deleted file mode 100644 index c9e18874ab..0000000000 --- a/target/linux/bcm27xx/patches-5.4/950-0163-staging-bcm2835-camera-Ensure-timestamps-never-go-ba.patch +++ /dev/null @@ -1,38 +0,0 @@ -From fd3a6710bbcf875c85e6a2f3513c6eb4c46adeaa Mon Sep 17 00:00:00 2001 -From: Dave Stevenson <dave.stevenson@raspberrypi.org> -Date: Tue, 24 Jul 2018 12:08:29 +0100 -Subject: [PATCH] staging: bcm2835-camera: Ensure timestamps never go - backwards. - -There is an awkward situation with H264 header bytes. Currently -they are returned with a PTS of 0 because they aren't associated -with a timestamped frame to encode. These are handled by either -returning the timestamp of the last buffer to have been received, -or in the case of the first buffer the timestamp taken at -start_streaming. -This results in a race where the current frame may have started -before we take the start time, which results in the first encoded -frame having an earlier timestamp than the header bytes. - -Ensure that we never return a negative delta to the user by checking -against the previous timestamp. - -Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> ---- - .../staging/vc04_services/bcm2835-camera/bcm2835-camera.c | 5 +++++ - 1 file changed, 5 insertions(+) - ---- a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c -+++ b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c -@@ -380,6 +380,11 @@ static void buffer_cb(struct vchiq_mmal_ - ktime_to_ns(dev->capture.kernel_start_ts), - dev->capture.vc_start_timestamp, pts, - ktime_to_ns(timestamp)); -+ if (timestamp < dev->capture.last_timestamp) { -+ v4l2_dbg(1, bcm2835_v4l2_debug, &dev->v4l2_dev, -+ "Negative delta - using last time\n"); -+ timestamp = dev->capture.last_timestamp; -+ } - buf->vb.vb2_buf.timestamp = ktime_to_ns(timestamp); - } else { - if (dev->capture.last_timestamp) { |