I was quite excited when I read this, and Splash 1.1 can indeed play pretty much all of my H.264 videos with reference frames up to 16, whereas Splash 1.0.5 wouldn't play some of them at all.- GPU video decoding improvements on nVidia GPUs (decoding of 1920x1080 H.264 video streams with more than 5 reference frames)
However, I encountered a problem when trying to play this clip.
The clip plays very smoothly using MPC-HC's internal decoder with DXVA. CPU usage is barely noticeable as almost all of the work is done by the GPU. However, when playing in Splash, for some reason GPU hardware acceleration is disabled (the "GPU" logo in the lower left disappears) and the video stutters and skips frequently as CPU load approaches 90-100%.
From what I understand about hardware acceleration, the four most common implementations are based on DXVA, Nvidia CUDA, AMD FireStream, and OpenCL.
Does Splash use its own proprietary method for implementing hardware acceleration via GPU, or does it use a method based on existing implementations like CUDA?
I understand from reading about DXVA limitations that hardware acceleration cannot be applied to videos that don't conform to certain profiles, but seeing as how the above clip plays fine using DXVA (as well as CoreAVC w/ & w/o CUDA), I was wondering what exactly are Splash's limitations regarding what can and cannot be hardware accelerated. Or is this simply a bug that will be addressed in a future release of Splash?