ffmpeg at half speed ... sort of.
Steve O'Hara-Smith
steve at sohara.org
Mon Feb 14 02:22:15 PST 2005
On Sun, 13 Feb 2005 13:21:20 -0500
Paul Chvostek <paul+fbsd at it.ca> wrote:
> Thanks for your response, Steve.
>
> On Thu, Feb 10, 2005 at 09:57:13AM +0000, Steve O'Hara-Smith wrote:
> >
> > That leaves grab rate problems I think - the grab code uses a
> > usleep that should get interrupted by the sync signal from the bktr
> > driver. If it doesn't it is set to sleep 1/8 of a frame too long and
> > then grab the frame and complain (SLEPT NO signals - <number> microseconds
> > late). When the packet is grabbed it is given a timestamp using the
> > ffmpeg library routine avgettime.
> >
> > If this is misbehaving it points to problems with low level
> > timekeeping, which is not too uncommon (see endless threads about
> > microuptime going backwards). So to check for that ...
>
> I do not fully grok this, but I'd be happy to assist with whatever
> diagnostics I can.
>
> So ... usleep is interrupted when a new frame is available from the bktr
> driver,
Exactly.
> or is the sync signal merely a timer? Could this be a problem
> with the frequency of the sync signal coming from the driver? Does the
> driver time its sync signals based on the hardware, or something else?
The driver gets it's sync signals from the incoming video field sync.
> > Do you get any of the SLEPT ... messages ?
>
> Plenty of them. From five to ten for every notice as to what frame I've
> reached,
That's not good - probable causes for that many are lousy signal or bad
timekeeping - given the other symptoms I strongly suspect bad timekeeping.
> all in the range of 4000 to 6000 ms. (Which is odd, since they
> start immediately after I run ffmpeg, without a 4 second delay.) I get
They're in microseconds - I doubt you'd notice a four millisecond delay :)
> > Does fiddling with sysctl kern.timecounter.method help ?
>
> Er... I don't have one of those. 5.3-RELEASE. I do have:
Erk - I haven't played with 5.3.
> kern.timecounter.hardware: ACPI-fast
> kern.timecounter.choice: TSC(800) ACPI-fast(1000) i8254(0) dummy(-1000000)
>
> Is either of those what we're looking for?
kern.timecounter.hardware should be the one - from the looks of it. Try setting
it to TSC or i8254 (probably TSC will do a better job).
> > Does turning off ACPI (if it's on) help ?
>
> Funny you should ask. When I try to boot without ACPI, I get a kernel
> panic as soon as the system tries to go into multi-user mode, even if I
> turn off Hyperthreading in BIOS.
It might be worth checking on Hyperthreading having an effect.
--
C:>WIN | Directable Mirror Arrays
The computer obeys and wins. | A better way to focus the sun
You lose and Bill collects. | licences available see
| http://www.sohara.org/
More information about the freebsd-multimedia
mailing list