diff options
author | Andy Walls <awalls@radix.net> | 2009-02-28 18:13:50 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-03-30 11:43:09 -0400 |
commit | af7c58b1f5014bea181ef74d724ac960923dd403 (patch) | |
tree | 9458933e440c8b777cd4f5b2cce0cdf00f7dcaac /drivers | |
parent | 583803d135b14d414e77b6d2b546a811cac9944e (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.c | 26 | ||||
-rw-r--r-- | drivers/media/video/cx18/cx18-av-core.h | 19 | ||||
-rw-r--r-- | drivers/media/video/cx18/cx18-streams.c | 5 |
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 | /* |