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

Reply
 
Thread Tools Search this Thread Display Modes
Old 6th May 2011, 01:21   #1  |  Link
JanWillem32
Registered User
 
JanWillem32's Avatar
 
Join Date: Oct 2010
Location: The Netherlands
Posts: 1,084
MPC-HC tester builds for internal renderer fixes

For making changes to the VMR-9 (renderless), EVR Custom Presenter, EVR Sync and subtitle renderers, I've been developing since December 2010. Because the main MPC-HC thread is for general discussion, I decided to make this thread to give users the opportunity to test changed or new renderer functions before finalizing them.
I already made some earlier tester builds and posted those on the main thread. From now on I'll post all of those in this thread. If anyone wishes to make suggestions, specific bug reports, or feature requests for the items that I'm working on, feel free to do so here. Bugs outside of the scope of this thread should be reported on trac: http://sourceforge.net/apps/trac/mpc-hc/ . Please avoid making duplicate reports on trac, by using the search function first.


Current items that are in the tester build that not in the trunk build:
- Improved color management and dithering, with many new options. This item was mainly written by the developers a_afra and janos666.
- Accurate detection methods for detecting the half and full floating point surfaces support.
- New resizers: Lanczos (3 variants), B-spline (2 variants), Mitchell-Netravali spline (2 variants), Catmull-Rom spline (2 variants), and Perlin Smootherstep.

Things I really want to solve:
- I already started on making it possible to change the display refresh rate when initializing the D3D Fullscreen Mode, but it's untested and not complete yet.
- Merge EVR Custom Presenter and EVR Sync. EVR Sync has some very useful synchronization options, but the main rendering path has not been updated for a while. I hope I can make the necessary changes to allow all functional items to be kept, while unifying the renderers.
- Solve multi-threading issues.
- Increase the efficiency and quality of the renderers and subrenderers.
- Add compatibility for the new resizers with rotation.

Notes for these builds:
- The x64 builds require a x64 Windows installation to run.
- AVX versions require Windows 7 with SP1 and a processor that can handle AVX instructions: http://en.wikipedia.org/wiki/Advance...#CPUs_with_AVX
- SSE2 versions require a processor that can handle SSE2 instructions: http://en.wikipedia.org/wiki/SSE2#CPUs_supporting_SSE2

deviated from revision 4739;
x64 AVX: http://www.mediafire.com/download.php?zx62aa2tya3zva2
x64: http://www.mediafire.com/download.php?xpe5dsv0vpfyy69
x86 AVX: http://www.mediafire.com/download.php?w27vtvwebjdcxm7
x86 SSE2: http://www.mediafire.com/download.php?c1p7pd0cefp58de
x86 SSE: http://www.mediafire.com/download.php?s1jrb84qjh74mgh
source code: http://www.mediafire.com/download.php?3gggyhz21p3jmnm

deviated from revision 5050;
x64 AVX: http://www.mediafire.com/download.php?ekyojfpcmwlzact
x64: http://www.mediafire.com/download.php?0m0316dco7boo6t
x86 AVX: http://www.mediafire.com/download.php?q7t1k3cc554gy46
x86 SSE2: http://www.mediafire.com/download.php?pdctjj332xsx398
x86 SSE: http://www.mediafire.com/download.php?l2kbhmz65cwd5lt
source code: http://www.mediafire.com/download.php?ihdh20xezcnf6l9

deviated from revision 6995;
x64 AVX: http://www.mediafire.com/download.php?zjw1o4wd7gxg78d
x64: http://www.mediafire.com/download.php?afp7u88t5ry9ccq
x86 AVX: http://www.mediafire.com/download.php?ulgz40znq455shy
x86 SSE2: http://www.mediafire.com/download.php?kj66m6897nf2a8l
x86 SSE: http://www.mediafire.com/download.php?dp1qn6qdv77uafx
source code: http://www.mediafire.com/?zovvjrklb91g3sy

