Skip to content

Commit

Permalink
Merge pull request #21 from jdibenes/hl2ss-update
Browse files Browse the repository at this point in the history
hl2ss update
  • Loading branch information
jdibenes authored Jan 3, 2025
2 parents 9ffa1c5 + 67755ce commit c3fb4ae
Show file tree
Hide file tree
Showing 70 changed files with 2,457 additions and 2,068 deletions.
12 changes: 8 additions & 4 deletions hl2da/coprocessor/coprocessor.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -37,21 +37,24 @@
<ItemGroup>
<ClInclude Include="..\hl2da\converter.h" />
<ClInclude Include="..\hl2da\custom_audio_effect.h" />
<ClInclude Include="..\hl2da\custom_media_types.h" />
<ClInclude Include="..\hl2da\custom_video_effect.h" />
<ClInclude Include="..\hl2da\extended_audio.h" />
<ClInclude Include="..\hl2da\extended_execution.h" />
<ClInclude Include="..\hl2da\extended_eye_tracking.h" />
<ClInclude Include="..\hl2da\extended_video.h" />
<ClInclude Include="..\hl2da\frame_buffer.h" />
<ClInclude Include="..\hl2da\ipl.h" />
<ClInclude Include="..\hl2da\locator.h" />
<ClInclude Include="..\hl2da\lock.h" />
<ClInclude Include="..\hl2da\log.h" />
<ClInclude Include="..\hl2da\microphone_capture.h" />
<ClInclude Include="..\hl2da\neon.h" />
<ClInclude Include="..\hl2da\nfo.h" />
<ClInclude Include="..\hl2da\personal_video.h" />
<ClInclude Include="..\hl2da\queue.h" />
<ClInclude Include="..\hl2da\research_mode.h" />
<ClInclude Include="..\hl2da\ring_buffer.h" />
<ClInclude Include="..\hl2da\server_ports.h" />
<ClInclude Include="..\hl2da\spatial_input.h" />
<ClInclude Include="..\hl2da\stream_ea.h" />
<ClInclude Include="..\hl2da\stream_ee.h" />
Expand All @@ -60,7 +63,7 @@
<ClInclude Include="..\hl2da\stream_pv.h" />
<ClInclude Include="..\hl2da\stream_rm.h" />
<ClInclude Include="..\hl2da\stream_si.h" />
<ClInclude Include="..\hl2da\timestamps.h" />
<ClInclude Include="..\hl2da\timestamp.h" />
<ClInclude Include="..\hl2da\types.h" />
<ClInclude Include="export.h" />
<ClInclude Include="hl2da_itc.h" />
Expand All @@ -74,11 +77,12 @@
<ClCompile Include="..\hl2da\extended_eye_tracking.cpp" />
<ClCompile Include="..\hl2da\extended_video.cpp" />
<ClCompile Include="..\hl2da\frame_buffer.cpp" />
<ClCompile Include="..\hl2da\ipl.cpp" />
<ClCompile Include="..\hl2da\locator.cpp" />
<ClCompile Include="..\hl2da\lock.cpp" />
<ClCompile Include="..\hl2da\log.cpp" />
<ClCompile Include="..\hl2da\main.cpp" />
<ClCompile Include="..\hl2da\microphone_capture.cpp" />
<ClCompile Include="..\hl2da\neon.cpp" />
<ClCompile Include="..\hl2da\nfo.cpp" />
<ClCompile Include="..\hl2da\personal_video.cpp" />
<ClCompile Include="..\hl2da\research_mode.cpp" />
Expand All @@ -90,7 +94,7 @@
<ClCompile Include="..\hl2da\stream_pv.cpp" />
<ClCompile Include="..\hl2da\stream_rm.cpp" />
<ClCompile Include="..\hl2da\stream_si.cpp" />
<ClCompile Include="..\hl2da\timestamps.cpp" />
<ClCompile Include="..\hl2da\timestamp.cpp" />
<ClCompile Include="depth.cpp" />
<ClCompile Include="transform.cpp" />
<ClCompile Include="effect.cpp" />
Expand Down
161 changes: 88 additions & 73 deletions hl2da/coprocessor/coprocessor.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -10,180 +10,195 @@
<Filter Include="Libraries">
<UniqueIdentifier>{da2d4563-d134-47f7-916d-fc87be4ff154}</UniqueIdentifier>
</Filter>
<Filter Include="Libraries\hl2da">
<UniqueIdentifier>{801998e8-145e-4a1f-99ab-c1d12d7d712a}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="hl2da_itc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="export.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\hl2da\converter.h">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClInclude>
<ClInclude Include="..\hl2da\custom_audio_effect.h">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClInclude>
<ClInclude Include="..\hl2da\custom_media_types.h">
<Filter>Libraries\hl2da</Filter>
</ClInclude>
<ClInclude Include="..\hl2da\custom_video_effect.h">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClInclude>
<ClInclude Include="..\hl2da\extended_audio.h">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClInclude>
<ClInclude Include="..\hl2da\extended_execution.h">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClInclude>
<ClInclude Include="..\hl2da\extended_eye_tracking.h">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClInclude>
<ClInclude Include="..\hl2da\extended_video.h">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClInclude>
<ClInclude Include="..\hl2da\frame_buffer.h">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClInclude>
<ClInclude Include="..\hl2da\ipl.h">
<Filter>Libraries\hl2da</Filter>
</ClInclude>
<ClInclude Include="..\hl2da\locator.h">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClInclude>
<ClInclude Include="..\hl2da\lock.h">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClInclude>
<ClInclude Include="..\hl2da\log.h">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClInclude>
<ClInclude Include="..\hl2da\microphone_capture.h">
<Filter>Libraries</Filter>
</ClInclude>
<ClInclude Include="..\hl2da\neon.h">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClInclude>
<ClInclude Include="..\hl2da\nfo.h">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClInclude>
<ClInclude Include="..\hl2da\personal_video.h">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClInclude>
<ClInclude Include="..\hl2da\queue.h">
<Filter>Libraries\hl2da</Filter>
</ClInclude>
<ClInclude Include="..\hl2da\research_mode.h">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClInclude>
<ClInclude Include="..\hl2da\ring_buffer.h">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClInclude>
<ClInclude Include="..\hl2da\server_ports.h">
<Filter>Libraries\hl2da</Filter>
</ClInclude>
<ClInclude Include="..\hl2da\spatial_input.h">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClInclude>
<ClInclude Include="..\hl2da\stream_ea.h">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClInclude>
<ClInclude Include="..\hl2da\stream_ee.h">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClInclude>
<ClInclude Include="..\hl2da\stream_ev.h">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClInclude>
<ClInclude Include="..\hl2da\stream_mc.h">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClInclude>
<ClInclude Include="..\hl2da\stream_pv.h">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClInclude>
<ClInclude Include="..\hl2da\stream_rm.h">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClInclude>
<ClInclude Include="..\hl2da\stream_si.h">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClInclude>
<ClInclude Include="..\hl2da\timestamps.h">
<Filter>Libraries</Filter>
<ClInclude Include="..\hl2da\timestamp.h">
<Filter>Libraries\hl2da</Filter>
</ClInclude>
<ClInclude Include="..\hl2da\types.h">
<Filter>Libraries</Filter>
</ClInclude>
<ClInclude Include="hl2da_itc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="export.h">
<Filter>Header Files</Filter>
<Filter>Libraries\hl2da</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="depth.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="transform.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="effect.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\hl2da\converter.cpp">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClCompile>
<ClCompile Include="..\hl2da\custom_audio_effect.cpp">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClCompile>
<ClCompile Include="..\hl2da\custom_video_effect.cpp">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClCompile>
<ClCompile Include="..\hl2da\extended_audio.cpp">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClCompile>
<ClCompile Include="..\hl2da\extended_execution.cpp">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClCompile>
<ClCompile Include="..\hl2da\extended_eye_tracking.cpp">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClCompile>
<ClCompile Include="..\hl2da\extended_video.cpp">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClCompile>
<ClCompile Include="..\hl2da\frame_buffer.cpp">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClCompile>
<ClCompile Include="..\hl2da\ipl.cpp">
<Filter>Libraries\hl2da</Filter>
</ClCompile>
<ClCompile Include="..\hl2da\locator.cpp">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClCompile>
<ClCompile Include="..\hl2da\lock.cpp">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClCompile>
<ClCompile Include="..\hl2da\log.cpp">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClCompile>
<ClCompile Include="..\hl2da\microphone_capture.cpp">
<Filter>Libraries</Filter>
<ClCompile Include="..\hl2da\main.cpp">
<Filter>Libraries\hl2da</Filter>
</ClCompile>
<ClCompile Include="..\hl2da\neon.cpp">
<Filter>Libraries</Filter>
<ClCompile Include="..\hl2da\microphone_capture.cpp">
<Filter>Libraries\hl2da</Filter>
</ClCompile>
<ClCompile Include="..\hl2da\nfo.cpp">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClCompile>
<ClCompile Include="..\hl2da\personal_video.cpp">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClCompile>
<ClCompile Include="..\hl2da\research_mode.cpp">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClCompile>
<ClCompile Include="..\hl2da\spatial_input.cpp">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClCompile>
<ClCompile Include="..\hl2da\stream_ea.cpp">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClCompile>
<ClCompile Include="..\hl2da\stream_ee.cpp">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClCompile>
<ClCompile Include="..\hl2da\stream_ev.cpp">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClCompile>
<ClCompile Include="..\hl2da\stream_mc.cpp">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClCompile>
<ClCompile Include="..\hl2da\stream_pv.cpp">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClCompile>
<ClCompile Include="..\hl2da\stream_rm.cpp">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClCompile>
<ClCompile Include="..\hl2da\stream_si.cpp">
<Filter>Libraries</Filter>
<Filter>Libraries\hl2da</Filter>
</ClCompile>
<ClCompile Include="..\hl2da\timestamps.cpp">
<Filter>Libraries</Filter>
</ClCompile>
<ClCompile Include="depth.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="transform.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="effect.cpp">
<Filter>Source Files</Filter>
<ClCompile Include="..\hl2da\timestamp.cpp">
<Filter>Libraries\hl2da</Filter>
</ClCompile>
</ItemGroup>
</Project>
39 changes: 35 additions & 4 deletions hl2da/hl2da/converter.cpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@

