Граф коммитов

43 Коммитов

Автор SHA1 Сообщение Дата
wes-b 6dea37e560
Arm64 Support (#1108)
* Adds ARM64 toolchain file and logic to determine target architecture

* Enables non-sse version of rgbz transformation

* Adds arm64 cross compile support to Dockerfile

* Add ARM64 builds to pipeline

* Enabling Functional Testing on ARM64

* Updating Display for ARM64 and glxinfo

* fixing up build artifact names

* Switch to publishing GNU binaries

* Moving DepthEngine properly

* Moving DepthEngine properly

* fixing case

* Don't run multi device tests on ARM64

Co-authored-by: Matt Schulte <schultetwin1@gmail.com>
Co-authored-by: Matt Schulte <maschu@microsoft.com>
2020-03-06 09:06:21 -08:00
Matt Schulte b9463447fd
RUNPATH only should be set during build (#854)
* RUNPATH only should be set during build

Currently, we set RUNPATH in all our shared objects and executables
at both build time and runtime. Build time is needed because we move
the binaries around to other machines. However, the install time is not
needed.

This is step 1 of 2 in order to move the depthengine into a private
folder instead of in the /lib folder

* Updated comment to explain why its only set during build
2019-10-28 10:21:32 -07:00
wes-b f19e5ac21b
Develop branch is now version 1.4.0 (#821)
* Develop branch is now version 1.4.0

* Updated MSI link and old stale versions
2019-10-08 14:19:43 -07:00
Matt Schulte 74c0c1c616
Properly Sets default visibility of functions (#763)
* Properly Sets default visibility of functions

* Export functions in dynlib unit tests

* Removed old macros

* Add documentation to the policy

* Fixed typo
2019-09-13 14:41:05 -07:00
wes-b 15b116708b
Dynamically link the C++ runtime (#730)
* green screen builds and runs in debug

* added opencv_example

* Removed MSVCStaticCrt.cmake, updated changelog.md

* changed CRT linking for libjpeg-turbo

* Cleaned up WITH_CRT_DLL directive in libjpeg-turbo

* fixed flush issues with streaming test and 1 off failures, all executable_ft tests dump logs, updated link in MD to point to Azure Kinect user voice
2019-09-09 16:17:52 -07:00
Steven Schulte ed6f22bf7d
Add Green Screen example (#619)
* Added beginnings of greenscreen example

* More progress, try/catch

* runs and sometimes gets all captures

* WIP, but closer.

* Single-camera greenscreen works! But it's slow

* it's getting closer to working now and that's cool

* further progress, not compiling

* Calibration runs, unclear if correct

* still WIP but coming along

* still not working- calibration may not even be necessary

* closer to working, sane results but not similar when moving calibration board

* Still not perfect but consistently good

* homogeneous matrix constructed reasonably

* Greening partially working

* CLeanup and fix averaging incorrectness

* Added fix for reversed calibration points bug

* Mostly comments

* Working on a refactor and adding lots of explanation

* Started refactor, fixed images desynchronizing

* Better debugging and not dropping as many frames

* debug commit

* fixed slowness, starting to come together

* More refactoring, mostly towards fewer vectors

* yet more refactoring

* Comment changes and made some long code a function

* Removed unnecessary try-catch

* More comments, cleanup, and less output params

* Less output parameters

* deleted extraneous function

* Refactor a function to not have output args

* another output param refactor

* reformat comments

* Added command-line options and fixed chessboard size issues

* Explain some constants

* Account for subordinate color-to-depth delay

* threshold now a command line arg

* Use Matx and factored transformation code mostly out

* Only use one configuration object for each

* Moved synchronization logic to MultiDeviceCapturer

* minor comment clarifications

* Cleaned up displaying a bit

* Improved greenscreening logic

* Calibration now uses many images

* Minor cleanup

* Fixed unclear indentation of comments

* It's 'green screen', not 'greenscreen'

* clangformat wants this, though it's not very clear

* Set background completely green

* Fixed incorrect usage of calibration

* Added WIP README that provides info + background

* Changed master-sub to main-backup in main to clarify purpose of devices

* Hopefully sets up OpenCV as a dependency properly

* Fixed typo in opencv install

* Pre-search was failing, so don't pre-search

* Construct new calibration object, not modify old

* Consistency in camera name ordering

* Fix out-of-date comment

* More explanatory comment on transformations

* Added copyright headers

* Backup to secondary, hopefully more clear

* Added more and better error messages

* Refactor to not have vector of devices exposed

* Remove GetOpt dependency, debug viz

* Fixed issues with the merge

* Attempt to get OpenCV conditionally required

* Fix up some CMake issues and installation issues

* Missed update to yaml

* Added OpenCV library folder

* Try to include opencv2 includes

* Should not use that include dir like that

* Install opencv from binaries on Windows attempt

* Install opencv, add to path, tell cmake

* Set env vars with logging commands

* Don't bother with OpenCV for x86 builds

* removed files that snuck in

* Don't get OpenCV unless it's a 64-bit OS

* Don't try OpenCV if we're building for x86

* no space

* fail when decoding fails

* Compile opencv example properly

* Modify build because we need to know target arch

* removed endif which causes compilation failure

* Fixed up warning

* Attempt to be able to use one or two cameras

* Should properly check arch now for installing OpenCV

* Needed quotes

* Attempt to clean up azure pipelines logic

* I don't actually know Azure Pipelines

* Attempted cmake config fix

* use variables better?

* Don't think I should use expressions there

* Another attempt to fix Azure Pipelines issues

* Fixed weird opencv error by using BGRA not MJPG

* One-device and two-device greenscreen modes work

* Fixed OpenCV example test

* Clarified comment

* Temporarily disable Linux testing until test infra updated

* attempt to fix occasional OpenCV download failures

* Need PS6 for retry options

* Don't install OpenCV unless specified. Fixes Linux build, hopefully

* Add options for calibration timeouts and greenscreen duration

* Now no longer assume OpenCV is required on Linux

* Added single and double camera greenscreen example tests

* Adjusted numbers in script for different calibration board in testing

* See if issue is PATH or similar

* Added better logging for error for functional unit tests

* install opencv on test machine

* Hopefully fix some of the issues with functional tests

* Factor out install of opencv into a script

* OpenCV-based tests should now not run unless OpenCV is installed

* Don't install OpenCV on test machine but make sure it's there

* typo

* Try again to install OpenCV on test

* Remove install opencv now that it's installed

* Fixed a lingering "checkerboard" to "chessboard"

* Use an Ubuntu 18.04 image and try to use the Ubuntu functional tests

* Properly add the OpenCV tests if it's available

* Don't bootstrap ubuntu because we have a docker image now

* Don't install OpenCV, it's already in the Docker container

* Remove confusing offset for devices in MultiDeviceCapturer

* Build with Clang

* No braces needed

* A few more fixes from not using a vector for configs

* More updates to README

* Workaround for debug version of OpenCV on Windows

* Explanations for the OpenCV LIBS issue and for green screen logic

* Re-expanded correct sync window until firmware is updated

* Greenscreen with background, not green

* More modern CMake

* No need to find package here

* Added findopencv so no need to specify -DOpenCV_DIR
2019-08-30 17:11:58 -07:00
Wes Barcalow d030137e2a Adding 1.2.0 MSI, changing SDK version to 1.3, and using the non-alpha Nuget Package for develop 2019-08-22 19:15:58 -07:00
Matt Schulte aebb27acd8
Enables SourceLink for Windows Builds (#634)
Using CMake, a source link json file is generated and added to the
linker options. This will embed information into the PDB about where
to download source files from.
2019-08-20 13:10:32 -07:00
Matt Schulte e8f00af3c1
Updates cmake project version to 1.2 (#637)
Currently the CMake project version is set to 1.1 but the develop
branch is starting to release 1.2. Changing project version to 1.2
and updating cmake to detect this error and cause a build break
2019-08-13 10:39:26 -07:00
Derek M f64b89b5e0
Csharp version (#635)
* Switch .NET Standard and .NET Core projects to using AssemblyInfo and VersionInfo.
* Generate the VersionInfo file curing the CMake configure step.
2019-08-12 16:35:30 -07:00
Brent Allen 2795e354e8
Added documentation for C# calibration types (#599)
* Added documentation for C# calibration types
2019-08-06 17:47:06 -07:00
Derek M d05830221c
Applying code review feedback. (#479)
Fixing formatting on CMakeLists.txt.
2019-07-10 14:27:03 -07:00
Brent Allen 89f7ba5047 Merge branch 'develop' into feature/csharp 2019-07-01 13:16:24 -07:00
Matt Schulte 9d1657e8d5
Merge branch 'develop' into turn_on_build_ids 2019-06-25 11:17:00 -07:00
Brent Allen 95b3cef7dc
Added icon to viewer app (#421) 2019-06-25 10:05:38 -07:00
Matt Schulte 1fd3603c27 Turns on build IDs in Linux
Build IDs are used to tie binaries and symbols together. This force turns
them on as the defaults between GNU and clang are different
2019-06-24 14:47:49 -07:00
Brent Allen d471e60a39 Merge branch 'develop' of https://github.com/microsoft/Azure-Kinect-Sensor-SDK into feature/csharp 2019-06-07 17:18:50 -07:00
Matt Schulte 489f77bc8e
Changes lib install names to libname.so.major.minor.patch (#369)
This is done to keep more inline with existing Debian packages and practices.
Although technically both libname-version.so and libname.so.version are
accepted, it seems like more tooling (specifically CMake) is built around
libname.so.version.

Our libraries sonames will now be libname.so.major.minor.
Our debian packages will be named libname.major.minor

For example, if you want libk4a.so.1.1 you would install libk4a1.1
2019-05-23 17:25:35 -07:00
Matt Schulte 6e9369fa9f Install k4arecorder k4aviewer (#367)
* Install k4aviewer and k4arecorder

* Added components to install

* Split into runtime, development, tools

* SONAME is file name
2019-05-23 08:03:28 -07:00
Brent Allen 11acac5f16
Automatically publish API docs (#364)
* Added PublishDocs.ps1

* Added documentation branch index

* Added version info to doxygen

* Added pipeline step to publish docs

* Added automated identity

* Added build trigger for feature branches

* Added API documentation link to README.md

* Added mainpage.md to doxygen output
2019-05-22 14:01:02 -07:00
Brent Allen c2949cc06c
Update Doxygen output (#360)
* Updated doxygen output to more readable form
2019-05-20 13:23:12 -07:00
wes-b 9787e9dc37
Update changelog.md for 1.1.x release (#356)
* Renamed C++ get_timestamp API to align with what is comming in 1.2 so we don't have to manage a breaking change.

* updating changelog.md

* Addressing feedback
2019-05-17 10:41:54 -07:00
Matt Schulte ff2c228606
Turn on "--link-as-needed" linker flag (#348) 2019-05-15 15:30:56 -07:00
Matt Schulte cd55fd4b5a
Turns on position independent code for Linux (#346)
* Turns on position independent code for Linux executables
2019-05-15 15:06:11 -07:00
Brent Allen 31af5a4e79 Merge remote-tracking branch 'upstream/develop' into feature/csharp 2019-05-06 15:30:10 -07:00
Derek M 5f56c1e951
C# Build Integration (#316)
* Adding the C# build to the Azure Pipeline.
* Standardizing names of projects and aligning project and folder names.
* Removing the C# unit test's runtime dependency on the Binary folder.
2019-05-03 14:06:22 -07:00
Matt Schulte 8dc9fdd54f
Linux binaries search local path for shared objects (#315)
All Linux binaries have RUNPATH set to $ORIGIN to search local directories for shared objects
2019-05-02 10:51:52 -07:00
Brent Allen 7cfa67724a
Merge pull request #286 from Microsoft/develop
Merge develop into feature/csharp
2019-04-26 15:27:05 -07:00
Derek M 32f8375541
Removing hardcoded paths for the C# wapper (#266)
Removing the hard coded paths for that the project should build easier across multiple computers.
Using a props file and XML file to let the MSBuild portion know where to get the Azure Kinect build dependencies.
2019-04-24 15:08:00 -07:00
wes-b 11085c3f4f
Moved files, removed stale architecture doc, and fixed links. (#252) 2019-04-19 15:07:09 -07:00
wes-b bc5a2aebb7
Fixed leak in dewrapper.c, added code to help find code in the future. (#207)
* Fixed leak in dewrapper.c. Switched setting to a build variable that can be set in CMAKE.
Also updated leak detection to run a binary unload.
Cleanup up most of the errors I found.
Opened issues #210 and @212 to track leaks that still need to be addressed.

* Adding leak detection logic to k4a_unittest_init() so more tests get it automatically

* Addressing PR feedback
2019-04-04 10:21:42 -07:00
Matt Schulte ff070018a7
Fixes cmake config break on CMake 3.11 and no nasm (#195) 2019-03-27 15:36:32 -07:00
Matt Schulte 4875cd30f4
Enable NASM on Linux and Windows (#184)
* Fixes nasm builds with ninja

* Add nasm to windows builds

* Enable nasm on linux
2019-03-26 11:12:52 -07:00
Qi Zeng cc030d4b2a working with option cmake -DK4A_MTE_VERSION=ON -GNinja .. 2019-03-12 16:38:22 -07:00
Billy Price be9e888367 Add C++ wrappers (#86)
Add C++ wrapper for the K4A API
2019-03-11 11:02:23 -07:00
Matt Schulte b157cfbb89 Fixes python finding to find python 3 (#100)
* Fixes python finding to find python 3
2019-03-04 21:34:47 +00:00
Derek M c9dc4df230 Updating and standardizing the copyright headers in all of the files. (#87)
Updating and standardizing the copyright headers in all of the files.
2019-02-22 10:31:47 -08:00
Matt Schulte 1d0214965e Enables source file hashing in msvc (#71) 2019-02-19 17:55:59 -08:00
BrentA-Microsoft 8b5bc34348 Add version resource to binaries (#52)
* Add version resource to binaries
2019-02-11 13:11:12 -08:00
BrentA-Microsoft 4b1f46ae9e Removed dynamic version number generation (#44)
* Removed dynamic version number generation
* Changed default version to 1.0.0-private
2019-02-08 12:19:04 -08:00
Matt Schulte e9f17fbe03 Adds example folder to clangformat (#15) 2019-01-31 15:53:26 -08:00
Jacob Wirth c99c42958c Enable doc generation for playback/record api 2019-01-28 14:25:28 -08:00
Matt Schulte abb3b68a3b Moves the K4A SDK to open source project 2019-01-26 14:04:57 -08:00