deviated from revision 7100;
x64 AVX: http://www.mediafire.com/download.php?8ag6rp41p4zznzx
x64: http://www.mediafire.com/download.php?kxbk27i64vt13v4
x86 AVX: http://www.mediafire.com/download.php?2o7zul5q8f3fs17
x86 SSE2: http://www.mediafire.com/download.php?l3963gk1rdug3o1
x86 SSE: http://www.mediafire.com/download.php?lld1wubouzoa1ru
source code: http://www.mediafire.com/download.php?cb1fltfpafn8dik

deviated from revision 7190;
(problematic x86 SSE version is only available in the development folder)
x64 AVX: http://www.mediafire.com/download.php?88hmyzk28dirvoe
x64: http://www.mediafire.com/download.php?blxt149mkogocad
x86 AVX: http://www.mediafire.com/download.php?t2gddkymt9x6mij
x86 SSE2: http://www.mediafire.com/download.php?ijs4cjj5b47d7s0
source code: http://www.mediafire.com/download.php?bz09ag24yoj9pus

deviated from revision 7313;
(problematic x86 versions are only available in the development folder)
x64 AVX: http://www.mediafire.com/download/cd...ter_dfr7313.7z
x64: http://www.mediafire.com/download/ss...ter_dfr7313.7z
source code: http://www.mediafire.com/download/mp...source_code.7z

deviated from revision 7370;
x64 AVX: http://www.mediafire.com/download/db...%20dfr7370r.7z
x64: http://www.mediafire.com/download/ew...%20dfr7370r.7z
x86 AVX: http://www.mediafire.com/download/8k...%20dfr7370r.7z
x86 SSE2: http://www.mediafire.com/download/g4...%20dfr7370r.7z
x86 SSE: http://www.mediafire.com/download/df...%20dfr7370r.7z
source code: http://www.mediafire.com/download/7v...urce%20code.7z
__________________
development folder, containing MPC-HC experimental tester builds, pixel shaders and more: http://www.mediafire.com/?xwsoo403c53hv

Last edited by JanWillem32; 21st December 2013 at 15:11. Reason: added new builds
JanWillem32 is offline   Reply With Quote
Old 6th May 2011, 02:57   #2  |  Link
namaiki
Registered User
 
Join Date: Sep 2009
Location: Sydney, Australia
Posts: 1,073
How to use the new scaler? Just select any of the "Bicubic" resizer options under View-> Options-> Output?

Last edited by namaiki; 6th May 2011 at 03:12.
namaiki is offline   Reply With Quote
Old 6th May 2011, 03:33   #3  |  Link
burfadel
Registered User
 
Join Date: Aug 2006
Posts: 2,130
In regards to the D3D playback, how about when it changes to the next video that it doesn't need to reinitialise? I don't see any reason why it would needs to...
burfadel is offline   Reply With Quote
Old 6th May 2011, 08:34   #4  |  Link
JanWillem32
Registered User
 
JanWillem32's Avatar
 
Join Date: Oct 2010
Location: The Netherlands
Posts: 1,084
@namaiki: Yes, indeed. I'll add proper naming in the Options screen once I've converted and added my current set of scaling shaders. There was only one slot open for use in the original renderer code, so I'll have to expand that section first to add more items later. The current one is a good example of one of the naturally sharpest scaling methods. It generally does a good job on content that's not too noisy.

