From 8b145bafefa8e24f9ffd43119b03029ea8e4823c Mon Sep 17 00:00:00 2001 From: Tim Niemueller Date: Dec 23 2011 01:02:41 +0000 Subject: Update to stable release 5.0.3.3 --- diff --git a/.gitignore b/.gitignore index 7a052b7..d009be1 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,5 @@ -/openni-primesense-5.0.0.25-git894cea01.tar.gz +/.build* +/*.rpm +/x86_64 +/openni-primesense-5.0.3.3 +/openni-primesense-5.0.3.3.tar.gz diff --git a/openni-primesense-5.0.0.25-extlibs.patch b/openni-primesense-5.0.0.25-extlibs.patch deleted file mode 100644 index b2a265e..0000000 --- a/openni-primesense-5.0.0.25-extlibs.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -urN openni-primesense-5.0.0.25-git894cea01/Source/XnFormats/XnStreamCompression.h openni-primesense-5.0.0.25-git894cea01.extlibs/Source/XnFormats/XnStreamCompression.h ---- openni-primesense-5.0.0.25-git894cea01/Source/XnFormats/XnStreamCompression.h 2011-01-06 08:56:55.000000000 +0100 -+++ openni-primesense-5.0.0.25-git894cea01.extlibs/Source/XnFormats/XnStreamCompression.h 2011-02-19 12:05:36.448031241 +0100 -@@ -33,7 +33,7 @@ - //--------------------------------------------------------------------------- - #include "XnFormats.h" - #include --#include -+#include - #include - - //--------------------------------------------------------------------------- diff --git a/openni-primesense-5.0.0.25-fedora-buildsys.patch b/openni-primesense-5.0.0.25-fedora-buildsys.patch deleted file mode 100644 index b9a953a..0000000 --- a/openni-primesense-5.0.0.25-fedora-buildsys.patch +++ /dev/null @@ -1,218 +0,0 @@ -From f8468e7a542b180a03fd5dd22b70d88e3ddb5a42 Mon Sep 17 00:00:00 2001 -From: Tim Niemueller -Date: Fri, 21 Jan 2011 19:26:01 +0100 -Subject: [PATCH 1/3] Added useful .gitignore file - ---- - .gitignore | 6 ++++++ - 1 files changed, 6 insertions(+), 0 deletions(-) - create mode 100644 .gitignore - -diff --git a/.gitignore b/.gitignore -new file mode 100644 -index 0000000..1f07758 ---- /dev/null -+++ b/.gitignore -@@ -0,0 +1,6 @@ -+Release/ -+/Source/DoxyGen/html -+/Platform/Linux-x86/Bin -+/Platform/Linux-x86/CreateRedist/Final -+/Platform/Linux-x86/CreateRedist/Output -+/Platform/Linux-x86/Redist --- -1.7.3.4 - - -From 00ab2bcb39ebf7f489f5640e6bf51663df332d6c Mon Sep 17 00:00:00 2001 -From: Tim Niemueller -Date: Sat, 22 Jan 2011 11:21:05 +0100 -Subject: [PATCH 2/3] XnFormats Makefile: support system-wide jpeglib - -Instead of using the bunlded libjpeg allow for using the system version. -On Fedora this causes a speedup because it uses an SSE optimized -version. ---- - Platform/Linux-x86/Build/XnFormats/Makefile | 11 ++++++++--- - 1 files changed, 8 insertions(+), 3 deletions(-) - -diff --git a/Platform/Linux-x86/Build/XnFormats/Makefile b/Platform/Linux-x86/Build/XnFormats/Makefile -index 4a04486..7c28cbb 100644 ---- a/Platform/Linux-x86/Build/XnFormats/Makefile -+++ b/Platform/Linux-x86/Build/XnFormats/Makefile -@@ -1,10 +1,15 @@ - SRC_FILES = \ -- ../../../../Source/XnFormats/*.cpp \ -- ../../../../Source/External/LibJPEG/*.c -+ ../../../../Source/XnFormats/*.cpp - - LIB_NAME = XnFormats - USED_LIBS = XnCore OpenNI - DEFINES = XN_FORMATS_EXPORTS --INC_DIRS = ../../../../Source/External/LibJPEG -+ -+ifneq ($(wildcard /usr/include/jpeglib.h /usr/local/include/jpeglib.h),) -+ USED_LIBS += jpeg -+else -+ INC_DIRS += ../../../../Source/External/LibJPEG -+ SRC_FILES += ../../../../Source/External/LibJPEG/*.c -+endif - - include ../EngineLibMakefile --- -1.7.3.4 - - -From a2c4880425002e760c1247d8439550350875db40 Mon Sep 17 00:00:00 2001 -From: Tim Niemueller -Date: Sat, 22 Jan 2011 11:25:46 +0100 -Subject: [PATCH 3/3] install.sh: support more overrides - -+ Module registration can be omitted. For packaging this needs to be - after installation, not during compilation/installation. -+ Allow overriding the INSTALL_* variables from the outside. ---- - Platform/Linux-x86/CreateRedist/install.sh | 69 +++++++++++++++++++-------- - 1 files changed, 48 insertions(+), 21 deletions(-) - -diff --git a/Platform/Linux-x86/CreateRedist/install.sh b/Platform/Linux-x86/CreateRedist/install.sh -index 9a3f53c..fdcb5dd 100755 ---- a/Platform/Linux-x86/CreateRedist/install.sh -+++ b/Platform/Linux-x86/CreateRedist/install.sh -@@ -2,10 +2,22 @@ - - SCRIPT_DIR=`pwd`/`dirname $0` - --INSTALL_LIB=/usr/lib --INSTALL_BIN=/usr/bin --INSTALL_ETC=/usr/etc/primesense --INSTALL_RULES=/etc/udev/rules.d -+if [ -z "$INSTALL_LIB" ]; then -+ INSTALL_LIB=/usr/lib -+fi -+if [ -z "$INSTALL_BIN" ]; then -+ INSTALL_BIN=/usr/bin -+fi -+if [ -z "$INSTALL_ETC" ]; then -+ INSTALL_BIN=/usr/etc/primesense -+fi -+if [ -z "$INSTALL_VARLOG" ]; then -+ INSTALL_VARLOG=/var/log/primesense -+fi -+if [ -z "$INSTALL_RULES" ]; then -+ INSTALL_RULES=/etc/udev/rules.d -+fi -+ - - if [ "`uname -s`" == "Darwin" ]; then - MODULES="libXnDeviceSensorV2.dylib libXnDeviceFile.dylib" -@@ -17,6 +29,7 @@ RULES_FILE="55-primesense-usb.rules" - - # read arguments - INSTALL="1" -+REGISTER="1" - - while (( "$#" )); do - case "$1" in -@@ -26,11 +39,15 @@ while (( "$#" )); do - "-u") - INSTALL="0" - ;; -+ "-n") -+ REGISTER="0" -+ ;; - *) - echo "Usage: $0 [options]" - echo "Available options:" - printf "\t-i\tInstall (default)\n" - printf "\t-u\tUninstall\n" -+ printf "\t-n\tDo not (un)register the modules\n" - exit 1 - ;; - esac -@@ -50,55 +67,65 @@ if [ "$INSTALL" == "1" ]; then - - # Copy shared libraries - printf "copying shared libraries..." -+ mkdir -p $INSTALL_LIB - cp $LIB_FILES $INSTALL_LIB - printf "OK\n" - - # Copy executables - printf "copying executables..." -+ mkdir -p $INSTALL_BIN - cp $BIN_FILES $INSTALL_BIN - printf "OK\n" - -- # register modules -- for module in $MODULES; do -- printf "registering module '$module' with OpenNI..." -- niReg -r $INSTALL_LIB/$module $INSTALL_ETC -- printf "OK\n" -- done -+ if [ "$REGISTER" == "1" ]; then -+ # register modules -+ for module in $MODULES; do -+ printf "registering module '$module' with OpenNI..." -+ niReg -r $INSTALL_LIB/$module $INSTALL_ETC -+ printf "OK\n" -+ done -+ fi - - # copy config file - printf "copying server config file..." -+ mkdir -p $INSTALL_ETC - cp Config/GlobalDefaults.ini $INSTALL_ETC - printf "OK\n" - - # make server run as root - printf "setting uid of server..." -- chown root $INSTALL_BIN/XnSensorServer -- chmod +s $INSTALL_BIN/XnSensorServer -+ if [ "$REGISTER" == 1 ]; then -+ chown root $INSTALL_BIN/XnSensorServer -+ chmod +s $INSTALL_BIN/XnSensorServer -+ fi - printf "OK\n" - - # create server log dir - printf "creating server logs dir..." -- mkdir -p /var/log/primesense/XnSensorServer -+ mkdir -p $INSTALL_VARLOG/XnSensorServer - # make this dir readable and writable by all (we allow anyone to delete logs) -- chmod a+w /var/log/primesense/XnSensorServer -+ chmod a+w $INSTALL_VARLOG/XnSensorServer - printf "OK\n" - - if [ "`uname -s`" != "Darwin" ]; then - # install USB rules (so that PrimeSense sensors will be mounted with write permissions) - printf "installing usb rules..." -+ mkdir -p $INSTALL_RULES - cp Install/$RULES_FILE $INSTALL_RULES - printf "OK\n" - fi - - else #uninstall - -- # unregister modules -- for module in $MODULES; do -- printf "unregistering module '$module' from OpenNI..." -- if niReg -u $INSTALL_LIB/$module; then -- printf "OK\n" -- fi -- done -+ if [ "$REGISTER" == "1" ]; then -+ # unregister modules -+ for module in $MODULES; do -+ printf "unregistering module '$module' from OpenNI..." -+ if niReg -u $INSTALL_LIB/$module; then -+ printf "OK\n" -+ fi -+ done -+ fi - - # delete shared libraries - printf "removing shared libraries..." --- -1.7.3.4 - diff --git a/openni-primesense-5.0.3.3-disable-sse.patch b/openni-primesense-5.0.3.3-disable-sse.patch new file mode 100644 index 0000000..3434baf --- /dev/null +++ b/openni-primesense-5.0.3.3-disable-sse.patch @@ -0,0 +1,19 @@ +--- a/Platform/Linux-x86/Build/Common/Platform.x86 ++++ b/Platform/Linux-x86/Build/Common/Platform.x86 +@@ -1,6 +1,6 @@ + # some defaults + ifndef SSE_GENERATION +- SSE_GENERATION = 3 ++ SSE_GENERATION = 0 + endif + + # change c struct alignment options to be compatable with Win32 +@@ -17,8 +17,6 @@ + else + ifeq ($(SSE_GENERATION), 3) + CFLAGS += -msse3 +- else +- ($error "Only SSE2 and SSE3 are supported") + endif + endif + endif diff --git a/openni-primesense-5.0.3.3-fedora.patch b/openni-primesense-5.0.3.3-fedora.patch new file mode 100644 index 0000000..6793085 --- /dev/null +++ b/openni-primesense-5.0.3.3-fedora.patch @@ -0,0 +1,181 @@ +diff -urN openni-primesense-5.0.3.3-git342e334c/Platform/Linux-x86/Build/Common/CommonCppMakefile openni-primesense-5.0.3.3-git342e334c.fedora/Platform/Linux-x86/Build/Common/CommonCppMakefile +--- openni-primesense-5.0.3.3-git342e334c/Platform/Linux-x86/Build/Common/CommonCppMakefile 2011-07-14 12:38:10.000000000 +0200 ++++ openni-primesense-5.0.3.3-git342e334c.fedora/Platform/Linux-x86/Build/Common/CommonCppMakefile 2011-09-01 18:31:35.579404456 +0200 +@@ -73,6 +73,9 @@ + CFLAGS += $(INC_DIRS_OPTION) $(DEFINES_OPTION) + LDFLAGS += $(LIB_DIRS_OPTION) $(USED_LIBS_OPTION) + ++CFLAGS += $(CFLAGS_EXT) ++LDFLAGS += $(LDFLAGS_EXT) ++ + # some lib / exe specifics + ifneq "$(LIB_NAME)" "" + OUTPUT_NAME = lib$(LIB_NAME).so +diff -urN openni-primesense-5.0.3.3-git342e334c/Platform/Linux-x86/Build/XnFormats/Makefile openni-primesense-5.0.3.3-git342e334c.fedora/Platform/Linux-x86/Build/XnFormats/Makefile +--- openni-primesense-5.0.3.3-git342e334c/Platform/Linux-x86/Build/XnFormats/Makefile 2011-07-14 12:38:10.000000000 +0200 ++++ openni-primesense-5.0.3.3-git342e334c.fedora/Platform/Linux-x86/Build/XnFormats/Makefile 2011-09-01 18:26:24.604160970 +0200 +@@ -1,10 +1,15 @@ + SRC_FILES = \ +- ../../../../Source/XnFormats/*.cpp \ +- ../../../../Source/External/LibJPEG/*.c ++ ../../../../Source/XnFormats/*.cpp + + LIB_NAME = XnFormats + USED_LIBS = XnCore OpenNI + DEFINES = XN_FORMATS_EXPORTS +-INC_DIRS = ../../../../Source/External/LibJPEG ++ ++ifneq ($(wildcard /usr/include/jpeglib.h /usr/local/include/jpeglib.h),) ++ USED_LIBS += jpeg ++else ++ INC_DIRS += ../../../../Source/External/LibJPEG ++ SRC_FILES += ../../../../Source/External/LibJPEG/*.c ++endif + + include ../EngineLibMakefile +diff -urN openni-primesense-5.0.3.3-git342e334c/Platform/Linux-x86/CreateRedist/install.sh openni-primesense-5.0.3.3-git342e334c.fedora/Platform/Linux-x86/CreateRedist/install.sh +--- openni-primesense-5.0.3.3-git342e334c/Platform/Linux-x86/CreateRedist/install.sh 2011-07-14 12:38:10.000000000 +0200 ++++ openni-primesense-5.0.3.3-git342e334c.fedora/Platform/Linux-x86/CreateRedist/install.sh 2011-09-01 18:34:58.584910602 +0200 +@@ -8,6 +8,8 @@ + Installs PrimeSense Sensor Driver (default mode) + -u,--uninstall + Uninstalls PrimeSense Sensor Driver. ++-n,--no-register ++ Do not register with OpenNI + -c,--cross-compile-rootfs + Used for cross-compiling. Installs PrimeSense Sensor Driver to instead of '/'. + -h,--help +@@ -34,6 +36,7 @@ + BIN_FILES=`ls $SCRIPT_DIR/Bin/*` + + rootfs= ++register=yes + + # parse command line + while [ "$1" ]; do +@@ -44,6 +47,9 @@ + -u|--uninstall) + uninstall=yes + ;; ++ -n|--no-register) ++ register=no ++ ;; + -c|--cross-staging-dir) + shift + rootfs=$1 +@@ -70,11 +76,22 @@ + exit 1 + fi + +-INSTALL_LIB=$rootfs/usr/lib +-INSTALL_BIN=$rootfs/usr/bin +-INSTALL_ETC=$rootfs/usr/etc/primesense +-INSTALL_RULES=$rootfs/etc/udev/rules.d +-SERVER_LOGS_DIR=$rootfs/var/log/primesense/XnSensorServer ++if [ -z "$INSTALL_LIB" ]; then ++ INSTALL_LIB=$rootfs/usr/lib ++fi ++if [ -z "$INSTALL_BIN" ]; then ++ INSTALL_BIN=$rootfs/usr/bin ++fi ++if [ -z "$INSTALL_ETC" ]; then ++ INSTALL_ETC=$rootfs/usr/etc/primesense ++fi ++if [ -z "$INSTALL_RULES" ]; then ++ INSTALL_RULES=$rootfs/etc/udev/rules.d ++fi ++if [ -z "$SERVER_LOGS_DIR" ]; then ++ SERVER_LOGS_DIR=$rootfs/var/log/primesense ++fi ++ + + # make all calls into OpenNI run in this filesystem + export OPEN_NI_INSTALL_PATH=$rootfs +@@ -92,30 +109,37 @@ + + # Copy shared libraries + printf "copying shared libraries..." ++ mkdir -p $INSTALL_LIB + cp $LIB_FILES $INSTALL_LIB + printf "OK\n" + + # Copy executables + printf "copying executables..." ++ mkdir -p $INSTALL_BIN + cp $BIN_FILES $INSTALL_BIN + printf "OK\n" + + # register modules +- for module in $MODULES; do +- printf "registering module '$module' with OpenNI..." +- $INSTALL_BIN/niReg -r $INSTALL_LIB/$module $INSTALL_ETC +- printf "OK\n" +- done ++ if [ "$register" == "yes" ]; then ++ for module in $MODULES; do ++ printf "registering module '$module' with OpenNI..." ++ $INSTALL_BIN/niReg -r $INSTALL_LIB/$module $INSTALL_ETC ++ printf "OK\n" ++ done ++ fi + + # copy config file + printf "copying server config file..." ++ mkdir -p $INSTALL_ETC + cp Config/GlobalDefaults.ini $INSTALL_ETC + printf "OK\n" + + # make server run as root + printf "setting uid of server..." +- chown root $INSTALL_BIN/XnSensorServer +- chmod +s $INSTALL_BIN/XnSensorServer ++ if [ "$register" == "yes" ]; then ++ chown root $INSTALL_BIN/XnSensorServer ++ chmod +s $INSTALL_BIN/XnSensorServer ++ fi + printf "OK\n" + + # create server log dir +@@ -128,6 +152,7 @@ + if [ "`uname -s`" != "Darwin" ]; then + # install USB rules (so that PrimeSense sensors will be mounted with write permissions) + printf "installing usb rules..." ++ mkdir -p $INSTALL_RULES + cp Install/$RULES_FILE $INSTALL_RULES + printf "OK\n" + fi +@@ -139,13 +164,15 @@ + printf "Uninstalling PrimeSense Sensor\n" + printf "******************************\n\n" + +- # unregister modules +- for module in $MODULES; do +- printf "unregistering module '$module' from OpenNI..." +- if $INSTALL_BIN/niReg -u $INSTALL_LIB/$module; then +- printf "OK\n" +- fi +- done ++ if [ "$register" == "yes" ]; then ++ # unregister modules ++ for module in $MODULES; do ++ printf "unregistering module '$module' from OpenNI..." ++ if $INSTALL_BIN/niReg -u $INSTALL_LIB/$module; then ++ printf "OK\n" ++ fi ++ done ++ fi + + # delete shared libraries + printf "removing shared libraries..." +diff -urN openni-primesense-5.0.3.3-git342e334c/Source/XnFormats/XnStreamCompression.h openni-primesense-5.0.3.3-git342e334c.fedora/Source/XnFormats/XnStreamCompression.h +--- openni-primesense-5.0.3.3-git342e334c/Source/XnFormats/XnStreamCompression.h 2011-07-14 12:38:10.000000000 +0200 ++++ openni-primesense-5.0.3.3-git342e334c.fedora/Source/XnFormats/XnStreamCompression.h 2011-09-01 18:26:49.319100844 +0200 +@@ -33,7 +33,7 @@ + //--------------------------------------------------------------------------- + #include "XnFormats.h" + #include +-#include ++#include + #include + + //--------------------------------------------------------------------------- diff --git a/openni-primesense-5.0.3.3-willowgarage.patch b/openni-primesense-5.0.3.3-willowgarage.patch new file mode 100644 index 0000000..a96b680 --- /dev/null +++ b/openni-primesense-5.0.3.3-willowgarage.patch @@ -0,0 +1,356 @@ +diff -rupN -x Release -x Lib -x CreateRedist -x DoxyGen -x .git ps_engine/Source/XnDeviceSensorV2/Registration.cpp ../build_patched/ps_engine/Source/XnDeviceSensorV2/Registration.cpp +--- ps_engine/Source/XnDeviceSensorV2/Registration.cpp 2011-08-10 09:58:38.421589002 -0700 ++++ ../build_patched/ps_engine/Source/XnDeviceSensorV2/Registration.cpp 2011-08-10 10:02:53.321589000 -0700 +@@ -480,13 +480,28 @@ void XnRegistration::Apply1000(XnDepthPi + nNewX = (XnInt32)(XnDouble(*pRegTable)/XN_REG_X_SCALE + XnInt32(pDepth2ShiftTable[nValue]/XN_REG_PARAB_COEFF - nConstShift) * dShiftFactor); + nNewY = *(pRegTable+1); + +- if ((XnUInt32)nNewX-1 < (XnUInt32)nDepthXRes-1) ++ if ((XnUInt32)nNewX-1 < (XnUInt32)nDepthXRes-1 && (XnUInt32)nNewY <(XnUInt32) nDepthYRes) + { + nArrPos = nNewY * nDepthXRes + nNewX; + nOutValue = pOutput[nArrPos]; + + if (nOutValue == 0 || nOutValue > nValue) + { ++ if ( nNewX > 0 && nNewY > 0 ) ++ { ++ pOutput[nArrPos-nDepthXRes] = nValue; ++ pOutput[nArrPos-nDepthXRes-1] = nValue; ++ pOutput[nArrPos-1] = nValue; ++ } ++ else if( nNewY > 0 ) ++ { ++ pOutput[nArrPos-nDepthXRes] = nValue; ++ } ++ else if( nNewX > 0 ) ++ { ++ pOutput[nArrPos-1] = nValue; ++ } ++ + pOutput[nArrPos] = nValue; + pOutput[nArrPos-1] = nValue; + pOutput[nArrPos-nDepthXRes] = nValue; +@@ -533,7 +548,7 @@ void XnRegistration::Apply1080(XnDepthPi + nNewX = (XnUInt32)(*pRegTable + pRGBRegDepthToShiftTable[nValue]) / RGB_REG_X_VAL_SCALE; + nNewY = *(pRegTable+1); + +- if (nNewX < nDepthXRes) ++ if (nNewX < nDepthXRes && nNewY < nDepthYRes) + { + nArrPos = bMirror ? (nNewY+1)*nDepthXRes - nNewX - 2 : (nNewY*nDepthXRes) + nNewX; + nArrPos -= nConstOffset; +diff -rupN -x Release -x Lib -x CreateRedist -x DoxyGen -x .git ps_engine/Source/XnDeviceSensorV2/XnDataProcessor.h ../build_patched/ps_engine/Source/XnDeviceSensorV2/XnDataProcessor.h +--- ps_engine/Source/XnDeviceSensorV2/XnDataProcessor.h 2011-08-10 09:58:38.471589002 -0700 ++++ ../build_patched/ps_engine/Source/XnDeviceSensorV2/XnDataProcessor.h 2011-08-10 10:04:07.821589002 -0700 +@@ -91,7 +91,9 @@ protected: + /* The number of bytes received so far (since last time this member was reset). */ + XnUInt32 m_nBytesReceived; + /* Stores last packet ID */ +- XnUInt16 m_nLastPacketID; ++ //XnUInt16 m_nLastPacketID; ++ // --avin mod-- ++ XnUInt8 m_nLastPacketID; + /* The name of the stream. */ + const XnChar* m_csName; + +diff -rupN -x Release -x Lib -x CreateRedist -x DoxyGen -x .git ps_engine/Source/XnDeviceSensorV2/XnDeviceSensorIO.cpp ../build_patched/ps_engine/Source/XnDeviceSensorV2/XnDeviceSensorIO.cpp +--- ps_engine/Source/XnDeviceSensorV2/XnDeviceSensorIO.cpp 2011-08-10 09:58:38.421589002 -0700 ++++ ../build_patched/ps_engine/Source/XnDeviceSensorV2/XnDeviceSensorIO.cpp 2011-08-10 10:11:53.491589002 -0700 +@@ -39,6 +39,8 @@ + #define XN_SENSOR_2_0_PRODUCT_ID 0x0200 + #define XN_SENSOR_5_0_PRODUCT_ID 0x0500 + #define XN_SENSOR_6_0_PRODUCT_ID 0x0600 ++#define XN_SENSOR_MSK_VENDOR_ID 0x045E ++#define XN_SENSOR_MSK_PRODUCT_ID 0x02AE + + //--------------------------------------------------------------------------- + // Enums +@@ -362,14 +364,14 @@ XnStatus XnSensorIO::CloseDevice() + return (XN_STATUS_OK); + } + +-XnStatus Enumerate(XnUInt16 nProduct, XnStringsHash& devicesSet) ++XnStatus Enumerate(XnUInt16 nVendor, XnUInt16 nProduct, XnStringsHash& devicesSet) + { + XnStatus nRetVal = XN_STATUS_OK; + + const XnUSBConnectionString* astrDevicePaths; + XnUInt32 nCount; +- +- nRetVal = xnUSBEnumerateDevices(XN_SENSOR_VENDOR_ID, nProduct, &astrDevicePaths, &nCount); ++ ++ nRetVal = xnUSBEnumerateDevices(nVendor, nProduct, &astrDevicePaths, &nCount); + XN_IS_STATUS_OK(nRetVal); + + for (XnUInt32 i = 0; i < nCount; ++i) +@@ -393,17 +395,21 @@ XnStatus XnSensorIO::EnumerateSensors(Xn + return nRetVal; + + XnStringsHash devicesSet; ++ ++ // search for a MSK device ++ nRetVal = Enumerate(XN_SENSOR_MSK_VENDOR_ID, XN_SENSOR_MSK_PRODUCT_ID, devicesSet); ++ XN_IS_STATUS_OK(nRetVal); + + // search for a v6.0 device +- nRetVal = Enumerate(XN_SENSOR_6_0_PRODUCT_ID, devicesSet); ++ nRetVal = Enumerate(XN_SENSOR_VENDOR_ID, XN_SENSOR_6_0_PRODUCT_ID, devicesSet); + XN_IS_STATUS_OK(nRetVal); + + // search for a v5.0 device +- nRetVal = Enumerate(XN_SENSOR_5_0_PRODUCT_ID, devicesSet); ++ nRetVal = Enumerate(XN_SENSOR_VENDOR_ID, XN_SENSOR_5_0_PRODUCT_ID, devicesSet); + XN_IS_STATUS_OK(nRetVal); + + // try searching for an older device +- nRetVal = Enumerate(XN_SENSOR_2_0_PRODUCT_ID, devicesSet); ++ nRetVal = Enumerate(XN_SENSOR_VENDOR_ID, XN_SENSOR_2_0_PRODUCT_ID, devicesSet); + XN_IS_STATUS_OK(nRetVal); + + // now copy back +diff -rupN -x Release -x Lib -x CreateRedist -x DoxyGen -x .git ps_engine/Source/XnDeviceSensorV2/XnDeviceSensorProtocol.h ../build_patched/ps_engine/Source/XnDeviceSensorV2/XnDeviceSensorProtocol.h +--- ps_engine/Source/XnDeviceSensorV2/XnDeviceSensorProtocol.h 2011-08-10 09:58:38.421589002 -0700 ++++ ../build_patched/ps_engine/Source/XnDeviceSensorV2/XnDeviceSensorProtocol.h 2011-08-10 10:12:58.801589002 -0700 +@@ -88,7 +88,10 @@ typedef struct XnSensorProtocolResponseH + { + XnUInt16 nMagic; + XnUInt16 nType; +- XnUInt16 nPacketID; ++ //XnUInt16 nPacketID; ++ // --avin mod-- ++ XnUInt8 nPacketID; ++ XnUInt8 nUnknown; + XnUInt16 nBufSize; + XnUInt32 nTimeStamp; + } XnSensorProtocolResponseHeader; +diff -rupN -x Release -x Lib -x CreateRedist -x DoxyGen -x .git ps_engine/Source/XnDeviceSensorV2/XnFirmwareStreams.cpp ../build_patched/ps_engine/Source/XnDeviceSensorV2/XnFirmwareStreams.cpp +--- ps_engine/Source/XnDeviceSensorV2/XnFirmwareStreams.cpp 2011-08-10 09:58:38.411589002 -0700 ++++ ../build_patched/ps_engine/Source/XnDeviceSensorV2/XnFirmwareStreams.cpp 2011-08-10 10:14:06.221588999 -0700 +@@ -117,11 +117,12 @@ XnStatus XnFirmwareStreams::CheckClaimSt + XN_LOG_WARNING_RETURN(XN_STATUS_DEVICE_BAD_PARAM, XN_MASK_DEVICE_SENSOR, "Cannot set depth stream to resolution %d when IR is set to resolution %d!", nRes, pIRStreamData->nRes); + } + ++ // highres enable from avin + // check FPS +- if (pIRStreamData->nFPS != nFPS) +- { +- XN_LOG_WARNING_RETURN(XN_STATUS_DEVICE_BAD_PARAM, XN_MASK_DEVICE_SENSOR, "Depth and IR streams must have the same FPS!"); +- } ++ //if (pIRStreamData->nFPS != nFPS) ++ //{ ++ // XN_LOG_WARNING_RETURN(XN_STATUS_DEVICE_BAD_PARAM, XN_MASK_DEVICE_SENSOR, "Depth and IR streams must have the same FPS!"); ++ //} + } + } + else if (strcmp(strType, XN_STREAM_TYPE_IR) == 0) +@@ -150,10 +151,10 @@ XnStatus XnFirmwareStreams::CheckClaimSt + } + + // check FPS +- if (pDepthStreamData->nFPS != nFPS) +- { +- XN_LOG_WARNING_RETURN(XN_STATUS_DEVICE_BAD_PARAM, XN_MASK_DEVICE_SENSOR, "Depth and IR streams must have the same FPS!"); +- } ++ //if (pDepthStreamData->nFPS != nFPS) ++ //{ ++ // XN_LOG_WARNING_RETURN(XN_STATUS_DEVICE_BAD_PARAM, XN_MASK_DEVICE_SENSOR, "Depth and IR streams must have the same FPS!"); ++ //} + } + } + else if (strcmp(strType, XN_STREAM_TYPE_IMAGE) == 0) +diff -rupN -x Release -x Lib -x CreateRedist -x DoxyGen -x .git ps_engine/Source/XnDeviceSensorV2/XnHostProtocol.h ../build_patched/ps_engine/Source/XnDeviceSensorV2/XnHostProtocol.h +--- ps_engine/Source/XnDeviceSensorV2/XnHostProtocol.h 2011-08-10 09:58:38.471589002 -0700 ++++ ../build_patched/ps_engine/Source/XnDeviceSensorV2/XnHostProtocol.h 2011-08-10 10:14:56.381589000 -0700 +@@ -112,8 +112,8 @@ enum EPsProtocolOpCodes_V017 + typedef enum + { + XN_HOST_PROTOCOL_ALGORITHM_DEPTH_INFO = 0x00, +- XN_HOST_PROTOCOL_ALGORITHM_REGISTRATION = 0x02, +- XN_HOST_PROTOCOL_ALGORITHM_PADDING = 0x03, ++ XN_HOST_PROTOCOL_ALGORITHM_REGISTRATION = 0x40, ++ XN_HOST_PROTOCOL_ALGORITHM_PADDING = 0x41, + XN_HOST_PROTOCOL_ALGORITHM_BLANKING = 0x06, + XN_HOST_PROTOCOL_ALGORITHM_DEVICE_INFO = 0x07, + XN_HOST_PROTOCOL_ALGORITHM_FREQUENCY = 0x80 +diff -rupN -x Release -x Lib -x CreateRedist -x DoxyGen -x .git ps_engine/Source/XnDeviceSensorV2/XnSensorDepthStream.cpp ../build_patched/ps_engine/Source/XnDeviceSensorV2/XnSensorDepthStream.cpp +--- ps_engine/Source/XnDeviceSensorV2/XnSensorDepthStream.cpp 2011-08-10 09:58:38.421589002 -0700 ++++ ../build_patched/ps_engine/Source/XnDeviceSensorV2/XnSensorDepthStream.cpp 2011-08-10 10:16:43.241589000 -0700 +@@ -317,6 +317,8 @@ XnStatus XnSensorDepthStream::ConfigureS + nRetVal = m_Helper.GetCmosInfo()->SetCmosConfig(XN_CMOS_TYPE_DEPTH, GetResolution(), GetFPS()); + XN_IS_STATUS_OK(nRetVal); + ++ // Thanks to avin again! :-) ++ XnHostProtocolSetParam(GetHelper()->GetPrivateData(), 0x105, 0); + return XN_STATUS_OK; + } + +diff -rupN -x Release -x Lib -x CreateRedist -x DoxyGen -x .git ps_engine/Source/XnDeviceSensorV2/XnSensorDepthStream.h ../build_patched/ps_engine/Source/XnDeviceSensorV2/XnSensorDepthStream.h +--- ps_engine/Source/XnDeviceSensorV2/XnSensorDepthStream.h 2011-08-10 09:58:38.451589002 -0700 ++++ ../build_patched/ps_engine/Source/XnDeviceSensorV2/XnSensorDepthStream.h 2011-08-10 10:18:33.071589000 -0700 +@@ -41,11 +41,11 @@ + // Defines + //--------------------------------------------------------------------------- + #define XN_DEPTH_STREAM_DEFAULT_INPUT_FORMAT XN_IO_DEPTH_FORMAT_UNCOMPRESSED_11_BIT +-#define XN_DEPTH_STREAM_DEFAULT_RESOLUTION XN_RESOLUTION_QVGA ++#define XN_DEPTH_STREAM_DEFAULT_RESOLUTION XN_RESOLUTION_VGA + #define XN_DEPTH_STREAM_DEFAULT_FPS 30 + #define XN_DEPTH_STREAM_DEFAULT_OUTPUT_FORMAT XN_OUTPUT_FORMAT_DEPTH_VALUES + #define XN_DEPTH_STREAM_DEFAULT_REGISTRATION FALSE +-#define XN_DEPTH_STREAM_DEFAULT_REGISTRATION_TYPE XN_PROCESSING_DONT_CARE ++#define XN_DEPTH_STREAM_DEFAULT_REGISTRATION_TYPE XN_PROCESSING_SOFTWARE + #define XN_DEPTH_STREAM_DEFAULT_HOLE_FILLER TRUE + #define XN_DEPTH_STREAM_DEFAULT_WHITE_BALANCE TRUE + #define XN_DEPTH_STREAM_DEFAULT_GAIN_OLD 50 +@@ -167,4 +167,4 @@ private: + XnCallbackHandle m_hReferenceSizeChangedCallback; + }; + +-#endif //__XN_SENSOR_DEPTH_STREAM_H__ +\ No newline at end of file ++#endif //__XN_SENSOR_DEPTH_STREAM_H__ +diff -rupN -x Release -x Lib -x CreateRedist -x DoxyGen -x .git ps_engine/Source/XnDeviceSensorV2/XnSensorFirmwareParams.cpp ../build_patched/ps_engine/Source/XnDeviceSensorV2/XnSensorFirmwareParams.cpp +--- ps_engine/Source/XnDeviceSensorV2/XnSensorFirmwareParams.cpp 2011-08-10 09:58:38.431589002 -0700 ++++ ../build_patched/ps_engine/Source/XnDeviceSensorV2/XnSensorFirmwareParams.cpp 2011-08-10 10:19:24.601589002 -0700 +@@ -520,10 +520,10 @@ XnStatus XnSensorFirmwareParams::SetImag + case XN_RESOLUTION_VGA: + break; + case XN_RESOLUTION_SXGA: +- if (m_pInfo->nFWVer < XN_SENSOR_FW_VER_5_3) +- { +- XN_LOG_WARNING_RETURN(XN_STATUS_IO_INVALID_STREAM_IMAGE_RESOLUTION, XN_MASK_DEVICE_SENSOR, "Image resolution is not supported by this firmware!"); +- } ++ //if (m_pInfo->nFWVer < XN_SENSOR_FW_VER_5_3) ++ //{ ++ // XN_LOG_WARNING_RETURN(XN_STATUS_IO_INVALID_STREAM_IMAGE_RESOLUTION, XN_MASK_DEVICE_SENSOR, "Image resolution is not supported by this firmware!"); ++ //} + break; + case XN_RESOLUTION_UXGA: + if (m_pInfo->nFWVer < XN_SENSOR_FW_VER_5_1) +diff -rupN -x Release -x Lib -x CreateRedist -x DoxyGen -x .git ps_engine/Source/XnDeviceSensorV2/XnSensorImageStream.cpp ../build_patched/ps_engine/Source/XnDeviceSensorV2/XnSensorImageStream.cpp +--- ps_engine/Source/XnDeviceSensorV2/XnSensorImageStream.cpp 2011-08-10 09:58:38.441589002 -0700 ++++ ../build_patched/ps_engine/Source/XnDeviceSensorV2/XnSensorImageStream.cpp 2011-08-10 10:27:50.791589000 -0700 +@@ -157,11 +157,19 @@ XnStatus XnSensorImageStream::Init() + { XN_IO_IMAGE_FORMAT_UNCOMPRESSED_YUV422, XN_RESOLUTION_QVGA, 30 }, + { XN_IO_IMAGE_FORMAT_UNCOMPRESSED_YUV422, XN_RESOLUTION_QVGA, 60 }, + { XN_IO_IMAGE_FORMAT_UNCOMPRESSED_YUV422, XN_RESOLUTION_VGA, 30 }, ++ // --avin mod-- ++ { XN_IO_IMAGE_FORMAT_UNCOMPRESSED_BAYER, XN_RESOLUTION_SXGA, 15 }, ++ // suat ++ { XN_IO_IMAGE_FORMAT_UNCOMPRESSED_BAYER, XN_RESOLUTION_VGA, 30 }, ++ { XN_IO_IMAGE_FORMAT_BAYER, XN_RESOLUTION_VGA, 30 }, ++ { XN_IO_IMAGE_FORMAT_BAYER, XN_RESOLUTION_QVGA, 60 }, ++ { XN_IO_IMAGE_FORMAT_BAYER, XN_RESOLUTION_QVGA, 30 }, + }; + nRetVal = AddSupportedModes(aSupportedModes, sizeof(aSupportedModes)/sizeof(aSupportedModes[0])); + XN_IS_STATUS_OK(nRetVal); +- +- if (m_Helper.GetFirmwareVersion() >= XN_SENSOR_FW_VER_5_2) ++ ++ //Suat: changed to 5_1 since out 5_1_6 works good with 25Hz ++ if (m_Helper.GetFirmwareVersion() >= XN_SENSOR_FW_VER_5_1) + { + XnCmosPreset aSupportedModes25[] = + { +@@ -169,6 +177,8 @@ XnStatus XnSensorImageStream::Init() + { XN_IO_IMAGE_FORMAT_YUV422, XN_RESOLUTION_VGA, 25 }, + { XN_IO_IMAGE_FORMAT_UNCOMPRESSED_YUV422, XN_RESOLUTION_QVGA, 25 }, + { XN_IO_IMAGE_FORMAT_UNCOMPRESSED_YUV422, XN_RESOLUTION_VGA, 25 }, ++ { XN_IO_IMAGE_FORMAT_BAYER, XN_RESOLUTION_VGA, 25 }, ++ { XN_IO_IMAGE_FORMAT_BAYER, XN_RESOLUTION_QVGA, 25 }, + }; + nRetVal = AddSupportedModes(aSupportedModes25, sizeof(aSupportedModes25)/sizeof(aSupportedModes25[0])); + XN_IS_STATUS_OK(nRetVal); +@@ -180,7 +190,7 @@ XnStatus XnSensorImageStream::Init() + nRetVal = AddSupportedModes(&highRes, 1); + XN_IS_STATUS_OK(nRetVal); + } +- else if (m_Helper.GetFirmwareVersion() >= XN_SENSOR_FW_VER_5_2) ++ else if (m_Helper.GetFirmwareVersion() >= XN_SENSOR_FW_VER_5_1) + { + XnCmosPreset highRes = { XN_IO_IMAGE_FORMAT_BAYER, XN_RESOLUTION_UXGA, 30 }; + nRetVal = AddSupportedModes(&highRes, 1); +@@ -268,13 +278,13 @@ XnStatus XnSensorImageStream::ValidateMo + XnResolutions nResolution = GetResolution(); + + // check resolution +- if ((nResolution == XN_RESOLUTION_UXGA || nResolution == XN_RESOLUTION_SXGA) && nInputFormat != XN_IO_IMAGE_FORMAT_BAYER) +- { +- XN_LOG_WARNING_RETURN(XN_STATUS_DEVICE_BAD_PARAM, XN_MASK_DEVICE_SENSOR, "UXGA resolution is only supported with BAYER input!"); +- } ++ //if ((nResolution == XN_RESOLUTION_UXGA || nResolution == XN_RESOLUTION_SXGA) && nInputFormat != XN_IO_IMAGE_FORMAT_BAYER) ++ //{ ++ // XN_LOG_WARNING_RETURN(XN_STATUS_DEVICE_BAD_PARAM, XN_MASK_DEVICE_SENSOR, "UXGA resolution is only supported with BAYER input!"); ++ //} + + // check output format +- if (nOutputFormat == XN_OUTPUT_FORMAT_GRAYSCALE8 && nInputFormat != XN_IO_IMAGE_FORMAT_BAYER) ++ if (nOutputFormat == XN_OUTPUT_FORMAT_GRAYSCALE8 && nInputFormat != XN_IO_IMAGE_FORMAT_BAYER && nInputFormat != XN_IO_IMAGE_FORMAT_UNCOMPRESSED_BAYER ) + { + XN_LOG_WARNING_RETURN(XN_STATUS_DEVICE_BAD_PARAM, XN_MASK_DEVICE_SENSOR, "Grayscale8 output requires BAYER input!"); + } +@@ -284,11 +294,11 @@ XnStatus XnSensorImageStream::ValidateMo + } + + // check input format +- if (nInputFormat == XN_IO_IMAGE_FORMAT_BAYER && nResolution != XN_RESOLUTION_UXGA && nResolution != XN_RESOLUTION_SXGA) ++ /*if (nInputFormat == XN_IO_IMAGE_FORMAT_BAYER && nResolution != XN_RESOLUTION_UXGA && nResolution != XN_RESOLUTION_SXGA) + { + XN_LOG_WARNING_RETURN(XN_STATUS_DEVICE_BAD_PARAM, XN_MASK_DEVICE_SENSOR, "BAYER input requires SXGA/UXGA resolution!"); + } +- else if (nInputFormat == XN_IO_IMAGE_FORMAT_JPEG && nOutputFormat != XN_OUTPUT_FORMAT_RGB24 && nOutputFormat != XN_OUTPUT_FORMAT_JPEG) ++ else */if (nInputFormat == XN_IO_IMAGE_FORMAT_JPEG && nOutputFormat != XN_OUTPUT_FORMAT_RGB24 && nOutputFormat != XN_OUTPUT_FORMAT_JPEG) + { + XN_LOG_WARNING_RETURN(XN_STATUS_DEVICE_BAD_PARAM, XN_MASK_DEVICE_SENSOR, "Jpeg input is only supported for RGB24 or JPEG output!"); + } +diff -rupN -x Release -x Lib -x CreateRedist -x DoxyGen -x .git ps_engine/Source/XnDeviceSensorV2/XnSensorImageStream.h ../build_patched/ps_engine/Source/XnDeviceSensorV2/XnSensorImageStream.h +--- ps_engine/Source/XnDeviceSensorV2/XnSensorImageStream.h 2011-08-10 09:58:38.431589002 -0700 ++++ ../build_patched/ps_engine/Source/XnDeviceSensorV2/XnSensorImageStream.h 2011-08-10 10:24:50.211589000 -0700 +@@ -38,8 +38,8 @@ + // Defines + //--------------------------------------------------------------------------- + #define XN_IMAGE_STREAM_DEFAULT_FPS 30 +-#define XN_IMAGE_STREAM_DEFAULT_RESOLUTION XN_RESOLUTION_QVGA +-#define XN_IMAGE_STREAM_DEFAULT_INPUT_FORMAT XN_IO_IMAGE_FORMAT_UNCOMPRESSED_YUV422 ++#define XN_IMAGE_STREAM_DEFAULT_RESOLUTION XN_RESOLUTION_VGA ++#define XN_IMAGE_STREAM_DEFAULT_INPUT_FORMAT XN_IO_IMAGE_FORMAT_UNCOMPRESSED_BAYER + #define XN_IMAGE_STREAM_DEFAULT_OUTPUT_FORMAT XN_OUTPUT_FORMAT_RGB24 + #define XN_IMAGE_STREAM_DEFAULT_FLICKER 0 + #define XN_IMAGE_STREAM_DEFAULT_QUALITY 3 +@@ -174,4 +174,4 @@ private: + XnActualIntProperty m_ActualRead; + }; + +-#endif //__XN_SENSOR_IMAGE_STREAM_H__ +\ No newline at end of file ++#endif //__XN_SENSOR_IMAGE_STREAM_H__ +diff -rupN -x Release -x Lib -x CreateRedist -x DoxyGen -x .git ps_engine/Source/XnDeviceSensorV2/XnSensorIRStream.cpp ../build_patched/ps_engine/Source/XnDeviceSensorV2/XnSensorIRStream.cpp +--- ps_engine/Source/XnDeviceSensorV2/XnSensorIRStream.cpp 2011-08-10 09:58:38.471589002 -0700 ++++ ../build_patched/ps_engine/Source/XnDeviceSensorV2/XnSensorIRStream.cpp 2011-08-10 10:25:48.651588999 -0700 +@@ -93,6 +93,7 @@ XnStatus XnSensorIRStream::Init() + { 0, XN_RESOLUTION_QVGA, 60 }, + { 0, XN_RESOLUTION_VGA, 30 }, + { 0, XN_RESOLUTION_SXGA, 30 }, ++ { 0, XN_RESOLUTION_SXGA, 15 }, + }; + nRetVal = AddSupportedModes(aSupportedModes, sizeof(aSupportedModes)/sizeof(aSupportedModes[0])); + XN_IS_STATUS_OK(nRetVal); +@@ -102,6 +103,7 @@ XnStatus XnSensorIRStream::Init() + XnCmosPreset aSupportedModesSXGA[] = + { + { 0, XN_RESOLUTION_SXGA, 30 }, ++ { 0, XN_RESOLUTION_SXGA, 15 }, + }; + nRetVal = AddSupportedModes(aSupportedModes, sizeof(aSupportedModes)/sizeof(aSupportedModes[0])); + XN_IS_STATUS_OK(nRetVal); +--- a/Data/GlobalDefaults.ini ++++ b/Data/GlobalDefaults.ini +@@ -6,7 +6,7 @@ + ; 0 - No (default), 1 - Yes + ;LogWriteToConsole=1 + ; 0 - No (default), 1 - Yes +-LogWriteToFile=1 ++;LogWriteToFile=1 + ; 0 - No (default), 1 - Yes + ;LogWriteLineInfo=0 + ; leave empty for nothing (default). ALL - all masks diff --git a/openni-primesense-55-primesense-usb.rules b/openni-primesense-55-primesense-usb.rules index b6c4a71..cc969cf 100644 --- a/openni-primesense-55-primesense-usb.rules +++ b/openni-primesense-55-primesense-usb.rules @@ -1,9 +1,9 @@ # make primesense device mount with writing permissions (default is read only for unknown devices) -SYSFS{idProduct}=="0200",SYSFS{idVendor}=="1d27",MODE="666",GROUP="users" -SYSFS{idProduct}=="0300",SYSFS{idVendor}=="1d27",MODE="666",GROUP="users" -SYSFS{idProduct}=="0400",SYSFS{idVendor}=="1d27",MODE="666",GROUP="users" -SYSFS{idProduct}=="0500",SYSFS{idVendor}=="1d27",MODE="666",GROUP="users" -SYSFS{idProduct}=="0600",SYSFS{idVendor}=="1d27",MODE="666",GROUP="users" -SYSFS{idProduct}=="02ae",SYSFS{idVendor}=="045e",MODE="666",GROUP="users" -SYSFS{idProduct}=="02ad",SYSFS{idVendor}=="045e",MODE="666",GROUP="users" -SYSFS{idProduct}=="02b0",SYSFS{idVendor}=="045e",MODE="666",GROUP="users" +ATTRS{idProduct}=="0200",ATTRS{idVendor}=="1d27",MODE="666",GROUP="users" +ATTRS{idProduct}=="0300",ATTRS{idVendor}=="1d27",MODE="666",GROUP="users" +ATTRS{idProduct}=="0400",ATTRS{idVendor}=="1d27",MODE="666",GROUP="users" +ATTRS{idProduct}=="0500",ATTRS{idVendor}=="1d27",MODE="666",GROUP="users" +ATTRS{idProduct}=="0600",ATTRS{idVendor}=="1d27",MODE="666",GROUP="users" +ATTRS{idProduct}=="02ae",ATTRS{idVendor}=="045e",MODE="666",GROUP="users" +ATTRS{idProduct}=="02ad",ATTRS{idVendor}=="045e",MODE="666",GROUP="users" +ATTRS{idProduct}=="02b0",ATTRS{idVendor}=="045e",MODE="666",GROUP="users" diff --git a/openni-primesense.spec b/openni-primesense.spec index cb16901..f610e89 100644 --- a/openni-primesense.spec +++ b/openni-primesense.spec @@ -1,27 +1,31 @@ -%define gitrev 894cea01 +#define gitrev 342e334c Name: openni-primesense -Version: 5.0.0.25 -Release: 0.5.git%{gitrev}%{?dist} +Version: 5.0.3.3 +Release: 1%{?gitrev}%{?dist} Summary: PrimeSensor/Kinect Modules for OpenNI Group: System Environment/Libraries License: LGPLv3+ URL: https://github.com/PrimeSense/Sensor # No official releases, yet. To reproduce tarball (adapt version and gitrev): -# git clone git://github.com/ros-pkg-git/Sensor.git +# git clone https://github.com/PrimeSense/Sensor.git # cd Sensor -# git archive --format tar --prefix=openni-primesensor-5.0.0.25-git894cea01/ HEAD | gzip > openni-primesense-5.0.0.25-git894cea01.tar.gz -Source0: openni-primesense-%{version}-git%{gitrev}.tar.gz +# git archive --format tar --prefix=openni-primesensor-5.0.3.3/ Stable-5.0.3.3 | tar -xC.. +# cd .. +# rm -rf openni-primesensor-5.0.3.3/Platform/Win32 +# tar cvfz openni-primesensor-5.0.3.3.tar.gz openni-primesensor-5.0.3.3 +Source0: openni-primesense-%{version}.tar.gz Source1: openni-primesense-55-primesense-usb.rules -Patch0: openni-primesense-5.0.0.25-fedora-buildsys.patch -Patch1: openni-primesense-5.0.0.25-extlibs.patch +Patch0: openni-primesense-5.0.3.3-fedora.patch +Patch1: openni-primesense-5.0.3.3-willowgarage.patch +Patch2: openni-primesense-5.0.3.3-disable-sse.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) ExclusiveArch: %{ix86} x86_64 -BuildRequires: openni-devel >= 1.0.0, python +BuildRequires: openni-devel >= 1.3.2.1, python BuildRequires: dos2unix BuildRequires: libjpeg-devel -Requires: openni >= 1.0.0 +Requires: openni >= 1.3.2.1 Requires: udev %description @@ -32,6 +36,7 @@ Kinect depth camera. Summary: Development files for %{name} Group: Development/Libraries Requires: %{name} = %{version}-%{release} +Requires: openni-devel %description devel The %{name}-devel package contains libraries and header files for @@ -39,9 +44,10 @@ developing applications that use %{name}. %prep -%setup -q -n %{name}-%{version}-git%{gitrev} -%patch0 -p1 -b .fedora-buildsys -%patch1 -p1 -b .extlibs +%setup -q -n %{name}-%{version} +%patch0 -p1 -b .fedora +%patch1 -p1 -b .willow +%patch2 -p1 -b .disable-sse dos2unix LGPL.txt rm -rf Source/External/LibJPEG @@ -49,7 +55,8 @@ rm -rf Source/External/LibJPEG %build cd Platform/Linux-x86/CreateRedist -sed -i "s|make -C ../Build|make -C ../Build CFLAGS_EXT=\\\"%{optflags}\\\" SSE_GENERATION=2 DEBUG=1|" RedistMaker +# Add SSE_GENERATION=2 (or 3) to enable SSE +sed -i 's|make PLATFORM=$PLATFORM -C ../Build|make PLATFORM=$PLATFORM -C ../Build CFLAGS_EXT="%{optflags} -Wno-unknown-pragmas" DEBUG=1|' RedistMaker ./RedistMaker @@ -59,7 +66,7 @@ pushd Platform/Linux-x86/Redist INSTALL_LIB=$RPM_BUILD_ROOT%{_libdir} \ INSTALL_BIN=$RPM_BUILD_ROOT%{_bindir} \ INSTALL_ETC=$RPM_BUILD_ROOT%{_sysconfdir}/openni/primesense \ -INSTALL_VARLOG=$RPM_BUILD_ROOT%{_var}/log/primesense \ +SERVER_LOGS_DIR=$RPM_BUILD_ROOT%{_var}/log/primesense \ INSTALL_RULES=$RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d \ ./install.sh -n popd @@ -102,6 +109,16 @@ fi %{_bindir}/XnSensorServer %changelog +* Thu Dec 22 2011 Tim Niemueller - 5.0.3.3-1 +- Drop git suffix, we package a stable version +- Update udev file not to use deprecated SYSFS entries + +* Mon Dec 19 2011 Tim Niemueller - 5.0.3.3-0.2.git342e334c +- Disable SSE + +* Thu Sep 01 2011 Tim Niemueller - 5.0.3.3-0.1.git342e334c +- Update to 5.0.3.3, closer to upstream, including Willow Garage patch + * Mon Jun 27 2011 Rex Dieter 5.0.0.25-0.5.git894cea01 - ExclusiveArch: %%ix86 x86_64 (#709720) diff --git a/sources b/sources index 77a4047..69a86f9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -c7cb093a017b8a63da159130b26d3fbb openni-primesense-5.0.0.25-git894cea01.tar.gz +391fc6f3184e30504e407521f661a4e5 openni-primesense-5.0.3.3.tar.gz