2009-04-17, 16:09
I wonder if anybody can help me with this:
I use XBMC SVN build 19213M on OS X Leopard, the hardware is an 8-core 2.8 Ghz Mac Pro with 2 GB RAM. I noticed recently that one of my 720p video looked quite blocky so I cross-checked the picture with VLC to assure that the artifacts are not in the source but caused by the decoder. It turned out that this was the case, however, I was able to reproduce the same blocing artifacts with VLC when I set the FFmpeg loopback filter skipping parameter to 'always' (effectively turning off the deblocking filter).
I've read on a number of forum threads about a (hidden) parameter in advancedsettings.xml, namely 'skiploopfilter', I thought this could solve my problem with blocking. It seems that XBMC does nothing new when I set skiploopfilter to 0 or 8 or anything else, neither in OS X, nor in Windows. The debug log says the the advancedsettings.xml was processed but nothing changes then. Is this parameter platform specific? If yes, how can I cope with the blocking problem?
There was also present some kind of tearing (in the same video). Again VLC played without tearing, what is more, my older PC (AMD X2 2.2Ghz) with Windows/XBMC on it played without tearing as well. It was interesting to observe that, on OS X, the (single core) CPU usage was around 65% when I played 720p video in XBMC and around 35% when played the same video in VLC.
It seems as if XBMC would max out my Mac Pro-s processing power which is slightly absurd IMO. If CPU usage grows beyond 100% than usually frame drops occur, in other words, additional cores are not of any use . Tearing is again a sign of insufficient processing power, isn't it?
All this boils down to a single question: what can I do if I'd like to use XBMC's - otherwise great - embedded player and want the highest quality decoder output at my hand, at least the same level of quality that VLC (FFmpeg) can produce? I'm not interested in any additional postprocessing (ie. scaling deinterlacing, noise filtering, detail enhancement) since my AV receiver will care about that. I just want maximum precision decoding with frame-by-frame deblocking and no frame drops at all.
Thanks for the help
I use XBMC SVN build 19213M on OS X Leopard, the hardware is an 8-core 2.8 Ghz Mac Pro with 2 GB RAM. I noticed recently that one of my 720p video looked quite blocky so I cross-checked the picture with VLC to assure that the artifacts are not in the source but caused by the decoder. It turned out that this was the case, however, I was able to reproduce the same blocing artifacts with VLC when I set the FFmpeg loopback filter skipping parameter to 'always' (effectively turning off the deblocking filter).
I've read on a number of forum threads about a (hidden) parameter in advancedsettings.xml, namely 'skiploopfilter', I thought this could solve my problem with blocking. It seems that XBMC does nothing new when I set skiploopfilter to 0 or 8 or anything else, neither in OS X, nor in Windows. The debug log says the the advancedsettings.xml was processed but nothing changes then. Is this parameter platform specific? If yes, how can I cope with the blocking problem?
There was also present some kind of tearing (in the same video). Again VLC played without tearing, what is more, my older PC (AMD X2 2.2Ghz) with Windows/XBMC on it played without tearing as well. It was interesting to observe that, on OS X, the (single core) CPU usage was around 65% when I played 720p video in XBMC and around 35% when played the same video in VLC.
It seems as if XBMC would max out my Mac Pro-s processing power which is slightly absurd IMO. If CPU usage grows beyond 100% than usually frame drops occur, in other words, additional cores are not of any use . Tearing is again a sign of insufficient processing power, isn't it?
All this boils down to a single question: what can I do if I'd like to use XBMC's - otherwise great - embedded player and want the highest quality decoder output at my hand, at least the same level of quality that VLC (FFmpeg) can produce? I'm not interested in any additional postprocessing (ie. scaling deinterlacing, noise filtering, detail enhancement) since my AV receiver will care about that. I just want maximum precision decoding with frame-by-frame deblocking and no frame drops at all.
Thanks for the help