summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2012-02-11 14:02:44 +0000
committerSergei Trofimovich <slyfox@gentoo.org>2012-02-11 14:02:44 +0000
commit4df46cfd911d40475fe5a08679c2df1604acdf50 (patch)
treeea2300c2a2908cd08adf614ec74646bf4307cf93 /media-libs
parentVersion bump (diff)
downloadgentoo-2-4df46cfd911d40475fe5a08679c2df1604acdf50.tar.gz
gentoo-2-4df46cfd911d40475fe5a08679c2df1604acdf50.tar.bz2
gentoo-2-4df46cfd911d40475fe5a08679c2df1604acdf50.zip
Fix bug #214142 in aarender() reported and fixed by Reimar Döffinger. The patch also fixes resizing of 'mplayer -vo aa' for me.
(Portage version: 2.2.0_alpha85/cvs/Linux x86_64)
Diffstat (limited to 'media-libs')
-rw-r--r--media-libs/aalib/ChangeLog9
-rw-r--r--media-libs/aalib/aalib-1.4_rc5-r4.ebuild (renamed from media-libs/aalib/aalib-1.4_rc5-r3.ebuild)3
-rw-r--r--media-libs/aalib/files/aalib-1.4_rc5-fix-aarender.patch34
3 files changed, 44 insertions, 2 deletions
diff --git a/media-libs/aalib/ChangeLog b/media-libs/aalib/ChangeLog
index b9057008479c..c0c793b30566 100644
--- a/media-libs/aalib/ChangeLog
+++ b/media-libs/aalib/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for media-libs/aalib
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/aalib/ChangeLog,v 1.44 2012/02/11 12:46:41 slyfox Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-libs/aalib/ChangeLog,v 1.45 2012/02/11 14:02:44 slyfox Exp $
+
+*aalib-1.4_rc5-r4 (11 Feb 2012)
+
+ 11 Feb 2012; Sergei Trofimovich <slyfox@gentoo.org> +aalib-1.4_rc5-r4.ebuild,
+ +files/aalib-1.4_rc5-fix-aarender.patch, -aalib-1.4_rc5-r3.ebuild:
+ Fix bug #214142 in aarender() reported and fixed by Reimar Döffinger. The
+ patch also fixes resizing of 'mplayer -vo aa' for me.
*aalib-1.4_rc5-r3 (11 Feb 2012)
diff --git a/media-libs/aalib/aalib-1.4_rc5-r3.ebuild b/media-libs/aalib/aalib-1.4_rc5-r4.ebuild
index 7586f4f03e35..9d772a5096d2 100644
--- a/media-libs/aalib/aalib-1.4_rc5-r3.ebuild
+++ b/media-libs/aalib/aalib-1.4_rc5-r4.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/aalib/aalib-1.4_rc5-r3.ebuild,v 1.1 2012/02/11 12:46:41 slyfox Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-libs/aalib/aalib-1.4_rc5-r4.ebuild,v 1.1 2012/02/11 14:02:44 slyfox Exp $
EAPI=4
@@ -29,6 +29,7 @@ src_prepare() {
epatch "${FILESDIR}"/${PN}-1.4_rc4-gentoo.patch
epatch "${FILESDIR}"/${PN}-1.4_rc4-m4.patch
epatch "${FILESDIR}"/${PN}-1.4_rc5-fix-protos.patch #224267
+ epatch "${FILESDIR}"/${PN}-1.4_rc5-fix-aarender.patch #214142
sed -i -e 's:#include <malloc.h>:#include <stdlib.h>:g' "${S}"/src/*.c
diff --git a/media-libs/aalib/files/aalib-1.4_rc5-fix-aarender.patch b/media-libs/aalib/files/aalib-1.4_rc5-fix-aarender.patch
new file mode 100644
index 000000000000..97c59836b5c9
--- /dev/null
+++ b/media-libs/aalib/files/aalib-1.4_rc5-fix-aarender.patch
@@ -0,0 +1,34 @@
+This bug can be seen very clearly with e.g. mplayer -vo aa -monitoraspect 3
+in which case a big part of the picture is missing or there is even completely
+black output.
+
+The reason for this is, when drawing only a part of the picture via aarender()
+the first X coordinate is used for the loop count, but it is not applied to the
+destination and source image index, thus instead of (re)drawing the middle part
+of the image, it draws always the left part.
+
+Actual Results:
+only the left part of the image is draw (depending on the video, only the left
+black bar might be draw, so you will see nothing at all - if so use a slightly
+smaller value for -monitoraspect).
+
+Expected Results:
+All of the image should be drawn, and -monitoraspect should only squeeze the
+image, not cause part of it to miss.
+
+Gentoo-bug: http://bugs.gentoo.org/id=214142
+Reported-by: Reimar Döffinger
+Fixed-by: Reimar Döffinger
+--- src/aarender.c.orig 2008-03-18 23:55:32.000000000 +0100
++++ src/aarender.c 2008-03-18 23:55:50.000000000 +0100
+@@ -94,8 +94,8 @@
+ gamma = randomval / 2;
+ mval = (c->parameters[c->filltable[255]].p[4]);
+ for (y = y1; y < y2; y++) {
+- pos = 2 * y * wi;
+- pos1 = y * aa_scrwidth(c);
++ pos = 2 * (y * wi + x1);
++ pos1 = y * aa_scrwidth(c) + x1;
+ esum = 0;
+ for (x = x1; x < x2; x++) {
+ i1 = table[((((int) c->imagebuffer[pos])))];