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

Reply via email to