Posts: 23,264
Joined: Aug 2011
Reputation:
1,074
fritsch
Team-Kodi Developer
Posts: 23,264
No - your device is not fast enough for yadif.
I had a PR open once to change it to YADIF=0:1:1 for Android, but it was not accepted.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Posts: 9,033
Joined: Feb 2012
Reputation:
551
I've tested mpeg2 CPU Software decoding and Software deinterlacing in Krypton and Leia.
Android Kodi Leia with 576i content - performance has actually gone backwards vs Kodi Krypton and it's definately worse vs SPMC. (Kodi Jarvis)
There is lots of stuttering. So even having an extra Kodi Leia Software decode option will not help for mpeg2 deinterlacing.
And this in on a S912 device that can CPU Software decode 1080p Bluray H264 Rips without an issue using Kodi Leia.
Posts: 12
Joined: Jul 2013
Reputation:
2
Lewpy
Junior Member
Posts: 12
2018-11-29, 10:43
(This post was last modified: 2018-11-29, 18:52 by Lewpy.)
I've been following this thread with interest, as I shifted to using Kodi on my Fire TV Gen 2 [non-stick] device from an older Windows Media PC, and I am seeing the same framerate/playback issues with interlaced MPEG2 files (or DVD VOBs/ISOs)
My understanding of YADIF is that the first digit you are talking about changing is the "mode" value, and this has the following effect
Mode 0 : single frame rate, temporal and spatial interlacing check
Mode 1 : double frame rate, temporal and spatial interlacing check
From this, I believe that Mode 1 setting will take a 25fps interlaced MPEG2 stream and generate a 50fps progressive video stream, while the Mode 2 setting will generate a 25fps progressive video stream (from the same source). Is this correct?
So when I set the software interlacing to "Deinterlace", it uses Mode 1 and causes the the framerate "doubling", and when I select "Deinterlace (Half)" [translation difference from "Mid" I assume!], it uses Mode 0 and maintains the same framerate.
My Fire TV is using Leia RC1, while my Media PC is using Krypton 17.6.
On my Fire TV, using software "Deinterlace" [full], I can see dropped packets in the stats and the output is stuttering and not smooth. "Deinterlace (Half)" stops the dropped packets, and improves the video, but not "silky" smooth (as hardware decode is). Turning off Deinterlace makes the video smoother, but obviously has the interlacing artifacts. CPU doesn't appear to be maxing out any cores, but that is not a full accurate measurement.
On my Media PC, I see similar issues: "Deinterlace" [full] causes dropped packets and stuttering video, with the other options being much better. The CPU in my Media PC is old, but still a quad-core Q9550 2.8GHz (with 4GB RAM), and the CPU figures look very low in Kodi. [UPDATE: this issue went away when I upgrade to 64bit Leia 18 RC1 on the Media PC]
So is the framerate doubling from the deinterlacer causing issues further down the Kodi pipeline?
Interestingly: hardware decoding on my Media PC (DXVA on NVIDIA GT610) is clearly deinterlaced, whereas hardware decoding on my Fire TV (Surface) is not deinterlacing the video stream. This is checked by pausing the video and examining the interlacing artifacts onscreen.
Posts: 12
Joined: Jul 2013
Reputation:
2
Lewpy
Junior Member
Posts: 12
To keep things on-forum, I just tested the MPEG2 interfaced file with my Fire TV and plugged a USB keyboard in (so I could do CTRL-SHIFT-O!).
Interestingly on Android it shows nearly all SKIPs rather than about 2:1 ratio of DROPS:SKIPS on the PC. And it SKIPs on all 3 interlace settings: Full, Half, or None. Just the rate of SKIPs varies between the settings. But it does not seem to correlate exactly to the framerate increase, unlike the PC.
I will look to update my PC from Krypton to Leia, so its more comparable.
Another fact I forgot to mention earlier is I am using 64bit Kodi Android, as my Fire TV is 64 bit (kodi-18.0-Leia_rc1-arm64-v8a).