diff options
author | Lars Gjesse Kjellberg <lars.g.kjellberg@get2net.dk> | 2006-09-25 22:44:06 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2006-10-03 14:14:33 -0400 |
commit | 4f43ac0cb228064cf6a253275ec1ecdab30c62f0 (patch) | |
tree | 6fb9c5d524315aa0cf91ce22f38d7947dcd93ebe /drivers/media | |
parent | 76ac5dd6c055101ef9f8c6349cae4ef571039e93 (diff) |
V4L/DVB (4681): Cx88: fix analog capture notch filter
This patch changes the setting of the cx2388x notch filter to match that of
the video capture sample frequency, removing some annoying interference
lines THAT would appear when capturing composite video. This has been tested
in PAL and NTSC TV norms.
It sets the Y/C separation luma notch filter, which removes the chroma signal
from the luma signal when using a composite input.
The luma notch filter operates at the video decoder's frequency, not the ADC's
frequency or at the frequency of the scaled video. Y/C separation happens after
the sample rate converter, before video scaling.
The datasheet provides plots of the filter response for three _video decoder_
frequencies, 4x Fsc, square pixel, and ccir601. These are the same three
frequencies for the notch filter control. It seems pretty clear that this
filter should be set based on the video decoder frequency. The cx88 driver
always uses a video decoder frequency of 4xFsc.
Signed-off-by: Lars Gjesse Kjellberg <lars.g.kjellberg@get2net.dk>
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media')
-rw-r--r-- | drivers/media/video/cx88/cx88-core.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/media/video/cx88/cx88-core.c b/drivers/media/video/cx88/cx88-core.c index f379ede3049a..241cabfadeeb 100644 --- a/drivers/media/video/cx88/cx88-core.c +++ b/drivers/media/video/cx88/cx88-core.c | |||
@@ -660,9 +660,7 @@ static unsigned int inline norm_fsc8(struct cx88_tvnorm *norm) | |||
660 | 660 | ||
661 | static unsigned int inline norm_notchfilter(struct cx88_tvnorm *norm) | 661 | static unsigned int inline norm_notchfilter(struct cx88_tvnorm *norm) |
662 | { | 662 | { |
663 | return (norm->id & V4L2_STD_625_50) | 663 | return HLNotchFilter4xFsc; |
664 | ? HLNotchFilter135PAL | ||
665 | : HLNotchFilter135NTSC; | ||
666 | } | 664 | } |
667 | 665 | ||
668 | static unsigned int inline norm_htotal(struct cx88_tvnorm *norm) | 666 | static unsigned int inline norm_htotal(struct cx88_tvnorm *norm) |