This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/v4l-dvb.git tree:
Subject: V4L/DVB: Fix case where fields were not at the correct start location Author: Devin Heitmueller <[email protected]> Date: Sun Jun 13 17:00:23 2010 -0300 This patch address an arithmetic error for the case where the only remaining content in the USB packet was the "225Axxxx" start of active video. In cases where that happened to be at the end of the frame, we would inject it into the videobuf (which is incorrect). This caused fields to be intermittently rendered off by two pixels. Thanks to Eugeniy Meshcheryakov for bringing this issue to my attention Signed-off-by: Devin Heitmueller <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]> drivers/media/video/em28xx/em28xx-video.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) --- http://git.linuxtv.org/v4l-dvb.git?a=commitdiff;h=9db74cf24c038292d353d746cec11f6da368ef4c diff --git a/drivers/media/video/em28xx/em28xx-video.c b/drivers/media/video/em28xx/em28xx-video.c index 20090e3..7b9ec6e 100644 --- a/drivers/media/video/em28xx/em28xx-video.c +++ b/drivers/media/video/em28xx/em28xx-video.c @@ -654,12 +654,12 @@ static inline int em28xx_isoc_copy_vbi(struct em28xx *dev, struct urb *urb) } if (buf != NULL && dev->capture_type == 2) { - if (len > 4 && p[0] == 0x88 && p[1] == 0x88 && + if (len >= 4 && p[0] == 0x88 && p[1] == 0x88 && p[2] == 0x88 && p[3] == 0x88) { p += 4; len -= 4; } - if (len > 4 && p[0] == 0x22 && p[1] == 0x5a) { + if (len >= 4 && p[0] == 0x22 && p[1] == 0x5a) { em28xx_isocdbg("Video frame %d, len=%i, %s\n", p[2], len, (p[2] & 1) ? "odd" : "even"); _______________________________________________ linuxtv-commits mailing list [email protected] http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
