diff options
-rw-r--r-- | media-libs/xvid/ChangeLog | 7 | ||||
-rw-r--r-- | media-libs/xvid/Manifest | 27 | ||||
-rw-r--r-- | media-libs/xvid/files/xvid-1.0.1-64bit-clean.patch | 33 | ||||
-rw-r--r-- | media-libs/xvid/xvid-1.0.1.ebuild | 8 |
4 files changed, 55 insertions, 20 deletions
diff --git a/media-libs/xvid/ChangeLog b/media-libs/xvid/ChangeLog index 4f7dc57e2617..cda6f3d2ae8c 100644 --- a/media-libs/xvid/ChangeLog +++ b/media-libs/xvid/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for media-libs/xvid # Copyright 2002-2004 Gentoo Technologies, Inc.; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-libs/xvid/ChangeLog,v 1.22 2004/06/11 11:01:05 phosphan Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-libs/xvid/ChangeLog,v 1.23 2004/06/22 20:40:07 kugelfang Exp $ + + 22 Jun 2004; Danny van Dyk <kugelfang@gentoo.org> + +files/xvid-1.0.1-64bit-clean.patch, xvid-1.0.1.ebuild: + Added unconditional 64bit cleaning patch. Patch got ok by ferringb. + Fixes BUG #54134. *xvid-1.0.1 (11 Jun 2004) diff --git a/media-libs/xvid/Manifest b/media-libs/xvid/Manifest index 6069bcdcb220..6714418a6056 100644 --- a/media-libs/xvid/Manifest +++ b/media-libs/xvid/Manifest @@ -1,22 +1,13 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - -MD5 c7858c59a15058f46e3011e588ef8164 ChangeLog 2703 -MD5 4ebe63b94055eaa33225b2cb5fadb1dd xvid-0.9.1.ebuild 1032 -MD5 ea82a3bf32ca95ee4f2a712c870744a5 xvid-0.9.2-r1.ebuild 1105 +MD5 f891f6e728eb22e85c93cfa49bcf3638 ChangeLog 2905 MD5 9ef4af14dad87b03fde8e43f19e08d26 metadata.xml 225 -MD5 6c57a651f14e76c0b490fbe063a9fcba xvid-1.0.1.ebuild 1058 -MD5 4c0dd3da8bbdc655dd6cda4801e323a5 xvid-1.0.0_rc4.ebuild 1081 -MD5 8c100445a64d960693db8424931ff0eb files/1.0.1-DESTDIR.patch 1450 +MD5 5591544d03a3b01b3b82e481afe370db xvid-0.9.1.ebuild 1031 +MD5 5a2570180485a3f06fc59e3c328ca4d1 xvid-0.9.2-r1.ebuild 1104 +MD5 74aca8ce8326ae1eafee5edc4529c7c1 xvid-1.0.0_rc4.ebuild 1080 +MD5 f21ae6c018ed3305487a67b4a2d8a89b xvid-1.0.1.ebuild 1258 +MD5 ea0eb745946d70fea0c5dfd32d166ddb files/digest-xvid-1.0.1 67 MD5 e83498fda540ee61cdb0ce3fe79585c8 files/digest-xvid-0.9.1 67 MD5 3943af38157fef55f9da6987560d2e77 files/digest-xvid-0.9.2-r1 67 -MD5 ea0eb745946d70fea0c5dfd32d166ddb files/digest-xvid-1.0.1 67 -MD5 8c100445a64d960693db8424931ff0eb files/1.0.0_rc4-DESTDIR.patch 1450 MD5 181053d1f28fcfb20d9a491c674d5064 files/digest-xvid-1.0.0_rc4 71 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.9.8 (GNU/Linux) - -iD8DBQFAzaZPHTu7gpaalycRAjWVAJwJiek3QpigrGXjo03Kr6Ann11baACfUJH+ -nGB8g8nsLS3wTjdk0VM1q+w= -=uTPC ------END PGP SIGNATURE----- +MD5 b2f1f286ed22acfa893dae382f47fee2 files/xvid-1.0.1-64bit-clean.patch 1723 +MD5 8c100445a64d960693db8424931ff0eb files/1.0.0_rc4-DESTDIR.patch 1450 +MD5 8c100445a64d960693db8424931ff0eb files/1.0.1-DESTDIR.patch 1450 diff --git a/media-libs/xvid/files/xvid-1.0.1-64bit-clean.patch b/media-libs/xvid/files/xvid-1.0.1-64bit-clean.patch new file mode 100644 index 000000000000..cf13e736b4a4 --- /dev/null +++ b/media-libs/xvid/files/xvid-1.0.1-64bit-clean.patch @@ -0,0 +1,33 @@ +--- src/motion/estimation_bvop.c.orig 2004-06-22 19:57:46.168910368 +0200 ++++ src/motion/estimation_bvop.c 2004-06-22 19:57:50.802206000 +0200 +@@ -573,16 +573,26 @@ + b_dy = (b_dy >> 3) + roundtab_76[b_dy & 0xf]; + b_dx = (b_dx >> 3) + roundtab_76[b_dx & 0xf]; + ++ /* 64-bit Fix: ++ * The variables y, stride and x are unsigned, while dy and dy are signed. If ++ * e.g. dy is < -1, the factor dy/2 becomes < 0. But because y is unsigned, the ++ * -1 value will be 'promoted' to the unsigned 0xffffffff. This is no problem on ++ * 32 bit platforms, because adding 0xffffffff to a char pointer or adding -1 ++ * the same. But on 64bit this is no longer the case. So we have to really use ++ * signed variables here (note that we assume that the unsiged values are ++ * below 0x80000000, which should be true, because otherwise all kind of ++ * other problems will additionally pop up). ++ */ + sum = sad8bi(pCur->u + 8 * x + 8 * y * stride, +- f_Ref->u + (y*8 + dy/2) * stride + x*8 + dx/2, +- b_Ref->u + (y*8 + b_dy/2) * stride + x*8 + b_dx/2, ++ f_Ref->u + ((int) y*8 + dy/2) * (int) stride + (int) x*8 + dx/2, ++ b_Ref->u + ((int) y*8 + b_dy/2) * (int) stride + (int) x*8 + b_dx/2, + stride); + + if (sum >= MAX_CHROMA_SAD_FOR_SKIP * (int)Data->iQuant) return; /* no skip */ + + sum += sad8bi(pCur->v + 8*x + 8 * y * stride, +- f_Ref->v + (y*8 + dy/2) * stride + x*8 + dx/2, +- b_Ref->v + (y*8 + b_dy/2) * stride + x*8 + b_dx/2, ++ f_Ref->v + ((int) y*8 + dy/2) * (int) stride + (int) x*8 + dx/2, ++ b_Ref->v + ((int) y*8 + b_dy/2) * (int) stride + (int) x*8 + b_dx/2, + stride); + + if (sum >= MAX_CHROMA_SAD_FOR_SKIP * (int)Data->iQuant) return; /* no skip */ diff --git a/media-libs/xvid/xvid-1.0.1.ebuild b/media-libs/xvid/xvid-1.0.1.ebuild index 7a39a2b5a165..bb03dd68d22b 100644 --- a/media-libs/xvid/xvid-1.0.1.ebuild +++ b/media-libs/xvid/xvid-1.0.1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2004 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-libs/xvid/xvid-1.0.1.ebuild,v 1.2 2004/06/14 13:19:36 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-libs/xvid/xvid-1.0.1.ebuild,v 1.3 2004/06/22 20:40:07 kugelfang Exp $ inherit eutils @@ -23,6 +23,12 @@ src_unpack() { unpack ${A} cd ${S} epatch ${FILESDIR}/${PV}-DESTDIR.patch + + # Appliying 64bit patch unconditionally. + # Simple patch that works arch independent. + # Danny van Dyk <kugelfang@gentoo.org> 2004/06/22 + cd ${S}/../.. + epatch ${FILESDIR}/${P}-64bit-clean.patch } src_install() { |