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

nvenc SDK v8 #1552

Closed
totaam opened this issue Jun 18, 2017 · 7 comments
Closed

nvenc SDK v8 #1552

totaam opened this issue Jun 18, 2017 · 7 comments

Comments

@totaam
Copy link
Collaborator

totaam commented Jun 18, 2017

Issue migrated from trac ticket # 1552

component: encodings | priority: major | resolution: fixed

2017-06-18 11:14:56: antoine created the issue


Version 8 is available for download.

The existing "nvenc7" codec compiles against it just fine.
TODO:

  • rename the codec to just "nvenc" and use versioned checks with pkg-config.
  • check for new useful API extensions we can use
  • try to fix nvenc v7 support #1260#comment:16 (especially now that the problem also occurs on other cards: NVENC7 active but not used? #1550#comment:4)
  • update the buildbot
@totaam
Copy link
Collaborator Author

totaam commented Jun 18, 2017

2017-06-18 11:47:28: antoine changed status from new to assigned

@totaam
Copy link
Collaborator Author

totaam commented Jun 18, 2017

2017-06-18 11:47:28: antoine commented


Interesting things found in the SDK 8 headers:

  • encode from an opengl texture (NV_ENC_INPUT_RESOURCE_TYPE_OPENGL_TEX / NV_ENC_DEVICE_TYPE_OPENGL): could save us a lot of processing if we can stay on the GPU (don't copy pixmap data to ram: avoid the round-trips and stay on the GPU if we can #365)
  • NV_ENC_MEMORY_HEAP should not be used any more (maybe the alternative will fix the lockups?)
  • better "Long Term Reference" frames: could be used to send the whole window (including widgets, etc) encoded with lossless quality?
  • sps / pps changes: meh
  • "Motion Estimation" structures: meh
  • NV_ENC_PIC_PARAMS_HEVC can now be used

So not a lot there.
r16083 renames the codec to "nvenc" and uses versionned pkgconfig checks.

@totaam
Copy link
Collaborator Author

totaam commented Jun 18, 2017

2017-06-18 14:51:52: antoine changed status from assigned to closed

@totaam
Copy link
Collaborator Author

totaam commented Jun 18, 2017

2017-06-18 14:51:52: antoine set resolution to fixed

@totaam
Copy link
Collaborator Author

totaam commented Jun 18, 2017

2017-06-18 14:51:52: antoine commented


  • r16084 API additions (commented out)

This will do for now, the API fix will be tracked in #1550.

@totaam totaam closed this as completed Jun 18, 2017
@totaam
Copy link
Collaborator Author

totaam commented Jul 21, 2017

2017-07-21 14:23:29: antoine commented


r16444 fixes RGB upload mode, so r16446 enables it by default again.

@totaam
Copy link
Collaborator Author

totaam commented Jul 22, 2017

2017-07-22 14:10:52: antoine commented


  • with NVFBC (nvidia capture sdk support #1317), the pixel buffers were bigger than the pixel contents, so r16456 sliced them to the right size for the device upload - but r16457 makes this redundant: the right place to fix this was in the CUDA image wrapper since the buffers are used elsewhere and we can't just go around and fix them all - this change is kept in place because the slicing should be (almost) free with numpy arrays
  • r16455: disable RGB mode on win32, no idea why it doesn't work "an API argument is invalid" error...

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

No branches or pull requests

1 participant