Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

multi-frame textured point cloud streaming #15

Closed
bmegli opened this issue Apr 18, 2020 · 3 comments
Closed

multi-frame textured point cloud streaming #15

bmegli opened this issue Apr 18, 2020 · 3 comments
Labels
enhancement New feature or request

Comments

@bmegli
Copy link
Owner

bmegli commented Apr 18, 2020

The last step in hardware-video-streaming#5.

This needs only NHVD wrapper changes, adjusting function calls and initializing 2 hardware decoders.

Everything else happens in NHVD under the hood.

@bmegli bmegli added the enhancement New feature or request label Apr 18, 2020
bmegli added a commit that referenced this issue Apr 18, 2020
- bump NHVD (multi-frame depth unprojection)
- update NHVD wrapper
- modify point cloud example for multi-frame aproach

Related to #15
@bmegli
Copy link
Owner Author

bmegli commented Apr 18, 2020

Some subjective impressions after initial tests:

  • works much better than P010LE + UV hack
  • the required bitrate is much lower (e.g. 4 Mbit + 1 Mbit gives good results)
  • uses more GPU (mainly on encoding side), with encoding and decoding on the same machine and max quality effort forced in VAAPI GPU usage exceeds 50%

@bmegli
Copy link
Owner Author

bmegli commented Apr 26, 2020

Before merging this, review interop.

To initialize multiple hardware decoders we pass:

  • array of structures of hardware configurations
  • with some integers and C style ASCII strings

Confront current implmementation with:

Microsft marshaling-different-types-of-arrays

@bmegli
Copy link
Owner Author

bmegli commented Apr 26, 2020

Looks ok.

In fact we have two interfaces implemented in NHVD .Net wrapper for convenience:

  • the one that passes array of structs, as above, plus depth config
  • simplified that takes network config struct and hardware config struct (for video streaming)

Down in C they both tap to the same function that takes pointer to hardware config (which can be both single element and array in C)

Some more docs will be needed after reworking NHVD/UNHVD later.

bmegli added a commit that referenced this issue Apr 26, 2020
- bump NHVD (multi-frame waiting for merge)
- use depth units compatible with older Realsense cameras
- update readme for new textured depth streaming

Related to #15
@bmegli bmegli closed this as completed in 464f264 Apr 26, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant