Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Hardware & Software > Software players

Closed Thread
 
Thread Tools Search this Thread Display Modes
Old 24th June 2011, 23:26   #17581  |  Link
cyberbeing
Broadband Junkie
 
Join Date: Oct 2005
Posts: 1,833
Quote:
Originally Posted by clsid View Post
I measured the total CPU time used by MPC while playing a 720x480 H.264 clip with subtitles that have karaoke effects. Clip duration 1m46s.
CPU time alone is not a good way to judge VSFilter performance. The real question is if there is a gain in FPS with extremely heavy scripts, which are unable or barely playback in real-time on slower computers.

I did some testing, and in most cases gommorah's fixed string manipulation patch results in a 0-2% increase in avg framerate on difficult samples when VSFilter is CPU limited and prebuffering is disabled (r3255 vs r3262 from xvidvideo.ru). Some subtitle samples and CPUs likely benefit from the patch more than others, but at least this resolved one of many causes of VSFilter slowdowns. Since the code hasn't really changed much, it's likely the optimizations from VS2010 vs VS2005 results in most of the gain over Guliverkli2.

AMD X2 4800+ (939) @2.64Ghz on WinXP SP3

VSFilter r3262 (xvidvideo.ru VS2010)
KaraokeSample1: ~22 fps
KaraokeSample2: ~20.5 fps
TypesettingSample1: ~20.5 fps

VSFilter r3255 (xvidvideo.ru VS2010)
KaraokeSample1: ~21.75 fps
KaraokeSample2: ~20 fps
TypesettingSample1: ~20 fps

VSFilter r3242 (VS2010 WPO+PGO)
KaraokeSample1: ~22.5 fps
KaraokeSample2: ~22.75 fps
TypesettingSample1: ~21.25 fps

VSFilter 2.39.5.2 (Guliverkli2 VS2005)
KaraokeSample1: ~20.75 fps
KaraokeSample2: ~16.75 fps
TypesettingSample1: ~19.25 fps

Note: The above are rough measurements, averaged over a few runs on 1000-2000 frame clips. They are accurate enough to see which builds are faster/slower with the samples tested, but not accurate enough to determine exact performance gains/losses in the way I tested. The r3242 WPO+PGO build I just added for comparisons sake. I haven't taken the time to make a new build, but I suspect a r3262 WPO+PGO build would have a similar 0-2% gain with the patch like the xvidvideo.ru builds do.
cyberbeing is offline  
Old 25th June 2011, 08:17   #17582  |  Link
Underground78
Registered User
 
Underground78's Avatar
 
Join Date: Oct 2004
Location: France
Posts: 539
Quote:
Originally Posted by clsid View Post
The core detection code is only used for the default setting. It is only used if the value was not yet set in the Registry/INI.
Yeah I know but what should I do ? Keep 4 and true as default settings for VSFilter ? Should I port them back to MPC-HC (getting rid of the core check) ?

I never use animation in subtitles so I don't really know what to do ...
Underground78 is offline  
Old 25th June 2011, 09:00   #17583  |  Link
VipZ
Registered User
 
Join Date: Jun 2009
Location: London
Posts: 373
Quote:
Originally Posted by Underground78 View Post
Yeah I know but what should I do ? Keep 4 and true as default settings for VSFilter ? Should I port them back to MPC-HC (getting rid of the core check) ?
I think the 3 core check seems kind of odd, as this eliminates Core2Duo's but includes AMD Phenom X3 which are typically clocked lower and slower clock for clock. Especially since its not multithreaded.

