Hello everyone,
I have a few grabbing problems and the final answer I get from this list is
"that it might be the PLL". Everyone excuse if I will repeat myself but I fear except
for me noone will have kept this thread in his mail archives...
I use a grabber card which is not supported by bttv 0.7.28 which might be old but was
brand new three months ago. When I grab from different video sources I get
independently of the card or other driver options I set the same stochastic errors. I
found out that some card=xx option seems to work better than others. The one that
works the best with my physical grabber card is card=35. All card= options that work
at all with my hardware have a PLL_28, according to bttv.c. The only difference I
could find from the source of bttv.c between card=35 and any other card= that work at
all are the gpio settings.
The error that occurs is the following:
1) I grab PAL encoded video, i.e. 25 frames per second, i.e. 40ms per frame.
2) Sometimes --- i.e. depending on driver settings 1%, 5%, 50% etc. of all grabbed
frames --- it takes longer than 40ms to grab one frame. These are the error frames.
3) The typical data in an error frame consits of field 1 of the last error free frame
and field 0 of the last displayed frame.
4) This leads to the following possibility: the grabber (I guess hardware) misses the
sync signal of field 1. The driver knows it has to grab two fields, so it waits for
the next sync and just grabs field 0 of the following frame. The hardware knows where
to put field 0 in memory, so field 1 is never changed. (see picture below)
Please anyone: How can this error behavior be influenced by changing the card= option
of the bttv driver from card=35 to card=37? And if anyone answers this might be due to
the PLL... then please consider that card=35 and card=37 both have PLL_28. The only
difference I could find between these to cards are the gpio settings and the nominell
number of audio sources.
Picture of the time behavior of the error frame (imagine grabbing into two buffers
alternatingly):
real images from video source
0/0 0/1 1/0 1/1 2/0 2/1 3/0 3/1
0/0 0/1 1/0 1/1 0/0 *** 0/0 ???
ring buffer where the images are grabbed to.
*** = never grabbed, except perhaps into buffer 0/0
??? = don't know what happens with this field, but most likely it is skipped or
grabbed into buffer 1/1, which is of course also an error.
See You,
Robert S.
--
Robert S"utterlin ([EMAIL PROTECTED])
phone: +(49)89 30 000 - 3546, fax: +(49)89 30 000 - 3390
adress: Giessenbachstrasse, POBox 1603, 85740 Garching, Germany
_______________________________________________
Video4linux-list mailing list
[EMAIL PROTECTED]
https://listman.redhat.com/mailman/listinfo/video4linux-list