[Mac OS X] hardware acceleration was never implemented
#1
Hi,

I am running Kodi 15.1 on OSX 10.11 and I noticed/ found out that full hardware acceleration was never implemented.
Yes, you are already thinking "but VDADecoder works!" Yes, that is partly true, however, CPU utilisation is always too high.

For example; playing "Planet_Earth_From-Pole_to_Pole_1080p_sample_16ref" on my machine with VDAD enabled; it still uses +100% cpu.
With VDAD disabled cpu utilisation is +140%.
In comparison, when playing the same file on the exact same machine, but with "OpenELEC-Nvidia_Legacy.x86_64-5.95.5", VDAD enabled leads to about 5% cpu utilisation.

In conclusion; the Mac OS X hardware acceleration is broken.

The reason for this:

Quote: Also, while performance is fantastic with VDADecoder, there is still room for improvement. Running XBMC for Mac under Shark (Apple’s profiler) shows that about half of the CPU usage is now due to copying and converting the video frame from UYVY422 (VDADecoder’s native format) to YUV420P (XBMC’s internal format). Future work on the XBMC rendering path will allow passing decoded frames directly up to our renderer and thus skipping the copy/convert step. Stay tuned Smile

This was written more than 5 years ago.
http://kodi.tv/osx-gets-h-264-acceleration/

Does any real developer on this board have any clue on wether Full VDAD support will ever be implemented on OSX?
Reply
#2
There is a flag in VDADecoder that enables CVBufferPixels direct rendering. This was set to 'true' but based on feedback from users, there were all sorts of issues with version/gpu, etc so it was disabled for all. Change that flag and enjoy 'true' hw rendering.

Side note, ffmpeg-vda does CVBufferPixels, and that is default now, but there are reports of that rendering green on some boxes. Strangely enabling CVBufferPixels for VDADecoder and disabling ffmpeg-vda and everything is fine. I've not figured out why yet. Everything looks ok (I authored VDADecoder, I'm davilla).

VDADecoder will get replaced by VideoToolBoxDecoder soon, VDA goes away eventually as an Apple API.
Reply
#3
Thanks for your reply!

I was searching on how to change the "CVBufferPixels" flag, but google shows nothing in relation to Kodi.
Could you point me in the right direction?
I know it probably has to do with advancedsettings.xml but I don't know how I would format the contents of the .xml file

would putting

Quote:<video>
<CVBufferPixels >true</CVBufferPixels >

in textedit, saving it as advancedsettings.xml and dropping it in the required folder work?
Reply
#4
compile time change, nothing in xml Smile

you should check with 'o' and see who is doing the decode. 'vda-h264' is VDADecoder. 15.1 should be using ffmpeg-vda-h264 as default.
Reply
#5
I was growing through the readme file of compiling and I don't know if it will be worth it; I am pretty sure more problems will arise regardless.

Is there any (old) version which I could try with the required featured enabled? If that works on my media computer then I will learn how to compile the latest version.
Reply
#6
best check with 'o' first and see what you are actually using Smile
Reply

Logout Mark Read Team Forum Stats Members Help
[Mac OS X] hardware acceleration was never implemented0