[theora-dev] [OT] Just saying hi!
Christoph Lampert
chl at math.uni-bonn.de
Wed Feb 26 10:51:38 PST 2003
On Wed, 26 Feb 2003, Mike Melanson wrote:
> On Wed, 26 Feb 2003, Christoph Lampert wrote:
>
> > I guess there is no documentation of the current status of Theora
> > and it's basic (technical) concepts, is there? Because reading sources is
> > okay, but sometimes a few explanations make it much easier.
>
> I'm working on a description for the VP3 decode system as I
> develop a fresh decoder implementation for the ffmpeg project
> (ffmpeg.sf.net). Here is what I can tell you about the decode process
> (from which you can make educated guesses about the encode process):
ffmpeg (and therefore automatically mplayer-) support could _really_
boost popularity... good idea!
<p>> * decoding a VP3 frame:
> * decode frame header (keyframe, quantization level, version #)
> * unpack superblock/macroblock/fragment encoding data
> * unpack encoding mode information for encoded blocks
> * unpack motion vectors
> * unpack DC coefficients for all coded fragments
> * unpack 1st AC coefficients for all coded fragments
> * unpack 2nd AC coefficients for all coded fragments
> * ...
> * unpack 63rd AC coefficients for all coded fragments
That seems to violate a big rule for fast routines: locallity!
You have to store all coefficients of all blocks before reconstruction can
start. Why was it chosen that way?
> * reconstruct frame, which entails:
> * prediction for the DC coefficient
> * calculating relevant motion vector, if applicable
> * IDCT to obtain fragment or fragment diff
> * apply diff to motion block, if applicable
>
> That's basically how decoding works. Note that I still haven't gotten
> heavy into the interframe coding process, so I might have some details
> confused on the motion prediction stuff.
I myself am most involved into motion estimation, so as final questions
before letting you get back to work: Is the general method for ME
similar to MPEG? I-frames (golden... I like that... ;-) , P-frames,
B-frames? Motion estimation is done blockwise? Is there support for
global motion?
Thanks for explaining
Christoph
--
Christoph H. Lampert, gruel at web.de
--- >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 'theora-dev-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 Theora-dev
mailing list