The main purpose of the 2x and 3x speed improvements is the upcoming UltraHD (4k) displays. Now with v0.85.5 you can upscale Blu-Ray to UltraHD with significantly lower GPU usage, as long as you use exactly 2x upscaling. Also 720p -> UltraHD happens to be exactly 3x upscaling, so that's why I added some dedicated 3x pixel shaders, too. Please note that the exact speed improvement depends on the circumstances and especially on the GPU model.

Thanks!

That's great news! Too bad I cannot test this on a 4k display Anyway the thought of being able in a future to upscale blu-rays with jinc with these performances is welcome For SD video content maybe could it be lighter in term of resources to upscale the content with jinc first to 1080 and only then with 2x algorithm to 4k?

Interestingly I can't take a screenshot by using the Print button because the picture looks fine on the resulting screenshot. And using the save image function of MPC-HC saves the image in the original resulution.

So you mean you're getting some video frames which look corrupted or overly noisy? This doesn't sound like a usual problem, no other user has reported a problem like this. This may be a problem with your GPU drivers, or maybe the GPU is overheating, or something like that. I can't really say. Do you get the same problem in windowed and fullscreen exclusive mode? You could try going back to madVR default settings, just to double check.

Yes, some video frames look corrupted, it just looks like horizontal static lines, really. GPU drivers are up-to-date and I even did a clean install. I don't think it's overheating. I only get the problem in fullscreen exclusive mode. I'll try going back to default settings.

> it means that more demanding videos are dropping
> frames, so I would have to lower my settings if I
> disabled "use a separate device for presentation".

I suppose this was a guess based on the rendering time numbers reported by madVR. What you could do is to actually test whether you can find a situation where there are actually dropped frames in real life with "use a separate device for presentation" turned off while there are no frame drops with it turned on.

No, certain videos do start dropping frames when I have that option disabled. Plays fine with it turned on.

Quote:

Originally Posted by madshi

Did you test all this with v0.85.5? Or did you test with v0.85.4 (or older)? The reason I'm asking is that I did a small change in v0.85.5 which affects the way "use a separate device for DXVA processing" works. So it's important to test this with v0.85.5.

Yes, all with 0.85.5

Quote:

Originally Posted by madshi

Generally I agree with you that Lanczos is better for downscaling than Catmull-Rom. However, the situation is a bit different when using linear light. There Lanczos simply produces too many ringing artifacts, even with AR enabled. When not using linear light, Lanczos is probably better than Catmull-Rom, but also slower. Now the question is whether the benefit of linear light downscaling is higher or the benefit of lower aliasing with Lanczos.

One of these days, I should try and find some good film-based samples, and do a proper comparison between all the downscaling options. (measure performance and evaluate image quality)

If you are using linear light scaling, there doesn't seem to be any other option worth using, other than Camull-Rom with the anti-ringing filter enabled though. Everything else seems to suffer from particularly nasty ringing.

Quote:

Originally Posted by mzso

Hi!
Is there a freeware player that can play dvd-s (preferably from image file) with menu-s and all and also can use madvr? (No luck with mpc-hc and potplayer)

What about the same for blu-rays?

If you are using madVR with LAV Filters, DVD playback should work in MPC-HC.

madshi, I really like that you optimized Jinc 3, especially for chroma. Is there anything that can be done to improve performance with Jinc 8 on chroma or luma? I know that this is still rarely used (mainly because of itīs performance), but from 6233638īs testing some pages back, it really looks very good in comparison to the other algorithms. It seems pretty useful for some SD content (where you need higher scaling factors).

To be clear, I have only found two or three samples total where Jinc 8 actually looks good with Chroma. These are the same samples where I would also recommend SoftCubic 100.

In most cases I would recommend Jinc 3 AR for Chroma if your system can handle it. I haven't done as extensive testing with Jinc on Chroma as I have with the other algorithms (it hasn't been around as long) but there don't seem to be any real drawbacks from using it.

In fact, Jinc 3 looks better with that sample. A little softer perhaps, but much less ringing.
Notice the dark line in the right side of the A with Jinc 8. (ringing)

Quote:

Originally Posted by Niyawa

From what I know more khz generally does give best results, but I've never tested anything above 48, so I can't exactly give you a proper response. I put 48 khz as default because it's the safe bet. If you set anything higher than what you card supports, it may make a mess.

While it may be better for the resampling process, once you go above 96kHz, you tend to get worse results with DACs. Benchmark Media has a paper on this with regards to their highly regarded DAC1 that goes into the details of why this is.

