xpra icon
Bug tracker and wiki

Opened 5 months ago

Closed 5 months ago

Last modified 4 months ago

#1552 closed task (fixed)

nvenc SDK v8

Reported by: Antoine Martin Owned by: Antoine Martin
Priority: major Milestone: 2.1
Component: encodings Version: trunk
Keywords: Cc:

Description

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 ticket:1260#comment:16 (especially now that the problem also occurs on other cards: ticket:1550#comment:4)
  • update the buildbot

Change History (4)

comment:1 Changed 5 months ago by Antoine Martin

Status: newassigned

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 (#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.

comment:2 Changed 5 months ago by Antoine Martin

Resolution: fixed
Status: assignedclosed
  • r16084 API additions (commented out)

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

comment:3 Changed 4 months ago by Antoine Martin

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

comment:4 Changed 4 months ago by Antoine Martin

  • with NVFBC (#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...
Note: See TracTickets for help on using tickets.