MadVR: Ρυθμίσεις, Προβλήματα, FAQ [Part II]

Browser

AVClub Fanatic
17 June 2006
10,575
http://forum.doom9.org/showthread.php?p=1663611#post1663611


So let's discuss NNEDI3:

(1) NNEDI3 is a resolution doubler. It can double resolution in either X or Y direction. Of course you can run it multiple times, so you can double both X and Y resolution, once, twice, thrice, whatever. Of course you can also double X twice and not double Y at all. Whatever you like. NNEDI3 cannot do anything else except exact 2x resolution doubling.

(2) NNEDI3 has a number of very nice advantages: It is quite sharp, has very low aliasing levels, produces almost no ringing or similar artifacts and has a very clean look to it. Due to the lack of artifacts you can also apply it multiple times to e.g. quadruple image resolution without any problems, or you can followup NNEDI3 upscaling with a different up- or downscaling algorithm.

(3) NNEDI3 unfortunately also has disadvantages: It is relatively slow. It can't do anything other than 2x resolution doubling. It shifts the image by half a pixel (compared to other upscaling algorithms). And it can sometimes introduce weird artifacts that are unknown from linear resamplers like Lanczos or Jinc.

Let's look at a first test image (Monsters Inc. Blu-Ray, run time 0:13:45), upscaled from 1080p to UHD:

monsters.png


Looking at this image, NNEDI3 seems to combine the positive attributes of Lanczos and Jinc upscaling: It's even sharper than Lanczos, has even lower aliasing levels than Jinc and has the lowest levels of artifacts. With this image I'd say it beats the hell out of Lanczos and Jinc. However, it's not perfect. There are a couple image areas which are still aliased. But I guess with this specific source (which is quite heavily aliased to start with) that's really the max we can possibly expect. But now let's look at a different test image:

lighthouse.png


First let's look at the positive aspects of the NNEDI3 upscaling here:
(1) NNEDI3 renders all 3 roofs cleaner and sharper than Lanczos does. The handrail on the lighthouse top outer floor makes this especially obvious.
(2) The whole NNEDI3 image has a clean and sharp look to it. It almost doesn't look like it's upscaled. In contrast to that the Lanczos image has a lot of aliasing, ringing and overall a somewhat coarse look to it. It's pretty obvious that the Lanczos image was upscaled.

But this test image also brutally showcases some of the NNEDI3 weaknesses:
(1) Look at the fence pickets directly at the bottom right of the lighthouse. Lanczos manages to keep the picket sizes nicely equal. NNEDI3 reproduces the pickets at unequal sizes, similar to what Bilinear does. This is one case where the natural ringing in the Lanczos algorithm is actually beneficial. Yes, ringing can sometimes help reproducing images better.
(2) Look at the grass at the bottom part 1/4 of the image. It looks quite weird in the NNEDI3 image, almost like a fractal. This is what bothers me most about NNEDI3. But it seems that all "intelligent" algorithms have this kind of artifact. With grass/trees/nature they often see lines/geometrical figures to connect which don't belong together. No such problem with Lanczos/Jinc.

So there you have, all the good and bad things about NNEDI3. Pick your own poison! At least you have all the options now. If you like NNEDI3, you can also say "thanks" to SEt for providing the OpenCL kernel in this thread:

http://forum.doom9.org/showthread.php?t=169766

Now let's talk performance a bit: Since NNEDI3 is a rather slow algorithm, I've added the option to convert the image to YUV and to only upscale the Y channel with NNEDI3, while using a different algorithm for the chroma channels. Using NNEDI3 on the chroma channels is IMHO slightly wasted. The benefit for the Luma channel is much bigger. Of course you can use NNEDI3 for the chroma channels, too, if you have the GPU juice for that. You can even use it for chroma upsampling, if you prefer. My recommendation is to use NNEDI3 only for the Luma channel and to use a cheap algorithm in the "image upscaling" section, which will then be used to upscale the chroma channels, e.g. Lanczos3 AR or even Bicubic AR.

