xpra icon
Bug tracker and wiki

This bug tracker and wiki are being discontinued
please use https://github.com/Xpra-org/xpra instead.

Opened 7 years ago

Last modified 4 months ago

#466 closed task

nvenc improvements — at Version 1

Reported by: Antoine Martin Owned by: Antoine Martin
Priority: minor Milestone:
Component: server Version:
Keywords: Cc:

Description (last modified by Antoine Martin)

split from #370:

  • zero out the image padding since it does get encoded!
  • honouring max_block_sizes, max_grid_sizes and max_threads_per_block - doesn't seem to be causing problems yet
  • handle YUV444P mode - needs docs (apparently not supported by the hardware??)
    • then we can handle quality changes by swapping the kernel we use (NV12 / {{{YUV444P}})
  • handle resize without re-init
  • handle speed/quality changes with nvEncReconfigureEncoder (with edge resistance if it causes a new IDR frame)
  • allocate memory when needed rather than keeping it allocated for the duration of the encoder (fit more encoders on one card)
  • upload pixels in place? (skip inputBuffer)
  • deal with GPU suspend-resume cycles (see r5110 for opencl in #422)

Lower priority:

  • choose the cuda device using gpuGetMaxGflopsDeviceId: max_gflops = device_properties.multiProcessorCount * device_properties.clockRate;
  • handle other RGB modes in kernel (easy - allows us to run in big endian servers)
  • access nvenc encoder statistics info?
  • try using nvenc on win32 for shadow servers
  • when downscaling automatically (one of the dimensions is >4k), we don't need to downscale both dimensions by the same ratio: a very wide window could be downscaled horizontally only

Change History (1)

comment:1 Changed 7 years ago by Antoine Martin

Description: modified (diff)
Owner: changed from Antoine Martin to Antoine Martin
Status: newassigned
Note: See TracTickets for help on using tickets.