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 October 2012, 13:53   #14341  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 9,140
Quote:
Originally Posted by Moony349 View Post
Would it be theoretically advantageous/possible to allow more taps for Jinc upscaling?
It would be *possible*, but useful? I don't know. Jinc4 is already very slow. I had tried Jinc8: Rendering took more than 1 second per video frame with my old Radeon 3850 when upscaling DVD 400%. I just think that the image quality gain is too small compared to the performance cost.

Lanczos3 reads 12 source pixels to create 1 output pixel
Lanczos4 reads 16 source pixels to create 1 output pixel
Lanczos8 reads 32 source pixels to create 1 output pixel
Jinc3 reads 36 source pixels to create 1 output pixel
Jinc4 reads 64 source pixels to create 1 output pixel
Jinc8 reads 256 source pixels to create 1 output pixel

Basically doubling taps for Lanczos means double memory bandwidth consumption. Doubling taps for Jinc results in a 4x increase in memory bandwidth consumption.

Quote:
Originally Posted by THEAST View Post
Actually I had the exact same issue as blackjack12 with the builds between v0.82.5 and v0.83.7 both on my dekstop (AMD HD 7950) and laptop (Nvidia 520M) but I just tested build v0.84 on my desktop and the issue is gone. Though I was on XP at that time and now I'm on 7.
That's interesting! blackjack12, can you please retest with v0.84?
madshi is offline   Reply With Quote
Old 6th October 2012, 14:02   #14342  |  Link
ryrynz
Registered User
 
ryrynz's Avatar
 
Join Date: Mar 2009
Posts: 3,646
Quote:
Originally Posted by madshi View Post
The Jinc anti-ringing algorithm is already more advanced. You still see problems with dark lines with Jinc anti-ringing?
Optimized just for Jinc yeah? I couldn't see really any difference in that area between lanczos and Jinc with ringing which manifests itself as haloing around dark lines.
This is why I continue to use Mitchell, it's the sharpest resizer that doesn't create ringing halos on animated content.

I'll take a close look at how anti-ringing compares with Jinc vs Lanczos at a later since they're using different techniques?
I've just been looking at the ringing(haloing) at this point not how it effects the lines when zoomed in, although you did grab that sample from me, did you look any further into it there?

Your thoughts on the OSD addition for scaling I suggested? I thought it would be handy to see that although people can always work this out themselves.

Last edited by ryrynz; 6th October 2012 at 14:10.
ryrynz is offline   Reply With Quote
Old 6th October 2012, 14:16   #14343  |  Link
Pat357
Registered User
 
Join Date: Jun 2006
Posts: 452
Madshi,

It seems you solved the problem with yCMS / Overlay too : no crashes anymore !
Thanks a lot !
(What was the cause of the problem btw ?)
Pat357 is offline   Reply With Quote
Old 6th October 2012, 14:24   #14344  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 9,140
Quote:
Originally Posted by ryrynz View Post
Optimized just for Jinc yeah?
It's the same logic, but due to how Jinc works, madVR can look at 4 source pixels to control anti-ringing, while with all other algorithms, madVR can only look at 2 source pixels. That should make anti-ringing less prone to introducing aliasing/stepping artifacts. Plus, it also allowed me to make the ringing-removal stronger without losing contrast/detail.

Quote:
Originally Posted by ryrynz View Post
I couldn't see really any difference in that area between lanczos and Jinc with ringing which manifests itself as haloing around dark lines.
This is why I continue to use Mitchell, it's the sharpest resizer that doesn't create ringing halos on animated content.
I'm slightly confused. I thought the original issue with the anti-ringing filter and anime content was not the ringing itself, but actually stair-stepping (aliasing) in some dark lines, which only occurs when anti-ringing is enabled? Now you seem to say that the anti-ringing filter doesn't remove enough ringing? That's a totally different issue!