NNEDI3 doesn't have "taps", instead it has "neurons". The lowest quality level of 16 neurons performs a little bit slower than Jinc3 AR on my PC, when using it only on the Luma channel and when doing an exact 2x size improvement. Every higher quality step almost doubles rendering times. So 32 neurons almost cut performance in half. Using 64 neurons in quarter etc. For Luma upscaling I recommend to use at least 32 neurons. The lowest quality setting of 16 neurons leaves a bit too many artifacts in the image, IMHO. It could still be useful for chroma upscaling, though, if you insist on using NNEDI3 for chroma.
 

tmjuju

Administration Team
Staff member
21 January 2007
21,651
Μάλιστα εξαιρετικά ενδιαφέρον
Και OpenCL – brave new world!
 

Browser

AVClub Fanatic
17 June 2006
10,575
Δοκιμασε κανεις τιποτα? Εγω δεν καταφερα να το δουλεψω παντως....
 
13 June 2010
3,048
Re: Απάντηση: MadVR: Ρυθμίσεις, Προβλήματα, FAQ [Part II]

Καλημερα σ'ολους σας
Bλεπω εικονα με XBMC+MPC+MadVr+Lav+ffdshow

Δουλευω το MadVr με Q9550 και GPU 5750 passive
Τα φορτωνει και τα δουλευει ολα
Εγω εχω βαλει το MadVr 0.87 plus MadVr 87e.rar που διπλασιαζει η τετραπλασιαζει το luma κλπ
Αλλα δεν βλεπω καμια διαφορα στην ποιοτητα εικονας
Μαλιστα σαν decoder εχω βαλει και το LAV , αλλα και το Ffdshow Video Decoder.

Μπορω να πω οτι εχω καλλιτερη εικονα με αυτονομο το XBMC ( EVR ) , και απενεργοποιημενο το DXVA
 

Browser

AVClub Fanatic
17 June 2006
10,575
Με τι υλικο? Αν θυμαμαι καλα αν εχεις 1080 υλικο και παιζεις με 1080 συνδεση, δεν εχει τροπο να κανει πολλαπλασιασμο.
Το nnedi3 φιλτρο το δοκιμασες καθολου?
 
13 June 2010
3,048
Εαν βαλω στα scaling algorithms :
Chroma upscaling : Jinc3
Image upscaling : Jing3
Image downscaling Catmul-rom
και ενεργοποιησω στο image doubling τα nnedi3 φιλτρα , τοτε εχω πολλαπλα dropped frames

Αλλα εαν βαλω
chroma upscaling Jing3
Image upscaling DXVA2
Image downscalig DXVA2

τοτε και να ενεργοποιησω ολα τα φιλτρα nnedi3 , σε οποιοδηποτε επιπεδο , τοτε ολα τρεχουν ρολοι.
Αλλα οπως προειπα , δεν βλεπω και τιποτε φοβερα και τρομερα πραμματα στην ποιοτητα εικονας.
 

Browser

AVClub Fanatic
17 June 2006
10,575
Η αλλαγη θα ερθει, αποτι λεει, με το φιλτρο nnedi3 στο luma αντι του jinc. Aκομα δεν το εχω καταφερει.
 

Gorgolemis

New member
15 November 2007
69
Re: Απάντηση: MadVR: Ρυθμίσεις, Προβλήματα, FAQ [Part II]

Καλημέρα.
Στο image doubling τα nnedi3 φίλτρα τα έχω βάλει στην πρώτη κλίμακα όλα και δουλεύει χωρίς dropped frames,ωπουδήποτε αλλού και να τα βάλω έχω συνεχόμενα dropped frames.Τώρα για διαφορά στην εικόνα......
Μία ερώτηση:Οταν παίζω ταινία με madvr μου δημιουργείται ένας αρχείο στην επιφάνεια εργασίας περίπου 7-8gb αυτό γίνεται να σταματήσει να το κάνει?
Μετά βέβαια το σβήνω.
 
13 June 2010
3,048
Re: Απάντηση: MadVR: Ρυθμίσεις, Προβλήματα, FAQ [Part II]

Μία ερώτηση:Οταν παίζω ταινία με madvr μου δημιουργείται ένας αρχείο στην επιφάνεια εργασίας περίπου 7-8gb αυτό γίνεται να σταματήσει να το κάνει?
Και εμενα μου βγαζει ενα αρχειο , αλλα γραφει οτι ειναι crash report , και δεν ειναι 7-8 GB
 

Gorgolemis

New member
15 November 2007
69
Re: Απάντηση: MadVR: Ρυθμίσεις, Προβλήματα, FAQ [Part II]

Δίνει μία λύση πάντως,και απο ότι κατάλαβα κάτι έχω ενεργοποιήσει όταν το έβαλα,θα δείξει....
 

Browser

AVClub Fanatic
17 June 2006
10,575
Δεν ξερω εαν διαβαζετε το θεμα στο doom9 .....
Εχει δωσει νεα εκδοση με λυμενα καποια προβληματα.
Περιμενουμε διορθωση για αυτους που εχουν σχετικα νεες καρτες nvidia γιατι το opencl δεν παιζει σωστα με αυτες.
Με ati και intel τα θεματα ειναι πολυ λιγοτερα.
 

Emilot

AVClub Fanatic
18 June 2006
32,852
Εξάρχεια
Με την καινούρια έκδοση(0.87.3), όλα κομπλέ στην ATI.

Ενδιαφέροντα στοιχεία...απο το doom9.

"DXVA2 decoding and deinterlacing outputs NV12 surfaces. Unfortunately pixel shaders can't use them directly. So madVR has to convert the NV12 surfaces somehow to make them pixel shader compatible. There are 3 different ways madVR can use to do that. Solution (1) is copyback (downloading the NV12 data to CPU RAM, then re-uploading it to GPU in a different format). Solution (2) is conversion/processing via OpenCL, introduced in v0.87.0. And solution (3) is a copy operation on the GPU, which can be lossless with AMD GPUs, but produces a slightly blurred chroma channel with NVidia and Intel GPUs. There's a trade-quality-for-performance option to switch between (1) and (3). And there's a new option in the "rendering -> general settings" to enable/disable (2)."

"NNEDI3 can only do exact 2.0x enlargements. Chroma upscaling happens to be exactly that. So NNEDI3 can serve as a full replacement for the other algorithms, when talking about chroma upscaling.

However, the image upscaling factor is very rarely exactly 2.0x. So NNEDI3 is almost never a full replacement algorithm for the other algorithms like Lanczos or Jinc, when talking about image upscaling. Let's imagine I made the image upscaling settings page the same as the chroma upscaling settings page is now. And let's imagine you selected NNEDI3 for image upscaling. Let's further imagine in your specific situation you'd need a 3.0x scaling factor. What should madVR do in that case? It could use NNEDI3 to upscale 2.0x or 4.0x, but not 3.0x. So what should it do? It's not clear. Because of that I cannot offer NNEDI3 as a full replacement algorithm in the image upscaling settings page."


Φυσικά αν χρησιμοποιείτε LAV filters και DXVA, πρέπει να το βάλετε σε Copy - Back mode...
 
Last edited:

Gorgolemis

New member
15 November 2007
69
Re: Απάντηση: MadVR: Ρυθμίσεις, Προβλήματα, FAQ [Part II]

Δηλαδή αυτό που κάνει είναι ότι διπλασιάζει την ανάλυση?
πχ απο 1280x720 θα γίνει 2560x1440? και εάν έιναι έτσι που το βλέπουμε αυτό εάν όντως είναι έτσι?
Επίσης το downscaling γιατί χρειάζεται?
 