@burfadel: I've actually looked into this quite some time ago. It bothers me too. There is nothing in the renderers themselves that forbids seamless playback. Both VMR-9 and EVR mixers support switching input video streams while the rendering process is paused. The controller part for the renderers makes any renderer shut down and start up again while transitioning between files. So far I haven't been able to find the specific code or even part that actually does this (or even know how it's formally called), so I haven't even had the chance of experimenting with changing this behavior.
Note that a true seamless playback will be a bit hard. There is always a file buffer involved, and buffering abridging 2 files for a completely seamless transition requires a very adaptive buffering method, which isn't available at the moment. This is also only possible when transitioning between two very similar files, e.g. playing a blu-ray disc playlist that uses chapters in separate files.
__________________
development folder, containing MPC-HC experimental tester builds, pixel shaders and more: http://www.mediafire.com/?xwsoo403c53hv
JanWillem32 is offline   Reply With Quote
Old 6th May 2011, 09:10   #5  |  Link
suanm
Registered User
 
Join Date: Apr 2011
Posts: 61
thanks to JanWillem32,i've downloaded the software you uploaded,once i'm available,i'll do the tests
suanm is offline   Reply With Quote
Old 6th May 2011, 09:57   #6  |  Link
suanm
Registered User
 
Join Date: Apr 2011
Posts: 61
JanWillem32,Would you like to tell me what Low Quality(64" points),Medium Quality(128" points) and High qulity(256" points) mean?
suanm is offline   Reply With Quote
Old 6th May 2011, 10:47   #7  |  Link
JanWillem32
Registered User
 
JanWillem32's Avatar
 
Join Date: Oct 2010
Location: The Netherlands
Posts: 1,084
The look-up quality for the color management is based for the main part on the size of the 3-Dimensional Look-Up Table (3DLUT). It contains the color correction data generated by the the color correction engine's output using the calibration profiles (.ICM files) with calibrated display devices.
A larger 3DLUT allows a more accurate interpolation for each of the red, green and blue components of the display, but in return it will be more demanding in video memory and the memory resources. Low Quality (64 points) will use 2 MB, Medium Quality (128 points) will use 16 MB, and High Quality (256 points) will use 128 MB of memory.
__________________
development folder, containing MPC-HC experimental tester builds, pixel shaders and more: http://www.mediafire.com/?xwsoo403c53hv
JanWillem32 is offline   Reply With Quote
Old 6th May 2011, 11:17   #8  |  Link
G_M_C
Registered User
 
Join Date: Feb 2006
Posts: 1,076
Bedankt voor de testers Jan Willem.

Installed the latest immediately, seems to work as intended (like the previous ones). But mind you: I just use it as player for movies on my secondary screen.

The only thing i noticed is the hangup after stopping movie when using 10-bit out/D3D full-screen. I have to kill MPC-HT through the control panel. But this bug has been in ht builds since a long while now. And im used to it. Also, for me it is no problem, since my secondary screen is the one i use for the full-screen output, the MPC-HT window/process is therefor always accessible on my 1st screen.

Last edited by G_M_C; 6th May 2011 at 13:41.
G_M_C is offline   Reply With Quote
Old 6th May 2011, 11:28   #9  |  Link
Virtual_ManPL
Virtual_ManPL
 
Virtual_ManPL's Avatar
 
Join Date: Sep 2009
Posts: 168
I got "no video" (or you can also say video with one dominant color) when I use:
EVR CP/VMR9 (Renderless) + Binear (PS 2.0)
EVR Sync + Bicubics

Happens in all files. Decoder and splitter didn't make any difference.
Using 64bit MPC-HC.
Virtual_ManPL is offline   Reply With Quote
Old 6th May 2011, 14:41   #10  |  Link
suanm
Registered User
 
Join Date: Apr 2011
Posts: 61
Quote:
Originally Posted by JanWillem32 View Post
The look-up quality for the color management is based for the main part on the size of the 3-Dimensional Look-Up Table (3DLUT). It contains the color correction data generated by the the color correction engine's output using the calibration profiles (.ICM files) with calibrated display devices.
A larger 3DLUT allows a more accurate interpolation for each of the red, green and blue components of the display, but in return it will be more demanding in video memory and the memory resources. Low Quality (64 points) will use 2 MB, Medium Quality (128 points) will use 16 MB, and High Quality (256 points) will use 128 MB of memory.
I understand generally what you said above.I did a simply test just now for bicubic a=-1.00,ps=2.0 ;Low Quality(64" points) Spline4 Interpolation; Enable little Cms;EVP/CP.
Mpc-hc works so perfectly,too amazingly(no dropping frames at least,very smoothly). Video quality is as well as it's for madvr. Playback for Medium Quality (128 points) is not smooth,though.Perhaps my video card is not powerful enough
PS:nvida 9400GT 400/800 ,256M+turbo256M;Amd trial core CPU
suanm is offline   Reply With Quote
Old 6th May 2011, 14:45   #11  |  Link
neoufo51
Registered User
 
Join Date: Nov 2005
Posts: 165
Quote:
Originally Posted by Virtual_ManPL View Post
I got "no video" (or you can also say video with one dominant color) when I use:
EVR CP/VMR9 (Renderless) + Binear (PS 2.0)
EVR Sync + Bicubics

Happens in all files. Decoder and splitter didn't make any difference.
Using 64bit MPC-HC.
Confirmed with 32bit. Also, huge slowdown when you select any of the transfer curves types and you can't unselect them.
__________________
Running Win7 laptop with Nvidia GT120M card, 267.xx drivers.
neoufo51 is offline   Reply With Quote
Old 6th May 2011, 15:17   #12  |  Link
suanm
Registered User
 
Join Date: Apr 2011
Posts: 61
I do a test again with 720P video,Playback for Medium Quality (128 points) is smooth,no dropping frames anymore.But playback with 1080p video is smooth just by choosing Low Quality(64" points).
suanm is offline   Reply With Quote
Old 7th May 2011, 09:05   #13  |  Link
PetitDragon
Registered User
 
Join Date: Sep 2006
Posts: 78
Hi JanWillem32 thanks for the test builds. However, I found all your builds after r3008 the renderer always hangs when auto switching display refresh rates (both using MPC-HC internal or Reclock). Is it possible to fix?

Thanks again for your help.

P.S. The try-out builds in xhmikosr and xvidvideo.ru sites don't have such problem.
PetitDragon is offline   Reply With Quote
Old 7th May 2011, 16:56   #14  |  Link
JanWillem32
Registered User
 
JanWillem32's Avatar
 
Join Date: Oct 2010
Location: The Netherlands
Posts: 1,084
For the changed items in the renderer settings menu I'll write a guide. (I can simply copy-paste my previous post for one part, anyway).

@burfadel: I've heard from tetsuo55 that the part that reloads all filters when switching between files is the filter graph builder. It's currently configured to always unload every filter when a file closes and load every relevant filter when a file opens. If a function is added that evaluates if a filter can stay loaded on switching input files, we would have to check for compatibility with all usual splitters, codecs and renderers. I think this option will have to stay a bit longer on my wish list. However, if anyone volunteers for writing code for the filter graph builder, I can assist.

@G_M_C: Graag gedaan.
Dual screen support code is in many parts of the video renderers and their host. There have been some improvements recently, but it's not ideal yet. I'll see if I can make some improvements, I have to go over these parts of the code to fix a few multi-threading bugs anyway.

@Virtual_ManPL: I've only fixed one scaler for now. I have to edit all other scalers to fix an issue with 1:1 pixel mapping before I can enable those as well. At the moment, even the method for nearest neighbor scaling is wrong.
Once I have a working set of scalers and edited the options screen, I'll copy-paste the code into EVR sync.

@suanm: I found out that the Spline4 interpolation method can be very demanding on the GPU's memory system on samples with a lot of movement. I'm considering removal of this item if I can't correct that. Once I got the 256-sized 3DLUT working, I didn't really see much improvement in image quality from this item anymore, anyway.

@neoufo51: All of the color management's menus need to have at least one option enabled to make it work. I still have to define some default settings, and optimize the code of the renderer settings menu in general.

@PetitDragon: I'll look into it, thanks for reporting it so clearly.
__________________
development folder, containing MPC-HC experimental tester builds, pixel shaders and more: http://www.mediafire.com/?xwsoo403c53hv
JanWillem32 is offline   Reply With Quote
Old 7th May 2011, 17:41   #15  |  Link
G_M_C
Registered User
 
Join Date: Feb 2006
Posts: 1,076
Has someone else noticed that when you look at the CTRL-J / stats screen, it wont seem to go away anymore (pressing CTRL-J multiple times doesnt remove the stats anymore) ?

And i only get the short stats screen (the one with only framerate etc, not the one with output/the graph etc).

(Win 7 64, running MPC-HT 32 bit)
G_M_C is offline   Reply With Quote
Old 7th May 2011, 21:52   #16  |  Link
JanWillem32
Registered User
 
JanWillem32's Avatar
 
Join Date: Oct 2010
Location: The Netherlands
Posts: 1,084
Same here, it's like if I've pressed a button two or three times, while in reality it's only once. I only get this in exclusive mode, and it can sometimes be solved after the first mouse click, but not always. I've had this problem for quite some time now (not only in the builds I modified). I wonder what part of the program it is that can make it so sensitive to keystrokes.
http://forum.doom9.org/showthread.ph...76#post1497176
http://forum.doom9.org/showthread.ph...69#post1497469
__________________
development folder, containing MPC-HC experimental tester builds, pixel shaders and more: http://www.mediafire.com/?xwsoo403c53hv
JanWillem32 is offline   Reply With Quote
Old 7th May 2011, 22:15   #17  |  Link
G_M_C
Registered User
 
Join Date: Feb 2006
Posts: 1,076
Quote:
Originally Posted by JanWillem32 View Post
Same here, it's like if I've pressed a button two or three times, while in reality it's only once. I only get this in exclusive mode, and it can sometimes be solved after the first mouse click, but not always. I've had this problem for quite some time now (not only in the builds I modified). I wonder what part of the program it is that can make it so sensitive to keystrokes.
http://forum.doom9.org/showthread.ph...76#post1497176
http://forum.doom9.org/showthread.ph...69#post1497469
Ive gone back some builds to see. The stats/CTRL-J works as intended on my machine @ build 2964.
G_M_C is offline   Reply With Quote
Old 8th May 2011, 00:11   #18  |  Link
mindbomb
Registered User
 
Join Date: Aug 2010
Posts: 578
noob question: so ffdshow and madvr have seperate sections for chroma and luma scaling. Is the spline scaler here used for both chroma and luma?

another comment, i find that I have maximal gpu usage when scaling a 1080p image, but if I have a 1080i screen, why is there scaling going on?

and lastly, with disable desktop composition enabled, i get tearing, where as in the non tester builds, I don't get tearing.

I find that performance is adequate for spline6 scaling even on my lowly 4350, as long as aero is disabled

Last edited by mindbomb; 8th May 2011 at 05:29.
mindbomb is offline   Reply With Quote
Old 8th May 2011, 03:58   #19  |  Link
cyberbeing
Broadband Junkie
 
Join Date: Oct 2005
Posts: 1,833
Enabling lcms produces a 0-byte LUT3D file. Once MPC-HC is closed, all subsequent videos produce a black screen. Deletion of the 0-byte LUT3D fixes it, but it get automatically recreated next time you play a video.

lcms has no Default or Optimal settings. Nothing is check except for Spline4 and Black Point Compensation. (after deleting HKCU\Software\Gabest\Media Player Classic putting MPC-HC in a fresh state)

lcms Spline4 mode is unusable on my GPU (massive frame-drops), so Linear should probably be set as Default in lcms.

There is a 50% chance that at video playback start, MPC-HC hang indefinitely at 100% CPU usage when lcms is enabled.

Changing Vsync or Presentation settings while a video is playing, sometimes causes the video to distort into a checkerboard pattern, other times crash.
cyberbeing is offline   Reply With Quote
Old 9th May 2011, 20:31   #20  |  Link
ikarad
Registered User
 
Join Date: Apr 2008
Posts: 526
Quote:
Originally Posted by JanWillem32 View Post
For making changes to the VMR-9 (renderless), EVR Custom Presenter, EVR Sync and subtitle renderers, I've been developing since December 2010. .
Can we expect that you make a subtitle renderer without bug and full support of bluray subs (for this moment the support is very buggued) for mpc-hc?
ikarad is offline   Reply With Quote
Reply

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 11:33.


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