Is Intel GMA 4500{M}HD actually "supported" or not?
#1
I am trying to determine what Kodi should be able to do, and what it should not be able to do on my specific (2010 vintage) trusty old MSI X340 laptop.

The official specs for this laptop can be found here:
http://www.engadget.com/2009/04/01/msi-o...wind-u123/

The short version is that this machine contains a Intel ULV SU3500 (Core 2 Solo) processor, together with an Intel GMA4500MHD graphics processor.

Now, this official Kodi page:
http://kodi.wiki/view/Supported_hardware

says that with an Intel GMA X4500HD (basically same as what this machine has?) I should be able to get HW assisted decoding of H.264 video. But today I've loaded Ubuntu 14.10 onto the machine, and then Kodi 14.2 on top of that, and I am simply not getting the hardware assisted decoding of H.264 which the online Kodi documentation seems to suggest I should be getting. (The "o" display says "ff-h264" is the codec being used during play.)

Additionally, and more importantly, I am also not getting any hardware assist (under Ubuntu, at least) for MPEG2 video playback. The good news is that the CPU on this machine has enough power to do the MPEG2 decode of the material I want to be able to play (i.e. my ripped USA 480p DVDs). The bad news however is that under Ubuntu+Kodi(14.2) there is simply no (or very poor quality) deinterlacing occuring on these MPEG2 videos... making them essentially impossible to watch. Can anyone explain to me why?

I sure would like to understand this.


P.S. At first I had believed that the awful and/or non-existant MPEG2 deinterlacing on this specific Intel-based machine was due to some non-feature in OpenELEC, but I've just today gone to some lengths to prove that, in fact, no, the awful/missing MPEG2 deinterlacing is also present on the same hardware under even stock Ubuntu 14.10 plus stock Kodi 14.2. So this is not an OpenELEC problem. It's a Kodi problem. What's the solution?


P.P.S. On the same hardware, I actually was able to get excellent deinterlacing of my 480p MPEG2 DVD rips using Kodi 14.2 but only under Windows7 (where the codec used was "ff-mpeg2video-dxva2"). So this narrows things down even further. This is not a Kodi problem generally. It is only a Kodi-on-Linux problem.
Reply
#2
Sorry. I left out one important data point...

Under OpenELEC 5.0.8 (Kodi 14.2) MPEG2 deinterlacing is working perfectly on my AMD E-450 system. That is the primary thing that makes me puzzled by the fact that MPEG2 deinterlacing doesn't seem to work at all on Intel hardware.
Reply
#3
Did hw accelerated h.264 work on OpenELEC?

Does stock Ubuntu install libva-intel-vaapi-driver by default? If not, that's your problem with h.264.

Well what deinterlacing method are you trying to use?

Have you read through this thread?

http://forum.kodi.tv/showthread.php?tid=165707
Reply
#4
Kodi will only do hardware accelerated decoding if you install the driver.
Reply
#5
Responding to naloj...

>Did hw accelerated h.264 work on OpenELEC?

No, not as far as I could tell. (My trivial testing seemed to indicate that both Ubuntu+Kodi and OpenELEC were doing the exact same things.)

>Does stock Ubuntu install libva-intel-vaapi-driver by default? If not, that's your problem with h.264.

Just now, I attempted to check this, as best as I could. (Perhaps I did something wrong.) I just simply tried to apt-get install that exact package name, as suggested on this page:
https://www.mythtv.org/wiki/VAAPI

This seemed to fail in a way that suggests that there is perhaps some newer driver package that has taken the place of libva-intel-vaapi-driver but I don't really know about these things so your insight would be appreciated. I am including the exact results in a posting to immediately follow this one.

Question: If this is needed for proper operation of Kodi, shouldn't it be a dependency within the Kodi install?

>Well what deinterlacing method are you trying to use?

Ummm... I cannot answer this question, because the "Deinterlace Method" menu item was grayed out for me, just as in the second photo shown here:
http://forum.kodi.tv/showthread.php?tid=205136

>Have you read through this thread?

That thread is 105 pages long! So I guess that my answer would have to be "No. call me lazy, if you like, but I have not read that entire thread."

In response to Kib:

>Kodi will only do hardware accelerated decoding if you install the driver.

