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

Linux: Use Vulkan/CUDA interop in NVENC encoder #1911

Merged
merged 1 commit into from
Dec 1, 2023

Conversation

nowrep
Copy link
Collaborator

@nowrep nowrep commented Nov 28, 2023

No description provided.

It now does direct VkImage copy into CUDA memory instead of doing
the transfer via system memory.

Added FFmpeg patch to fix importing RGBx Vulkan frames, RGBx needs
NumChannels = 4, but FFmpeg would use NumChannels = 1.

Co-Authored-By: Rafal Kolanski <[email protected]>
@Xaphiosis
Copy link
Contributor

Confirmed working here with a 3090 on Ubuntu 22.04, X11, Pico 4.
alvr_nvenc Screenshot_2023-11-29_00-26-22
This is with quality preset P2, with P1 you can probably go near 2ms encode latency now. When we started this, it was around 25ms. Big improvement.
Huge thanks again @nowrep !

@Vixea
Copy link
Collaborator

Vixea commented Dec 1, 2023

Tested and merging.

@Vixea Vixea merged commit 5596cc5 into alvr-org:master Dec 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants