View Full Version : Smooth HD videos with subtitles with Nvidia ION 2
Master_T
13th June 2012, 10:36
Hi guys!
I'm starting this thread as a last resort before giving up completely, since I've been trying for weeks to make this work properly, but havn't succeded yet.
So here is the problem: I'm running a HTPC built with a Asus at5iont-i motherboard, 4gb of RAM and Win7 x64.
Videos run great when using a decoder that supports DXVA... until I try a video that has subtitles. In that case either the playback slows down/becomes choppy when subtitles are on screen or rendering artifacts appear.
I've been trying various combinations of video players and filters, but to no avail. Here are my results:
PotPlayer, integrated decoder using DXVA, internal subtitles filter: video stutters whenever a subtitle line appears on video
PotPlayer, integrated decoder using CUDA, internal subtitles filter: playback is smooth, but quite frequent video artifacts (every 30secs ~ 1min corruption appears until the next keyframe)
PotPlayer, ffdshow DXVA decoder, ffdshow subtitles filter: almost constant artifacts, and after a while the whole thing freezes
PotPlayer, LAV using DXVA copybit + ffdshow RAW filter to process subtitles: smooth video and subs, but artifacts appear every 15-30 secs or so, and freezes often
MPC-HC, internal subtitles filter: video becomes choppy when subtitles are displayed, A/V even goes out of sync
MPC-HC, [any of the above combination of external filters]: same thing as with PotPlayer
VLC: video slow/choppy/out of sync
If ANYONE has ANY idea, setting or alternative software to suggest, even the most obscure, convoluted or improbable, please share, because I'm running out of ideas.
Important note: I'm sure the hardware is capable of playing 1080p movies with subs smoothly, because in Ubuntu with XBMC it does, but I need windows on the machine for other reasons, I can't reboot into ubuntu every time I want to watch a movie...
Any help is apprecaited, thanks in advance!
Hypernova
13th June 2012, 10:52
Just an idea, did you try a non-dxva option? My 4.5 years old laptop with C2D 1.06GHz can play a 720p with (static) ass subtitle, abide barely.
Master_T
13th June 2012, 11:21
Just an idea, did you try a non-dxva option? My 4.5 years old laptop with C2D 1.06GHz can play a 720p with (static) ass subtitle, abide barely.
I mostly play 1080p videos, and the integrated Atom CPU in the motherboard can't cope with them unfortunately... the motherboard *should* be expressly designed for GPU-assisted video playback using the NvidiaION integrated chip... which works perfectly, except when subtitles are concerned.
JanWillem32
13th June 2012, 12:12
If you don't mind trying an experimental MPC-HC version, I'd be happy to provide developer feedback for my experimental builds. I've been trying to optimize for both high-end and low-end solutions by editing the internal renderers. As testing all systems on my own is impossible, I'm glad to have a community here that reports the bugs and successes I've had:
http://forum.doom9.org/showthread.php?p=1578040#post1578040
As the options are a little different by default, reset your settings first on the View, Options, Miscellaneous tab. (You can also store a backup copy of your settings there.)
For on the Subtitle tab, you might want to use the option to render the subtitles at 1/2 or 3/4 of the screen resolution. This depends on both your screen resolution and the available CPU power for the software renderer. Disabling animation will also free up some CPU power (not only on animated subtitles, by the way).
On the output tab, The defaults should be pretty much okay. The only option in there that should prove useful for you is the D3D Fullsrcreen mode. The warning issued when selecting it is outdated. In my version of the renderer this option can be freely switched (the default key combination is Ctr+F). The rest is true. The D3D Fullsrcreen presents directly to the device's back- and frontbuffers (that's why it's efficient and accurate), disabling the windows desktop for the entire monitor. It has a basic seek bar operable by the mouse at the bottom of the screen, and all key combinations and remote commands still work.
To free up some basic GPU processing power, go to the configuration panel for your IGP, and take a look at the video tab in there. If there are any filters besides pulldown and deinterlacing enabled, disable them.
The last option that might give some extra performance for you is the alternative scheduler option I've been developing. It allows more buffering than the other modes. It can work both in D3D fullscreen and in windowed mode with Aero enabled. It has a setback that when it starts to drop frames, it doesn't do it very gracefully. (You can track the renderer's behavior with the stats screen while running, using the Ctrl+J key combination.)
The option is enabled in the View, Renderer Settings, Presentation menu. The other options are mostly to enhance video quality. Any quality option will most probably be too heavy for your IGP, though.
Feel free to try the various internal and external decoders, you might have a performance gain with one of them.
I'll gladly take complaints and requests. I can also advise on quality options to try if your video playback is smooth with the performance settings.
Hera
13th June 2012, 14:37
Seems in part like a driver problem, maybe just trashed computer in general.
Playing 1080p w. 1080p animated subtitles on ION 1 here with JanWillem32's builds.
Master_T
13th June 2012, 15:37
@JanWillem32: thanks for your interest, I'll try one of your builds tonight or tomorrow, see if it runs better, will report back
@Hera: mmm, now that you mention it, I'm not sure the problem has always been there, maybe it started at a certain point in time... I already tried formatting the machine, but each time I always installed the latest nvidia drivers... may that be the problem? I will try to install a driver from 2011 and see if it fares any better.
fagoatse
13th June 2012, 18:26
Do as JanWillem32 says.
I built an AMD APU based HTPC last year and ended up having various performance issues, until I tried his mpc-hc fork.
Get the latest builds with compiler optimiztions suitable for your CPU and the latest LAV filters. Set the renderer to EVR-CP and use either DXVA2-native or CUDA and you're pretty much set.
You might want to take a look at this guide http://imouto.my/watching-h264-videos-using-compute-unified-device-architecture-cuda/.
I can play h264-8bit-1080p high bitrate BD releases of anime with pretty fancy .ass subs including karaoke, without any framedrops and the same applies to 10bit content in 720p.
My specs: E-350 1.6 GHz Dual Core + HD6310.
Hera
13th June 2012, 19:48
CUDA requires a bit more CPU (10% more on my netbook) than DXVA. DXVA-Copy Back Seems to work better, in terms of detecting DXVA-incompatible videos.
Whatever you do avoid MadVR -even at the very lowest settings and stuff, it is a joke in performance compared to EVR-CP.
:)
Master_T
13th June 2012, 22:39
Well, I reformatted and reinstalled win7. Tried to use old nvidia drivers, but same result. Tried using LAV with CUDA, but same thing as with PotPlayer's CUDA: artifacts!
On the other end, JanWillem32 MPC-HC build seems to work fine, so thanks Jan, great "mod"! Will have to test further to see if artifacts appear tho, only watched 5 minst of video...
Still, a shame I couldn't get it working on PotPlayer, I much prefer it to MPC :( but at least it works, that's something.
Mangix
14th June 2012, 03:04
CUDA requires a bit more CPU (10% more on my netbook) than DXVA. DXVA-Copy Back Seems to work better, in terms of detecting DXVA-incompatible videos.
Whatever you do avoid MadVR -even at the very lowest settings and stuff, it is a joke in performance compared to EVR-CP.
:)not my experience. if i set all the scalers(well, maybe just luma upscaling) to bilinear, I get performance better than VMR9 on XP with an HD2400 Pro. I'm really skeptical of claims like this. madVR is a very versatile renderer.
Hera
14th June 2012, 05:12
not my experience. if i set all the scalers(well, maybe just luma upscaling) to bilinear, I get performance better than VMR9 on XP with an HD2400 Pro. I'm really skeptical of claims like this. madVR is a very versatile renderer.
I am sorry but I have to destroy you,
MadVR is de-facto worst thing that one can ever recommend for performance.
Here is the proof,
http://imgur.com/a/JsdBi
Video Used For All of These
1920*1080 MP4 from YouTube
CUDA + MadVR + default settings: ~43% with dropped frames everywhere, not watchable. Memory is low 400s.
CUDA + MadVR + bilinear / performance settings: ~48% with dropped frames everywhere, not watchable. Memory is low 400s.
CUDA + EVR: ~20% CPU. No problem, still not anywhere near ideal CPU utilization. Memory cut down to mid 200s.
DXVA + EVR: ~7% CPU. Now Desktop Window Manager is using more CPU than the player. Memory is low 200s, still high for simple video.
Windows Media Player: ~5% CPU. Memory is mid 100s.
Master_T
14th June 2012, 12:07
I'm not an expert, but I tried using madVR, it's absurdly heavy, can't even keep up with a 720p video...
JanWillem32
14th June 2012, 13:40
If the renderer is working fine for you, you can consider using heavier scaling methods in the Options, Output tab. Some examples: http://pixinsight.com/forum/index.php?topic=556.0 . Note that when either horizontal and/or vertical scaling isn't required, the filter for one or both resizing passes is disabled.
Another good option is using 10- or 16-bit working surfaces. These options can be set in the Renderer Settings, Presentation menu. The quality options in the renderer are enabled with better surface quality than 8-bit, but the additional filtering passes might be too heavy for your IGP.
Technically, the builds I post are developmental alphas not a mod. I regularly post source code packages, I'm credited as an author for the MPC-HC project and the code I've modified is meant to be merged to the main version in due time (after the 100-and-something other patches I have are processed).
Hera's tests are accurate for a low-end system for when the renderer isn't in D3D fullscreen. Both EVR CP and MadVR should perform better when not presenting to the Desktop Window Manager. The memory issue is mostly caused by the legacy code in the player. For example, the old GDI parts to draw fonts, the OSD, and the subtitles uses up tons of space for both used and reserved bitmaps. Additional developers to alleviate these issues are very welcome to join.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.