If it's really the ringing itself which worries you now, Jinc with anti-ringing enabled should really get rid of most ringing. If you find it's not working as well as expected, please send me a sample. Please note, though, that Lanczos and Jinc do tend do make already existing ringing more obvious, which Mitchell might not does as much. So maybe the issue isn't really that Jinc adds ringing by itself but instead that the source already has ringing and Jinc just makes it more obvious compared to Mitchell? You might be able to work around this issue by running a de-ringing avisynth script in ffdshow.

Quote:
Originally Posted by ryrynz View Post
Madshi what's your thoughts on having a upscaling or downscaling value listed in the OSD?
Not sure what you mean exactly.

Quote:
Originally Posted by Pat357 View Post
It seems you solved the problem with yCMS / Overlay too : no crashes anymore !
Thanks a lot !
(What was the cause of the problem btw ?)
I've told the compiler to use "." as decimal separator very early during the initialization of madHcCtrl.exe. Somehow when Overlay was used, the decimal separator was switched back to "," for some reason. I don't understand (at all) why and where. I've now simply force the decimal separator back to "." when the settings dialog is shown.
madshi is offline   Reply With Quote
Old 6th October 2012, 14:26   #14345  |  Link
robpdotcom
Registered User
 
Join Date: Jan 2010
Posts: 297
Quote:
Originally Posted by madshi View Post
* added options to adjust the keys for all existing keyboard shortcuts
Awesome. I've wanted this for a long time, but I figured it was way down on your priority list.
__________________
Windows 7 x64
i7 870
16GB RAM
AMD 6870
robpdotcom is offline   Reply With Quote
Old 6th October 2012, 15:25   #14346  |  Link
ryrynz
Registered User
 
ryrynz's Avatar
 
Join Date: Mar 2009
Posts: 3,646
Quote:
Originally Posted by madshi View Post
It's the same logic, but due to how Jinc works, madVR can look at 4 source pixels to control anti-ringing, while with all other algorithms, madVR can only look at 2 source pixels. That should make anti-ringing less prone to introducing aliasing/stepping artifacts. Plus, it also allowed me to make the ringing-removal stronger without losing contrast/detail.
Ah okay, so that's pretty much the final algorithm then.

Quote:
Originally Posted by madshi View Post
I'm slightly confused. I thought the original issue with the anti-ringing filter and anime content was not the ringing itself, but actually stair-stepping (aliasing) in some dark lines, which only occurs when anti-ringing is enabled? Now you seem to say that the anti-ringing filter doesn't remove enough ringing? That's a totally different issue!
Yeah the original issue was that smoothness that occurred when anti-ringing was enabled but since nothing has changed with that except for with Jinc I haven't looked at it, I am only commenting on the haloing which anti-ringing does work quite well to remove and how that compares between lanzcos and Jinc, not specifying any problems are all, just my observations.

Quote:
Originally Posted by madshi View Post
If it's really the ringing itself which worries you now, Jinc with anti-ringing enabled should really get rid of most ringing. If you find it's not working as well as expected, please send me a sample. Please note, though, that Lanczos and Jinc do tend do make already existing ringing more obvious, which Mitchell might not does as much. So maybe the issue isn't really that Jinc adds ringing by itself but instead that the source already has ringing and Jinc just makes it more obvious compared to Mitchell? You might be able to work around this issue by running a de-ringing avisynth script in ffdshow.
There is very minor haloing in places, It's just that lanzcos and Jinc make it extremely noticeable. I have been running a de-ringing filter recently but I've still noticed haloing when using lanzcos. I'll have a good hard look at it later today but you're probably right it's likely more the source than anything else, I'll test more content and if I notice something I'll be sure to post it.

Quote:
Originally Posted by madshi View Post
Not sure what you mean exactly.
Source resolution=640x480
Output resolution=1920x1080
Scaling= 3x/2.25x

Reason for mentioning it was that I was wondering how much work my resizing work my GPU was doing for it to be running so slow and by displaying the scaling it saves looking at the source and output resolution and dividing it to find out.. for the lazy I guess, thought it would be nice. *shrug*

