Android MKV VC-1 playback issues
#1
Hi guys

I have a kdlinks a300 and am having issues playing blu-ray rips in Kodi 15.2. All of my files were created with Make MKV, but I've noticed that the ones that are h.264 seem to play fine, while the ones that are WVC-1 stutter and artifact and play at a low frame rate - around 13 fps or so - making them unwatchable. The audio seems to work okay, but the video looks terrible. I'm able to play the VC-1 files in the stock video player that came pre-installed on the box at a normal frame rate, although there is periodic artifacting (though that could be the file itself, as some of the disks were not in pristine condition).

I've tried turning hardware acceleration off and on, messing with other playback settings both in Kodi and in the box's internal settings, but nothing seems to fix the issue. With debugging mode turned on, it says that the CPU is running at like 150%, but this is a new, quad-core box with 2GB of RAM, so it should be powerful enough.

I've also tried updating Kodi to the latest nightly build, but version 16 looks the same as what I was seeing in 15.2.

I've posted the debug log here:
http://goo.gl/ztuHSA

Any help would be greatly appreciated!
Reply
#2
Simple: You device doesn't seem to support VC1 accelerated playback via mediacodec, according to the log, so software decoding is used, and the device cannot keep pace.

It looks like a Hisilicon device, which needs the stock player for decent playback, afaik.
Reply
#3
I have the same issue on an nvidia shield tv (which apparently supports hardware vc-1 decoding). Only way I can get vc-1 files to work are to turn off hardware decoding altogether but this is a PITA to do everytime I watch a vc-1 encoded file. (Using Nov 2 Jarvis nightly)
Reply
#4
(2015-11-06, 00:30)veegee21 Wrote: I have the same issue on an nvidia shield tv (which apparently supports hardware vc-1 decoding). Only way I can get vc-1 files to work are to turn off hardware decoding altogether but this is a PITA to do everytime I watch a vc-1 encoded file. (Using Nov 2 Jarvis nightly)

http://forum.kodi.tv/showthread.php?tid=...pid2151763
Forum Rules (wiki) | Banned add-ons (wiki) | Wiki (wiki) | Quick start guide (wiki)
Reply
#5
I emailed the kdlinks support guy, and he pointed me to this solution:
http://www.futeko.com/newforum/index.php?topic=60.0

You can install a patch so that Kodi launches the built-in media player to play files, then returns to Kodi when you stop/exit the video. I haven't watched a whole movie with this, but I've tried it out and it seems to work - so you can still use Kodi to browse files and whatnot and just play them within a wrapper.
Reply
#6
I have Sony TV and it appears the Kodi is not using the VC-1 codec included on my TV (OMX.MTK.VIDEO.DECODER.WMV,video/x-ms-wmv).  The same is true of VLC.  I believe it should be able to use it because of this:  https://en.wikipedia.org/wiki/WMV_HD

MX Player and the Sony Video's app play the file fine.

I can't say that I understand the internal structure of Kodi, but it appears Android is exposing the proper codec.  Is it possible to change Kodi to use either x-ms-wmv or vc1 of these as I believe they are nearly the same thing?
Reply
#7
My MKV files played back fine until Leia... Now the video only works with hardware decoding on and its too choppy to watch (on a FireTV).
Reply
#8
(2018-04-07, 19:29)dburckh Wrote: I have Sony TV and it appears the Kodi is not using the VC-1 codec included on my TV (OMX.MTK.VIDEO.DECODER.WMV,video/x-ms-wmv).  The same is true of VLC.  I believe it should be able to use it because of this:  https://en.wikipedia.org/wiki/WMV_HD
AFAIK, the MediaTek WMV decoder can't handle VC-1 Advanced profile properly, see here. There is a lack of proper specification for how to handle VC-1 via MediaCodec. The hardware can do it for sure. You have to use the stock Video app though.
Reply
#9
(2015-11-02, 19:18)Koying Wrote: Simple: You device doesn't seem to support VC1 accelerated playback via mediacodec, according to the log, so software decoding is used, and the device cannot keep pace.

 - I have a S905X Android Nougat box with Kodi 17.6 installed. I have enabled Hardware Acceleration (both) and I have also noticed green pixilation and artifacts while playing high bit rate 1080p VC-1 files with high-res audio.  The artifacts appeared both in Kodi and SPMC player.

- These Artifacts also appeared on Fire Stick 4k (2018)  with VC-1 files.

- However artifacts went away on LibreELEC v2.8.4 on same S905 box so I am confused if my device does not support VC-1 acceleration then why I don't I see artifacts with LibreELEC.