Same question as above... If there is a specific library (driver) necessary for proper operation of Kodi, then one cannot help but wonder why the publically available pre-built releases of Kodi (e.g. for Ubuntu) do not list this thing as a dependency so that it will be automagically pulled in and installed at the same time as Kodi itself is being installed.

I admit to being naive and uneducated about this stuff, but wouldn't that be the proper thing to do?
Reply
#6
Here is what happened on my old MSI x340 laptop (Intel Core 2 Solo) when I attempted to install the libva-intel-vaapi-driver package:

Code:
root@MSI-X340-Ubuntu:/home/rfg# apt-get install libva-intel-vaapi-driver
Reading package lists... Done
Building dependency tree      
Reading state information... Done
Note, selecting 'i965-va-driver' instead of 'libva-intel-vaapi-driver'
i965-va-driver is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 224 not upgraded.

I really do not understand the meaning of the above results, so any insight would be appreciated.

Has this 'i965-va-driver' thing replaced and supplanted the libva-intel-vaapi-driver package?

If so, it would seem that I already have installed a proper VAAPI driver for the GPU/VPU on this hardware. And yet I do not appear to be getting HW accel for MPEG4, and as I have said, the deinterlacing for MPEG2 playback is either (a) horrible or else (b) non-existant. I can't really tell which.

P.S. In Kodi, the "o" display shows me the codecs being used for playback of various videos as follows:

MPEG2 - ff-mpeg2video-vaapi
MPEG4/AVC - ff-h264
VC-1/AP(720p) - ff-vc1
VC-1/MP(720p) - ff-wmv3
Reply
#7
(2015-04-15, 20:56)ronbaby Wrote: Ummm... I cannot answer this question, because the "Deinterlace Method" menu item was grayed out for me, just as in the second photo shown here:
http://forum.kodi.tv/showthread.php?tid=205136

The picture you linked to has deinterlacing turned off which prevents picking a method. So if that's your problem, turn it on.

Quote:That thread is 105 pages long! So I guess that my answer would have to be "No. call me lazy, if you like, but I have not read that entire thread."

You can probably stop after the very first post...
Reply
#8
>The picture you linked to has deinterlacing turned off which prevents picking a method. So if that's your problem, turn it on.

Umm... yea. That was a poorly chosen example picture. However I have just now triple checked and I can assure you that on my hardware (which I have described) even when the "Deinterlace Video" setting is set to either "On" or "Auto", the following setting, "Deinterlace Method" is still grayed out.

>You can probably stop after the very first post...

OK, I just now skimmed through that. Wow! It is of course a good thing that it is so detailed, but it is also rather complicated.

I have to do other things today, but tomorrow I will try my best to follow all of the instructions in that first post and then report back here my results.


P.S. A lot of this is greek to me. I'm just an ordinary end luser and not a video specialist. I have no idea what any of the following abbreviations stand for, but would not mind being enlightened: HWS, IVB, SNB, MADI, BYT. (Well, I'm not totally ignorant. At least I know what BOB means! :-)
Reply
#9
naloj,

I just now had time to go back and try to carefully and slowly read the first post in the thread you pointed me at:
http://forum.kodi.tv/showthread.php?tid=165707

I am guessing that in that post "SNB" means "Sandy Bridge", "IVB" is used to mean "Ivy Bridge", and "HSW" is used to mean "Haswell". Is that all correct?

Assuming so, then here is a rather obvious problem, I think:
Quote:Installation
-1.) Hardware Requirements / Software Requirements
SNB, IVB, HSW Intel Hardware

I confess that I know little about the history or progression of Intel's microarchitectures, however I fortunately have Wikipedia to help me:
http://en.wikipedia.org/wiki/List_of_Int...hitectures

The list of microarchitectures given in the above reference goes pretty much as follows:

...
Core (used in Core 2)...
Nehalem
Westmere
Sandy Bridge
Ive Bridge
Haswell
...

I said from the outset that the processor in my laptop is a "Core 2". Thus, I am forced to ask the obvious question: How can anything within the thread you pointed me to be of any help to me whatsoever in obtaining proper deinterlacing on my specific hardware?

Is it not the case that the first post in that thread is only helpful for, or useful for owners of Sandy Bridge, Ivy Bridge, and Haswell processors? If not, then why did fritsch seem to say, rather explicitly, that all of the fiddling described in that post applies only to Sandy Bridge, Ivy Bridge, and Haswell?

