[theora-dev] VP3 IDCT

Mike Melanson melanson at pcisys.net
Wed Mar 5 18:47:06 PST 2003



On Thu, 6 Mar 2003, Michael Niedermayer wrote:

> btw, does theora/vp3 have a maximum allowed keyframe (or co-located non-skiped
> non-intra macroblock) limit like mpeg* ? IMHO it should have one, otherwise
> different decoders with different IDCTs will drift too much like u mentioned
>
> another related issue is the dequantizer, mpeg1/2/4/h263 does various weird
> oddifications to reduce the idct drift, i havnt found anything like this in
> the vp3 source, but possibly i missed it
> anyway, as soon as melansons implementation is finished we can try vp3 with a
> few different IDCTs (& DCTs) ...

        Note that I have strictly been a decoder guy thus far in my
multimedia hacking career. I will need some help when it comes to writing
the VP3 encoder. Fortunately, I am preparing a VP3 document, similar to
your MS MPEG-4 document. Dan is doing the same.

        I can tell you that VP31 has hardcoded tables that define intra Y
plane coefficients, intra C plane coefficients, and inter coefficients
(which apply to all inter planes). Further, each frame is encoded with a
quality index that ranges from 0..63. This index is used to fetch a value
from a DC scaling table and an AC scaling table. Then, each of the
quantization values in all the Q matrices is scaled by the appropriate
scaling value.

        Again, all 3 Q matrices and both scaling tables are hardcoded in
the VP31. In the upcoming Theora spec, they will be transported within the
Ogg file header, along with the 80 32-element histograms for DCT token
decoding.

        Hope this helps...

--
	-Mike Melanson

--- >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