[theora-dev] VP3 Format Doc, v0.4

Mike Melanson melanson at pcisys.net
Thu Mar 4 13:37:54 PST 2004

On Thu, 4 Mar 2004, Michael Niedermayer wrote:

> a few comments ...

        Thanks for looking it over...

> * the intra quantization matrixes are from jpeg (maybe u want to menton that)

        Good catch, and good comparison (always useful to draw comparisons
between existing concepts).

> * u dont mention which rounding variant is used in divisions, its quite
> obvious from the examples though

        Rounding variant...is that referring to round up or round down?
Yes, it does look like it rounds down.

> * i think u didnt mention in what order macroblocks are stored in the
> bitstream, but maybe i missed it

        I realized on a recent reading that, indeed, it is not entirely
clear which way the MBs are coded. This is important for unpacking MB
coding info and motion vectors. I will come up with a way to clarify this.
BTW, it should be:

  ( 0 3 )
  ( 1 2 )

> * maybe it would help readability of the dc prediction description if there
> where a table for the 16 fragment availability cases and which are
> used/discarded, something like:
> 0 0 0 0 uses 0
> 0 0 0 1 uses UR
> 1 0 1 0 uses (L+U)/2
> ...

        Good suggestion. That section, while thorough, bugs me by its
confusing layout.

> * the VP3/theora code contains deblock/dering filters IIRC, are these optional
> in a sense that they are applied to every image but the decoder uses the
> unfiltered image for motion compensaton, or are these loop filters which are
> used in the decode-mc loop?

        Err...what Timothy said...:)

> * i think theres no mentioning of the motion vector accuracy, are they 1/2
> pel?
> * theres also no explanation of how the halfpel motion compensation is done
> (rounding?), and what is done for the chroma fragments, the motion vector is
> 1/4 pel accurate for them if its 1/2 pel for luma

        Good questions on these and I am actually still trying to sort out
the answer. Anyone who has used ffmpeg/libavcodec's VP3 decoder knows that
it is not 100% correct yet. It looks to me like a motion vector problem.
The problem affects all planes. So I will be doing some research to find
the discrepancies.

> btw, very nice doc :)

        Thanks, I try. And I'm trying harder, especially since 'they' say
they want to make a RFC out it...:)

	-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