Lastly, if in fact the fiddling described in that post really is (as it seems) only useful for those newer microarchitectures, then I feel the need to ask again the question in the subject line I used to start this thread... Is GMA 4500{M}HD actually "supported" by Kodi (as claimed in the Kodi wiki) or not?

In the absence of any apparent deinterlacing for MPEG2 and also in the absence of even any HW accelerated MPEG4/AVC decoding, it seems to me that "supported" in this context might possibly have a very narrow and limited definition indeed.

But I would, of course, be very happy to be proven wrong.


P.S. Perhaps I have misconstrued entirely fritsch's use of the abbreviations "SNB", "IVB", and "HSW", and if so, please accept my apologies for my mistake. However if those abbreviations do in fact have the meanings I have ascribed to them above, then I really will rather wonder why you even pointed me at that 105-page long thread, since it seems to have nothing at all to do with either me or my hardware, which I believe that I was clear in describing at the outset.
Reply
#10
Take a deep breath, man.

It has nothing to do with Kodi. Your GPU does not support proper hardware decoding of H264. Libvaapi only supports H264 decoding on the 4500mhd on a separate branch that I don't think is packaged for Ubuntu. So you'd want to build it yourself from source, as regular libvaapi drivers will only decode mpeg2 on 4500mhd (as you witnessed) Even then you can only expect 720p. 1080p would be choppy as hell. The cold hard truth is that you're pretty much f...ed and your only option is to buy a new machine.
Reply
#11
Soli,

Thank you for all the info. I still a bit preplexed however.

If I have understood everything, then the 4500mhd... basically... and without quite a lot of fiddling... won't be used or useful for MPEG4/AVC decoding, either under Ubuntu+Kodi nor within OpenELEC+Kodi, and also, to make matters worse, MPEG2 deinterlacing also won't work in either of these cases... at least not with any kind of GPU/VPU support (but as I learned tonite, it appears to work splendidly if I just go into the Kodi acceleration options and turn off VAAPI for MPEG2, whereafter I am then getting perfectly lovely deinterlacing). Is that about the size of it?

Assuming so, then I just have two final questions:

1) Is anyone going to go and fix the part of the following Kodi wiki page that seems to explicitly express the notion that the 4500HD is supported, specifically for HW decoding of H.264? (It would seem that that is not actually true, in practice, and in general, so part of the page in question could cause some confusion for future readers, no?)
http://kodi.wiki/view/Supported_hardware

2) Would you happen to be able to point me at a source for this "separate branch" of Libvaapi that you mentioned? I might just give it a go and see how far I can get.

Thanks for everything.
Reply
#12
Software decoding of mpeg2 doesn't cost too much cpu, and a core2solo should be able to both decode and do basic deinterlacing of mpeg2.

1) the wiki isn't wrong. kodi doesn't support GPUs, it supports VAAPI, and 4500mhd does have VAAPI support if you install the right driver. But It's for a reason that driver resides in a separate branch.
2) http://cgit.freedesktop.org/vaapi/intel-driver/ g45 branch
If you manage to get smooth decoding of 1080p, then please do tell.
Reply
#13
>Software decoding of mpeg2 doesn't cost too much cpu, and a core2solo should be able to both decode and do basic deinterlacing of mpeg2.

Yes. Thanks. It does. I just had to turn off the default (on) setting of VAAPI MPEG2.

>If you manage to get smooth decoding of 1080p, then please do tell.

I am not expecting that, but would be happy if I could get decent playback of 720 for MPEG4/AVC, MPEG4/ASP, VC-1/AP and (with luck) VC-1/MP.
Reply
#14
(2015-04-16, 06:30)ronbaby Wrote: I said from the outset that the processor in my laptop is a "Core 2". Thus, I am forced to ask the obvious question: How can anything within the thread you pointed me to be of any help to me whatsoever in obtaining proper deinterlacing on my specific hardware?

Intel uses VAAPI so I pointed you to the VAAPI thread. Sorry that you had to do some reading of background info and learning about your hardware.
Reply

Logout Mark Read Team Forum Stats Members Help
Is Intel GMA 4500{M}HD actually "supported" or not?0