Quote:
Originally Posted by robpdotcom View Post
Awesome. I've wanted this for a long time, but I figured it was way down on your priority list.
I kept mentioning it every "few months"
ryrynz is offline   Reply With Quote
Old 6th October 2012, 16:04   #14347  |  Link
6233638
Registered User
 
Join Date: Apr 2009
Posts: 1,019
Wow, you weren't kidding about Jinc being demanding. It's 9–12ms depending on the video being played and whether or not it needs deinterlacing.

If I play a 720p video at maximum zoom in MPC-HC I've had it hit 140ms! (something I do when evaluating algorithms, not an issue in the real-world)


Looking forward to comparing it with everything else though. Sounds like it could be a winner if your system is up to the task.
There does seem to be more aliasing than Lanczos at high frequencies though. (Lanczos 4 and Jinc 4 are similar, Lanczos 8 has less)


P.S. I love that you now save settings for algorithm sharpness/taps/etc.
Would it be possible to save the anti-ringing filter option on a per-filter basis as well? Some filters seem to be better off without it. (SoftCubic for example)

Last edited by 6233638; 6th October 2012 at 16:20.
6233638 is offline   Reply With Quote
Old 6th October 2012, 16:25   #14348  |  Link
Xaurus
Registered User
 
Join Date: Jun 2011
Posts: 288
madshi,

Thanks for the new version with Jinc, which I believe you made just for me since I bought the GTX 660 the other day.
__________________
SETUP: Win 10/MPC-HC/LAV/MadVR
HARDWARE: Fractal Design Node 804 | Xeon E3-1260L v5 | Supermicro X11SSZ-TLN4F | Samsung 2x8GB DDR4 ECC | Samsung 850 EVO 1TB | MSI GTX 1650 Super | EVGA G2 750
Xaurus is offline   Reply With Quote
Old 6th October 2012, 17:04   #14349  |  Link
nlnl
Registered User
 
Join Date: Aug 2008
Posts: 176
Quote:
Originally Posted by madshi View Post
We're talking about fullscreen exclusive mode here, right? I can't seem to be able to reproduce the problem on my win7 x64 PC in FSE mode. Can I have a log file, please? Let the dropping continue for 10 seconds, then stop the media player. Thx.
madshi
Thanks for .84
Please have a look at those logs:
https://dl.dropbox.com/u/43376972/madvr%20-%20logs%2023%20-%2059%20freez.zip
nlnl is offline   Reply With Quote
Old 6th October 2012, 17:09   #14350  |  Link
TheShadowRunner
Registered User
 
TheShadowRunner's Avatar
 
Join Date: Feb 2004
Posts: 399
Excellent as usual, confirming frame capture/screenshot works perfectly on ZP
__________________
XP SP3 / Geforce 8500 / Zoom Player
TheShadowRunner is offline   Reply With Quote
Old 6th October 2012, 17:19   #14351  |  Link
dansrfe
Registered User
 
Join Date: Jan 2009
Posts: 1,210
I'm fairly certain that I'm missing something obvious but MPC-HC gives me this error when I try to take a screenshot via Alt + I or F5:

dansrfe is offline   Reply With Quote
Old 6th October 2012, 17:21   #14352  |  Link
Superb
Registered User
 
Join Date: Feb 2010
Posts: 364
You need to wait for the MPC-HC developers to allow screenshot taking with madVR.
Superb is offline   Reply With Quote
Old 6th October 2012, 17:24   #14353  |  Link
6233638
Registered User
 
Join Date: Apr 2009
Posts: 1,019
Wow, testing just got so much faster. I just had a look at the keyboard shortcuts section, and there are shortcuts to directly switch between scaling algorithms!

Previously I would have to manually take screenshots of an image with each setting, and paste them into Photoshop as layers to compare them. Now I can just hit a key to switch between them and compare inside madVR!



