xpra icon
Bug tracker and wiki

Opened 6 years ago

Last modified 6 months ago

#202 accepted enhancement

hardware accelerated video decoding

Reported by: Antoine Martin Owned by: Antoine Martin
Priority: major Milestone: 3.1
Component: core Version: trunk
Keywords: Cc: rektide@…

Description (last modified by Antoine Martin)

Following #147, we should go one step further and offload x264 video decoding to the graphics card using VAAPI / libva

Some pointers:

Why VAAPI? (lwn.net) Because this is the most widely compatible/available API, with glue libraries available for both vdpau (nvidia) and xvba (ati).
If really needed we could also talk to those directly, but that is best avoided.

Change History (7)

comment:1 Changed 6 years ago by Antoine Martin

Description: modified (diff)
Status: newaccepted

comment:2 Changed 6 years ago by ahuillet

I don't think we should be using VAAPI directly for video decoding acceleration. libav is a pain, but it has a VAAPI backend, and it will probably be better to use it. Rationale: we'll need video decoding acceleration on Windows (possibly even more than on Linux). We'll want to do it through libva as well.

comment:3 Changed 6 years ago by Antoine Martin

Description: modified (diff)

comment:5 Changed 5 years ago by Antoine Martin

For DXVA see #346

comment:8 Changed 3 years ago by rektide

Cc: rektide@… added

comment:12 Changed 14 months ago by Antoine Martin

From the comments section on VA-API Video Acceleration On The Linux Desktop Is Nearly Ready For Chrome:

  • Then there's the ability to output hardware decoded video to an X11 window or a pixmap, Radeon VAAPI does have that, but this is good mainly for direct display (like a dedicated video player), not for integration into a complex UI that is a web page. It's also tied to X, obviously, so not ideal also from this perspective.
  • If you want to use the opengl video output with hardware decoding on Radeon, VDPAU is probably the better option.

comment:14 Changed 6 months ago by Antoine Martin

Milestone: 0.93.1
Note: See TracTickets for help on using tickets.