- No artifacts noted on same VC-1 files when played on a single core AmLogic device from 2012 (XIOS-DS) with Tofu-Linux running Kodi 16.x
Reply
#10
(2018-11-27, 09:34)rhoniel Wrote:
(2015-11-02, 19:18)Koying Wrote: Simple: You device doesn't seem to support VC1 accelerated playback via mediacodec, according to the log, so software decoding is used, and the device cannot keep pace.

 - I have a S905X Android Nougat box with Kodi 17.6 installed. I have enabled Hardware Acceleration (both) and I have also noticed green pixilation and artifacts while playing high bit rate 1080p VC-1 files with high-res audio.  The artifacts appeared both in Kodi and SPMC player.

- These Artifacts also appeared on Fire Stick 4k (2018)  with VC-1 files.

- However artifacts went away on LibreELEC v2.8.4 on same S905 box so I am confused if my device does not support VC-1 acceleration then why I don't I see artifacts with LibreELEC.

Because the Kodi developer @peak3d along with AMLogic did a bunch of work on improving Linux / AMLcodec mpeg2, mpeg4 and VC-1 hardware acceleration both for Kodi Krypton and the underlying LibreELEC / AMLogic Linux Kernel. You will see some of the Kodi Krypton patches HERE

Most of the cheap Android media player sellers simply don't care about supporting that type legacy hardware decoding and that includes Amazon who are only mainly interested in Internet video streaming support.

Reply
#11
Got it, LibreELEC running on S905X has more magic built in. 

So LibreELEC on RockChip RK3328 may not decode VC-1 files as well as LibreELEC runing on AMlogic S905X does.  

Thanks.
Reply
#12
(2018-11-27, 10:06)wrxtasy Wrote:
(2018-11-27, 09:34)rhoniel Wrote:
(2015-11-02, 19:18)Koying Wrote: Simple: You device doesn't seem to support VC1 accelerated playback via mediacodec, according to the log, so software decoding is used, and the device cannot keep pace.

 - I have a S905X Android Nougat box with Kodi 17.6 installed. I have enabled Hardware Acceleration (both) and I have also noticed green pixilation and artifacts while playing high bit rate 1080p VC-1 files with high-res audio.  The artifacts appeared both in Kodi and SPMC player.

- These Artifacts also appeared on Fire Stick 4k (2018)  with VC-1 files.

- However artifacts went away on LibreELEC v2.8.4 on same S905 box so I am confused if my device does not support VC-1 acceleration then why I don't I see artifacts with LibreELEC. 

Because the Kodi developer @peak3d along with AMLogic did a bunch of work on improving Linux / AMLcodec mpeg2, mpeg4 and VC-1 hardware acceleration both for Kodi Krypton and the underlying LibreELEC / AMLogic Linux Kernel. You will see some of the Kodi Krypton patches HERE

Most of the cheap Android media player sellers simply don't care about supporting that type legacy hardware decoding and that includes Amazon who are only mainly interested in Internet video streaming support. 
So you say that the code is indeed improved for Linux-side, but for me who run Nvidia Shield TV i do not see any kind of improvement. Im still having the same artifacts (typically green artifacts and/or black screen with sound only if i enable hardware acceleration in kodi. I was hoping that upgrading to latest beta would help (Kodi v18 Leia RC1), but still the same thing.

I hope that someone one day really can take care of MKV/VC1 hardware encoding on Nvidia Shield, its hopeless to turn it on and off all the time. So far Nvidia Shield seems to have enough juice to handle software decoding, but its not an optimal situation  as i plan to move on to 4K rip.
Reply
#13
Sorry. Decoding on Android is a blackbox. Either Mediacodec-Surface can do it - or not - there is barely anything in between.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#14
Plus if you need to do Linux Kernel bug fixing mods, well good luck with that on any Android platform !

Reply
#15
(2018-11-27, 18:10)frank_jarle Wrote: So you say that the code is indeed improved for Linux-side, but for me who run Nvidia Shield TV i do not see any kind of improvement.

You won't - the improvements are for Linux where the developers have control of Kodi AND have control of the OS VPU drivers and code.  This isn't the case for Android, where the developers don't have access to change the OS.  

On Android all of the video decoding stuff is handed over to Android-level decoders which are part of the Android build on your device. Kodi just pumps the VC-1, H264, H265 video into the MediaCodec parts of Android, it's up to the build of Android on your device to handle driving the hardware correctly to decode this. If the support team for your Android platform don't improve support, support doesn't improve. These aren't part of Kodi - they are part of your Android install.

As I understand it this issue will likely only get fixed if nVidia fix it. That's not something the Kodi developers can really do unless they start developing custom Android ROMs (which isn't going to happen)
Reply

Logout Mark Read Team Forum Stats Members Help
MKV VC-1 playback issues0