It's not tearing, as you said, tearing is when one frame is ahead of other, in this case, is not a "crop" in the image that happens, but rather a distortion in loop, which causes the shaking effect. It has a fixed pattern (shaking in vertical). It's hard for me to reproduce since it can happen with any 8-bit video that has DXVA2 and Overlay enabled and as I said, it's not -always-. I have to open and re-open so that can sometimes happen.

Try with this little sample that I used in LAV thread which seems to be the one where it happens often.

The problem is only there when I'm using DXVA2 with Overlay, and it goes away if I turn DXVA2 or Overlay itself. It seems that repeatedly using the Play/Pause button also can make it go away, and make it come back as well.

Which GPU and OS are you using? I'll try to reproduce that, but I have some doubts whether I'll be able to. FWIW, it might have to do with which video decoder you're using. Is it the same in MPC-HC and PotPlayer?

Quote:

Originally Posted by ikarad

I don't have any sample.
I just refer to the red and green bars in madvr for result.

Oh, ok. Well, these bars don't take linear light into account. Also they were mostly created for upscaling.

(1) I don't see a difference with SD content. However, interlaced video source requires that I drop AR or change to Lanczos4/AR for trouble-free playback.

(2) Same as above.

(3) Does not appear to have any impact that I can see under these scenarios (though obviously NTSC film with DXVA2 decoding is not available)

I can just say, awesome perf improvements. Jinc/AR was not usable on this machine previously for image up with SD material. Seems very solid now. Great work.

Thanks for the feedback.

Quote:

Originally Posted by Prinz

ATI 2600 XT, Win7 x64

The Options don't make a difference.

Ok. You could play with the flush, backbuffer and queue settings, to see if it makes a difference. It's kinda weird that FSE mode doesn't work so well for you. Normally for AMD users it used to work pretty well, AFAIK.

Quote:

Originally Posted by AndreaMG

Testing a 1080i mpeg2 video:

1) Mine too (the difference is however minimal).

2) The GPU load is the same and I have no glitches with it being on or off.

4) I think while disabled GPU load is slightly worse (the difference however it seems to be VERY minimal).

Ok, thanks.

Quote:

Originally Posted by AndreaMG

For SD video content maybe could it be lighter in term of resources to upscale the content with jinc first to 1080 and only then with 2x algorithm to 4k?

I'm pretty sure that would be slower. It would also not be good for image quality.

Interestingly I can't take a screenshot by using the Print button because the picture looks fine on the resulting screenshot. And using the save image function of MPC-HC saves the image in the original resulution.

Oooops. During my testing I played with when the special 2x and 3x shaders are activated, and I accidently left Jinc image upscaling active for 3x scaling instead of 2x scaling, although the shader only properly works for 2x scaling. My fault, will be fixed in the next build.

Quote:

Originally Posted by iamhacked

Yes, some video frames look corrupted, it just looks like horizontal static lines, really. GPU drivers are up-to-date and I even did a clean install. I don't think it's overheating. I only get the problem in fullscreen exclusive mode. I'll try going back to default settings.

That's rather weird. Not heard of such a problem from anyone else yet. If all else fails, you'll simply have to live without FSE mode. Or you could try whether tweaking all those various madVR settings (e.g. flush, buffers, queue sizes, "prepresent" on/off etc) helps somehow.

Quote:

Originally Posted by 6233638

No, certain videos do start dropping frames when I have that option disabled. Plays fine with it turned on.

Ok. So the option does help in your case. Do you agree that I should still turn it off *by default*, because it breaks playback with Nvidia Optimus (and AMD shared systems, too)?

I tried upping the settings to the point where it would start dropping frames on this GPU and with the "use a separate device for presentation" option enabled, i got lower rendering times but more frame drops(around 5 frames a second) whereas with it disabled, i got higher rendering times but less frame drops(3-4). Something is up.

edit: i also have a question about the refresh rate switcher. when it switches to a custom resolution of eg. 48Hz or 50Hz, everything is fine. But when it switches back to 60Hz, it switches not to the normal 60Hz resolution but some special HDTV one. here are two screenshots:

Unrelated to that, the optimizations with Jinc have made a big difference. With 720p or lower videos, I can use Jinc 3 AR for Chroma now, and Jinc 3 without the AR filter for 1080p content.

Glad to hear that.

Quote:

Originally Posted by Mangix

I tried upping the settings to the point where it would start dropping frames on this GPU and with the "use a separate device for presentation" option enabled, i got lower rendering times but more frame drops(around 5 frames a second) whereas with it disabled, i got higher rendering times but less frame drops(3-4). Something is up.

