summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.AURINFO17
-rw-r--r--.SRCINFO23
-rw-r--r--IDCTFast.patch70
-rw-r--r--PKGBUILD72
-rwxr-xr-xprojectx11
5 files changed, 193 insertions, 0 deletions
diff --git a/.AURINFO b/.AURINFO
new file mode 100644
index 000000000000..0e99d4879bb9
--- /dev/null
+++ b/.AURINFO
@@ -0,0 +1,17 @@
+pkgbase = projectx
+ pkgdesc = DVB demux tool for repairing and analyzing different stream types
+ pkgver = 0.91.0.08
+ pkgrel = 2
+ url = http://sourceforge.net/projects/project-x
+ arch = i686
+ arch = x86_64
+ license = GPL
+ makedepends = java-environment apache-ant
+ depends = java-runtime
+ source = http://downloads.sourceforge.net/project/project-x/project-x/ProjectX_0.91.0.00/ProjectX_0.91.0.zip
+ source = http://gentoo.sbriesen.de/distfiles/projectx-idctfast.tar.xz
+ source = IDCTFast.patch
+ source = projectx
+
+pkgname = projectx
+
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..39e156e1f5ad
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,23 @@
+pkgbase = projectx
+ pkgdesc = DVB demux tool for repairing and analyzing different stream types
+ pkgver = 0.91.0.08
+ pkgrel = 2
+ url = http://sourceforge.net/projects/project-x
+ arch = i686
+ arch = x86_64
+ license = GPL
+ makedepends = make
+ depends = java-runtime
+ depends = java-environment
+ depends = bash
+ source = http://downloads.sourceforge.net/project/project-x/project-x/ProjectX_0.91.0.00/ProjectX_0.91.0.zip
+ source = http://gentoo.sbriesen.de/distfiles/projectx-idctfast.tar.xz
+ source = IDCTFast.patch
+ source = projectx
+ md5sums = 5cf7bb227abe2c16d34e8e9c84915291
+ md5sums = 0f09819b08e6105ed6c1e4705794e9c1
+ md5sums = 5f3ceff20dd1489309465332b821b5e9
+ md5sums = b92f5dc14576459119769c245690b8b0
+
+pkgname = projectx
+
diff --git a/IDCTFast.patch b/IDCTFast.patch
new file mode 100644
index 000000000000..082d1fab7ebb
--- /dev/null
+++ b/IDCTFast.patch
@@ -0,0 +1,70 @@
+diff -ur Project-X_0.91.0/noguisources.lst Project-X_0.91.0.new/noguisources.lst
+--- Project-X_0.91.0/noguisources.lst 2011-07-31 13:18:13.000000000 +0200
++++ Project-X_0.91.0.new/noguisources.lst 2013-08-20 23:39:29.786982535 +0200
+@@ -66,6 +66,7 @@
+ src/net/sourceforge/dvb/projectx/thirdparty/TS.java
+ src/net/sourceforge/dvb/projectx/video/IDCTRefNative.java
+ src/net/sourceforge/dvb/projectx/video/IDCTSseNative.java
++src/net/sourceforge/dvb/projectx/video/IDCTFast.java
+ src/net/sourceforge/dvb/projectx/video/MpvDecoder.java
+ src/net/sourceforge/dvb/projectx/video/Preview.java
+ src/net/sourceforge/dvb/projectx/video/PreviewObject.java
+diff -ur Project-X_0.91.0/sources.lst Project-X_0.91.0.new/sources.lst
+--- Project-X_0.91.0/sources.lst 2009-01-15 19:53:35.000000000 +0100
++++ Project-X_0.91.0.new/sources.lst 2013-08-20 23:39:25.703599480 +0200
+@@ -66,6 +66,7 @@
+ src/net/sourceforge/dvb/projectx/thirdparty/TS.java
+ src/net/sourceforge/dvb/projectx/video/IDCTRefNative.java
+ src/net/sourceforge/dvb/projectx/video/IDCTSseNative.java
++src/net/sourceforge/dvb/projectx/video/IDCTFast.java
+ src/net/sourceforge/dvb/projectx/video/MpvDecoder.java
+ src/net/sourceforge/dvb/projectx/video/Preview.java
+ src/net/sourceforge/dvb/projectx/video/PreviewObject.java
+diff -ur Project-X_0.91.0/src/net/sourceforge/dvb/projectx/video/MpvDecoder.java Project-X_0.91.0.new/src/net/sourceforge/dvb/projectx/video/MpvDecoder.java
+--- Project-X_0.91.0/src/net/sourceforge/dvb/projectx/video/MpvDecoder.java 2011-07-31 13:18:14.000000000 +0200
++++ Project-X_0.91.0.new/src/net/sourceforge/dvb/projectx/video/MpvDecoder.java 2013-08-20 23:39:18.993517806 +0200
+@@ -74,6 +74,7 @@
+
+ private IDCTRefNative idct;
+ private IDCTSseNative idctsse;
++ private IDCTFast idctfast;
+
+ private int preview_horizontal_size = 512;
+ private int preview_vertical_size = 288;
+@@ -136,11 +137,15 @@
+
+ idct = new IDCTRefNative();
+ idctsse = new IDCTSseNative();
++ idctfast = new IDCTFast();
+
+ if (IDCTRefNative.isLibraryLoaded())
+ idct.init();
+
+- if (IDCTRefNative.isLibraryLoaded() || IDCTSseNative.isLibraryLoaded())
++ if (IDCTFast.isLibraryLoaded())
++ idctfast.init();
++
++ if (IDCTRefNative.isLibraryLoaded() || IDCTSseNative.isLibraryLoaded() || IDCTFast.isLibraryLoaded())
+ acceleration = true;
+ }
+
+@@ -2420,6 +2425,19 @@
+ }
+ }
+
++ else if (IDCTFast.isLibraryLoaded() && isAccelerated())
++ {
++ /* copy or add block data into picture */
++ for (comp=0; comp<block_count; comp++)
++ {
++ /* ISO/IEC 13818-2 section Annex A: inverse DCT */
++ idctfast.referenceIDCT(block[comp]);
++
++ /* ISO/IEC 13818-2 section 7.6.8: Adding prediction and coefficient data */
++ Add_Block(comp, bx, by, dct_type, (macroblock_type[0] & MACROBLOCK_INTRA)==0);
++ }
++ }
++
+ else
+ {
+ /* copy or add block data into picture */
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..27ff5edcf40e
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,72 @@
+# Maintainer: Stephan Windmüller <arch at freewarepoint dot de>
+# Contributer: Sebastian Sareyko <public@nooms.de>
+#
+# It is possible to choose the idct implementation
+# Available are:
+#
+# none use ProjectX Java implementation
+# idct-mjpeg taken from MJPEGTOOLS 1.8.0
+# idct-mjpeg-mmx taken from MJPEGTOOLS 1.8.0
+#
+_idct=idct-mjpeg-mmx
+
+pkgname=projectx
+pkgver=0.91.0.08
+pkgrel=2
+license=('GPL')
+arch=('i686' 'x86_64')
+pkgdesc="DVB demux tool for repairing and analyzing different stream types"
+makedepends=('make')
+depends=('java-runtime' 'java-environment' 'bash')
+url="http://sourceforge.net/projects/project-x"
+source=(http://downloads.sourceforge.net/project/project-x/project-x/ProjectX_0.91.0.00/ProjectX_0.91.0.zip
+ http://gentoo.sbriesen.de/distfiles/projectx-idctfast.tar.xz
+ IDCTFast.patch
+ projectx)
+
+md5sums=('5cf7bb227abe2c16d34e8e9c84915291'
+ '0f09819b08e6105ed6c1e4705794e9c1'
+ '5f3ceff20dd1489309465332b821b5e9'
+ 'b92f5dc14576459119769c245690b8b0')
+
+
+build() {
+ if [ -f /etc/profile.d/openjdk6.sh ];
+ then
+ source /etc/profile.d/openjdk6.sh
+ elif [ -f /etc/profile.d/jdk.sh ];
+ then
+ source /etc/profile.d/jdk.sh
+ fi
+
+ cd ${srcdir}
+ mv Project-X/lib/PORTABLE Project-X_0.91.0/lib
+ mv Project-X/src/net/sourceforge/dvb/projectx/video/IDCTFast.java Project-X_0.91.0/src/net/sourceforge/dvb/projectx/video
+ if [ ${_idct} != "none" ]; then
+ patch --binary -p0 < IDCTFast.patch
+ fi
+ cd ${srcdir}/Project-X_0.91.0
+ sh ./build.sh
+ if [ ${_idct} != "none" ]; then
+ cd lib/PORTABLE/
+ make clean
+ make PROJECTX_HOME=${srcdir}/Project-X_0.91.0 IDCT=${_idct} CPLAT="$CFLAGS -fPIC"
+ cd ${srcdir}/Project-X_0.91.0
+ fi
+}
+
+package() {
+ cd ${srcdir}/Project-X_0.91.0
+ install -D -m0755 $srcdir/projectx $pkgdir/usr/bin/projectx
+ install -D -m0644 ProjectX.jar $pkgdir/usr/share/java/projectx/ProjectX.jar
+ if [ ${_idct} != "none" ]; then
+ install -D -m0644 lib/PORTABLE/libidctfast.so \
+ $pkgdir/usr/lib/projectx/libidctfast.so
+ fi
+ install -D -m0644 lib/commons-net-1.3.0.jar \
+ $pkgdir/usr/share/java/projectx/lib/commons-net-1.3.0.jar
+ install -D -m0644 lib/jakarta-oro-2.0.8.jar \
+ $pkgdir/usr/share/java/projectx/lib/jakarta-oro-2.0.8.jar
+ sed -i -e 's#Exec=java -jar /usr/share/projectx/ProjectX.jar#Exec=/usr/bin/projectx#' projectx.desktop
+ install -D -m0644 projectx.desktop $pkgdir/usr/share/applications/projectx.desktop
+}
diff --git a/projectx b/projectx
new file mode 100755
index 000000000000..65ffeb8f0aec
--- /dev/null
+++ b/projectx
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+if [ ! -d ~/.projectx ] ; then
+ mkdir ~/.projectx
+fi
+
+if [ "$#" -eq 0 ] ; then
+ cd ~/.projectx
+fi
+
+java -Djava.library.path=/usr/lib/projectx -jar /usr/share/java/projectx/ProjectX.jar "$@"