[XviD-devel] DivX5.03 rounding?

suxen_drol xvid-devel@xvid.org
Mon, 03 Feb 2003 12:54:36 +1100


On Sun, 26 Jan 2003 18:38:33 +0100 (CET) Christoph Lampert <chl@math.uni-bonn.de> wrote:

> Hi
> 
> new DivX5.03 is there, and changelog says it corrected
> some rounding issues, including QPel.
> 
> http://www.divx.com/divx/divx_win_versions.php
> http://www.divx.com/divx/divxpro_win_versions.php
> 
> Can someone check if it's compatible with XVID decoder now?
> 
> gruel 

yes it is now compatibile. by default divx503 uses the correct rounding,
but if it detects the bitstream was encoded with < divx503, it will use
the incorrect rounding (so older streams appear correct).

this causes a problem for us, when using bframes>0 + packed + qpel.
xvid inserts the divx version string "DivX501b481p" into the bitstream
to inform divx and xvid that the bitstream is packed. (we do this *only*
for packed mode). since divx503 assumes the stream was
encoded with divx501, it uses the old incorect rounding.

solutions:
* modify xvid to insert a new version string ("DivX503b740p"). but what
happens when bugs are found in divx503?

* use something silly like "DivX000b000p" or "DivX999b999p", so we can
identify packed streams, but not be affected by divx-versioing.

* come up with a better way to identify packed streams.

it'd be nice if the bitstream could indicate the desired level of post
processing: use a user data string: "@id:n=xvid,v=090,b=20030201,f=3,p"
	n=%s	: compressor name. ie. xvid,divx,3ivx,apple, whatever
	v=%d	: version
	b=%d	: build
	p[=%d]	: packed
	f[=%d]	: post filter leve where %i is in the range
0-9(inclusive) ?

-- pete; life is like a box of ammo