[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