Any intention to add GPU (OpenCL/Cuda) acceleration?



I recently changed over from ReadyDLNA to Plex, largely for the remote access that is handled very nicely by Plex Media Server (and was tricky doing port forwarding on my home network on ReadyDLNA), and my kids have quickly adapted to this as the easiest way to watch a movie... hand Dad the new disc, and ask very patiently when Plex will have it up so they can watch. Yes, I have replaced enough DVD/BR discs that I decided enough was enough.


Anyway, while my FreeNAS (FreeBSD OS) box is currently on an Athlon 5350 APU, I'm seeing that while the 2.05Ghz*4 CPU base is far more than sufficient to stream HD to 2 or 3 clients, I am not seeing ANY activity on the embedded R3 GPU. The driver base is loaded and the GPU is recognized as a processor, but Plex MS doesn't seem to use the GPU in any way on FreeBSD... and I may be wrong, but I can't find any reference on other operating systems including GPU acceleration.


By speeds, the wimpy R3 GPU should still be able to decode and recode 5-6 sessions (based on my H.264 encoding method) without needing the CPU at all. I would very much like to see GPU acceleration in Plex as it would reduce CPU strain on low-temp low-power units like mine.


Before OpenCL/Cuda could be implemented in Plex,  it would need to be implemented by the FFMPEG project, which Plex uses the libraries from.

We, as users, are not informed of what may be coming down the pipe until it's actually announced.  Sure, there are always rumors / hints based on recent changes, but there is no published roadmap for us to refer to.



Will a graphics card make x264 encode faster?

Not necessarily. ​x264 supports OpenCL for some lookahead operations. There are also some proprietary encoders that utilize the GPU, but that does not mean they are well optimized, though encoding time may be faster; and they might be ​worse than vanilla x264, and possibly slower. Regardless, FFmpeg today doesn't support any means of GPU encoding, outside of libx264.


Because of data dependencies, the GPU must use an iterative motion search which
performs more total work than the CPU would do, so this is not work efficient
or power efficient. But if there are spare GPU cycles to spare, it can often
speed up the encode. Output quality when OpenCL lookahead is enabled is often
very slightly worse in quality than the CPU quality (because of the same data


Note that most acceleration methods are intended for playback and will not be faster than software decoding on modern CPUs. Additionally, ffmpeg will usually need to copy the decoded frames from the GPU memory into the system memory, resulting in further performance loss. This option is thus mainly useful for testing.

Also see:


Power requirements mean pretty much nothing to me, as the entire APU is still only 25W with 4 CPUs and the GPU maxed out.

However, I did want to mention that I patched to the latest Plex MS plugin and my CPU usage dropped through the floor. I've had 4 clients watching full HD with the processor barely budging over 20%. OpenCL would be nice, just to move processing over (as Ready DLNA did), as this server is used... well, as a server. DLNA is really its second task.


To revive this topic - I believe FFMPEG now supports OpenCL


I have a single PCIe slot and would happily stick an nVidia card in it if it would be utilized somehow.


any news ?


Just started googling about this, first thread I saw - I'd love to see this as well. I have a pretty hefty NVidia GTX card I could use for this in my FreeNAS box.


I would be interested in this feature as well.


Does gpu hardware acceleration even provide good quality images? Last I heard was that it didn't. Hardware offloading is great but in this case quality is probably better.