[XviD-devel] [BUG] Stable - Fix probably needed in unstable too

Edouard Gomez xvid-devel@xvid.org
Tue, 31 Dec 2002 00:20:19 +0100


--9s922KAXlWjPfK/Q
Content-Type: multipart/mixed; boundary="SUk9VBj82R8Xhb8H"
Content-Disposition: inline


--SUk9VBj82R8Xhb8H
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

suxen_drol (suxen_drol@hotmail.com) wrote:
> the pros of the new code are:
> - small 64kb memory overhead (michaels code is currently >5mb)
> - vlc_codes.h is more readable. the tables appear as they are in the
> mpeg iso doc. (whereas the current code uses precomputed tables).

yes and yes

> cons:
> - overall ~1% slower

It's   1%  when   using   xmm+mmx.   I  could   not   test  with   other
combinations. When using only C, this code is as fast as the old one.

In attachment you can find a patch that fixes an array that was not
iniatilized the right way (from compiler point of view). Applies against
stable cvs.

NB: i'm in favour of this new code, i think it's worth it to reduce
memory requirements by such a high factor for only 1% overall speed loss
(on my box) i wait for other benchmarks to make sure it's the same loss
(or gain) for all.

--=20
Edouard Gomez

--SUk9VBj82R8Xhb8H
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="vlc.diff.gz"
Content-Transfer-Encoding: base64

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

--SUk9VBj82R8Xhb8H--

--9s922KAXlWjPfK/Q
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iD8DBQE+ENSzR5dTYz5sWMcRAgQ/AKCpjwqmZR+T/5nDvXzMeXeWah0DXQCfZKOU
4wYkuWQFUwCtbkUvRM3AfFY=
=D2S1
-----END PGP SIGNATURE-----

--9s922KAXlWjPfK/Q--