aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorAndy Walls <awalls@radix.net>2009-02-28 18:13:50 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-03-30 11:43:09 -0400
commitaf7c58b1f5014bea181ef74d724ac960923dd403 (patch)
tree9458933e440c8b777cd4f5b2cce0cdf00f7dcaac /drivers
parent583803d135b14d414e77b6d2b546a811cac9944e (diff)
V4L/DVB (10854): cx18: Correct comments about vertical and horizontal blanking timings
This change only affects comments. Signed-off-by: Andy Walls <awalls@radix.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/media/video/cx18/cx18-av-core.c26
-rw-r--r--drivers/media/video/cx18/cx18-av-core.h19
-rw-r--r--drivers/media/video/cx18/cx18-streams.c5
3 files changed, 30 insertions, 20 deletions
diff --git a/drivers/media/video/cx18/cx18-av-core.c b/drivers/media/video/cx18/cx18-av-core.c
index aeeb3cfa3390..21f4be8393b7 100644
--- a/drivers/media/video/cx18/cx18-av-core.c
+++ b/drivers/media/video/cx18/cx18-av-core.c
@@ -292,23 +292,29 @@ void cx18_av_std_setup(struct cx18 *cx)
292 * 292 *
293 * vsync: always 6 half-lines of vsync pulses 293 * vsync: always 6 half-lines of vsync pulses
294 * vactive: half lines of active video 294 * vactive: half lines of active video
295 * vblank656: half lines, after line 3, of blanked video 295 * vblank656: half lines, after line 3/mid-266, of blanked video
296 * vblank: half lines, after line 9, of blanked video 296 * vblank: half lines, after line 9/272, of blanked video
297 * 297 *
298 * As far as I can tell:
298 * vblank656 starts counting from the falling edge of the first 299 * vblank656 starts counting from the falling edge of the first
299 * vsync pulse (start of line 4) 300 * vsync pulse (start of line 4 or mid-266)
300 * vblank starts counting from the after the 6 vsync pulses and 301 * vblank starts counting from the after the 6 vsync pulses and
301 * 6 equalization pulses (start of line 10) 302 * 6 or 5 equalization pulses (start of line 10 or 272)
302 * 303 *
303 * For 525 line systems the driver will extract VBI information 304 * For 525 line systems the driver will extract VBI information
304 * from lines 10 through 21. To avoid the EAV RP code from 305 * from lines 10-21 and lines 273-284.
305 * toggling at the start of hblank at line 22, where sliced VBI
306 * data from line 21 is stuffed, also treat line 22 as blanked.
307 */ 306 */
308 vblank656 = 38; /* lines 4 through 22 */ 307 vblank656 = 38; /* lines 4 - 22 & 266 - 284 */
309 vblank = 26; /* lines 10 through 22 */ 308 vblank = 26; /* lines 10 - 22 & 272 - 284 */
310 vactive = 481; /* lines 23 through 262.5 */ 309 vactive = 481; /* lines 23 - 263 & 285 - 525 */
311 310
311 /*
312 * For a 13.5 Mpps clock and 15,734.26 Hz line rate, a line is
313 * is 858 pixels = 720 active + 138 blanking. The Hsync leading
314 * edge should happen 1.2 us * 13.5 Mpps ~= 16 pixels after the
315 * end of active video, leaving 122 pixels of hblank to ignore
316 * before active video starts.
317 */
312 hactive = 720; 318 hactive = 720;
313 hblank = 122; 319 hblank = 122;
314 luma_lpf = 1; 320 luma_lpf = 1;
diff --git a/drivers/media/video/cx18/cx18-av-core.h b/drivers/media/video/cx18/cx18-av-core.h
index fd0df4151211..2687a2c91ddd 100644
--- a/drivers/media/video/cx18/cx18-av-core.h
+++ b/drivers/media/video/cx18/cx18-av-core.h
@@ -89,16 +89,21 @@ struct cx18_av_state {
89 89
90 /* 90 /*
91 * The VBI slicer starts operating and counting lines, begining at 91 * The VBI slicer starts operating and counting lines, begining at
92 * slicer line count of 1, at D lines after the deassertion of VRESET 92 * slicer line count of 1, at D lines after the deassertion of VRESET.
93 * This staring field line, S, is 6 or 10 for 625 or 525 line systems. 93 * This staring field line, S, is 6 (& 319) or 10 (& 273) for 625 or 525
94 * Sliced ancillary data captured on VBI slicer line M is sent at the 94 * line systems respectively. Sliced ancillary data captured on VBI
95 * beginning of the next VBI slicer line, VBI slicer line count N = M+1. 95 * slicer line M is inserted after the VBI slicer is done with line M,
96 * Thus when the VBI slicer reports a VBI slicer line number with 96 * when VBI slicer line count is N = M+1. Thus when the VBI slicer
97 * ancillary data, the IDID0 byte indicates VBI slicer line N. 97 * reports a VBI slicer line number with ancillary data, the IDID0 byte
98 * The actual field line that the captured data comes from is 98 * indicates VBI slicer line N. The actual field line that the captured
99 * data comes from is
100 *
99 * L = M+(S+D-1) = N-1+(S+D-1) = N + (S+D-2). 101 * L = M+(S+D-1) = N-1+(S+D-1) = N + (S+D-2).
100 * 102 *
103 * L is the line in the field, not frame, from which the VBI data came.
104 * N is the line reported by the slicer in the ancillary data.
101 * D is the slicer_line_delay value programmed into register 0x47f. 105 * D is the slicer_line_delay value programmed into register 0x47f.
106 * S is 6 for 625 line systems or 10 for 525 line systems
102 * (S+D-2) is the slicer_line_offset used to convert slicer reported 107 * (S+D-2) is the slicer_line_offset used to convert slicer reported
103 * line counts to actual field lines. 108 * line counts to actual field lines.
104 */ 109 */
diff --git a/drivers/media/video/cx18/cx18-streams.c b/drivers/media/video/cx18/cx18-streams.c
index ce65cc6c86e8..0932b76b2373 100644
--- a/drivers/media/video/cx18/cx18-streams.c
+++ b/drivers/media/video/cx18/cx18-streams.c
@@ -413,9 +413,8 @@ static void cx18_vbi_setup(struct cx18_stream *s)
413 * 0x90 (Task HorizontalBlank) 413 * 0x90 (Task HorizontalBlank)
414 * 0xd0 (Task EvenField HorizontalBlank) 414 * 0xd0 (Task EvenField HorizontalBlank)
415 * 415 *
416 * We have set the digitzer to consider the first active line 416 * We have set the digitzer such that we don't have to worry
417 * as part of VerticalBlank as well so we don't have to look for 417 * about these problem codes.
418 * these problem codes nor lose the last line of sliced data.
419 */ 418 */
420 data[4] = 0xB0F0B0F0; 419 data[4] = 0xB0F0B0F0;
421 /* 420 /*