Add depth to RGB registration via FREENECT_DEPTH_REGISTERED and raw-to-mm via FREENECT_DEPTH_MM

Also add a simple demo showing overlaid depth and RGB video is included in regview.c

Some advanced users may want to write GPU shaders to implement the transforms,
or want to not apply the transform to the entire frame to save CPU cycles.  For them,
we have added in freenect-registration.h a way to access the internal parameters and shift tables
needed to perform the transform.  Since this includes heap variables, such users should free
the tables when no longer in use with freenect_destroy_registration().

Signed-off-by: Drew Fisher <drew.m.fisher@gmail.com>
Signed-off-by: Kyle McDonald <kyle@kylemcdonald.net>
Signed-off-by: Florian Echtler <floe@butterbrot.org>
libfreenect: stricter check for send_cmd() in freenect_fetch_zero_plane_info()

Check for the expected number of bytes, just like done in the other
"fetch" calls.

Signed-off-by: Antonio Ospite <ospite@studenti.unina.it>
libfreenect: Use the actual dev_reg_info field names in unprinted debug output

Signed-off-by: Antonio Ospite <ospite@studenti.unina.it>
c_sync: Add support for registered depth to c_sync wrapper

Signed-off-by: Antonio Ospite <ospite@studenti.unina.it>
c_sync: Add an example program for registered depth based on c_sync

Signed-off-by: Antonio Ospite <ospite@studenti.unina.it>
HACKING: fix indentation; add a missing '=' to one of the titles

Signed-off-by: Antonio Ospite <ospite@studenti.unina.it>
HACKING: document how to make debug builds

Signed-off-by: Drew Fisher <drew.m.fisher@gmail.com>
not necessary to init reg tables for 11-bit unpacked depth

Signed-off-by: Florian Echtler <floe@butterbrot.org>
no need to wipe the buffer as every pixel will be written exactly once

Signed-off-by: Florian Echtler <floe@butterbrot.org>
add helper function to convert camera coords -> metric world coords

Signed-off-by: Florian Echtler <floe@butterbrot.org>
wrappers/python: Use explicit include path

Ask numpy for the correct include path for its headers, instead of just
assuming they are available in the default include path.

Signed-off-by: Hector Martin <hector@marcansoft.com>
wrappers/python: Release the GIL in the async interface

Signed-off-by: Hector Martin <hector@marcansoft.com>
wrappers/python: Support init outside the runloop

This lets the user initialize the Kinect context manually, and also
disables depth or video streaming when the respective callback is
not provided.

Signed-off-by: Hector Martin <hector@marcansoft.com>
wrappers/python: Use structures and enums from headers

Use the correct structures from libfreenect.h and friends, and all
the right types, instead of defining clones in cython. Also use the
correct stdint types. This makes the code much more robust to changes
in libfreenect.

Signed-off-by: Hector Martin <hector@marcansoft.com>
Updated to use rspec 2

Signed-off-by: Alex Weiss <algrs@cacography.net>
Updated FFI interface to match new interface. All tests run, some tests
fail.

Signed-off-by: Alex Weiss <algrs@cacography.net>
Updated Freenect singleton to query the new FrameMode system.

Signed-off-by: Alex Weiss <algrs@cacography.net>
Minor code cleanup, removing commented out code.

Signed-off-by: Alex Weiss <algrs@cacography.net>
Updated tests

Signed-off-by: Alex Weiss <algrs@cacography.net>
wappers/ruby: Updated to use new frame mode code.

Signed-off-by: Alex Weiss <algrs@cacography.net>