[XviD-devel] qpel chroma rounding
skal
xvid-devel@xvid.org
06 Nov 2002 11:17:18 +0100
Hi Daniel and all,
On Tue, 2002-11-05 at 19:41, daniel smith wrote:
> > So, you think it's over with chroma rounding, huh? :)
> > Take this: section 7.7.2.1 (interlaced P/S-VOP), in
> > the pseudo-code of 'field_motion_compensate_one_reference'
> > another rounding (Div2Round(top)/Div2Round(bot)) is
> > used! And moreover, with 8x4 block predictions!
> > Yeah, I like it like this, what a feast! Bring the
> > qpel on!
>
> yes field-based ME is a pain, I've started work on it but there are a lot of annoyances (like the qpel reference, or interlaced B-VOP changes).
>
> oh well. it has to get done sooner or later i suppose, being part of advanced simple profile.
but... wait! there's another trick (the contrary would
have been surprising): Div2Round(x) specification ((x>>1)|(x&1))
is exactly the same than using table 7-9! Haha. gotcha!
what a mess...:(
In fact, B-VOP are a pain at several levels: even without
speaking of field pred, the specs requires to keep track
of skipped MB. And the DIRECT mode, of motion vectors.
Too bad. Without this, storing only the 3 current rows of 8x8
blocks MVs would have been enough for I/P/B VOPs.
Moreover, it gets even worse with interlaced DIRECT mode
targeting a field-predicted colocated MB: one have to
remember the 2 field motion vectors! Admit this is a
very very particular mode that further ruins any attempt
to spare memory required for decoding...
bye,
Skal