diff options
-rw-r--r-- | .AURINFO | 17 | ||||
-rw-r--r-- | .SRCINFO | 23 | ||||
-rw-r--r-- | IDCTFast.patch | 70 | ||||
-rw-r--r-- | PKGBUILD | 72 | ||||
-rwxr-xr-x | projectx | 11 |
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 "$@" |