Posts: 23,264
Joined: Aug 2011
Reputation:
1,074
fritsch
Team-Kodi Developer
Posts: 23,264
fetch the remote, checkout fernet's master branch and search :-)
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Posts: 6,743
Joined: Oct 2008
Reputation:
317
noggin
Posting Freak
Posts: 6,743
2014-07-26, 16:16
(This post was last modified: 2014-07-26, 17:23 by noggin.)
Hmm - Not sure it's YADIF de-interlacing causing the problems - think there is something odd with software (well we don't have a choice of hardware ;-) ) 4:2:2 H264 decoding.
I have the same content in both 4:2:2 and 4:2:0 (the 4:2:0 version was transcoded from the 4:2:2 via baseband HD-SDI and ProRes HQ).
Playing back the 4:2:0 transcode with either YADIF 2x or W3FDIF (with either VAAPI or Sotware multithreaded decoding) delivers good results.
Playing back the 4:2:2 source with BOB gives better results than YADIF 2x (though not perfect) - there is still a strange effect on fast moving content (particularly saturated lighting) Watching the same thing with W3FDIF I get all sorts of blocking break up.
I also have to force de-interlace to on with 4:2:2 - de-interlace AUTO doesn't recognise that the content is native interlaced.
I think there are issues with 4:2:2 H264 support still.
Other observations :
4:2:0 software multithreaded decoding and W3FDIF also has issues. (Lots of frame drops/skips)
4:2:0 software multithreaded decoding and YADIF is OK and doesn't have the motion artefacts that YADIF has with 4:2:2 stuff.
4:2:0 VAAPI decoding on both YADIF - and I think W3FDIF (assuming I compiled correctly) - was fine. *** EDIT : I didn't compile correctly so was using YADIF still ***
(For info - 4:2:2 source was 38Mbs, transcode was around 35Mbs)
Posts: 23,264
Joined: Aug 2011
Reputation:
1,074
fritsch
Team-Kodi Developer
Posts: 23,264
2014-07-26, 16:47
(This post was last modified: 2014-07-26, 16:47 by fritsch.)
fritsch@t440s:~/Desktop/xbmc-fritsch/xbmc$ git grep yadif
xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp: m_filters_next = "yadif=0:-1";
xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp: m_filters_next = "yadif=1:-1";
xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp: filter = "yadif=1:-1"; <============================
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Posts: 23,264
Joined: Aug 2011
Reputation:
1,074
fritsch
Team-Kodi Developer
Posts: 23,264
2014-07-26, 16:52
(This post was last modified: 2014-07-26, 16:59 by fritsch.)
The change is a one liner ... CPU used is ultra high - my core i5 4200U cannot catch up at all - not with the simple and obviously not with the complex setting.
Edit: Btw.: Yadif can use slide threading, w3fdif for now has no threading support as it seems. You can see that with ffmpeg -filters
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Posts: 6,743
Joined: Oct 2008
Reputation:
317
noggin
Posting Freak
Posts: 6,743
2014-07-26, 18:25
(This post was last modified: 2014-07-26, 18:59 by noggin.)
Well I gave it a go with the VAAPI.cpp tweaked from yadif to w3fdif so I could software deinterlace VAAPI decoded stuff with w3fdif.
On an i7-2600K clocked at 4GHz I get CPU 0 sitting at 50% with simple coefficients and bouncing between 55 and 78% with complex coefficients. No frame drops or skips though. (All the other 7 CPUs sitting <10% most of the time)
Running with software decoding of MPEG2 4:2:2 one of my CPUs sits at 98-100% but the system just about copes without dropping or skipping.
Need to spend some time watching it and comparing to YADIF 2x.
Doesn't help my original issue - H264 4:2:2 stuff looking "weird"... Great way to spend an afternoon playing - and learned a little bit more than I knew this morning.
Posts: 6,810
Joined: Jul 2010
Reputation:
198
2014-07-26, 19:36
(This post was last modified: 2014-07-26, 19:47 by FernetMenta.)
according to the ffmpeg docu it should make use of more threads. will have a deeper look at this.
w3fdif
EDIT: .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL,
means it does not support multi-threading. makes this filter pretty useless if not even an i7 can cope with it, no?
Posts: 6,743
Joined: Oct 2008
Reputation:
317
noggin
Posting Freak
Posts: 6,743
2014-07-26, 22:06
(This post was last modified: 2014-07-26, 22:08 by noggin.)
Yep - will do. I get reasonable results with H264 4:2:2 using YADIF 2x, it's not like the picture is totally borked, just that some elements have odd motion rendition - but not all. (Fast moving cameras past foreground elements or beams of lights moving quickly across frame)
Posts: 6,743
Joined: Oct 2008
Reputation:
317
noggin
Posting Freak
Posts: 6,743
FernetMenta - you have a PM
Posts: 6,810
Joined: Jul 2010
Reputation:
198
What exactly do I have to look for. Both samples play fine and I can't tell any difference. Tried on i5-4570T Linux, sw multi-threaded decoding and on i7 Windows.
The i5 is approximately at 50% CPU playing the 4:2:2 sample with yadif.
Posts: 455
Joined: Apr 2010
Reputation:
13
Sorry super noob question, have looked but I just get confused...
"For HSW you need to install at least 1.3.2 version of libva-driver-intel"
How would one go about upgrading that on a working install, did try from scratch but I'm just going round in circles as can't find the proper instructions for building the driver, or a debian package to just simply install, added the VAAPI testing ppa but it's saying it's unavailable in the repo
Thank you in advance.
Also on a side note how do I go about getting username to show as donater, made a donation a few weeks back.