Higher v4l resolution?
- From: Mauro Carvalho Chehab <mchehab (at) infradead.org>
- Date: Sun, 17 Dec 2006 06:32:54 -0200
Em Sáb, 2006-12-16 às 17:03 -0500, Jonathan Kamens escreveu:
> OK, here's what I get about the answers people have sent to my
> question about the relatively small resolution I'm getting from v4l
> with my TV card....
>
> I understand that the vertical resolution of the picture is limited by
> the low number of scan lines in the NTSC or PAL standard. But isn't
> each scan line an analog signal, and hence couldn't the horizontal
> resolution be a lot higher than the 4:3 horizontal:vertical ratio
> that's being returned by v4l?
>
> If so, then wouldn't it be feasible to do with the TV image what is
> done, for example, with low-resolution faxes -- make each pixel twice
> as tall as it is wide, or even three times as tall if the horizontal
> resolution can be made that fine?
>
> Does any TV card support that kind of thing, and if so, does v4l know
> how to handle it?
The way cx88 driver handles horizontal resolution is to oversample it to
about 910 samples/line, on STD/MN, and about 1135 on STD/BGDK [1]. You
should notice that not all samples are part of the image.
Oversampling allows the chipset to do a better color estimation. This is
particularly important for NTSC signals, were a perfect color recovery
is very complicated, due to phase shifts that may happen at the analog
signal (a popular aka for NTSC is "Never Twice the Same Color", because
of this). CX88 have a sophisticated 3D filtering to try to reduce those
troubles, that should reduce the chroma max resolution. Maybe it can
keep the max luma resolution of the oversampled pixels.
So, with the current V4L driver, in thesis, on PAL, you can archive the
max resolution of 1135x576. Due to horizontal blank, this reduces to
754x480 (NTSC/M, PAL/M, PAL/60) and 922x576 for the others.
There is a soft limit, on cx88.h (at function norm_maxw) of 640x480
(NTSC/M, PAL/M, PAL/60) and 768x576 for the rest. Due to that, probably
it is safe to change NTSC to 720x480 (just replace it at cx88.h).
In thesis, probably it would be possible (changing PLL and FSC
programming) to oversample it even more, but the gain wouldn't be
representative. As said before, the horizontal color resolution on
composite video (due to the bandwidth of the color carrier) is about 320
columns, on NTSC.
I dunno the limits for S-Video, but I think it is close to 800
pixels/line, if you have a good source. So, even to sample s-video, the
way pll is programmed is ok.
[1] the max number of horizontal pixels should be calculated by this
formula:
4 x color_subcarrier_freq / number_of_lines / frames_per_sec
So, if you have a higher subcarrier freq, you can have better
resolution.
> Thanks,
>
> jik
>
Cheers,
Mauro.
--
video4linux-list mailing list
Unsubscribe mailto:video4linux-list-request (at) redhat.com?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/video4linux-list