tmjuju

Administration Team
Staff member
21 January 2007
21,651
Re: Απάντηση: MadVR: Ρυθμίσεις, Προβλήματα, FAQ [Part II]

Δηλαδή αυτό που κάνει είναι ότι διπλασιάζει την ανάλυση?
πχ απο 1280x720 θα γίνει 2560x1440? και εάν έιναι έτσι που το βλέπουμε αυτό εάν όντως είναι έτσι?
Επίσης το downscaling γιατί χρειάζεται?

Το downscale χρειάζεται λ.χ. όταν έχουμε tv/projector 720p

Το 2χ είναι χρήσιμο λ.χ. όταν το chroma είναι κωδικοποιημένο σε μισή ανάλυση.

Κάποιοι έχουμε 2460χ1440 Monitors οποτε πες και εκεί.

Αλλά όσο περνάει ο καιρός θα μας έρθουν τα 4Κ και τα 8Κ τότε θα μας είναι χρήσιμο για να διπλασιάζουμε (τετραπλασιάζουμε) τα 1080p

Άρα χρήσης υπάρχουν σήμερα, και στο μόλον θα έχουμε και περισσότερες.
 

Gorgolemis

New member
15 November 2007
69
Re: Απάντηση: MadVR: Ρυθμίσεις, Προβλήματα, FAQ [Part II]

Σε ευχαριστώ πολύ.
Και με ποιό τρόπο μπορώ να δώ ότι κάνει αυτή την δουλειά?
Με το ctrl+j βγαίνουν οι πληροφορίες αλλά δεν φένεται πουθενά ότι διπλασιάστηκε η ανάλυση.
 

Browser

AVClub Fanatic
17 June 2006
10,575
Απάντηση: Re: Απάντηση: MadVR: Ρυθμίσεις, Προβλήματα, FAQ [Part II]

madVR v0.87.6

* fixed: #090: FSE mode switched to 23Hz instead of 24Hz in Windows 8
* fixed: #127: crash when jumping to next video file on secondary monitor
* fixed: #173: overlay: exiting multiple windows in same order -> black screen
* madTPG now forces ordered dither, but you can en/disable colored & dynamic
* added support for new subtitle API ISubRenderConsumer2::Clear()


madVR v0.87.*

