summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny van Dyk <kugelfang@gentoo.org>2004-06-22 20:40:07 +0000
committerDanny van Dyk <kugelfang@gentoo.org>2004-06-22 20:40:07 +0000
commitfc4b3958bfa9fcdb3cc535a9664d8dbd9bb41b72 (patch)
treed1d8b518265380ac720cb757e7e3295a8b385ebd
parentfix headers in wmpower-0.3.1 ebuild (diff)
downloadhistorical-fc4b3958bfa9fcdb3cc535a9664d8dbd9bb41b72.tar.gz
historical-fc4b3958bfa9fcdb3cc535a9664d8dbd9bb41b72.tar.bz2
historical-fc4b3958bfa9fcdb3cc535a9664d8dbd9bb41b72.zip
Fixed BUG #54134. (64bit cleaning patch)
-rw-r--r--media-libs/xvid/ChangeLog7
-rw-r--r--media-libs/xvid/Manifest27
-rw-r--r--media-libs/xvid/files/xvid-1.0.1-64bit-clean.patch33
-rw-r--r--media-libs/xvid/xvid-1.0.1.ebuild8
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() {