So far Jinc seems pretty interesting in my testing. Jinc 3 seems to be sharper than Jinc 4 at high frequencies, but Jinc 4 is sharper at lower frequencies, and has less aliasing. This is probably a good thing, as most high frequency detail is going to be noise unless you are upscaling Blu-rays.

Strangely, Jinc shows even less high frequency detail than SoftCubic in some tests—presumably because it's a "circular" filter rather than a "square" one.

Jinc 4 with anti-ringing enabled:


SoftCubic 80 with anti-ringing disabled:


I've now been able to confirm that pretty much universally, anti-ringing adds aliasing to all the Bicubic variants. (Mitchell-Netravali through to SoftCubic)

Bicubic 100 also has a serious amount of aliasing with or without it, for some reason. Drastically more than any other Bicubic option.



If you're a fan of sharper algorithms, it definitely seems worthwhile to give Jinc a try.

I'd probably suggest Jinc 4 with anti-ringing for now, and Jinc 3 if your system can't handle it. (Jinc 3 also seemed OK without anti-ringing, to further reduce the demands) I wouldn't recommend Jinc 4 without anti-ringing.

I still like SoftCubic 80 without anti-ringing for highly compressed sources though.

But now thanks to the keyboard shortcuts, you can easily assign keys for Jinc, SoftCubic, and to toggle anti-ringing.



As before, Bicubic 75 with anti-ringing is still my preference for Chroma right now. (while anti-ringing increases the chance of aliasing, the ringing reduction is more important for Chroma)
6233638 is offline   Reply With Quote
Old 6th October 2012, 17:26   #14354  |  Link
TheLion
Registered User
 
Join Date: Dec 2010
Posts: 62
advice on chroma upsampling

Thank you very much for 0.84, madshi! Works great with JRiver 18.

I have one question regarding chroma upsampling, as this is the only relevant scaling for me most of the time (watch 99% 1080p content on a native 1080p projector):

With the new "Jinc" resampling and your anti-ringing filter what is your current recommendation for "best quality" chroma upsampling. I did some comparisons with EVR (on a AMD 5870 with latest Catalyst) and to my big surprise EVR had "better quality" chroma upsampling than I was able to achieve with madVR. The sharpness was comparable to madVR with Lanczos 3 but without any obvious ringing. I tested this with the chroma charts on Stacy Spears Benchmark Blu-Ray. I know that with real content the differences in chroma upsampling are rather hard to spot.

So EVR on ATI actually had "better quality" in those 1080p chroma test charts than madVR, no matter which option was selected.

Now with the anti-ringing filter this might change. Would you advice to use Jinc with anti-ringing for the "best" (sharpest, while keeping artifacts in control) chroma upsampling madVR is able to?

THANK YOU!
TheLion is offline   Reply With Quote
Old 6th October 2012, 17:28   #14355  |  Link
Moony349
Registered User
 
Join Date: Sep 2012
Posts: 25
You're probably right on the 8 tap. Still, for those with insane systems slash future systems might as well enable 8 tap jinc and/or chroma jinc if it doesn't take much work.
Moony349 is offline   Reply With Quote
Old 6th October 2012, 17:29   #14356  |  Link
Budtz
Registered User
 
Join Date: Apr 2011
Posts: 141
Thx for the new version!

i can only select Jinc in the image scaling settings. the other places it is grayed out. is this couse its not implemented yet?
Budtz is offline   Reply With Quote
Old 6th October 2012, 17:32   #14357  |  Link
SamuriHL
Registered User
 
SamuriHL's Avatar
 
Join Date: May 2004
Posts: 5,351
Quote:
Originally Posted by Moony349 View Post
You're probably right on the 8 tap. Still, for those with insane systems slash future systems might as well enable 8 tap jinc and/or chroma jinc if it doesn't take much work.
My 3770k with 680 might handle it. I guess I can always try but good Lord...
__________________
HTPC: Windows 11, AMD 5900X, RTX 3080, Pioneer Elite VSX-LX303, LG G2 77" OLED
SamuriHL is offline   Reply With Quote
Old 6th October 2012, 17:48   #14358  |  Link
6233638
Registered User
 
