[vorbis] FREE at last
Ralph Giles
giles at snow.ashlu.bc.ca
Sun Oct 8 20:54:42 PDT 2000
On Sun, 8 Oct 2000, Kenneth Arnold wrote:
> Tarkin? Where is that anyway?
I'd just start my own version. The thread on the format starts here:
http://www.xiph.org/archives/vorbis-dev/1329.html
A wavelet and a vector quantization tutorial should be enough to get
something working; Monty &c. can clean it up for us later. :)
> I've found some video codec stuff myself, and am seriously considering
> porting them over to the Ogg framework to ease playing around. Having
> not yet delved into code, I wonder about frame-sync issues -- how can
> I get a frame of video to match up with a position in the audio stream?
> Forgive me for asking if this is blatantly simple.
Well, it is and it isn't. Ogg provides minimal timestamping in the
framing which you can use for rough seeking and prediction. On top of
that, most codecs provide a time or sample index within that.
What's a little harder is deciding how to maintain sync between the
audio and the video. Most consumer applications synchronize the video to
the audio. Frame-to-display = current-audio-sample / audio-samples-rate *
video-frame-rate. Current-audio-sample is determined by what just went
into the audio output buffer. There are two reasons for this: audio
glitches are perceptually much more damaging than video glitches, and the
clocks in most sound cards are terrible. So, sync video to whatever rate
the audio's playing at, and nobody will notice the few-precent difference.
However, there are applications where it's important to sync to either
"realtime" or an external clock. Maybe you're mixing live sources, or
driving multiple unslaved outputs, or just care on general principles.
This is a little harder, since you have to synchronize both audio and
video to an external clock. The video code can be the same, but I
imagine you'd need to do some kind of smooth stretching on the audio
to avoid glitches at the adjustments. I believe most professional setups
just slave everything (including the ADC/DACs) to an external clock;
not something we can really do in software.
Hope that helps,
-ralph
--
giles at ashlu.bc.ca
--- >8 ----
List archives: http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'vorbis-request at xiph.org'
containing only the word 'unsubscribe' in the body. No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.
More information about the Vorbis
mailing list