bad rendering of MKV on ION
#1
I have a Zotac board with an Atom processor and an ION graphics chip. XBMC runs fine on the machine. However, when I render MKV files with XBMC they don't render correctly. Here's a screenshot:

http://kingtown.net/uploads/bad.png

The MKV that has that bad picture was created by MakeMKV. It was my understanding that MKV was just a container format and that it would store whatever was on the disk originally. However, if I use the dd command from Cygwin to make me an ISO, XBMC renders it correctly. This is the exact same DVD as an ISO:

http://kingtown.net/uploads/good.png

If I disable the hardware acceleration in XBMC then the MKV file is rendered correctly (at about 5 fps). VLC also renders the MKV file correctly and appears to use hardware acceleration. That makes me think that the MKV file is fine; XMBC's rendering of it is the problem. I run the recent nVidia v310 graphics drivers.

Is there a bug report for this problem already? Thanks for your time.
#2
Some additional information for this that I've found:

It appears that the same issue shows up in Adobe Flash. When I use the Macromedia build of 11.5, I get the problem shown in this screenshot:

http://kingtown.net/uploads/bad2.png

That was for http://www.youtube.com/watch?v=AVr26_lUvcY. If I then switch to the Chrome PPAPI plugin of Flash 11.5, the video renders correctly. That makes me think it must be a bug larger than XBMC, but I still don't understand why VLC and the Chrome Flash plugin don't have an issue.
#3
Sad 
I attempted the FernetMenta/buffering branch to see if it fixed the issue. It did not; in fact, things were significantly worse as it only displayed one in ten frames. I also attempted the code in the issue #838 (https://github.com/xbmc/xbmc/pull/838). That code did not make a difference either. Specifically, that code wasn't even hit because CYUV2RGBShader::Create returns false because fmt == RENDER_FMT_DXVA. In other words, I'm not even sure the fixes in #838 mix with the current codebase. The log file seems to make me think that the MKV file is to blame. Maybe MakeMKV can't be trusted. The log file (with the buffering branch) looked like this snipit:

CDVDPlayerVideo::OutputPicture - dropped in output
DXVA::CProcessor::Render - did not find all required samples, adjusting the sample array.
DXVA::CProcessor::Render - no usable samples.
DXVA::CProcessor::Render - did not find all required samples, adjusting the sample array.
DXVA::CProcessor::Render - no usable samples.
CDVDPlayerAudio:: Discontinuity1 - was:824984054.283481, should be:824883262.884994, error:-100791.398487
CDVDPlayerAudio:: Discontinuity2 - was:826889241.870443, should be:826926456.287876, error:37214.417434
#4
It seems that this was a bug in the nVidia 310 driver. 314 has it fixed.
#5
#838 does work with Frodo (I just built a 12.0 with this patch integrated for myself), although it might need some minor adjustments to inject nicely into current code. However, it is just an extension to enable shader based scaling for DXVA decoding/rendering and as such would not fix your original issue. Smile

Also, CYUV2RGBShader is not needed for #838 since it only does scaling, color space conversion is done by the DXVA processor (before scaling).
#6
Updated Gotham13.0 alpha7 build
http://forum.xbmc.org/showthread.php?tid=170855
Read/follow the forum rules.
For troubleshooting and bug reporting, read this first
Interested in seeing some YouTube videos about Kodi? Go here and subscribe

Logout Mark Read Team Forum Stats Members Help
bad rendering of MKV on ION0