#include <mfapi.h>
#include "neon.h"
#include "log.h"
#include "research_mode.h"

#include <winrt/Windows.Foundation.h>
#include <winrt/Windows.Graphics.Imaging.h>
Expand Down Expand Up @@ -256,13 +255,45 @@ void Converter_Cleanup()
// OK
void Converter_ZHTInvalidate(uint16_t const* depth_in, uint16_t* depth_out)
{
Neon_ZHTInvalidate(depth_in, depth_out);
uint16x8_t threshold = vdupq_n_u16(RM_ZHT_MASK);

for (int i = 0; i < (RM_ZHT_PIXELS / 32); ++i)
{
uint16x8x4_t d = vld1q_u16_x4(depth_in);

d.val[0] = vandq_u16(d.val[0], vcltq_u16(d.val[0], threshold));
d.val[1] = vandq_u16(d.val[1], vcltq_u16(d.val[1], threshold));
d.val[2] = vandq_u16(d.val[2], vcltq_u16(d.val[2], threshold));
d.val[3] = vandq_u16(d.val[3], vcltq_u16(d.val[3], threshold));

vst1q_u16_x4(depth_out, d);

depth_in += 32;
depth_out += 32;
}
}

// OK
void Converter_ZLTInvalidate(uint8_t const* sigma_in, uint16_t const* depth_in, uint16_t* depth_out)
{
Neon_ZLTInvalidate(sigma_in, depth_in, depth_out);
uint16x8_t threshold = vdupq_n_u16(RM_ZLT_MASK);

for (int i = 0; i < (RM_ZLT_PIXELS / 32); ++i)
{
uint8x8x4_t s = vld1_u8_x4(sigma_in);
uint16x8x4_t d = vld1q_u16_x4(depth_in);

d.val[0] = vandq_u16(d.val[0], vcltq_u16(vmovl_u8(s.val[0]), threshold));
d.val[1] = vandq_u16(d.val[1], vcltq_u16(vmovl_u8(s.val[1]), threshold));
d.val[2] = vandq_u16(d.val[2], vcltq_u16(vmovl_u8(s.val[2]), threshold));
d.val[3] = vandq_u16(d.val[3], vcltq_u16(vmovl_u8(s.val[3]), threshold));

vst1q_u16_x4(depth_out, d);

sigma_in += 32;
depth_in += 32;
depth_out += 32;
}
}

// OK
Expand Down
Loading

0 comments on commit c3fb4ae

Please sign in to comment.