Interesting. This is what I meant when I said that trusting rendering times alone isn't always telling the whole truth. However, 6233638 also has better real life performance with the option enabled compared to having it disabled. So it once again seems like the option behaves differently for different setups. Anyway, I'll disable it by default in the next build.

Quote:

Originally Posted by Mangix

edit: i also have a question about the refresh rate switcher. when it switches to a custom resolution of eg. 48Hz or 50Hz, everything is fine. But when it switches back to 60Hz, it switches not to the normal 60Hz resolution but some special HDTV one.

I think this was reported by other Windows 8 users before. It doesn't seem to occur on Windows 7. You could create a debug log for me to check if I can see anything wrong. But IIRC last time I checked, madVR behaved correctly. I think it's probably a driver problem. I think that either the driver is telling madVR that the original mode was 59Hz. Or alternatively, when madVR asks the OS/driver to switch to 60Hz, the driver switches to 59Hz instead. One of those 2 things, I think.

Quote:

Originally Posted by ryrynz

Madshi, thoughts on a general GPU performance impact bar graph showing along with the rest for each of the algorithms?

That's not as easy as it may sound. Performance depends on so many factors. E.g. I've found that on my PC Jinc scaling is relatively fast with very small scaling factors, but gets exponentionally slower with bigger scaling factors. Also the anti-ringing filter is so much slower on older generation GPUs than it is on newer generation GPUs. Finally, with v0.85.5 I just introduced special shader code for 2x and 3x scaling factors, which is way faster than with other scaling factors. How could I possibly show such effects with one simple graph?

Simple but not.. I know. It would just be beneficial I think that a first time user knows that X uses more GPU compute power than Y, I know about the rest, just an idea.
Probably pointless if you implement performance levels and have the graphics benchmarked beforehand with it being placed a settings category.

Regarding Overlay, I found it uses around 2% less GPU usage on my HD3000 however whilst MPC is a window I get no image at all, fullscreen and the video shows.
Occurs on HD4000 as well, using 2897 drivers ATM.

Regarding, "use a separate device for presentation" disabling this is fine in FSE, come out of that however and my video turns into super slow glitchy mess.

Regarding Overlay, I found it uses around 2% less GPU usage on my HD3000 however whilst MPC is a window I get no image at all, fullscreen and the video shows.
Occurs on HD4000 as well, using 2897 drivers ATM.

Weird. Last time I checked it worked just fine on my HD3000. Which OS? Aero on or off?

Quote:

Originally Posted by ryrynz

Regarding, "use a separate device for presentation" disabling this is fine in FSE, come out of that however and my video turns into super slow glitchy mess.

This might be the last new version for a while - unless important bugs show up. Gotta do some commercial work, and a new eac3to build is also needed. So it might take a couple weeks before I get back to serious madVR development.

This might be the last new version for a while - unless important bugs show up. Gotta do some commercial work, and a new eac3to build is also needed. So it might take a couple weeks before I get back to serious madVR development.

Cool, was thinking of asking about eac3to Thanks for all the hard work, and great quality playback

Weird. Last time I checked it worked just fine on my HD3000. Which OS? Aero on or off?

Windows 7 x64, Aero on.

Quote:

Originally Posted by madshi

HD3000/4000 again? With Overlay turned off?

Overlay is off. I've actually found the glitchyness is removed by having flush and sleep on the last render step, I still get dropped frames with it disabled with what appears to be any combination of flush settings though but it looks to be case of you shouldn't play with the default flush settings if you don't need to Same deal with having "use a separate device for presentation" disabled ,after upgrading and resetting to defaults that's working fine too.

Overlay is working fine with 0.85.6 using default settings, probably a non default configuration issue causing Overlay to show blank on the HD3000, I might hunt that down.
If I run Overlay in fullscreen it plays fine directly after changing to Overlay but windowed is blank, a bit odd. It all works fine after a player restart though.

One thing that's still a minor niggle with Overlay is when resizing to fullscreen, it's still a bit messy with the media play window edges holding their position on screen for a bit, would be nice to see a nice clean stretch if possible.
And there's also the image when doing resizing by dragging which has been brought up before, maybe the screen should just go blank when doing this and a repaint done once the the window has settled that would certainly look neater, maybe a MadVR logo or something instead of a blank screen, that would be kinda cool.

Quote:

Originally Posted by AndreaMG

For SD video content maybe could it be lighter in term of resources to upscale the content with jinc first to 1080 and only then with 2x algorithm to 4k?

This was my first thought too, finally I can use Jinc for Luma! But after upscaling to 720 however I found it actually didn't improve things at all, oh well Haswell is coming up soon, gonna nab me a i7-4770S I think