Ben Bridgwater wrote:

> Anders Gnistrup wrote:
> >
> >
> > Ok. that cleared up my overview. Thanks.
> > in fact I have downloaded all bttr drivers but I could not find the "the thin red
> > line".
> >
> > I have attached my code.
>
> You should really be doing a *single* mmap() of size indicated by
> VIDIOCGMBUF, and then using the frame offsets into that to retrieve the
> captured frames.
>

hmm. okay. done it.

>
> Also your capture loop seems a bit convoluted, and I don't think you're
> giving yourself any time to copy each frame after you set the condition
> variable before you start to overwrite

You are absolutely right. I tried to implement another pthread_cond_t and made the
thread wait until
the copy was finish and SUCCES. ;-) .

the code now work like this.
frame = next_frame = 0
capture frame
while(1) {
    capture(next_frame)
    sync(frame)
    copy(frame)
    frame = next_frame;
    nextframe = (nextframe +1) %2
}

The difference between this and the below is that this is convoluted and works at
25Hz.
BTW. is legal/safe to convolute?

And thanks for the overview and the littly "hint".


> it with the next capture. Try
> restructuring your loop like this:
>
> frame = 0
> capture(frame)
> while (1) {
>   sync(frame)
>   next_frame = (frame + 1) % 2
>   capture(next_frame)
>   process(frame)
>   frame = next_frame
> }
>
> Hope this helps.
>
> Ben
>
> _______________________________________________
> Video4linux-list mailing list
> [EMAIL PROTECTED]
> https://listman.redhat.com/mailman/listinfo/video4linux-list



_______________________________________________
Video4linux-list mailing list
[EMAIL PROTECTED]
https://listman.redhat.com/mailman/listinfo/video4linux-list

Reply via email to