[openni-primesense] Update to stable release 5.0.3.3
Tim Niemueller
timn at fedoraproject.org
Fri Dec 23 01:09:15 UTC 2011
commit 8b145bafefa8e24f9ffd43119b03029ea8e4823c
Author: Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
Date: Fri Dec 23 02:02:41 2011 +0100
Update to stable release 5.0.3.3
.gitignore | 6 +-
openni-primesense-5.0.0.25-extlibs.patch | 12 -
openni-primesense-5.0.0.25-fedora-buildsys.patch | 218 -------------
openni-primesense-5.0.3.3-disable-sse.patch | 19 ++
openni-primesense-5.0.3.3-fedora.patch | 181 +++++++++++
openni-primesense-5.0.3.3-willowgarage.patch | 356 ++++++++++++++++++++++
openni-primesense-55-primesense-usb.rules | 16 +-
openni-primesense.spec | 47 ++-
sources | 2 +-
9 files changed, 602 insertions(+), 255 deletions(-)
---
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.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 <path>
+ Used for cross-compiling. Installs PrimeSense Sensor Driver to <path> 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 <XnOS.h>
+-#include <External/LibJPEG/jpeglib.h>
++#include <jpeglib.h>
+ #include <setjmp.h>
+
+ //---------------------------------------------------------------------------
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 <tim at niemueller.de> - 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 <tim at niemueller.de> - 5.0.3.3-0.2.git342e334c
+- Disable SSE
+
+* Thu Sep 01 2011 Tim Niemueller <tim at niemueller.de> - 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 <rdieter at fedoraproject.org> 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
More information about the scm-commits
mailing list