summaryrefslogtreecommitdiff
path: root/extra/mjpegtools
diff options
context:
space:
mode:
authorParabola <dev@list.parabolagnulinux.org>2011-04-05 14:26:38 +0000
committerParabola <dev@list.parabolagnulinux.org>2011-04-05 14:26:38 +0000
commit415856bdd4f48ab4f2732996f0bae58595092bbe (patch)
treeede2018b591f6dfb477fe9341ba17b9bc000fab9 /extra/mjpegtools
Tue Apr 5 14:26:38 UTC 2011
Diffstat (limited to 'extra/mjpegtools')
-rw-r--r--extra/mjpegtools/PKGBUILD40
-rw-r--r--extra/mjpegtools/mjpegtools-1.9.0-glibc-2.10.patch11
-rw-r--r--extra/mjpegtools/mjpegtools-1.9.0-jpeg-7.patch24
-rw-r--r--extra/mjpegtools/mjpegtools.install16
-rw-r--r--extra/mjpegtools/png2yuv-fix-memleak.patch10
5 files changed, 101 insertions, 0 deletions
diff --git a/extra/mjpegtools/PKGBUILD b/extra/mjpegtools/PKGBUILD
new file mode 100644
index 000000000..9daf1a2fc
--- /dev/null
+++ b/extra/mjpegtools/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 84755 2010-07-04 03:32:01Z eric $
+# Contributor: Damir Perisa <damir.perisa@bluewin.ch>
+# Mantainer: Roberto Carvajal <roberto@archlinux.org>
+
+pkgname=mjpegtools
+pkgver=1.9.0
+pkgrel=4
+pkgdesc="Set of tools that can do recording of videos and playback, simple cut-and-paste editing and the MPEG compression of audio and video"
+arch=(i686 x86_64)
+license=('GPL')
+url="http://mjpeg.sourceforge.net/"
+depends=('libjpeg>=8' 'libpng>=1.4.0' 'sdl' 'gcc-libs' 'libdv')
+makedepends=('gtk2>=2.18.6')
+optdepends=('gtk2: glav GUI')
+options=('!makeflags' '!libtool')
+install=mjpegtools.install
+source=(http://downloads.sourceforge.net/sourceforge/mjpeg/${pkgname}-${pkgver}.tar.gz
+ mjpegtools-1.9.0-glibc-2.10.patch
+ png2yuv-fix-memleak.patch
+ mjpegtools-1.9.0-jpeg-7.patch)
+md5sums=('309a6fcf0900a010d6a9c1e91afc2f5c' 'b8ae66237d83be533db8eea166fd3357'\
+ '39e1def8fb0f7c58a217b22dc251a86a' 'ccc7562a3933877d3362da7cf4695ea0')
+sha1sums=('1701233354c7ea86b5b7808c4dd5d03a71118e48' '3029f0e835e693b144298ed9f8143c9566be26f3'\
+ '8af5c3747756353bef56d03bafbdd086ff15c02c' '2bdb1b3b8591cede11d4a133a758e8ead35db4dd')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ sed -i -e '/ARCHFLAGS=/s:=.*:=:' configure
+ patch -Np1 -i "$srcdir/mjpegtools-1.9.0-glibc-2.10.patch"
+ patch -Np1 -i "${srcdir}/png2yuv-fix-memleak.patch"
+ patch -Np0 -i "${srcdir}/mjpegtools-1.9.0-jpeg-7.patch"
+ ./configure --prefix=/usr --enable-largefile
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -m644 mpeg2enc/mpeg2syntaxcodes.h "${pkgdir}/usr/include/mjpegtools/mpeg2enc/"
+}
diff --git a/extra/mjpegtools/mjpegtools-1.9.0-glibc-2.10.patch b/extra/mjpegtools/mjpegtools-1.9.0-glibc-2.10.patch
new file mode 100644
index 000000000..e16156046
--- /dev/null
+++ b/extra/mjpegtools/mjpegtools-1.9.0-glibc-2.10.patch
@@ -0,0 +1,11 @@
+--- mjpegtools-1.9.0/mplex/lpcmstrm_in.cpp.orig 2009-05-27 01:31:46.000000000 -0700
++++ mjpegtools-1.9.0/mplex/lpcmstrm_in.cpp 2009-05-27 01:33:09.000000000 -0700
+@@ -53,7 +53,7 @@
+
+ bool LPCMStream::Probe(IBitStream &bs )
+ {
+- char *last_dot = strrchr( bs.StreamName(), '.' );
++ const char *last_dot = strrchr( bs.StreamName(), '.' );
+ return
+ last_dot != NULL
+ && strcmp( last_dot+1, "lpcm") == 0;
diff --git a/extra/mjpegtools/mjpegtools-1.9.0-jpeg-7.patch b/extra/mjpegtools/mjpegtools-1.9.0-jpeg-7.patch
new file mode 100644
index 000000000..ec3673186
--- /dev/null
+++ b/extra/mjpegtools/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/extra/mjpegtools/mjpegtools.install b/extra/mjpegtools/mjpegtools.install
new file mode 100644
index 000000000..1ef7d6fd3
--- /dev/null
+++ b/extra/mjpegtools/mjpegtools.install
@@ -0,0 +1,16 @@
+infodir=/usr/share/info
+file=mjpeg-howto.info
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+}
diff --git a/extra/mjpegtools/png2yuv-fix-memleak.patch b/extra/mjpegtools/png2yuv-fix-memleak.patch
new file mode 100644
index 000000000..a6f03a4e1
--- /dev/null
+++ b/extra/mjpegtools/png2yuv-fix-memleak.patch
@@ -0,0 +1,10 @@
+--- mjpegtools-1.9.0/lavtools/png2yuv.c.orig 2010-01-17 14:26:24.000000000 +0100
++++ mjpegtools-1.9.0/lavtools/png2yuv.c 2010-01-17 14:27:53.000000000 +0100
+@@ -407,6 +407,7 @@
+ return 2;
+ }
+
++ png_destroy_read_struct(&png_ptr, &info_ptr, &end_info);
+ fclose(pngfile);
+
+ return 1;