Various typo in spec
Jonathan Fabrizio <[email protected]> Thu, 24 Mar 2011 15:24:32 +0100
| Newsgroups | gmane.comp.multimedia.ogg.theora.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi,
I have few questions on the specification.
* Just to understand :
- What is the interest of super blocks ? Is it to save place when
recording coded block flags (7.3) ?
- What is the advantage of using the coded order ? it is more often
easier with raster order (especially to find neighbor in 7.8.1 for
exemple). Is it to simplify the correspondence between block, macro
block and super block ?
* A problem with motion vectors :
- How motion vector are decoded ?
In the specification, it is said :
"Each component can take on integer values from -31 . . . 31, inclusive, at
half-pixel resolution, i.e. -15.5 . . . 15.5 pixels in the luma plane.
For each sub-
sampled axis in the chroma planes, the corresponding motion vector
component
is interpreted as being at quarter-pixel resolution, i.e. -7.75 . . .
7.75 pixels. The
precise details of how these vectors are used to compute predictors for
each
block are described in Section 7.9.1. "
But nowhere, decoded values are divided by two. Algorithm in 7.5.1
gives MVX and MVY in -31..31. Algorithm in section 7.5.2 keep these
values. In section 7.9.1.3, the use of MVX2 and MVY2 seem to be the
solution but in algorithm 7.9.4, these two variables are initialized
with the same value :
B. Assign MVX the value
|MVECTS[bi ]x | ? sign(MVECTS[bi ]x ).
C. Assign MVY the value
|MVECTS[bi ]y | ? sign(MVECTS[bi ]y ).
D. Assign MVX2 the value
|MVECTS[bi ]x | ? sign(MVECTS[bi ]x ).
E. Assign MVY2 the value
|MVECTS[bi ]y | ? sign(MVECTS[bi ]y ).
As MVECTS are integer, floor and ciel functions give the same result.
I do not understand. Maybe MVECTS[bi ] should be replaced by MVECTS[bi ]
/2 in all these expressions ?
* Few typos :
in section 7.8.1
Variables used :
PDIV (...) The valud -> the valu*e*
mbi->mb*j* (...) The index ... block bj
7. If block bi is not along the *the* bottom
in table 7.47 :
p[0] p[1] p[2] p[3] w[3] w[1] w[2] w[3] -> p[0] p[1] p[2] p[3] w[*0*]
w[1] w[2] w[3]
Regards
J.F.
_______________________________________________
theora-dev mailing list
[email protected]
http://lists.xiph.org/mailman/listinfo/theora-dev