* added debanding algorithm, based on improved version of "flash3kyuu_deband"
* added file name tag "deband=off|low|medium|high"
* added automatic detection for fades from/to black or white (for debanding)
* added support for using OpenCL with NVidia, AMD and Intel GPUs
* added DXVA surface splitting via OpenCL (only AMD and Intel GPUs)
* added error diffusion algorithm (requires DX11 GPU)
* added NNEDI3 chroma upsampling (requires OpenCL)
* added NNEDI3 image doubling/quadrupling (requires OpenCL)
* added flexible settings profile functionality
* added fast and reasonably high quality "ordered dithering" algorithm
* added "rendering\dithering" settings page with many new options
* new default dithering is now ordered dithering instead of random dithering
* madTPG now always uses monochromatic ordered dithering
* added file name tag "profile='profile name'"
* added IMadVRSettings2 interface to enumerate settings and manage profiles
* settings can now be edited without madVR running (only on local PC)
* madNvLevelsTweaker -> madLevelsTweaker now also works for Intel GPUs
* madVR doesn't dither, anymore, when a pixel doesn't need dithering
* added Intel driver bug workaround for "use separate device for presentation"
* added madHcNet64.dll to allow madTPG automation from 64bit calibration tools
* added API for asking madVR about the output levels (TV, PC, custom)
* fixed: #090: FSE mode switched to 23Hz instead of 24Hz in Windows 8
* fixed: #107: XySubFilter: reducing CPU queue size during playback -> crash
* fixed: #112: 120fps clip resulted in 23Hz being selected instead of 60Hz
* fixed: #119: installation resulted in "might not have installed correctly"
* fixed: #123: XySubFilter: Nearest Neighbor/Bilinear distorted subtitles
* fixed: #125: forced film mode with unsupported FOURCCs: graphical corruption
* fixed: #127: crash when jumping to next video file on secondary monitor
* fixed: #133: XySubFilter: opaque black box when smooth motion was enabled
* fixed: #136: when playback is stopped, madVR now always turns the video off
* fixed: #137: Nearest Neighbor/Bilinear has problems with post-resize shaders
* fixed: #138: smooth motion FRC flickered when using Nearest Neighbor
* fixed: #145: DCI-P3 was using an incorrect white point
* fixed: #155: screeshots sometimes had an added black border
* fixed: #159: speciying DCI-P3 as the calibrated gamut -> green screen
* fixed: #160: corruption with uncompressed 4096x2304 v210 in AVI
* fixed: #161: YUV 4:4:4 videos with weird resolutions crashed madVR
* fixed: #165: overlay mode restricted madVR to single player window
* fixed: #167: dithering produced dithering noise on pure black areas
* fixed: #169: dithering produced dithering noise on pure white areas
* fixed: #170: Overlay mode sometimes unnecessarily cleared GPU gamma ramps
* fixed: #173: overlay: exiting multiple windows in same order -> black screen
* fixed: Overlay mode applied 3dlut and gamma ramps in wrong order
* fixed: crash reporting didn't catch exceptions in private threads, anymore
* fixed: crash when using XySubFilter with small GPU queue size
* fixed: DVD navigator was not released properly by madVR
* fixed: Run/Seek hooks also affected secondary DirectShow graphs
* fixed: profile key shortcuts only worked for "scaling" profiles
* fixed: full range YCbCr input produced slightly incorrect colors
* fixed: full backbuffer queue slowed rendering down
* fixed: madTPG sometimes didn't update to newly requested test pattern color
* fixed: madTPG dithering produced blocking artifacts
* fixed: when upscaling exactly 2x, AR filter wasn't active for blue channel
* fixed: ArgyllCMS/HCFR disabling the 3dlut didn't work
* fixed: LAV Video Decoder sending v210 produced corrupted image
* reduced Overlay mode graphical corruption when resizing media player
* exclusive -> windowed switch now shows a black frame instead of an old one
* removed XySubFilter auto-loading functionality, it's now XySubFilter's job
* disabled resolution based DCI-P3 auto detection
* changed default luma doubling value to 32 neurons
* display bitdepth can be be set to as low as 3bit (just for testing)
* improved frame cropping support
* improved windowproc hook stability
* a couple of very small pixel shader performance improvements
* optimized madVR default settings
* improved madVR tray icon menu looks on newer OSs
* tags now require "tag=value" or "tag:value"; "tag value" no longer accepted
* disabled automatic DCI-P3 detection through 2048 video width


http://madshi.net/madVR.zip


Καλο σ/κ :BDBDG54:
 

soulkeeper

AVClub Addicted Member
5 October 2006
1,984
ΚΑΛΑΜΑΤΑ
Παντως αδυνατω να ακολουθησω την συζητηση στο doom9 forum ...εχουν επικεντρωθει σε 3dlut,LL ,gamma curves κτλ....
διορθωστε με αν κανω λαθος,αλλα απο οτι καταλαβαινω η μεγαλη δυναμη του madvr ειναι οταν αναλυση υλικου διαφορετικη απο αναλυση μεσου απεικονισης...επειδη τον τελευταιο καιρο παιζω κατα 99% 1080p σε 1080p προβολικο δεν ξερω αν τελικα αξιζει να θυσιασω το ntv550 κ να γυρισω σε htpc....
ειχα βρει την ησυχια με το εν λογω player...εξαιρετικη ποιοτητα,Full BR iso,HD ηχο....αλλα η ελλειψη frame packing 3d με εστρεψε παλι προς htpc...