├── .clang-format
├── .gitattributes
├── .github
├── ISSUE_TEMPLATE
│ ├── 1-sensor-sdk-bug-report.md
│ ├── 2-body-tracking-bug-report.md
│ ├── 3-code-sample-bug-report.md
│ └── 4-feature-request--enhancement-.md
├── pull_request_template.md
└── workflows
│ └── ubuntu-build.yml
├── .gitignore
├── .gitmodules
├── CHANGELOG.md
├── CMakeLists.txt
├── CMakeSettings.json
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── README_K4A.md
├── README_PUBLIC.md
├── StubGenerator.xml.in
├── VersionInfo.cs.in
├── azure-pipelines.yml
├── cmake
├── CaptureFxcDeps.py
├── CopyImportedBinary.cmake
├── DefaultBuildType.cmake
├── DetermineTargetArch.cmake
├── FetchContent.cmake
├── FetchContent
│ └── CMakeLists.cmake.in
├── FindEbml.cmake
├── FindOpenCV.cmake
├── FindPython
│ └── Support.cmake
├── FindPython3.cmake
├── GitCommands.cmake
├── K4AProjectVersion.cmake
├── MSVCLinkerFlags.cmake
├── ShaderCompiler.cmake
├── SourceLink.cmake
├── ValidateFormat.py
├── k4aCompilerFlags.cmake
├── k4aConfig.cmake.in
├── k4aTest.cmake
├── k4arecordConfig.cmake.in
└── toolchains
│ ├── arm64-linux-clang.cmake
│ ├── arm64-linux-gnu.cmake
│ ├── i386-linux-clang.cmake
│ ├── i386-linux-gnu.cmake
│ ├── x86_64-linux-clang.cmake
│ └── x86_64-linux-gnu.cmake
├── docs
├── Access_AKDK_Application_Software_with_Femto_Bolt.pdf
├── building.md
├── dependencies.md
├── depthengine.md
├── logo.png
├── releasing.md
├── standards.md
├── testing.md
├── usage.md
└── versioning.md
├── doxygen
├── Doxyfile.in
├── DoxygenLayout.xml
├── PublishDocs.ps1
├── footer.html
├── header.html
├── index.html
├── mainpage.md
└── stylesheet.css
├── examples
├── CMakeLists.txt
├── calibration
│ ├── CMakeLists.txt
│ ├── main.cpp
│ └── readme.md
├── enumerate
│ ├── CMakeLists.txt
│ ├── main.c
│ └── readme.md
├── fastpointcloud
│ ├── CMakeLists.txt
│ ├── README.md
│ └── main.cpp
├── green_screen
│ ├── CMakeLists.txt
│ ├── MultiDeviceCapturer.h
│ ├── README.md
│ ├── chessboard.png
│ ├── hands.PNG
│ ├── main.cpp
│ ├── noshadow.png
│ ├── shadow.png
│ └── transformation.h
├── k4arecord_custom_track
│ ├── CMakeLists.txt
│ ├── README.md
│ └── main.c
├── opencv_compatibility
│ ├── CMakeLists.txt
│ ├── README.md
│ └── main.cpp
├── playback_external_sync
│ ├── CMakeLists.txt
│ ├── main.c
│ └── readme.md
├── streaming
│ ├── CMakeLists.txt
│ ├── main.c
│ └── readme.md
├── transformation
│ ├── CMakeLists.txt
│ ├── README.md
│ ├── main.cpp
│ ├── transformation_helpers.cpp
│ └── transformation_helpers.h
├── undistort
│ ├── CMakeLists.txt
│ ├── README.md
│ └── main.cpp
└── viewer
│ ├── CMakeLists.txt
│ └── opengl
│ ├── CMakeLists.txt
│ ├── k4adepthpixelcolorizer.h
│ ├── k4aimgui_all.h
│ ├── k4apixel.h
│ ├── k4astaticimageproperties.h
│ ├── main.cpp
│ ├── readme.md
│ ├── texture.cpp
│ ├── texture.h
│ ├── viewerutil.h
│ ├── viewerwindow.cpp
│ └── viewerwindow.h
├── extern
├── CMakeLists.txt
├── azure_c_shared
│ └── CMakeLists.txt
├── cjson
│ └── CMakeLists.txt
├── glfw
│ └── CMakeLists.txt
├── googletest
│ └── CMakeLists.txt
├── imgui
│ └── CMakeLists.txt
├── libebml
│ └── CMakeLists.txt
├── libjpeg-turbo
│ └── CMakeLists.txt
├── libmatroska
│ ├── CMakeLists.txt
│ ├── EbmlConfig.cmake
│ └── EbmlConfigVersion.cmake
├── libsoundio
│ └── CMakeLists.txt
├── libusb
│ ├── CMakeLists.txt
│ └── config.h
├── libuvc
│ └── CMakeLists.txt
├── libyuv
│ └── CMakeLists.txt
└── spdlog
│ └── CMakeLists.txt
├── include
├── k4a
│ ├── k4a.h
│ ├── k4a.hpp
│ ├── k4atypes.h
│ └── k4aversion.h.in
├── k4ainternal
│ ├── allocator.h
│ ├── calibration.h
│ ├── capture.h
│ ├── capturesync.h
│ ├── color.h
│ ├── color_mcu.h
│ ├── common.h
│ ├── deloader.h
│ ├── depth.h
│ ├── depth_mcu.h
│ ├── dewrapper.h
│ ├── dynlib.h
│ ├── firmware.h
│ ├── global.h
│ ├── handle.h
│ ├── image.h
│ ├── imu.h
│ ├── k4aplugin.h
│ ├── logging.h
│ ├── math.h
│ ├── matroska_common.h
│ ├── matroska_read.h
│ ├── matroska_write.h
│ ├── queue.h
│ ├── rwlock.h
│ ├── tewrapper.h
│ ├── transformation.h
│ └── usbcommand.h
└── k4arecord
│ ├── playback.h
│ ├── playback.hpp
│ ├── record.h
│ ├── record.hpp
│ └── types.h
├── k4a.props.in
├── kinect-qa.md
├── kinect-viewer.ico
├── microsoft-support.md
├── proposals
├── ARM-support.md
└── README.md
├── scripts
├── 99-k4a.rules
├── HmdKit.cs
├── RunTestList.py
├── docker
│ ├── Dockerfile
│ ├── setup-ubuntu.sh
│ └── sources.list
├── install-opencv.ps1
└── verify-windows.ps1
├── src
├── CMakeLists.txt
├── allocator
│ ├── CMakeLists.txt
│ └── allocator.c
├── calibration
│ ├── CMakeLists.txt
│ └── calibration.c
├── capturesync
│ ├── CMakeLists.txt
│ └── capturesync.c
├── color
│ ├── CMakeLists.txt
│ ├── color.cpp
│ ├── color_priv.h
│ ├── ksmetadata.h
│ ├── mfcamerareader.cpp
│ ├── mfcamerareader.h
│ ├── uvc_camerareader.cpp
│ └── uvc_camerareader.h
├── color_mcu
│ ├── CMakeLists.txt
│ ├── color_mcu.c
│ └── colorcommands.h
├── csharp
│ ├── .editorconfig
│ ├── .gitignore
│ ├── AzureKinectSensorSDK.ruleset
│ ├── Examples
│ │ ├── WPF
│ │ │ ├── App.config
│ │ │ ├── App.xaml
│ │ │ ├── App.xaml.cs
│ │ │ ├── MainWindow.xaml
│ │ │ ├── MainWindow.xaml.cs
│ │ │ ├── Microsoft.Azure.Kinect.Sensor.Examples.WPFViewer.csproj
│ │ │ ├── Properties
│ │ │ │ ├── AssemblyInfo.cs
│ │ │ │ ├── Resources.Designer.cs
│ │ │ │ ├── Resources.resx
│ │ │ │ ├── Settings.Designer.cs
│ │ │ │ └── Settings.settings
│ │ │ └── packages.config
│ │ └── WinForms
│ │ │ ├── App.config
│ │ │ ├── Form1.Designer.cs
│ │ │ ├── Form1.cs
│ │ │ ├── Form1.resx
│ │ │ ├── Microsoft.Azure.Kinect.Sensor.Examples.WinForms.csproj
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ ├── Settings.Designer.cs
│ │ │ └── Settings.settings
│ │ │ ├── packages.config
│ │ │ └── stylecop.json
│ ├── Extensions
│ │ ├── WPF
│ │ │ ├── ImageExtensions.cs
│ │ │ ├── Microsoft.Azure.Kinect.Sensor.WPF.csproj
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── app.config
│ │ │ └── packages.config
│ │ └── WinForms
│ │ │ ├── ImageExtensions.cs
│ │ │ ├── Microsoft.Azure.Kinect.Sensor.WinForms.csproj
│ │ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ │ ├── app.config
│ │ │ └── packages.config
│ ├── K4a.sln
│ ├── Microsoft.Azure.Kinect.Sensor.snk
│ ├── SDK
│ │ ├── Allocator.cs
│ │ ├── AzureKinectMemoryCast.cs
│ │ ├── AzureKinectMemoryManager.cs
│ │ ├── BGRA.cs
│ │ ├── Calibration.cs
│ │ ├── CalibrationDeviceType.cs
│ │ ├── CalibrationModelType.cs
│ │ ├── CameraCalibration.cs
│ │ ├── Capture.cs
│ │ ├── ColorControlCommand.cs
│ │ ├── ColorControlMode.cs
│ │ ├── ColorResolution.cs
│ │ ├── DepthMode.cs
│ │ ├── Device.cs
│ │ ├── DeviceConfiguration.cs
│ │ ├── Exceptions
│ │ │ ├── AzureKinectException.cs
│ │ │ ├── AzureKinectOpenDeviceException.cs
│ │ │ ├── AzureKinectStartCamerasException.cs
│ │ │ └── AzureKinectStartImuException.cs
│ │ ├── Extrinsics.cs
│ │ ├── FPS.cs
│ │ ├── FirmwareBuild.cs
│ │ ├── FirmwareSignature.cs
│ │ ├── HardwareVersion.cs
│ │ ├── Image.cs
│ │ ├── ImageFormat.cs
│ │ ├── ImuSample.cs
│ │ ├── Intrinsics.cs
│ │ ├── LargeArrayPool.cs
│ │ ├── LogLevel.cs
│ │ ├── LogMessage.cs
│ │ ├── Logger.cs
│ │ ├── Microsoft.Azure.Kinect.Sensor.csproj
│ │ ├── Native
│ │ │ ├── LoggingTracer.cs
│ │ │ ├── NativeMethods.cs
│ │ │ └── NativeReferenceAttribute.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Short3.cs
│ │ ├── Transformation.cs
│ │ ├── TransformationInterpolationType.cs
│ │ └── WiredSyncMode.cs
│ ├── Tests
│ │ ├── FunctionalTests
│ │ │ ├── Calibration.cs
│ │ │ ├── Device.cs
│ │ │ ├── Microsoft.Azure.Kinect.Sensor.FunctionalTests.csproj
│ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ ├── StubGenerator.UnitTests
│ │ │ ├── Microsoft.Azure.Kinect.Sensor.Test.StubGenerator.UnitTests.csproj
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── StubTests.cs
│ │ ├── StubGenerator
│ │ │ ├── AzureKinectStubGeneratorException.cs
│ │ │ ├── CallCount.cs
│ │ │ ├── CodeString.cs
│ │ │ ├── Compiler.cs
│ │ │ ├── CompilerOptions.cs
│ │ │ ├── EnvironmentInfo.cs
│ │ │ ├── FunctionImplementation.cs
│ │ │ ├── FunctionInfo.cs
│ │ │ ├── Hash.cs
│ │ │ ├── Microsoft.Azure.Kinect.Sensor.Test.StubGenerator.csproj
│ │ │ ├── ModuleImplementation.cs
│ │ │ ├── ModuleInfo.cs
│ │ │ ├── NativeFailureException.cs
│ │ │ ├── NativeInterface.cs
│ │ │ ├── NativeMethods.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Stub.cpp
│ │ │ ├── Stub.h
│ │ │ ├── StubImplementation.h
│ │ │ └── StubbedModule.cs
│ │ └── UnitTests
│ │ │ ├── CalibrationFunctionTests.cs
│ │ │ ├── CaptureTests.cs
│ │ │ ├── DeviceFunctionTests.cs
│ │ │ ├── ImageFunctionTests.cs
│ │ │ ├── LoggingTests.cs
│ │ │ ├── Microsoft.Azure.Kinect.Sensor.UnitTests.csproj
│ │ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ │ ├── StructureTests.cs
│ │ │ └── TestCalibration.json
│ ├── k4a.props
│ └── stylecop.json
├── deloader
│ ├── CMakeLists.txt
│ └── deloader.cpp
├── depth
│ ├── CMakeLists.txt
│ └── depth.c
├── depth_mcu
│ ├── CMakeLists.txt
│ ├── depth_mcu.c
│ └── depthcommands.h
├── dewrapper
│ ├── CMakeLists.txt
│ └── dewrapper.c
├── dynlib
│ ├── CMakeLists.txt
│ ├── dynlib_linux.c
│ └── dynlib_windows.c
├── firmware
│ ├── CMakeLists.txt
│ └── firmware.c
├── global
│ ├── CMakeLists.txt
│ └── global.c
├── image
│ ├── CMakeLists.txt
│ └── image.c
├── imu
│ ├── CMakeLists.txt
│ └── imu.c
├── logging
│ ├── CMakeLists.txt
│ └── logging.cpp
├── math
│ ├── CMakeLists.txt
│ └── math.c
├── orbbec
│ ├── .gitignore
│ ├── CMakeLists.txt
│ ├── dll_main.c
│ ├── docs
│ │ ├── .gitignore
│ │ ├── Access_AKDK_Application_Software_with_Femto_Bolt.pdf
│ │ ├── CMakeLists.txt
│ │ ├── Doxyfile.in
│ │ ├── api_reference_main_page.md
│ │ └── resource
│ │ │ ├── OrbbecSDKK4AWrapper.png
│ │ │ └── orbbec_logo.png
│ ├── frame_queue
│ │ ├── CMakeLists.txt
│ │ └── frame_queue.c
│ ├── imu_sync
│ │ ├── CMakeLists.txt
│ │ └── imusync.c
│ ├── include
│ │ ├── frame_queue.h
│ │ ├── imusync.h
│ │ ├── ob_type_helper.hpp
│ │ └── obmetadata.h
│ ├── ob_k4a_impl.cpp
│ ├── ob_type_helper.cpp
│ └── record
│ │ ├── CMakeLists.txt
│ │ ├── internal
│ │ ├── CMakeLists.txt
│ │ ├── iocallback.cpp
│ │ ├── matroska_write.cpp
│ │ ├── ob_matroska_read.cpp
│ │ └── ob_matroska_read.h
│ │ └── sdk
│ │ ├── CMakeLists.txt
│ │ ├── dll_main.c
│ │ ├── playback.cpp
│ │ └── record.cpp
├── queue
│ ├── CMakeLists.txt
│ └── queue.c
├── record
│ ├── CMakeLists.txt
│ ├── internal
│ │ ├── CMakeLists.txt
│ │ ├── iocallback.cpp
│ │ ├── matroska_read.cpp
│ │ └── matroska_write.cpp
│ └── sdk
│ │ ├── CMakeLists.txt
│ │ ├── dll_main.c
│ │ ├── playback.cpp
│ │ └── record.cpp
├── rwlock
│ ├── CMakeLists.txt
│ ├── rwlock_linux.c
│ └── rwlock_win32.c
├── sdk
│ ├── CMakeLists.txt
│ ├── dll_main.c
│ └── k4a.c
├── tewrapper
│ ├── CMakeLists.txt
│ └── tewrapper.c
├── transformation
│ ├── CMakeLists.txt
│ ├── extrinsic_transformation.c
│ ├── intrinsic_transformation.c
│ ├── mode_specific_calibration.c
│ ├── rgbz.c
│ └── transformation.c
└── usbcommand
│ ├── CMakeLists.txt
│ ├── usb_cmd_priv.h
│ ├── usbcommand.c
│ └── usbstreaming.c
├── tests
├── CMakeLists.txt
├── Calibration
│ ├── CMakeLists.txt
│ └── calibration.cpp
├── CaptureSync
│ ├── CMakeLists.txt
│ └── capturesync.cpp
├── ColorTests
│ ├── CMakeLists.txt
│ ├── FunctionalTest
│ │ ├── CMakeLists.txt
│ │ └── color_ft.cpp
│ └── UnitTest
│ │ ├── CMakeLists.txt
│ │ ├── color_mock_libuvc.cpp
│ │ ├── color_mock_libuvc.h
│ │ ├── color_mock_mediafoundation.cpp
│ │ ├── color_mock_mediafoundation.h
│ │ ├── color_mock_windows.cpp
│ │ ├── color_mock_windows.def
│ │ ├── color_mock_windows.h
│ │ └── color_ut.cpp
├── DepthTests
│ ├── CMakeLists.txt
│ ├── FunctionalTest
│ │ ├── CMakeLists.txt
│ │ └── depth_ft.cpp
│ └── UnitTest
│ │ ├── CMakeLists.txt
│ │ └── depth_ut.cpp
├── ExternLibraries
│ ├── CMakeLists.txt
│ └── azure_c_shared
│ │ ├── CMakeLists.txt
│ │ ├── main.cpp
│ │ └── threading.cpp
├── FirmwareTests
│ ├── CMakeLists.txt
│ ├── firmware_fw.cpp
│ ├── firmware_helper.cpp
│ ├── firmware_helper.h
│ └── firmware_interrupt_fw.cpp
├── IMUTests
│ ├── CMakeLists.txt
│ ├── FunctionalTest
│ │ ├── CMakeLists.txt
│ │ └── imu_ft.cpp
│ └── UnitTest
│ │ ├── CMakeLists.txt
│ │ └── imu_ut.cpp
├── RecordTests
│ ├── CMakeLists.txt
│ ├── FunctionalTest
│ │ ├── CMakeLists.txt
│ │ └── k4a_cpp_ft.cpp
│ └── UnitTest
│ │ ├── CMakeLists.txt
│ │ ├── custom_track_ut.cpp
│ │ ├── playback_perf.cpp
│ │ ├── playback_ut.cpp
│ │ ├── record_ut.cpp
│ │ ├── sample_recordings.cpp
│ │ ├── test_helpers.cpp
│ │ └── test_helpers.h
├── TestUtil
│ ├── CMakeLists.txt
│ ├── Capture.cpp
│ ├── Capture.h
│ ├── Cli.h
│ ├── CliEng.c
│ ├── Example.c
│ ├── Example.h
│ ├── Main.cpp
│ ├── Main.h
│ ├── UsbCmd.c
│ ├── UsbCmd.h
│ ├── k4aCmd.c
│ └── k4aCmd.h
├── Transformation
│ ├── CMakeLists.txt
│ └── transformation.cpp
├── UnitTests
│ ├── CMakeLists.txt
│ ├── allocator_ut
│ │ ├── CMakeLists.txt
│ │ └── allocator.cpp
│ ├── depthmcu_ut
│ │ ├── CMakeLists.txt
│ │ └── depthmcu_ut.cpp
│ ├── dynlib_ut
│ │ ├── CMakeLists.txt
│ │ ├── dynlib.cpp
│ │ └── testdynlib.c
│ ├── handle_ut
│ │ ├── CMakeLists.txt
│ │ ├── handle2_ut.cpp
│ │ ├── handle3_ut.c
│ │ ├── handle_ut.cpp
│ │ └── handle_ut.h
│ ├── queue_ut
│ │ ├── CMakeLists.txt
│ │ └── queue.cpp
│ └── utcommon
│ │ ├── CMakeLists.txt
│ │ ├── inc
│ │ ├── ut_calibration_data.h
│ │ └── utcommon.h
│ │ └── utcommon.cpp
├── Utilities
│ ├── CMakeLists.txt
│ └── ConnEx
│ │ ├── CMakeLists.txt
│ │ ├── ConnEx.cpp
│ │ └── ConnEx.h
├── example
│ ├── CMakeLists.txt
│ └── test.cpp
├── executables
│ ├── CMakeLists.txt
│ └── executables_ft.cpp
├── global
│ ├── CMakeLists.txt
│ └── global.cpp
├── latency
│ ├── CMakeLists.txt
│ └── latency_perf.cpp
├── logging
│ ├── CMakeLists.txt
│ └── logging_ut.cpp
├── multidevice
│ ├── CMakeLists.txt
│ └── multidevice.cpp
├── projections
│ ├── CMakeLists.txt
│ └── cpp
│ │ ├── CMakeLists.txt
│ │ └── cpp_projection_ft.cpp
├── rwlock
│ ├── CMakeLists.txt
│ └── rwlock.cpp
└── throughput
│ ├── CMakeLists.txt
│ └── throughput_perf.cpp
├── tools
├── CMakeLists.txt
├── deversion
│ ├── CMakeLists.txt
│ ├── README.md
│ └── main.c
├── k4afastcapture_streaming
│ ├── CMakeLists.txt
│ ├── README.md
│ ├── k4afastcapture.cpp
│ ├── k4afastcapture.h
│ └── main.cpp
├── k4afastcapture_trigger
│ ├── CMakeLists.txt
│ ├── README.md
│ └── trigger.cpp
├── k4arecorder
│ ├── CMakeLists.txt
│ ├── README.md
│ ├── cmdparser.h
│ ├── k4arecorder.vcxproj
│ ├── main.cpp
│ ├── recorder.cpp
│ └── recorder.h
├── k4aviewer
│ ├── CMakeLists.txt
│ ├── README.md
│ ├── filesystem17.h
│ ├── gpudepthtopointcloudconverter.cpp
│ ├── gpudepthtopointcloudconverter.h
│ ├── ik4adockcontrol.h
│ ├── ik4aimageconverter.h
│ ├── ik4aobserver.h
│ ├── ik4avisualizationwindow.h
│ ├── k4aaudiochanneldatagraph.cpp
│ ├── k4aaudiochanneldatagraph.h
│ ├── k4aaudiomanager.cpp
│ ├── k4aaudiomanager.h
│ ├── k4aaudiowindow.cpp
│ ├── k4aaudiowindow.h
│ ├── k4acolorimageconverter.cpp
│ ├── k4acolorimageconverter.h
│ ├── k4aconvertingimagesource.h
│ ├── k4adatasource.h
│ ├── k4adepthimageconverter.h
│ ├── k4adepthimageconverterbase.h
│ ├── k4adepthpixelcolorizer.h
│ ├── k4adevicecorrelator.h
│ ├── k4adevicedockcontrol.cpp
│ ├── k4adevicedockcontrol.h
│ ├── k4afilepicker.cpp
│ ├── k4afilepicker.h
│ ├── k4aframeratetracker.h
│ ├── k4aimageextractor.h
│ ├── k4aimgui_all.h
│ ├── k4aimguiextensions.cpp
│ ├── k4aimguiextensions.h
│ ├── k4aimugraph.cpp
│ ├── k4aimugraph.h
│ ├── k4aimugraphdatagenerator.cpp
│ ├── k4aimugraphdatagenerator.h
│ ├── k4aimuwindow.cpp
│ ├── k4aimuwindow.h
│ ├── k4ainfraredimageconverter.h
│ ├── k4alogdockcontrol.cpp
│ ├── k4alogdockcontrol.h
│ ├── k4amicrophone.cpp
│ ├── k4amicrophone.h
│ ├── k4amicrophonelistener.cpp
│ ├── k4amicrophonelistener.h
│ ├── k4anonbufferingcapturesource.h
│ ├── k4apixel.h
│ ├── k4apointcloudrenderer.cpp
│ ├── k4apointcloudrenderer.h
│ ├── k4apointcloudshaders.h
│ ├── k4apointcloudviewcontrol.cpp
│ ├── k4apointcloudviewcontrol.h
│ ├── k4apointcloudvisualizer.cpp
│ ├── k4apointcloudvisualizer.h
│ ├── k4apointcloudwindow.cpp
│ ├── k4apointcloudwindow.h
│ ├── k4apollingthread.h
│ ├── k4arecordingdockcontrol.cpp
│ ├── k4arecordingdockcontrol.h
│ ├── k4aringbuffer.h
│ ├── k4asoundio_util.h
│ ├── k4asourceselectiondockcontrol.cpp
│ ├── k4asourceselectiondockcontrol.h
│ ├── k4astaticimageproperties.h
│ ├── k4atypeoperators.cpp
│ ├── k4atypeoperators.h
│ ├── k4avideowindow.cpp
│ ├── k4avideowindow.h
│ ├── k4aviewer.cpp
│ ├── k4aviewer.h
│ ├── k4aviewererrormanager.cpp
│ ├── k4aviewererrormanager.h
│ ├── k4aviewerimage.cpp
│ ├── k4aviewerimage.h
│ ├── k4aviewerlogmanager.cpp
│ ├── k4aviewerlogmanager.h
│ ├── k4aviewersettingsmanager.cpp
│ ├── k4aviewersettingsmanager.h
│ ├── k4aviewerutil.h
│ ├── k4awindowdock.cpp
│ ├── k4awindowdock.h
│ ├── k4awindowmanager.cpp
│ ├── k4awindowmanager.h
│ ├── k4awindowset.cpp
│ ├── k4awindowset.h
│ ├── k4awindowsizehelpers.h
│ ├── linmath.h
│ ├── main.cpp
│ ├── openglhelpers.h
│ ├── perfcounter.cpp
│ ├── perfcounter.h
│ └── platform
│ │ ├── linux
│ │ ├── filesystem17.cpp
│ │ └── k4adevicecorrelator.cpp
│ │ └── windows
│ │ ├── filesystem17.cpp
│ │ ├── k4adevicecorrelator.cpp
│ │ └── wmain.cpp
└── updater
│ ├── CMakeLists.txt
│ └── main.c
└── version.rc.in
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Set the default behavior, in case people don't have core.autocrlf set.
2 | * text=auto
3 | # Declare files that will always have CRLF line endings on checkout.
4 | *.sln text eol=crlf
5 | *.csproj text eol=crlf
6 | *.vcxproj text eol=crlf
7 | *.vcproj text eol=crlf
8 | *.cmd text eol=crlf
9 | # Declare files that will always have LF line endings on checkout.
10 | *.sh text eol=lf
11 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/1-sensor-sdk-bug-report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Sensor SDK Bug report
3 | about: Create a report to help us improve
4 | title: ''
5 | labels: Bug, Triage Needed
6 | assignees: ''
7 |
8 | ---
9 |
10 |
15 |
16 | **Describe the bug**
17 |
18 |
19 | **To Reproduce**
20 |
25 |
26 | **Expected behavior**
27 |
28 |
29 | **Logs**
30 |
32 |
33 | **Screenshots**
34 |
35 |
36 | **Desktop (please complete the following information):**
37 | - OS with Version:
38 | - SDK Version:
39 | - Firmware version:
40 |
41 | **Additional context**
42 |
43 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/2-body-tracking-bug-report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Body Tracking Bug report
3 | about: Create a report to help us improve Body Tracking
4 | title: ''
5 | labels: Bug, Triage Needed, Body Tracking
6 | assignees: ''
7 |
8 | ---
9 |
10 |
15 |
16 | **Describe the bug**
17 |
18 |
19 | **To Reproduce**
20 |
25 |
26 | **Expected behavior**
27 |
28 |
29 | **Logs**
30 |
32 |
33 | **Screenshots**
34 |
35 |
36 | **Desktop (please complete the following information):**
37 | - OS with Version:
38 | - SDK Version:
39 | - Firmware version:
40 |
41 | **Additional context**
42 |
43 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/3-code-sample-bug-report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Code Sample Bug report
3 | about: Create a report to help us improve
4 | title: ''
5 | labels: Bug, Triage Needed, Code Sample
6 | assignees: ''
7 |
8 | ---
9 |
10 |
15 |
16 | **Describe the bug**
17 |
18 |
19 | **To Reproduce**
20 |
25 |
26 | **Expected behavior**
27 |
28 |
29 | **Logs**
30 |
32 |
33 | **Screenshots**
34 |
35 |
36 | **Desktop (please complete the following information):**
37 | - OS with Version:
38 | - SDK Version:
39 | - Firmware version:
40 |
41 | **Additional context**
42 |
43 |
--------------------------------------------------------------------------------
/.github/pull_request_template.md:
--------------------------------------------------------------------------------
1 |
5 | ## Fixes #
6 |
7 | ### Description of the changes:
8 | -
9 | -
10 | -
11 |
12 |
13 | ### Before submitting a Pull Request:
14 | - [ ] I reviewed [CONTRIBUTING.md](https://github.com/Microsoft/Azure-Kinect-Sensor-SDK/blob/develop/CONTRIBUTING.md)
15 | - [ ] I [built my changes](https://github.com/Microsoft/Azure-Kinect-Sensor-SDK/blob/develop/docs/building.md) locally
16 | - [ ] I ran the [unit tests](https://github.com/Microsoft/Azure-Kinect-Sensor-SDK/blob/develop/docs/testing.md)
17 | - [ ] I ran the [functional tests](https://github.com/Microsoft/Azure-Kinect-Sensor-SDK/blob/develop/docs/testing.md) with a device
18 | - [ ] I ran the [performance tests](https://github.com/Microsoft/Azure-Kinect-Sensor-SDK/blob/develop/docs/testing.md) with a device
19 |
20 | ### I tested changes on:
21 | - [ ] Windows
22 | - [ ] Linux
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/.github/workflows/ubuntu-build.yml:
--------------------------------------------------------------------------------
1 | name: C/C++ CI
2 |
3 | on:
4 | push:
5 | branches: [ "ob/feature/1.1.x" ]
6 | pull_request:
7 | branches: [ "ob/feature/1.1.x" ]
8 |
9 | jobs:
10 | build:
11 |
12 | runs-on: ubuntu-latest
13 |
14 | steps:
15 | - uses: actions/checkout@v3
16 | - name: pull submodule
17 | run: git submodule update
18 | - name: cmake
19 | run: mkdir build && cd build && cmake ..
20 | - name: make
21 | run: cd build && make
22 |
--------------------------------------------------------------------------------
/CODE_OF_CONDUCT.md:
--------------------------------------------------------------------------------
1 | # Code of Conduct
2 |
3 | This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
4 | For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/)
5 | or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or
6 | comments.
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) Microsoft Corporation. All rights reserved.
2 |
3 | MIT License
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
--------------------------------------------------------------------------------
/StubGenerator.xml.in:
--------------------------------------------------------------------------------
1 |
2 | @CMAKE_CXX_COMPILER@
3 | @CMAKE_LINKER@
4 | $ENV{INCLUDE}
5 | $ENV{LIB}
6 |
--------------------------------------------------------------------------------
/VersionInfo.cs.in:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // Copyright (c) Microsoft Corporation. All rights reserved.
4 | // Licensed under the MIT License.
5 | //
6 | //------------------------------------------------------------------------------
7 | using System;
8 | using System.Reflection;
9 |
10 | // General Information about an assembly is controlled through the following
11 | // set of attributes. Change these attribute values to modify the information
12 | // associated with an assembly.
13 | #if DEBUG
14 | [assembly: AssemblyConfiguration("Debug")]
15 | #else
16 | [assembly: AssemblyConfiguration("Release")]
17 | #endif
18 |
19 | [assembly: AssemblyProduct("@K4A_PRODUCTNAME@")]
20 | [assembly: AssemblyCompany("@K4A_COMPANYNAME@")]
21 | [assembly: AssemblyCopyright("Copyright (c) Microsoft Corporation. All rights reserved.")]
22 | [assembly: AssemblyTrademark("")]
23 |
24 | [assembly: CLSCompliant(true)]
25 |
26 | // This is the shared assembly version file for all of our assemblies.
27 | [assembly: AssemblyVersion("@K4A_VERSION_MAJOR@.@K4A_VERSION_MINOR@.@K4A_VERSION_PATCH@.0")]
28 | [assembly: AssemblyFileVersion("@VERSION_STR@.@K4A_VERSION_REVISION@")]
29 | [assembly: AssemblyInformationalVersion("@VERSION_STR@.@K4A_VERSION_REVISION@")]
30 |
--------------------------------------------------------------------------------
/cmake/DefaultBuildType.cmake:
--------------------------------------------------------------------------------
1 | # Set a default build type if none was specified
2 | # Taken from kitware's blog
3 | # https://blog.kitware.com/cmake-and-the-default-build-type/
4 | # Note: The CMake Windows-MSVC.cmake file, will set the build type to Debug by
5 | # default. So this will only work on builds with clang or gcc
6 | set(default_build_type "RelWithDebInfo")
7 |
8 | if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
9 | message(STATUS "Setting build type to '${default_build_type}' as none was specified.")
10 | set(CMAKE_BUILD_TYPE "${default_build_type}" CACHE
11 | STRING "Choose the build type")
12 | # Set the possible values of build type for cmake-gui
13 | set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS
14 | "Debug" "Release" "MinSizeRel" "RelWithDebInfo")
15 | endif()
--------------------------------------------------------------------------------
/cmake/FetchContent/CMakeLists.cmake.in:
--------------------------------------------------------------------------------
1 | # Distributed under the OSI-approved BSD 3-Clause License. See accompanying
2 | # file Copyright.txt or https://cmake.org/licensing for details.
3 |
4 | cmake_minimum_required(VERSION ${CMAKE_VERSION})
5 |
6 | # We name the project and the target for the ExternalProject_Add() call
7 | # to something that will highlight to the user what we are working on if
8 | # something goes wrong and an error message is produced.
9 |
10 | project(${contentName}-populate NONE)
11 |
12 | include(ExternalProject)
13 | ExternalProject_Add(${contentName}-populate
14 | ${ARG_EXTRA}
15 | SOURCE_DIR "${ARG_SOURCE_DIR}"
16 | BINARY_DIR "${ARG_BINARY_DIR}"
17 | CONFIGURE_COMMAND ""
18 | BUILD_COMMAND ""
19 | INSTALL_COMMAND ""
20 | TEST_COMMAND ""
21 | )
22 |
--------------------------------------------------------------------------------
/cmake/FindEbml.cmake:
--------------------------------------------------------------------------------
1 | # Ebml is already in the project, this forces libmatroska to see it
--------------------------------------------------------------------------------
/cmake/FindOpenCV.cmake:
--------------------------------------------------------------------------------
1 | if (OpenCV_FIND_REQUIRED)
2 | set (OpenCV_REQ_FLAG "REQUIRED")
3 | else()
4 | set (OpenCV_REQ_FLAG)
5 | endif()
6 |
7 | if ("${CMAKE_SYSTEM_NAME}" STREQUAL "Windows")
8 | find_package (OpenCV CONFIG PATHS "C:/opencv/build/x64/vc14/lib" ${OpenCV_REQ_FLAG})
9 | else()
10 | find_package (OpenCV CONFIG ${OpenCV_REQ_FLAG})
11 | endif ()
--------------------------------------------------------------------------------
/cmake/MSVCLinkerFlags.cmake:
--------------------------------------------------------------------------------
1 | # Copyright (c) Microsoft Corporation. All rights reserved.
2 | # Licensed under the MIT License.
3 |
4 | # Make sure incremental linking is turned off, for valid pdb <-> exe checksums
5 |
6 | set(INCREMENTAL_REGEX "/INCREMENTAL(:[A-Z0-9]+)?")
7 |
8 | string(REGEX REPLACE "${INCREMENTAL_REGEX}" "" CMAKE_SHARED_LINKER_FLAGS ${CMAKE_SHARED_LINKER_FLAGS})
9 | set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /INCREMENTAL:NO")
10 |
11 | string(REGEX REPLACE "${INCREMENTAL_REGEX}" "" CMAKE_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS})
12 | set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /INCREMENTAL:NO")
13 |
14 | string(REGEX REPLACE "${INCREMENTAL_REGEX}" "" CMAKE_SHARED_LINKER_FLAGS_DEBUG ${CMAKE_SHARED_LINKER_FLAGS_DEBUG})
15 | set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "${CMAKE_SHARED_LINKER_FLAGS_DEBUG} /INCREMENTAL:NO")
16 |
17 | string(REGEX REPLACE "${INCREMENTAL_REGEX}" "" CMAKE_EXE_LINKER_FLAGS_DEBUG ${CMAKE_EXE_LINKER_FLAGS_DEBUG})
18 | set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} /INCREMENTAL:NO")
19 |
20 | string(REGEX REPLACE "${INCREMENTAL_REGEX}" "" CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO ${CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO})
21 | set(CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO} /INCREMENTAL:NO")
22 |
23 | string(REGEX REPLACE "${INCREMENTAL_REGEX}" "" CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO ${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO})
24 | set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO} /INCREMENTAL:NO")
25 |
--------------------------------------------------------------------------------
/cmake/k4aConfig.cmake.in:
--------------------------------------------------------------------------------
1 | # Copyright (c) Microsoft Corporation. All rights reserved.
2 | # Licensed under the MIT License.
3 |
4 | include(CMakeFindDependencyMacro)
5 |
6 | # Add the targets file
7 | include("${CMAKE_CURRENT_LIST_DIR}/k4aTargets.cmake")
--------------------------------------------------------------------------------
/cmake/k4arecordConfig.cmake.in:
--------------------------------------------------------------------------------
1 | # Copyright (c) Microsoft Corporation. All rights reserved.
2 | # Licensed under the MIT License.
3 |
4 | include(CMakeFindDependencyMacro)
5 |
6 | # Add the targets file
7 | include("${CMAKE_CURRENT_LIST_DIR}/k4arecordTargets.cmake")
8 |
--------------------------------------------------------------------------------
/cmake/toolchains/arm64-linux-clang.cmake:
--------------------------------------------------------------------------------
1 | # Copyright (c) Microsoft Corporation. All rights reserved.
2 | # Licensed under the MIT License.
3 |
4 | # the name of the target OS and arch
5 | SET(CMAKE_SYSTEM_NAME Linux)
6 | SET(CMAKE_SYSTEM_PROCESSOR arm64)
7 | SET(triple aarch64-linux-gnu)
8 |
9 | # which compilers to use
10 | SET(CMAKE_C_COMPILER "clang-6.0")
11 | SET(CMAKE_C_COMPILER_TARGET ${triple})
12 | SET(CMAKE_CXX_COMPILER "clang++-6.0")
13 | SET(CMAKE_CXX_COMPILER_TARGET ${triple})
14 |
15 | # Tell pkgconfig to use aarch64
16 | SET(ENV{PKG_CONFIG_PATH} "/usr/lib/aarch64-linux-gnu/pkgconfig")
17 |
18 | # Tell CMake to use qemu to emulate
19 | # Note: This should be automatically done by Ubuntu using binfmt_misc, but that
20 | # seems to be broken on WSL (https://github.com/microsoft/WSL/issues/2620) so
21 | # explicitly setting the emulator for now.
22 | SET(CMAKE_CROSSCOMPILING_EMULATOR qemu-aarch64-static)
23 |
--------------------------------------------------------------------------------
/cmake/toolchains/arm64-linux-gnu.cmake:
--------------------------------------------------------------------------------
1 | # Copyright (c) Microsoft Corporation. All rights reserved.
2 | # Licensed under the MIT License.
3 |
4 | # the name of the target OS and arch
5 | SET(CMAKE_SYSTEM_NAME Linux)
6 | SET(CMAKE_SYSTEM_PROCESSOR arm64)
7 |
8 | # which compilers to use
9 | SET(CMAKE_C_COMPILER aarch64-linux-gnu-gcc)
10 | SET(CMAKE_CXX_COMPILER aarch64-linux-gnu-g++)
11 |
12 | # Tell pkgconfig to use arm64
13 | SET(ENV{PKG_CONFIG_PATH} "/usr/lib/aarch64-linux-gnu/pkgconfig")
14 |
15 | # Tell CMake to use qemu to emulate
16 | # Note: This should be automatically done by Ubuntu using binfmt_misc, but that
17 | # seems to be broken on WSL (https://github.com/microsoft/WSL/issues/2620) so
18 | # explicitly setting the emulator for now.
19 | SET(CMAKE_CROSSCOMPILING_EMULATOR qemu-aarch64-static)
20 |
--------------------------------------------------------------------------------
/cmake/toolchains/i386-linux-clang.cmake:
--------------------------------------------------------------------------------
1 | # Copyright (c) Microsoft Corporation. All rights reserved.
2 | # Licensed under the MIT License.
3 |
4 | # the name of the target OS and arch
5 | SET(CMAKE_SYSTEM_NAME Linux)
6 | SET(CMAKE_SYSTEM_PROCESSOR i386)
7 |
8 | # which compilers to use
9 | SET(CMAKE_C_COMPILER "clang-6.0")
10 | SET(CMAKE_C_FLAGS -m32)
11 | SET(CMAKE_CXX_COMPILER "clang++-6.0")
12 | SET(CMAKE_CXX_FLAGS -m32)
13 |
14 | # save flags to cache
15 | SET(CMAKE_C_FLAGS ${CMAKE_C_FLAGS} CACHE STRING "C Flags" FORCE)
16 | SET(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} CACHE STRING "C++ Flags" FORCE)
17 |
18 | # Tell pkgconfig to use i386
19 | SET(ENV{PKG_CONFIG_PATH} "/usr/lib/i386-linux-gnu/pkgconfig")
20 |
--------------------------------------------------------------------------------
/cmake/toolchains/i386-linux-gnu.cmake:
--------------------------------------------------------------------------------
1 | # Copyright (c) Microsoft Corporation. All rights reserved.
2 | # Licensed under the MIT License.
3 |
4 | # the name of the target OS and arch
5 | SET(CMAKE_SYSTEM_NAME Linux)
6 | SET(CMAKE_SYSTEM_PROCESSOR i386)
7 |
8 | # which compilers to use
9 | SET(CMAKE_C_COMPILER gcc)
10 | SET(CMAKE_C_FLAGS -m32)
11 | SET(CMAKE_CXX_COMPILER g++)
12 | SET(CMAKE_CXX_FLAGS -m32)
13 |
14 | # save flags to cache
15 | SET(CMAKE_C_FLAGS ${CMAKE_C_FLAGS} CACHE STRING "C Flags" FORCE)
16 | SET(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} CACHE STRING "C++ Flags" FORCE)
17 |
18 | # Tell pkgconfig to use i386
19 | SET(ENV{PKG_CONFIG_PATH} "/usr/lib/i386-linux-gnu/pkgconfig")
20 |
--------------------------------------------------------------------------------
/cmake/toolchains/x86_64-linux-clang.cmake:
--------------------------------------------------------------------------------
1 | # Copyright (c) Microsoft Corporation. All rights reserved.
2 | # Licensed under the MIT License.
3 |
4 | # the name of the target OS and arch
5 | SET(CMAKE_SYSTEM_NAME Linux)
6 | SET(CMAKE_SYSTEM_PROCESSOR x86_64)
7 | SET(triple x86_64-linux-gnu)
8 |
9 | # which compilers to use
10 | SET(CMAKE_C_COMPILER "clang-6.0")
11 | SET(CMAKE_C_COMPILER_TARGET ${triple})
12 | SET(CMAKE_CXX_COMPILER "clang++-6.0")
13 | SET(CMAKE_CXX_COMPILER_TARGET ${triple})
14 |
15 | # save flags to cache
16 | SET(CMAKE_C_FLAGS ${CMAKE_C_FLAGS} CACHE STRING "C Flags" FORCE)
17 | SET(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} CACHE STRING "C++ Flags" FORCE)
18 |
19 | # Tell pkgconfig to use x86_64
20 | SET(ENV{PKG_CONFIG_PATH} "/usr/lib/x86_64-linux-gnu/pkgconfig")
21 |
--------------------------------------------------------------------------------
/cmake/toolchains/x86_64-linux-gnu.cmake:
--------------------------------------------------------------------------------
1 | # Copyright (c) Microsoft Corporation. All rights reserved.
2 | # Licensed under the MIT License.
3 |
4 | # the name of the target OS and arch
5 | SET(CMAKE_SYSTEM_NAME Linux)
6 | SET(CMAKE_SYSTEM_PROCESSOR x86_64)
7 |
8 | # which compilers to use
9 | SET(CMAKE_C_COMPILER gcc)
10 | SET(CMAKE_C_FLAGS -m64)
11 | SET(CMAKE_CXX_COMPILER g++)
12 | SET(CMAKE_CXX_FLAGS -m64)
13 |
14 | # save flags to cache
15 | SET(CMAKE_C_FLAGS ${CMAKE_C_FLAGS} CACHE STRING "C Flags" FORCE)
16 | SET(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} CACHE STRING "C++ Flags" FORCE)
17 |
18 | # Tell pkgconfig to use x86_64
19 | SET(ENV{PKG_CONFIG_PATH} "/usr/lib/x86_64-linux-gnu/pkgconfig")
20 |
--------------------------------------------------------------------------------
/docs/Access_AKDK_Application_Software_with_Femto_Bolt.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/orbbec/OrbbecSDK-K4A-Wrapper/23b10a72fb6b0a30b9759bd5284bb46b32db2fea/docs/Access_AKDK_Application_Software_with_Femto_Bolt.pdf
--------------------------------------------------------------------------------
/docs/dependencies.md:
--------------------------------------------------------------------------------
1 | # External Dependencies
2 |
3 | The Azure Kinect repo consumes external dependencies through compiling from source.
4 | It is preferred to build from source when possible due to the lack of
5 | standard package management on Windows.
6 |
7 | ## Building from Source
8 |
9 | To build from source, the Azure Kinect repo must first download the source.
10 |
11 | The Azure Kinect repo uses git submodules to download the source. These submodules are
12 | initialized on the first CMake configure by executing
13 |
14 | ```
15 | git submodule update --init --recursive
16 | ```
17 |
18 | CMake will also set the submodules.recurse configuration so that all git
19 | commands which can recurse to submodules will in the future. Users can turn
20 | this off if they would like but do so at their own risk.
21 |
22 | Previously, CMake's FetchContent module was used to download external
23 | dependencies but there was a large performance hit on reconfiguration which
24 | forced the usage of git submodules.
25 |
26 | All the submodules are cloned into ./extern/project_name/src. A
27 | CMakeLists.txt exists in ./extern/project_name which contains the logic
28 | to add the project as a target to the Azure Kinect build graph.
29 |
30 | ## Linking against pre-built binaries
31 |
32 | In order to link against pre-built binaries, those binaries must exist on
33 | disk. Use of a package manager is expected for the typical case of getting
34 | these binaries. On Windows, CMake's FetchContent can be used.
35 |
36 | Once the binaries are downloaded it is up to the programmer to properly
37 | generate a CMake target for the library (if the package doesn't include one
38 | already)
39 |
--------------------------------------------------------------------------------
/docs/depthengine.md:
--------------------------------------------------------------------------------
1 | # Depth Engine
2 |
3 | The Azure Kinect Sensor SDK open source project does not include the depth engine which
4 | converts raw sensor data in to a normalized depth map.
5 |
6 | The depth engine is specific to the sensor in the Azure Kinect DK hardware.
7 |
8 | The depth engine is not licensed under MIT as it contains proprietary code which is why it
9 | can't be included in the Azure Kinect Sensor SDK project directly.
10 |
11 | ## Obtaining the Depth Engine
12 |
13 | The depth engine is distributed as part of all Azure Kinect Sensor SDK binary releases.
14 | If you are building the sensor SDK from source, you will need to obtain a copy from a binary
15 | release to read data from a device.
16 |
17 | ### Windows
18 |
19 | If you have run the windows binary installer (see the Azure Kinect DK public
20 | documentation for details), you can get a copy of the depth engine from
21 | `%Program Files%\Azure Kinect
22 | SDK\sdk\windows-desktop\amd64\release\bin\depthengine__.dll`.
23 |
24 | The depth engine must be in your %PATH% or located next to k4a.dll for the SDK
25 | to decode frames from the Azure Kinect DK.
26 |
27 | ### Linux
28 |
29 | The depth engine binary is part of the `libk4a.` debian package.
30 | If you have installed the `libk4a.` debian package,
31 | libdepthengine will be installed in your library path. If you have not (or can
32 | not) you can extract libdepthengine from the download debian package found
33 | [here](https://packages.microsoft.com/ubuntu/18.04/prod/pool/main/libk/).
34 |
--------------------------------------------------------------------------------
/docs/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/orbbec/OrbbecSDK-K4A-Wrapper/23b10a72fb6b0a30b9759bd5284bb46b32db2fea/docs/logo.png
--------------------------------------------------------------------------------
/docs/versioning.md:
--------------------------------------------------------------------------------
1 | # Versioning
2 |
3 | This describes the versioning scheme used for the Azure SDK and firmware.
4 |
5 | ## Azure Kinect SDK Versioning
6 |
7 | Azure Kinect uses [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
8 |
9 | * Increasing the major version indicates a breaking change has been made and a loss of functionality may result. The client application may require updates to use the new version.
10 | * Increasing the minor version indicates new features have been added in a backward compatible way.
11 | * Increasing the patch version (sometimes called iteration version) implies changes have been made to the binary in a backward compatible way.
12 |
13 | More details about release versioning can be found [here](releasing.md)
14 |
15 | ## Firmware Versioning
16 |
17 | The Azure Kinect firmware is composed of 4 different firmware versions. These firmware versions are exposed through
18 | `k4a_hardware_version_t`. Here is a sample of that hardware version:
19 |
20 | ```
21 | RGB Sensor Version: 1.6.98
22 | Depth Sensor Version:1.6.70
23 | Mic Array Version: 1.6.14
24 | Sensor Config: 5006.27
25 | ```
26 |
27 | This version can also be simplified as `1.6.098070014` where `098`, `070`,
28 | and `014` are the patch versions of each component version, converted to a
29 | zero-based 3 digit form, and concatenated.
30 |
--------------------------------------------------------------------------------
/doxygen/footer.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
12 |
13 |
14 |
19 |
20 |