Join Date: Apr 2009
Posts: 1,019
Quote:
Originally Posted by TheLion View Post
Now with the anti-ringing filter this might change. Would you advice to use Jinc with anti-ringing for the "best" (sharpest, while keeping artifacts in control) chroma upsampling madVR is able to?
Bicubic 75 with the anti-ringing filter enabled seems to be the best option for Chroma in my testing so far.

It loses to others in artificial testing (such as a chroma zone plate, where Lanczos always wins) but tends to win 90+% of the time in everything else I test.
6233638 is offline   Reply With Quote
Old 6th October 2012, 18:04   #14359  |  Link
TheLion
Registered User
 
Join Date: Dec 2010
Posts: 62
Quote:
Originally Posted by 6233638 View Post
Bicubic 75 with the anti-ringing filter enabled seems to be the best option for Chroma in my testing so far.

It loses to others in artificial testing (such as a chroma zone plate, where Lanczos always wins) but tends to win 90+% of the time in everything else I test.
Thanks for the reply. Bicubic 75 was my choice in the past as well. EVR with ATI bests it though - "sharper" with "no" ringing and less aliasing.

Maybe I should add that my question is for high bitrate Blu-Ray 1080p content only - so no additional luma scaling. I was hoping there is a better choice than Bicubic 75 for that - something that tests as well as EVR AMD (which uses the graphic cards chroma upsampling)? What about Lanczos/Jinc with anti-ringing?

btw try a chroma zone plate with lanczos 8 - it is the only algorithm that gets this pattern right. But the artifacts/multiple ringing is much too strong for general use. I will have to test with anti-ringing enabled.
TheLion is offline   Reply With Quote
Old 6th October 2012, 18:11   #14360  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 9,140
Quote:
Originally Posted by ryrynz View Post
Ah okay, so that's pretty much the final algorithm then.
Yes, for now, unless I get reports that it's not working well, then I can try to tweak the parameters a bit, like I did with the anti-ringing algorithm for the non-Jinc algorithms a couple of weeks ago.

Quote:
Originally Posted by ryrynz View Post
Yeah the original issue was that smoothness that occurred when anti-ringing was enabled but since nothing has changed with that except for with Jinc I haven't looked at it
Please have a look at that with Jinc to make sure the problem doesn't occur there. Thanks.

Quote:
Originally Posted by ryrynz View Post
Source resolution=640x480
Output resolution=1920x1080
Scaling= 3x/2.25x
I would like to keep the size of the OSD as small as possible/reasonable for now.

Quote:
Originally Posted by 6233638 View Post
There does seem to be more aliasing than Lanczos at high frequencies though. (Lanczos 4 and Jinc 4 are similar, Lanczos 8 has less)
With test patterns or real images? I've yet to see Jinc show more aliasing in *any* image compared to Lanczos.

Quote:
Originally Posted by 6233638 View Post
Would it be possible to save the anti-ringing filter option on a per-filter basis as well?
Possible? Sure. But is it a good idea? I'm not 100% sure about that. Opinions, anyone?

Quote:
Originally Posted by nlnl View Post
Please have a look at those logs:
https://dl.dropbox.com/u/43376972/madvr%20-%20logs%2023%20-%2059%20freez.zip
Will do.

Quote:
Originally Posted by dansrfe View Post
I'm fairly certain that I'm missing something obvious but MPC-HC gives me this error when I try to take a screenshot via Alt + I or F5:

That must be a rather recent change in MPC-HC because screenshotting works just fine with the older MPC-HC build I'm still using here. This will need to be changed by MPC-HC.

Quote:
Originally Posted by 6233638 View Post
So far Jinc seems pretty interesting in my testing. Jinc 3 seems to be sharper than Jinc 4 at high frequencies, but Jinc 4 is sharper at lower frequencies, and has less aliasing. This is probably a good thing, as most high frequency detail is going to be noise unless you are upscaling Blu-rays.

