[xiph-commits] r17256 - experimental/derf/theora-ptalarbvorm/doc/spec
tterribe at svn.xiph.org
tterribe at svn.xiph.org
Sat May 29 16:38:46 PDT 2010
Author: tterribe
Date: 2010-05-29 16:38:46 -0700 (Sat, 29 May 2010)
New Revision: 17256
Modified:
experimental/derf/theora-ptalarbvorm/doc/spec/spec.tex
Log:
Fix the expository text in Macro Block Motion Vector Decode.
It did not agree with the step-by-step procedure below it in the case of
propagating LAST and LAST2 MVs from INTER_MV_FOUR MBs with some of the luma
blocks uncoded.
The step-by-step procedure was correct.
Reported by Simon Hosie.
Modified: experimental/derf/theora-ptalarbvorm/doc/spec/spec.tex
===================================================================
--- experimental/derf/theora-ptalarbvorm/doc/spec/spec.tex 2010-05-29 14:53:16 UTC (rev 17255)
+++ experimental/derf/theora-ptalarbvorm/doc/spec/spec.tex 2010-05-29 23:38:46 UTC (rev 17256)
@@ -4094,14 +4094,15 @@
For INTER\_MV and INTER\_GOLDEN\_MV modes, a single motion vector is decoded
and applied to each block.
For INTER\_MV\_FOUR macro blocks, a motion vector is decoded for each coded
- luma block.
+ luma block, in raster order, not coded order.
Uncoded luma blocks receive the default $(0,0)$ vector for the purposes of
computing the chroma motion vectors.
None of the remaining macro block coding modes require decoding motion vectors
from the stream.
-INTRA mode does not use a motion-compensated predictor, and so requires no
- motion vector, and INTER\_NOMV and INTER\_GOLDEN\_NOMV modes use the default
+INTRA mode does not use a motion-compensated predictor, and thus does not
+ require a motion vector.
+Both the INTER\_NOMV and the INTER\_GOLDEN\_NOMV modes use the default
vector $(0,0)$ for each block.
This also includes all macro blocks with no coded luma blocks, as they are
coded in INTER\_NOMV mode by definition.
@@ -4112,10 +4113,12 @@
Thus no explicit motion vector needs to be decoded for these modes.
Macro blocks coded in INTRA mode or one of the GOLDEN modes are not considered
in this process.
+For macro blocks coded in INTER\_MV\_FOUR mode, this process uses the vector
+ from the last coded luma block in the macro block, again in raster order, not
+ coded order.
+This is usually the upper-right block.
If an insufficient number of macro blocks have been coded in one of the INTER
modes, then the $(0,0)$ vector is used instead.
-For macro blocks coded in INTER\_MV\_FOUR mode, the vector from the upper-right
- luma block is used, even if the upper-right block is not coded.
The motion vectors are decoded from the stream as follows:
More information about the commits
mailing list