diff options
author | Fraxinas <andreas.frisch@multimedia-labs.de> | 2009-06-18 09:29:36 +0200 |
---|---|---|
committer | Fraxinas <andreas.frisch@multimedia-labs.de> | 2009-06-18 09:29:36 +0200 |
commit | 4b188c651357440acfb5d03890fdcdee2e7618a8 (patch) | |
tree | ad00bd23e64540fcd4c8aaeac92ca5c4549fca7d /packages | |
parent | 1de237b82151315c6e6d4cb0ac6bcb5a74f85e3e (diff) | |
download | openembedded-4b188c651357440acfb5d03890fdcdee2e7618a8.tar.gz |
projectx: add recipe for recent source (fixes crash on trying to demux TS recordings with 48k mono mp2 audio streams)
Diffstat (limited to 'packages')
-rw-r--r-- | packages/projectx/projectx-0.90.4.00.b30.bb | 70 | ||||
-rw-r--r-- | packages/projectx/projectx-0.90.4.00.b30/Makefile | 113 | ||||
-rw-r--r-- | packages/projectx/projectx-0.90.4.00.b30/dreambox-headless.patch | 448 |
3 files changed, 631 insertions, 0 deletions
diff --git a/packages/projectx/projectx-0.90.4.00.b30.bb b/packages/projectx/projectx-0.90.4.00.b30.bb new file mode 100644 index 0000000000..c702fce311 --- /dev/null +++ b/packages/projectx/projectx-0.90.4.00.b30.bb @@ -0,0 +1,70 @@ +DESCRIPTION = "Handle & repair many DVB radio & television stream types." +MAINTAINER = "Andreas Frisch <andreas.frisch@multimedia-labs.de>" +LICENSE="GPL-2" +SECTION = "optional" +DEPENDS = "" +RDEPENDS = "" +PN = "projectx" +PV = "0.90.4.00.b30" +PR = "r0" +SRCDATE = "20090618" + +SRC_URI = "cvs://anonymous@project-x.cvs.sourceforge.net/cvsroot/project-x;module=Project-X;method=pserver\ + file://dreambox-headless.patch;patch=1;pnum=0 \ + file://Makefile" + +PRECOMPILED_N = "${PN}-mipsel-bin-20090618-${PV}.tar.bz2" +PRECOMPILED_URI = "http://dreamboxupdate.com/download/opendreambox/${PRECOMPILED_N}" + +do_unpack_extra() { + mv ${WORKDIR}/Project-X ${S} + for dir in ${S}/src/net/sourceforge/dvb/projectx/*; do + cd $dir + for x in *.java; do + if [ "$x" != "*.java" ]; then + echo "Converting CP1250 to UTF-8 in $x" + iconv --from-code=CP1250 --to-code=UTF-8 < "$x" > "tmp.$x" + mv "tmp.$x" "$x" + fi + done + done + mv ${WORKDIR}/Makefile ${S}/src +} +addtask unpack_extra after do_unpack before do_patch + +do_compile_prepend() { + export CROSS_LIBDIR="${CROSS_DIR}/${TARGET_SYS}/lib" + export GCJ_ARCH="" + for gcjarchives in libgcj.a libgij.a; do + if test -e ${CROSS_LIBDIR}/$gcjarchives; then + export GCJ_ARCHIVES="${GCJ_ARCHIVES} ${CROSS_LIBDIR}/$gcjarchives" + fi + done + if [ "${GCJ_ARCHIVES}" = "" ]; then + echo gcj not found, downloading statically linked binary + exit + else + echo ${GCJ_ARCHIVES} found, compiling... + fi +} + +do_compile() { + export JFLAGS="-g0 -O3 -march=mips32" + export CROSS_COMPILE=${TARGET_PREFIX} + cd ${S}/src + make projectx +} + +do_download_precompiled_binary() { + if ! test -e ${S}/src/projectx; then + cd ${S}/src + wget ${PRECOMPILED_URI} + tar -xjf ${PRECOMPILED_N} + fi +} +addtask download_precompiled_binary after do_compile before do_install + +do_install() { + install -d ${D}/${bindir} + install -m 755 ${S}/src/projectx ${D}/${bindir}/ +} diff --git a/packages/projectx/projectx-0.90.4.00.b30/Makefile b/packages/projectx/projectx-0.90.4.00.b30/Makefile new file mode 100644 index 0000000000..17db01652f --- /dev/null +++ b/packages/projectx/projectx-0.90.4.00.b30/Makefile @@ -0,0 +1,113 @@ +OBJS = \ + ./net/sourceforge/dvb/projectx/audio/AudioFormat.o \ + ./net/sourceforge/dvb/projectx/audio/AudioFormatAAC.o \ + ./net/sourceforge/dvb/projectx/audio/AudioFormatAC3.o \ + ./net/sourceforge/dvb/projectx/audio/AudioFormatDTS.o \ + ./net/sourceforge/dvb/projectx/audio/AudioFormatLPCM.o \ + ./net/sourceforge/dvb/projectx/audio/AudioFormatMPA.o \ + ./net/sourceforge/dvb/projectx/audio/AudioFormatWAV.o \ + ./net/sourceforge/dvb/projectx/audio/MpaConverter.o \ + ./net/sourceforge/dvb/projectx/audio/MpaDecoder.o \ + ./net/sourceforge/dvb/projectx/common/Common.o \ + ./net/sourceforge/dvb/projectx/common/GuiInterface.o \ + ./net/sourceforge/dvb/projectx/common/GuiInterfaceIF.o \ + ./net/sourceforge/dvb/projectx/common/JobCollection.o \ + ./net/sourceforge/dvb/projectx/common/JobProcessing.o \ + ./net/sourceforge/dvb/projectx/common/Keys.o \ + ./net/sourceforge/dvb/projectx/common/Resource.o \ + ./net/sourceforge/dvb/projectx/common/Settings.o \ + ./net/sourceforge/dvb/projectx/common/Start.o \ + ./net/sourceforge/dvb/projectx/io/BitWalker.o \ + ./net/sourceforge/dvb/projectx/io/IDDBufferedOutputStream.o \ + ./net/sourceforge/dvb/projectx/io/RawFile.o \ + ./net/sourceforge/dvb/projectx/io/StandardBuffer.o \ + ./net/sourceforge/dvb/projectx/net/WebInterface.o \ + ./net/sourceforge/dvb/projectx/net/X_URLDecoder.o \ + ./net/sourceforge/dvb/projectx/parser/CommonParsing.o \ + ./net/sourceforge/dvb/projectx/parser/Gop.o \ + ./net/sourceforge/dvb/projectx/parser/GopArray.o \ + ./net/sourceforge/dvb/projectx/parser/HpFix.o \ + ./net/sourceforge/dvb/projectx/parser/MainProcess.o \ + ./net/sourceforge/dvb/projectx/parser/Scan.o \ + ./net/sourceforge/dvb/projectx/parser/StreamBuffer.o \ + ./net/sourceforge/dvb/projectx/parser/StreamConverter.o \ + ./net/sourceforge/dvb/projectx/parser/StreamDemultiplexer.o \ + ./net/sourceforge/dvb/projectx/parser/StreamParser.o \ + ./net/sourceforge/dvb/projectx/parser/StreamParserBase.o \ + ./net/sourceforge/dvb/projectx/parser/StreamParserESAudio.o \ + ./net/sourceforge/dvb/projectx/parser/StreamParserESSubpicture.o \ + ./net/sourceforge/dvb/projectx/parser/StreamParserESVideo.o \ + ./net/sourceforge/dvb/projectx/parser/StreamParserPESPrimary.o \ + ./net/sourceforge/dvb/projectx/parser/StreamParserPESSecondary.o \ + ./net/sourceforge/dvb/projectx/parser/StreamParserPVA.o \ + ./net/sourceforge/dvb/projectx/parser/StreamParserTS.o \ + ./net/sourceforge/dvb/projectx/parser/StreamProcess.o \ + ./net/sourceforge/dvb/projectx/parser/StreamProcessAudio.o \ + ./net/sourceforge/dvb/projectx/parser/StreamProcessBase.o \ + ./net/sourceforge/dvb/projectx/parser/StreamProcessLPCMAudio.o \ + ./net/sourceforge/dvb/projectx/parser/StreamProcessSubpicture.o \ + ./net/sourceforge/dvb/projectx/parser/StreamProcessTeletext.o \ + ./net/sourceforge/dvb/projectx/parser/StripAudio.o \ + ./net/sourceforge/dvb/projectx/parser/StripMedion.o \ + ./net/sourceforge/dvb/projectx/parser/StripRelook.o \ + ./net/sourceforge/dvb/projectx/parser/TS_PMTParser.o \ + ./net/sourceforge/dvb/projectx/parser/VBI.o \ + ./net/sourceforge/dvb/projectx/subtitle/Bitmap.o \ + ./net/sourceforge/dvb/projectx/subtitle/BMP.o \ + ./net/sourceforge/dvb/projectx/subtitle/CharSet.o \ + ./net/sourceforge/dvb/projectx/subtitle/ColorAreas.o \ + ./net/sourceforge/dvb/projectx/subtitle/DVBSubpicture.o \ + ./net/sourceforge/dvb/projectx/subtitle/Subpicture.o \ + ./net/sourceforge/dvb/projectx/subtitle/Sup2VobSub.o \ + ./net/sourceforge/dvb/projectx/subtitle/Teletext.o \ + ./net/sourceforge/dvb/projectx/subtitle/UnicodeWriter.o \ + ./net/sourceforge/dvb/projectx/thirdparty/Chapters.o \ + ./net/sourceforge/dvb/projectx/thirdparty/D2V.o \ + ./net/sourceforge/dvb/projectx/thirdparty/Ifo.o \ + ./net/sourceforge/dvb/projectx/thirdparty/TS.o \ + ./net/sourceforge/dvb/projectx/video/MpvDecoder.o \ + ./net/sourceforge/dvb/projectx/video/Preview.o \ + ./net/sourceforge/dvb/projectx/video/PreviewObject.o \ + ./net/sourceforge/dvb/projectx/video/Video.o \ + ./net/sourceforge/dvb/projectx/video/WSS.o \ + ./net/sourceforge/dvb/projectx/xinput/DirType.o \ + ./net/sourceforge/dvb/projectx/xinput/file/XInputDirectoryImpl.o \ + ./net/sourceforge/dvb/projectx/xinput/file/XInputFileImpl.o \ + ./net/sourceforge/dvb/projectx/xinput/FileType.o \ + ./net/sourceforge/dvb/projectx/xinput/StreamInfo.o \ + ./net/sourceforge/dvb/projectx/xinput/topfield_raw/RawFileInputStream.o \ + ./net/sourceforge/dvb/projectx/xinput/topfield_raw/RawInterface.o \ + ./net/sourceforge/dvb/projectx/xinput/topfield_raw/RawReadIF.o \ + ./net/sourceforge/dvb/projectx/xinput/topfield_raw/XInputDirectoryImpl.o \ + ./net/sourceforge/dvb/projectx/xinput/topfield_raw/XInputFileImpl.o \ + ./net/sourceforge/dvb/projectx/xinput/XInputDirectory.o \ + ./net/sourceforge/dvb/projectx/xinput/XInputDirectoryIF.o \ + ./net/sourceforge/dvb/projectx/xinput/XInputFile.o \ + ./net/sourceforge/dvb/projectx/xinput/XInputFileIF.o \ + ./net/sourceforge/dvb/projectx/xinput/XInputStream.o + +all: projectx + +projectx: $(OBJS) + $(CROSS_COMPILE)gcj $(JFLAGS) -c -o ac3.o --resource ac3.bin ../resources/ac3.bin + $(CROSS_COMPILE)gcj $(JFLAGS) -c -o pjxresources_en.o --resource pjxresources_en.properties ../resources/pjxresources_en.properties + $(CROSS_COMPILE)gcj $(JFLAGS) $(OBJS) pjxresources_en.o ac3.o -o projectx \ + --main=net.sourceforge.dvb.projectx.common.Start \ + -Djava.awt.headless=true $(LDFLAGS) $(GCJ_ARCHIVES) + $(CROSS_COMPILE)strip --strip-all projectx + +projectx-static: $(OBJS) + $(CROSS_COMPILE)gcj $(JFLAGS) -c -o ac3.o --resource ac3.bin ../resources/ac3.bin + $(CROSS_COMPILE)gcj $(JFLAGS) -c -o pjxresources_en.o --resource pjxresources_en.properties ../resources/pjxresources_en.properties + $(CROSS_COMPILE)gcj $(JFLAGS) $(OBJS) pjxresources_en.o ac3.o -Djava.awt.headless=true --main=net.sourceforge.dvb.projectx.common.Start -save-temps + $(CROSS_COMPILE)gcc -o projectx $(OBJS) pjxresources_en.o ac3.o ./net.sourceforge.dvb.projectx.common.Startmain.i \ + -shared-libgcc -Wl,-non_shared -lgcj -Wl,-call_shared -lsupc++ -Wl,--as-needed -lgcc_s -lpthread -lc -lm -ldl -Wl,--no-as-needed + $(CROSS_COMPILE)strip --strip-all projectx + +clean: + rm -rf $(OBJS) + rm *.o *.i *.s + rm projectx + +%.o: %.java + $(CROSS_COMPILE)gcj $(JFLAGS) -c $< -o $@ diff --git a/packages/projectx/projectx-0.90.4.00.b30/dreambox-headless.patch b/packages/projectx/projectx-0.90.4.00.b30/dreambox-headless.patch new file mode 100644 index 0000000000..1bfab15d6b --- /dev/null +++ b/packages/projectx/projectx-0.90.4.00.b30/dreambox-headless.patch @@ -0,0 +1,448 @@ +diff -bur src/net/sourceforge/dvb/projectx/common/Common.java src/net/sourceforge/dvb/projectx/common/Common.java +--- src/net/sourceforge/dvb/projectx/common/Common.java 2007-03-24 21:19:33.000000000 +0100 ++++ src/net/sourceforge/dvb/projectx/common/Common.java 2009-06-17 22:58:54.000000000 +0200 +@@ -81,8 +81,8 @@ + public final class Common extends Object { + + /* main version index */ +- private static String version_name = "ProjectX 0.90.4.00.b30"; +- private static String version_date = "16.05.2009"; ++ private static String version_name = "ProjectX 0.90.4.00.b30.Dreambox"; ++ private static String version_date = "18.06.2009"; + + private static String line_separator = System.getProperty("line.separator"); + +@@ -235,10 +235,13 @@ + { + StatusString = Resource.getString("run.status"); + ++ System.out.println("scan"); + scan = new Scan(); +- subpicture = new Subpicture(); +- teletext = new Teletext(); ++ System.out.println("subtitle"); ++// subpicture = new Subpicture(); ++ System.out.println("mpv decoder"); + mpvdecoder = new MpvDecoder(); ++ System.out.println("color models"); + subpicture_colormodels = loadColorModels(); + } + +@@ -288,8 +291,8 @@ + guiInterface = new GuiInterface(showGUI); + + //load gui +- if (showGUI()) +- getGuiInterface().loadGui(); ++// if (showGUI()) ++// getGuiInterface().loadGui(); + } + + /** +@@ -1414,7 +1417,7 @@ + { + List list = new ArrayList(); + +- list.add("Java Environment"); ++/* list.add("Java Environment"); + list.add(getDateAndTime()); + list.add(Resource.getString("javaev.java.version") + "\t" + System.getProperty("java.version")); + list.add(Resource.getString("javaev.java.vendor") + "\t" + System.getProperty("java.vendor")); +@@ -1441,7 +1444,7 @@ + list.add(Resource.getString("javaev.java.user.lang") + "\t" + Resource.getChosenLanguage()); + list.add(Resource.getString("javaev.java.user.name") + "\t" + System.getProperty("user.name")); + list.add(Resource.getString("javaev.java.user.home") + "\t" + System.getProperty("user.home")); +- ++*/ + return list.toArray(); + } + +@@ -1533,7 +1536,9 @@ + + ProcessedPercent = percent; + +- getGuiInterface().updateProgressBar(ProcessedPercent); ++ System.out.println("[PROGRESS] " + ProcessedPercent); ++ ++// getGuiInterface().updateProgressBar(ProcessedPercent); + } + + /** +@@ -1544,7 +1549,8 @@ + public static void updateProgressBar(String str) + { + setStatusString(str); +- getGuiInterface().updateProgressBar(str); ++ System.out.println("[PROGRESS] " + str); ++// getGuiInterface().updateProgressBar(str); + } + + /** +diff -bur src/net/sourceforge/dvb/projectx/common/Start.java src/net/sourceforge/dvb/projectx/common/Start.java +--- src/net/sourceforge/dvb/projectx/common/Start.java 2007-03-24 21:19:33.000000000 +0100 ++++ src/net/sourceforge/dvb/projectx/common/Start.java 2009-06-17 22:53:16.000000000 +0200 +@@ -209,8 +209,10 @@ + /** + * environment + */ ++ System.out.println("getJAVAEv"); + environment = Common.getJavaEV(Common.getSettings().getInifile()); + ++ System.out.println("print"); + for (int i = 0; i < environment.length; i++) + System.out.println(environment[i].toString()); + +@@ -255,11 +257,12 @@ + /** + * planned to disable ftp only, if commons-net is missing + */ +- if ((str = Common.checkLibraryAccess()) != null) ++/* if ((str = Common.checkLibraryAccess()) != null) + { + throw new Exception(str); + //System.out.println(ret); + } ++*/ + + System.out.println("Loading AC3 frames..."); + +@@ -300,10 +303,7 @@ + + else + { +- if (!Common.getGuiInterface().isAvailable()) +- System.out.println("Stopped! Can't start GUI, Classes not available..."); +- +- else if (!Common.isCollectionListEmpty()) ++ if (!Common.isCollectionListEmpty()) + { + Common.getGuiInterface().addCollectionAtEnd(); + Common.getGuiInterface().showActiveCollection(0); +diff -bur -x'*.o' /dream/sources/cvs/projectx/Project-X/src/net/sourceforge/dvb/projectx/parser/MainProcess.java src/net/sourceforge/dvb/projectx/parser/MainProcess.java +--- src/net/sourceforge/dvb/projectx/parser/MainProcess.java 2009-03-03 11:46:58.000000000 +0100 ++++ src/net/sourceforge/dvb/projectx/parser/MainProcess.java 2009-06-18 08:26:26.000000000 +0200 +@@ -1162,9 +1162,9 @@ + + job_processing.setSplitSize(splitsize); + +- try { +- Toolkit.getDefaultToolkit().beep(); +- } catch (Exception e) {} ++// try { ++// Toolkit.getDefaultToolkit().beep(); ++// } catch (Exception e) {} + + } + +diff -bur src/net/sourceforge/dvb/projectx/video/MpvDecoder.java src/net/sourceforge/dvb/projectx/video/MpvDecoder.java +--- src/net/sourceforge/dvb/projectx/video/MpvDecoder.java 2007-01-25 21:06:16.000000000 +0100 ++++ src/net/sourceforge/dvb/projectx/video/MpvDecoder.java 2009-06-17 23:03:59.000000000 +0200 +@@ -72,8 +72,8 @@ + + public class MpvDecoder extends Object { + +- private IDCTRefNative idct; +- private IDCTSseNative idctsse; ++// private IDCTRefNative idct; ++// private IDCTSseNative idctsse; + + private int preview_horizontal_size = 512; + private int preview_vertical_size = 288; +@@ -134,14 +134,14 @@ + { + Arrays.fill(pixels2, 0xFF505050); + +- idct = new IDCTRefNative(); +- idctsse = new IDCTSseNative(); ++// idct = new IDCTRefNative(); ++// idctsse = new IDCTSseNative(); + +- if (IDCTRefNative.isLibraryLoaded()) +- idct.init(); ++// if (IDCTRefNative.isLibraryLoaded()) ++// idct.init(); + +- if (IDCTRefNative.isLibraryLoaded() || IDCTSseNative.isLibraryLoaded()) +- acceleration = true; ++// if (IDCTRefNative.isLibraryLoaded() || IDCTSseNative.isLibraryLoaded()) ++// acceleration = true; + } + + /** +@@ -184,35 +184,35 @@ + private int ERROR_CODE1=0; + + /* extension start code IDs */ +-final int SEQUENCE_EXTENSION_ID=1; +-final int SEQUENCE_DISPLAY_EXTENSION_ID=2; +-final int QUANT_MATRIX_EXTENSION_ID=3; +-final int COPYRIGHT_EXTENSION_ID=4; +-final int PICTURE_DISPLAY_EXTENSION_ID=7; +-final int PICTURE_CODING_EXTENSION_ID=8; +-final int ZIG_ZAG=0; +-final int MB_WEIGHT=32; +-final int MB_CLASS4=64; +-final int MC_FIELD=1; +-final int MC_FRAME=2; +-final int MC_16X8=2; +-final int MC_DMV=3; +-final int MV_FIELD=0; +-final int MV_FRAME=1; +-final int I_TYPE=1; +-final int P_TYPE=2; +-final int B_TYPE=3; +-final int TOP_FIELD=1; +-final int BOTTOM_FIELD=2; +-final int FRAME_PICTURE=3; +-final int MACROBLOCK_INTRA=1; +-final int MACROBLOCK_PATTERN=2; +-final int MACROBLOCK_MOTION_BACKWARD=4; +-final int MACROBLOCK_MOTION_FORWARD=8; +-final int MACROBLOCK_QUANT=16; +-final int CHROMA420=1; +-final int CHROMA422=2; +-final int CHROMA444=3; ++final byte SEQUENCE_EXTENSION_ID=1; ++final byte SEQUENCE_DISPLAY_EXTENSION_ID=2; ++final byte QUANT_MATRIX_EXTENSION_ID=3; ++final byte COPYRIGHT_EXTENSION_ID=4; ++final byte PICTURE_DISPLAY_EXTENSION_ID=7; ++final byte PICTURE_CODING_EXTENSION_ID=8; ++final byte ZIG_ZAG=0; ++final byte MB_WEIGHT=32; ++final byte MB_CLASS4=64; ++final byte MC_FIELD=1; ++final byte MC_FRAME=2; ++final byte MC_16X8=2; ++final byte MC_DMV=3; ++final byte MV_FIELD=0; ++final byte MV_FRAME=1; ++final byte I_TYPE=1; ++final byte P_TYPE=2; ++final byte B_TYPE=3; ++final byte TOP_FIELD=1; ++final byte BOTTOM_FIELD=2; ++final byte FRAME_PICTURE=3; ++final byte MACROBLOCK_INTRA=1; ++final byte MACROBLOCK_PATTERN=2; ++final byte MACROBLOCK_MOTION_BACKWARD=4; ++final byte MACROBLOCK_MOTION_FORWARD=8; ++final byte MACROBLOCK_QUANT=16; ++final byte CHROMA420=1; ++final byte CHROMA422=2; ++final byte CHROMA444=3; + final int IDCT_CLIP_TABLE_OFFSET=512; + + private int q_scale_type=0; //1 +@@ -790,18 +790,18 @@ + {-1,0}, + {MACROBLOCK_MOTION_FORWARD,3}, + {MACROBLOCK_PATTERN,2}, {MACROBLOCK_PATTERN,2}, +- {MACROBLOCK_MOTION_FORWARD|MACROBLOCK_PATTERN,1}, +- {MACROBLOCK_MOTION_FORWARD|MACROBLOCK_PATTERN,1}, +- {MACROBLOCK_MOTION_FORWARD|MACROBLOCK_PATTERN,1}, +- {MACROBLOCK_MOTION_FORWARD|MACROBLOCK_PATTERN,1} ++ {(byte)(MACROBLOCK_MOTION_FORWARD|MACROBLOCK_PATTERN),1}, ++ {(byte)(MACROBLOCK_MOTION_FORWARD|MACROBLOCK_PATTERN),1}, ++ {(byte)(MACROBLOCK_MOTION_FORWARD|MACROBLOCK_PATTERN),1}, ++ {(byte)(MACROBLOCK_MOTION_FORWARD|MACROBLOCK_PATTERN),1} + }; + + /* Table B-3, macroblock_type in P-pictures, codes 000001..00011x */ + final byte PMBtab1[][] = { + {-1,0}, +- {MACROBLOCK_QUANT|MACROBLOCK_INTRA,6}, +- {MACROBLOCK_QUANT|MACROBLOCK_PATTERN,5}, {MACROBLOCK_QUANT|MACROBLOCK_PATTERN,5}, +- {MACROBLOCK_QUANT|MACROBLOCK_MOTION_FORWARD|MACROBLOCK_PATTERN,5}, {MACROBLOCK_QUANT|MACROBLOCK_MOTION_FORWARD|MACROBLOCK_PATTERN,5}, ++ {(byte)(MACROBLOCK_QUANT|MACROBLOCK_INTRA),6}, ++ {(byte)(MACROBLOCK_QUANT|MACROBLOCK_PATTERN),5}, {(byte)(MACROBLOCK_QUANT|MACROBLOCK_PATTERN),5}, ++ {(byte)(MACROBLOCK_QUANT|MACROBLOCK_MOTION_FORWARD|MACROBLOCK_PATTERN),5}, {(byte)(MACROBLOCK_QUANT|MACROBLOCK_MOTION_FORWARD|MACROBLOCK_PATTERN),5}, + {MACROBLOCK_INTRA,5}, {MACROBLOCK_INTRA,5} + }; + +@@ -809,32 +809,32 @@ + final byte BMBtab0[][] = { + {-1,0}, + {-1,0}, +- {MACROBLOCK_MOTION_FORWARD,4}, +- {MACROBLOCK_MOTION_FORWARD|MACROBLOCK_PATTERN,4}, +- {MACROBLOCK_MOTION_BACKWARD,3}, +- {MACROBLOCK_MOTION_BACKWARD,3}, +- {MACROBLOCK_MOTION_BACKWARD|MACROBLOCK_PATTERN,3}, +- {MACROBLOCK_MOTION_BACKWARD|MACROBLOCK_PATTERN,3}, +- {MACROBLOCK_MOTION_FORWARD|MACROBLOCK_MOTION_BACKWARD,2}, +- {MACROBLOCK_MOTION_FORWARD|MACROBLOCK_MOTION_BACKWARD,2}, +- {MACROBLOCK_MOTION_FORWARD|MACROBLOCK_MOTION_BACKWARD,2}, +- {MACROBLOCK_MOTION_FORWARD|MACROBLOCK_MOTION_BACKWARD,2}, +- {MACROBLOCK_MOTION_FORWARD|MACROBLOCK_MOTION_BACKWARD|MACROBLOCK_PATTERN,2}, +- {MACROBLOCK_MOTION_FORWARD|MACROBLOCK_MOTION_BACKWARD|MACROBLOCK_PATTERN,2}, +- {MACROBLOCK_MOTION_FORWARD|MACROBLOCK_MOTION_BACKWARD|MACROBLOCK_PATTERN,2}, +- {MACROBLOCK_MOTION_FORWARD|MACROBLOCK_MOTION_BACKWARD|MACROBLOCK_PATTERN,2} ++ {(byte)(MACROBLOCK_MOTION_FORWARD),4}, ++ {(byte)(MACROBLOCK_MOTION_FORWARD|MACROBLOCK_PATTERN),4}, ++ {(byte)(MACROBLOCK_MOTION_BACKWARD),3}, ++ {(byte)(MACROBLOCK_MOTION_BACKWARD),3}, ++ {(byte)(MACROBLOCK_MOTION_BACKWARD|MACROBLOCK_PATTERN),3}, ++ {(byte)(MACROBLOCK_MOTION_BACKWARD|MACROBLOCK_PATTERN),3}, ++ {(byte)(MACROBLOCK_MOTION_FORWARD|MACROBLOCK_MOTION_BACKWARD),2}, ++ {(byte)(MACROBLOCK_MOTION_FORWARD|MACROBLOCK_MOTION_BACKWARD),2}, ++ {(byte)(MACROBLOCK_MOTION_FORWARD|MACROBLOCK_MOTION_BACKWARD),2}, ++ {(byte)(MACROBLOCK_MOTION_FORWARD|MACROBLOCK_MOTION_BACKWARD),2}, ++ {(byte)(MACROBLOCK_MOTION_FORWARD|MACROBLOCK_MOTION_BACKWARD|MACROBLOCK_PATTERN),2}, ++ {(byte)(MACROBLOCK_MOTION_FORWARD|MACROBLOCK_MOTION_BACKWARD|MACROBLOCK_PATTERN),2}, ++ {(byte)(MACROBLOCK_MOTION_FORWARD|MACROBLOCK_MOTION_BACKWARD|MACROBLOCK_PATTERN),2}, ++ {(byte)(MACROBLOCK_MOTION_FORWARD|MACROBLOCK_MOTION_BACKWARD|MACROBLOCK_PATTERN),2} + }; + + /* Table B-4, macroblock_type in B-pictures, codes 000001..00011x */ + final byte BMBtab1[][] = { + {-1,0}, +- {MACROBLOCK_QUANT|MACROBLOCK_INTRA,6}, +- {MACROBLOCK_QUANT|MACROBLOCK_MOTION_BACKWARD|MACROBLOCK_PATTERN,6}, +- {MACROBLOCK_QUANT|MACROBLOCK_MOTION_FORWARD|MACROBLOCK_PATTERN,6}, +- {MACROBLOCK_QUANT|MACROBLOCK_MOTION_FORWARD|MACROBLOCK_MOTION_BACKWARD|MACROBLOCK_PATTERN,5}, +- {MACROBLOCK_QUANT|MACROBLOCK_MOTION_FORWARD|MACROBLOCK_MOTION_BACKWARD|MACROBLOCK_PATTERN,5}, +- {MACROBLOCK_INTRA,5}, +- {MACROBLOCK_INTRA,5} ++ {(byte)(MACROBLOCK_QUANT|MACROBLOCK_INTRA),6}, ++ {(byte)(MACROBLOCK_QUANT|MACROBLOCK_MOTION_BACKWARD|MACROBLOCK_PATTERN),6}, ++ {(byte)(MACROBLOCK_QUANT|MACROBLOCK_MOTION_FORWARD|MACROBLOCK_PATTERN),6}, ++ {(byte)(MACROBLOCK_QUANT|MACROBLOCK_MOTION_FORWARD|MACROBLOCK_MOTION_BACKWARD|MACROBLOCK_PATTERN),5}, ++ {(byte)(MACROBLOCK_QUANT|MACROBLOCK_MOTION_FORWARD|MACROBLOCK_MOTION_BACKWARD|MACROBLOCK_PATTERN),5}, ++ {(byte)(MACROBLOCK_INTRA),5}, ++ {(byte)(MACROBLOCK_INTRA),5} + }; + + final double frame_rate_Table[] = { +@@ -2308,33 +2308,33 @@ + //form_predictions(bx, by, macroblock_type, motion_type, PMV, motion_vertical_field_select, dmvector); + + +- if (IDCTSseNative.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 */ +- idctsse.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 if (IDCTRefNative.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 */ +- idct.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 ++// if (IDCTSseNative.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 */ ++// idctsse.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 if (IDCTRefNative.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 */ ++// idct.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 */ + for (comp=0; comp<block_count; comp++) +diff -bur src/net/sourceforge/dvb/projectx/xinput/DirType.java src/net/sourceforge/dvb/projectx/xinput/DirType.java +--- src/net/sourceforge/dvb/projectx/xinput/DirType.java 2005-12-17 21:47:40.000000000 +0100 ++++ src/net/sourceforge/dvb/projectx/xinput/DirType.java 2009-06-17 22:53:16.000000000 +0200 +@@ -45,8 +45,8 @@ + /** + * Directory on a ftp server + */ +- public final static DirType FTP_DIR = new DirType(1, "FTP_DIR", +- net.sourceforge.dvb.projectx.xinput.ftp.XInputDirectoryImpl.class); ++// public final static DirType FTP_DIR = new DirType(1, "FTP_DIR", ++// net.sourceforge.dvb.projectx.xinput.ftp.XInputDirectoryImpl.class); + + /** + * Directory on a harddisk of a topfield receiver in raw format +diff -bur src/net/sourceforge/dvb/projectx/xinput/FileType.java src/net/sourceforge/dvb/projectx/xinput/FileType.java +--- src/net/sourceforge/dvb/projectx/xinput/FileType.java 2005-12-17 21:47:40.000000000 +0100 ++++ src/net/sourceforge/dvb/projectx/xinput/FileType.java 2009-06-17 22:53:16.000000000 +0200 +@@ -45,8 +45,8 @@ + /** + * File on a ftp server + */ +- public final static FileType FTP = new FileType(1, "FTP", +- net.sourceforge.dvb.projectx.xinput.ftp.XInputFileImpl.class); ++// public final static FileType FTP = new FileType(1, "FTP", ++// net.sourceforge.dvb.projectx.xinput.ftp.XInputFileImpl.class); + + /** + * File on a harddisk of a topfield receiver in raw format +diff -bur src/net/sourceforge/dvb/projectx/xinput/XInputStream.java src/net/sourceforge/dvb/projectx/xinput/XInputStream.java +--- src/net/sourceforge/dvb/projectx/xinput/XInputStream.java 2006-03-28 20:44:30.000000000 +0200 ++++ src/net/sourceforge/dvb/projectx/xinput/XInputStream.java 2009-06-17 22:53:16.000000000 +0200 +@@ -31,8 +31,6 @@ + import java.io.InputStream; + import java.io.BufferedInputStream; + +-import net.sourceforge.dvb.projectx.xinput.ftp.XInputFileImpl; +- + import net.sourceforge.dvb.projectx.common.Common; + import net.sourceforge.dvb.projectx.common.Keys; + +@@ -42,7 +40,6 @@ + + private byte[] buffer = new byte[1]; + +- private XInputFileImpl xInputFile = null; + + /** + * Create stream, which is able to handle special needs of the xinput package. +@@ -55,9 +52,6 @@ + super(Common.getSettings().getBooleanProperty(Keys.KEY_additionalInputBuffer) ? new BufferedInputStream(aIs, 1048576) : aIs); + } + +- public void setFtpFile(XInputFileImpl aIf) { +- xInputFile = aIf; +- } + + /** + * Takes care, that always the full amount of data is read (if possible). +@@ -143,12 +137,6 @@ + public final void close() throws IOException { + if (debug) System.out.println("Enter XInputStream.close()"); + +- if (xInputFile != null) +- { +- xInputFile.randomAccessClose(); +- xInputFile = null; +- } +- + super.close(); + if (debug) System.out.println("Leave XInputStream.close()"); + } |