Maybe if a check is desired something like this,
WinXP = 3 cores (Mostly to keep it away from older P4's with HT)
Vista+Windows7 = 2 cores
__________________
Windows 10 Pro x64, CPU: Core i7 6700K, GPU: GeForce GTX 980 /w 355.60, Audio: HDMI to Yamaha RX-A3010 (5.1)

Last edited by VipZ; 25th June 2011 at 09:11.
VipZ is offline  
Old 25th June 2011, 14:58   #17584  |  Link
clsid
Registered User
 
Join Date: Feb 2005
Posts: 4,667
I say commit with 4 as default in both VSFilter and MPC. Use true for the anim option. It can always be changed later if needed.
clsid is offline  
Old 25th June 2011, 15:09   #17585  |  Link
neb1236
Registered User
 
Join Date: Sep 2009
Posts: 16
Hi, since revision 3262 (fixed vertical padding) placement of Drawing is wrong (I don't know why and how).
Here is a self explanatory image, I used Aegisub to render it so we can see the anchor point, but I have tested on a video, and the result is the same:
http://img808.imageshack.us/img808/8107/examplerb.png

Thanks for reading.
neb1236 is offline  
Old 25th June 2011, 15:11   #17586  |  Link
namaiki
Registered User
 
Join Date: Sep 2009
Location: Sydney, Australia
Posts: 1,073
Quote:
Originally Posted by neb1236 View Post
Hi, since revision 3262 (fixed vertical padding) placement of Drawing is wrong (I don't know why and how).
Here is a self explanatory image, I used Aegisub to render it so we can see the anchor point, but I have tested on a video, and the result is the same:
http://img808.imageshack.us/img808/8107/examplerb.png

Thanks for reading.
It would be much appreciated if you could upload your video/subtitle sample so that this issue can be reproduced.

Last edited by namaiki; 25th June 2011 at 15:25.
namaiki is offline  
Old 25th June 2011, 15:32   #17587  |  Link
neb1236
Registered User
 
Join Date: Sep 2009
Posts: 16
Quote:
Originally Posted by namaiki View Post
It would be much appreciated if you could upload your video/subtitle sample so that this issue can be reproduced.
Of course, here it is, under the form of a test case: http://www.mediafire.com/?6at2mvvzhb3xd97
neb1236 is offline  
Old 25th June 2011, 15:46   #17588  |  Link
clsid
Registered User
 
Join Date: Feb 2005
Posts: 4,667
With the old VSFilter 2.39 it also isn't perfect. Without padding the blue boxes are slightly larger, but the black boxes are positioned correctly. With padding enabled, the black boxes are stretched vertically. But padding is something not really suitable for subs that need specific positioning above the video.

With new VSFilter, the black boxes are positioned wrong even with padding disabled.

Last edited by clsid; 25th June 2011 at 15:48.
clsid is offline  
Old 25th June 2011, 15:54   #17589  |  Link
neb1236
Registered User
 
Join Date: Sep 2009
Posts: 16
Oh, sorry, forgot to mention the reference image, (I didn't made the square the same size), here is reference image, and the result with r3262, it's not a very good testcase:
http://img717.imageshack.us/img717/2954/resultu.png
neb1236 is offline  
Old 25th June 2011, 19:02   #17590  |  Link
cyberbeing
Broadband Junkie
 
Join Date: Oct 2005
Posts: 1,833
I can confirm what neb1236 is seeing when Vertical Padding is set to Original Height in r3262.

CCCP's r339/r1096 basevideofilter revert patches doesn't have the positioning bug seen in neb1236's r3262 image and fixes Vertical Padding in VSFilter. Identical results to Guliverkli2.
Edit: My mistake, it turns out I tested the wrong build which only had the r339/r1096 basevideofilter revert patches. The build with r339/r1096 basevideofilter revert patches and gommorah's patch did have the bug. It looks like CLSID fixed this in r3270.

CLSID's custom Vertical Padding Fix patch in r3261 does have the positioning bug seen in neb1236's r3262 image.

Last edited by cyberbeing; 27th June 2011 at 22:17.
cyberbeing is offline  
Old 26th June 2011, 00:28   #17591  |  Link
clsid
Registered User
 
Join Date: Feb 2005
Posts: 4,667
r3261 should have the same effect as reverting 339/1096. Some fresh eyes looking at that code would be helpful. I might have overlooked something.
clsid is offline  
Old 26th June 2011, 00:59   #17592  |  Link
Eliminateur
Registered User
 
Join Date: Jan 2010
Posts: 75
noone of the internal filters appear to be working i select all of them, ffmpeg and dxva and i always get a pin failed to render message.
no matter if i disable them in ffdshow or not
r3262 x64
Eliminateur is offline  
Old 26th June 2011, 10:34   #17593  |  Link
v0lt
Registered User
 
Join Date: Dec 2008
Posts: 875
mpc-hc_3268_dts_ac3_test1.7z
DTSAC3Source:
+ Added support DTSWAV (DTS-CD)
+ Added search DTS and AC3 headers (skip garbage in the beginning)
+ Improved support for AC3 and E-AC3
v0lt is offline  
Old 26th June 2011, 13:10   #17594  |  Link
JohnLai
Registered User
 
Join Date: Mar 2008
Posts: 426
Next question, does full floating point processing work with ATI? I can't use it, if I do, it resulted in either black screen or flickering black and white. (in dxva mode)
JohnLai is offline  
Old 26th June 2011, 22:36   #17595  |  Link
TheElix
Registered User
 
Join Date: May 2010
Posts: 234
Quote:
Originally Posted by JohnLai View Post
Next question, does full floating point processing work with ATI? I can't use it
I can. I have an HD6950.

I have a different problem which is quite terrible. I can't change files with PgUp/PgDn when I'm in D3DFS. When I try to do so everything's normal except one thing: video is frozen on the last frame of the previous video. It's as if the video card fails to see the need to show any changes! Sound is running normal but seekbar as well as mouse cursor aren't showing up. Catalyst 11.6, everything is set to use application settings. All video enhancers are off. I use EVR CP and tried every option in renederer settings. Tried different splitters as well. Tried uninstalling the player with its settings and with a fresh install it's the same thing.
TheElix is offline  
Old 26th June 2011, 22:55   #17596  |  Link
JanWillem32
Registered User
 
JanWillem32's Avatar
 
Join Date: Oct 2010
Location: The Netherlands
Posts: 1,084
Quote:
Originally Posted by TheElix View Post
I can. I have an HD6950.

I have a different problem which is quite terrible. I can't change files with PgUp/PgDn when I'm in D3DFS. When I try to do so everything's normal except one thing: video is frozen on the last frame of the previous video. It's as if the video card fails to see the need to show any changes! Sound is running normal but seekbar as well as mouse cursor aren't showing up. Catalyst 11.6, everything is set to use application settings. All video enhancers are off. I use EVR CP and tried every option in renederer settings. Tried different splitters as well. Tried uninstalling the player with its settings and with a fresh install it's the same thing.
It's an old problem of the renderer termination sequence in exclusive mode. It causes the old renderer instance to keep attached to an exclusive mode session on a display output, and it disallows new sessions to take possession of it. I re-wrote that part of the renderer fist in March, and I've made several optimizations for this part after that. Note that EVR is usually more sensitive to this problem than VMR, due to different unloading speeds. I've yet to integrate any optimizations I've made over time since January. There are some regressions in my version of the renderer core that inhibit me from requesting integration of the code I wrote. The most notable problem is the incompatibility with some the original VSync code.
__________________
development folder, containing MPC-HC experimental tester builds, pixel shaders and more: http://www.mediafire.com/?xwsoo403c53hv
JanWillem32 is offline  
Old 26th June 2011, 23:12   #17597  |  Link
TheElix
Registered User
 
Join Date: May 2010
Posts: 234
JanWillem32, are you a wizard? The problem is gone with your build! Why don't other development folks use your method to prevent this problem?
P.S. And I've almost made up my mind to delete the system.

Last edited by TheElix; 26th June 2011 at 23:15.
TheElix is offline  
Old 26th June 2011, 23:42   #17598  |  Link
JanWillem32
Registered User
 
JanWillem32's Avatar
 
Join Date: Oct 2010
Location: The Netherlands
Posts: 1,084
I'm not going to try to break up my re-written parts of the renderer for partial integration. I've re-written almost the complete rendering engine, and the allocator-presenter is re-written for more than a quarter of the total code. There's little resemblance in some parts of the rendering method. That causes incompatibility with a lot of the older code. The best I can do at the moment is to provide users with tester builds and interact in the thread I made. I use this method as a way to work towards offering the renewed version of the internal renderer sections as a complete replacement, rather than a patch of the original code. I most certainly know I have bend over backwards to ever get the three VSync items to work again as they used to. I'll just have to make it work, but it's very hard for me to understand the cohesion in the many 64-bit items it uses, with timescales in millisecond, 100 nanosecond, nanosecond, second and per second timing units. I would never have written it in this way. (I'm usually lazy in this regard and just activate the video card's own internal VSync, or let desktop composition handle the VSync in windowed mode, but I'm a lot more familiar with DirectX 10 and 11 than 9, anyway.)
__________________
development folder, containing MPC-HC experimental tester builds, pixel shaders and more: http://www.mediafire.com/?xwsoo403c53hv
JanWillem32 is offline  
Old 27th June 2011, 00:13   #17599  |  Link
TheElix
Registered User
 
Join Date: May 2010
Posts: 234
I see. Well, your method is the only one that makes internal autochange frequency work for me. That just makes one more reason for me to stick to your versions for now. By the way, does autofrequency in your build work for you with D3DFS?

Last edited by TheElix; 27th June 2011 at 00:27.
TheElix is offline  
Old 27th June 2011, 00:54   #17600  |  Link
JanWillem32
Registered User
 
JanWillem32's Avatar
 
Join Date: Oct 2010
Location: The Netherlands
Posts: 1,084
The exclusive mode frequency adjustment part is officially on the "to do" list, but if the display frequency is already set while the program is in windowed mode, the code I wrote will happily accept normal (whole number) and NTSC refresh rates (those are 1/1.001 adjusted) from the currently active state in windowed mode. If the exclusive mode is activated before this kind of frequency change command is used, that command is simply negated.
I didn't know this function worked at all in my builds. I haven't paid much attention to this part, I just tried to fix the critical things first. I'll have to add this function to the "to test if it works in all cases" list then...
If it doesn't really work in exclusive mode I can try to make a link to the allocator-presenter. It could then inherit the custom set frequency number directly from the user-set options and enable it on an output by itself, instead of inheriting the frequency from the windowed mode before it.
__________________
development folder, containing MPC-HC experimental tester builds, pixel shaders and more: http://www.mediafire.com/?xwsoo403c53hv
JanWillem32 is offline  
Closed Thread

Tags
dxva, h264, home cinema, media player classic, mpc-hc

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 13:10.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2017, vBulletin Solutions Inc.