summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuli Suominen <ssuominen@gentoo.org>2010-01-23 11:49:15 +0000
committerSamuli Suominen <ssuominen@gentoo.org>2010-01-23 11:49:15 +0000
commit53b519443058492c42be9114736b6572eec3ac76 (patch)
treeac21ae545af3d0801a0a815e159bb6db538c9926 /media-video/mjpegtools
parentkeyword ~x86-fbsd thanks to Naohiro Aota <naota@elisp.net>, bug #301885 (diff)
downloadgentoo-2-53b519443058492c42be9114736b6572eec3ac76.tar.gz
gentoo-2-53b519443058492c42be9114736b6572eec3ac76.tar.bz2
gentoo-2-53b519443058492c42be9114736b6572eec3ac76.zip
Fix jpeg2yuv segmentation fault with jpeg-7 and above wrt #293919 by Salah Coronya.
(Portage version: 2.2_rc61/cvs/Linux x86_64)
Diffstat (limited to 'media-video/mjpegtools')
-rw-r--r--media-video/mjpegtools/ChangeLog9
-rw-r--r--media-video/mjpegtools/files/mjpegtools-1.9.0-jpeg-7.patch24
-rw-r--r--media-video/mjpegtools/mjpegtools-1.9.0-r1.ebuild87
3 files changed, 119 insertions, 1 deletions
diff --git a/media-video/mjpegtools/ChangeLog b/media-video/mjpegtools/ChangeLog
index df7e370b92b1..7a4b652ef1c7 100644
--- a/media-video/mjpegtools/ChangeLog
+++ b/media-video/mjpegtools/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for media-video/mjpegtools
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/mjpegtools/ChangeLog,v 1.142 2010/01/22 17:15:12 ssuominen Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-video/mjpegtools/ChangeLog,v 1.143 2010/01/23 11:49:15 ssuominen Exp $
+
+*mjpegtools-1.9.0-r1 (23 Jan 2010)
+
+ 23 Jan 2010; Samuli Suominen <ssuominen@gentoo.org>
+ +mjpegtools-1.9.0-r1.ebuild, +files/mjpegtools-1.9.0-jpeg-7.patch:
+ Fix jpeg2yuv segmentation fault with jpeg-7 and above wrt #293919 by Salah
+ Coronya.
22 Jan 2010; Samuli Suominen <ssuominen@gentoo.org>
mjpegtools-1.9.0.ebuild:
diff --git a/media-video/mjpegtools/files/mjpegtools-1.9.0-jpeg-7.patch b/media-video/mjpegtools/files/mjpegtools-1.9.0-jpeg-7.patch
new file mode 100644
index 000000000000..ec367318628c
--- /dev/null
+++ b/media-video/mjpegtools/files/mjpegtools-1.9.0-jpeg-7.patch
@@ -0,0 +1,24 @@
+Fix segmentation fault with jpeg-7 and above where dinfo.do_fancy_upsampling isn't set by default to FALSE anymore.
+
+Patch by: Salah Coronya
+
+http://bugs.gentoo.org/show_bug.cgi?id=293919
+
+--- lavtools/jpegutils.c
++++ lavtools/jpegutils.c
+@@ -502,6 +502,7 @@
+
+ jpeg_read_header (&dinfo, TRUE);
+ dinfo.raw_data_out = TRUE;
++ dinfo.do_fancy_upsampling = FALSE;
+ dinfo.out_color_space = JCS_YCbCr;
+ dinfo.dct_method = JDCT_IFAST;
+ guarantee_huff_tables(&dinfo);
+@@ -599,6 +600,7 @@
+ if (field > 0) {
+ jpeg_read_header (&dinfo, TRUE);
+ dinfo.raw_data_out = TRUE;
++ dinfo.do_fancy_upsampling = FALSE;
+ dinfo.out_color_space = JCS_YCbCr;
+ dinfo.dct_method = JDCT_IFAST;
+ jpeg_start_decompress (&dinfo);
diff --git a/media-video/mjpegtools/mjpegtools-1.9.0-r1.ebuild b/media-video/mjpegtools/mjpegtools-1.9.0-r1.ebuild
new file mode 100644
index 000000000000..4b048f085b39
--- /dev/null
+++ b/media-video/mjpegtools/mjpegtools-1.9.0-r1.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-video/mjpegtools/mjpegtools-1.9.0-r1.ebuild,v 1.1 2010/01/23 11:49:15 ssuominen Exp $
+
+EAPI="1"
+
+inherit flag-o-matic toolchain-funcs eutils libtool
+
+MY_P=${P/_/}
+
+DESCRIPTION="Tools for MJPEG video"
+HOMEPAGE="http://mjpeg.sourceforge.net/"
+SRC_URI="mirror://sourceforge/mjpeg/${MY_P}.tar.gz"
+
+LICENSE="as-is"
+SLOT="1"
+KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="gtk dv quicktime sdl X yv12 v4l dga png mmx"
+
+RDEPEND="media-libs/jpeg:0
+ gtk? ( x11-libs/gtk+:2 )
+ dv? ( >=media-libs/libdv-0.99 )
+ quicktime? ( virtual/quicktime )
+ png? ( media-libs/libpng )
+ sdl? ( >=media-libs/libsdl-1.2.7-r3 )
+ X? ( x11-libs/libX11
+ x11-libs/libXt )"
+
+DEPEND="${RDEPEND}
+ mmx? ( dev-lang/nasm )
+ >=sys-apps/sed-4
+ dev-util/pkgconfig"
+
+S="${WORKDIR}/${MY_P}"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ sed -i -e '/ARCHFLAGS=/s:=.*:=:' configure
+ epatch "${FILESDIR}"/${P}-glibc-2.10.patch \
+ "${FILESDIR}"/${P}-jpeg-7.patch
+}
+
+src_compile() {
+ local myconf
+
+ if use yv12 && use dv; then
+ myconf="${myconf} --with-dv-yv12"
+ elif use yv12; then
+ ewarn "yv12 support is possible when 'dv' is in your USE flags."
+ fi
+
+ [[ $(gcc-major-version) -eq 3 ]] && append-flags -mno-sse2
+
+ append-flags -fno-strict-aliasing
+
+ econf \
+ $(use_with X x) \
+ $(use_enable dga xfree-ext) \
+ $(use_with quicktime libquicktime) \
+ $(use_with png libpng) \
+ $(use_with v4l) \
+ $(use_with gtk) \
+ $(use_with sdl) \
+ $(use_with dv libdv /usr) \
+ $(use_enable mmx simd-accel) \
+ --enable-largefile \
+ --without-jpeg-mmx \
+ ${myconf} || die "configure failed"
+
+ emake || die "emake failed"
+
+ cd docs
+ local infofile
+ for infofile in mjpeg*info*; do
+ echo "INFO-DIR-SECTION Miscellaneous" >> ${infofile}
+ echo "START-INFO-DIR-ENTRY" >> ${infofile}
+ echo "* mjpeg-howto: (mjpeg-howto). How to use the mjpeg-tools" >> ${infofile}
+ echo "END-INFO-DIR-ENTRY" >> ${infofile}
+ done
+}
+
+src_install() {
+ einstall || die "install failed"
+ dodoc mjpeg_howto.txt README* PLANS NEWS TODO HINTS BUGS ChangeLog \
+ AUTHORS CHANGES
+}