Strangely, Jinc shows even less high frequency detail than SoftCubic in some tests—presumably because it's a "circular" filter rather than a "square" one.
I'd like to get samples that show these things, if possible?

What are your impressions with real video content, though?

Quote:
Originally Posted by 6233638 View Post
I've now been able to confirm that pretty much universally, anti-ringing adds aliasing to all the Bicubic variants. (Mitchell-Netravali through to SoftCubic)
Yes, but it's not like night and day and I usually only see it when using max zoom (303% + double size) in MPC-HC.

Quote:
Originally Posted by 6233638 View Post
I'd probably suggest Jinc 4 with anti-ringing for now, and Jinc 3 if your system can't handle it. (Jinc 3 also seemed OK without anti-ringing, to further reduce the demands) I wouldn't recommend Jinc 4 without anti-ringing.
From my tests the difference in performance between Jinc with or without anti-ringing is rather small. I guess any GPU which can do Jinc without anti-ringing filter can probably also do it with anti-ringing.

Quote:
Originally Posted by TheLion View Post
I have one question regarding chroma upsampling, as this is the only relevant scaling for me most of the time (watch 99% 1080p content on a native 1080p projector):

With the new "Jinc" resampling and your anti-ringing filter what is your current recommendation for "best quality" chroma upsampling. I did some comparisons with EVR (on a AMD 5870 with latest Catalyst) and to my big surprise EVR had "better quality" chroma upsampling than I was able to achieve with madVR. The sharpness was comparable to madVR with Lanczos 3 but without any obvious ringing. I tested this with the chroma charts on Stacy Spears Benchmark Blu-Ray. I know that with real content the differences in chroma upsampling are rather hard to spot.

So EVR on ATI actually had "better quality" in those 1080p chroma test charts than madVR, no matter which option was selected.

Now with the anti-ringing filter this might change. Would you advice to use Jinc with anti-ringing for the "best" (sharpest, while keeping artifacts in control) chroma upsampling madVR is able to?
Chroma upsampling has been a hotly debated topic in this thread. I still believe it's somewhat a matter of taste. With some content, a very soft chroma upsampling algorithm looks better, with other content, you need an algorithm which reproduces high frequencies well. Other content needs a sharp upsampler. All of this applies especially when testing with special test patterns. There can also be big differences between how the chroma channel in test patterns was created in the first place.

Anyway, are those Stacey Spears chroma charts available for free somewhere? I'd really like to try them out here. Furthermore: Would you mind making a screenshot with EVR compared to madVR? I'd really like to see what you mean with my own eyes. FWIW, on my PC, my Radeon 3850 uses Nearest Neighbor upsampling for chroma, when using EVR, which of course is terrible.

Personally, I still like SoftCubic for chroma upsampling, but it admittedly is quite soft. For some test content that's just what the doctor has ordered. For other content a sharper algorithm may look better. If you like sharper chroma upsampling algorithms, I believe the Anti-ringing filter should help a lot. Just give it a try. In the end, let your eyes decide.

Quote:
Originally Posted by Moony349 View Post
You're probably right on the 8 tap. Still, for those with insane systems slash future systems might as well enable 8 tap jinc and/or chroma jinc if it doesn't take much work.
8 tap would be easy to do. Jinc upscaling for chroma is more difficult. Not sure if I should do that. Sounds kinda like overkill to me, but then, if you have a high-end GPU and power to spare, offering it might not be such a bad idea...

Quote:
Originally Posted by Budtz View Post
i can only select Jinc in the image scaling settings. the other places it is grayed out. is this couse its not implemented yet?
Yes. I'm not even sure if I will implement Jinc downscaling or Jinc chroma upscaling. Maybe. Maybe not. Depends a bit on your feedback on Jinc image upscaling, I guess.
madshi is offline   Reply With Quote
Reply

Tags
direct compute, dithering, error diffusion, madvr, ngu, nnedi3, quality, renderer, scaling, uhd upscaling, upsampling

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 12:04.


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