Difference between revisions of "Nnedi3"

From wiki.mikejung.biz
Jump to navigation Jump to search
(nnedi3 overview and configuration)
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
<seo title="nnedi3 overview and configuration" titlemode="append" keywords="nnedi3 overview and configuration"  description="nnedi3 overview and configuration"></seo>
+
<seo title="WTF is NNEDI3? It helps to improve video quality with MadVR" titlemode="append" keywords="nnedi3 overview and configuration"  description="MadVR recently added NNEDI3 as an algorithm option for Chroma Upscaling and Image Doubling. Sound cool? Learn more here!"></seo>
[[Image:Liquidweb_728x90.jpg|link=http://liquidweb.com]]
 
  
 
==nnedi3 overview and configuration==
 
==nnedi3 overview and configuration==
 +
Other madVR and Video related pages can be found below
  
*NNEDI3 github readme link -- '''https://github.com/jpsdr/NNEDI3/blob/master/nnedi3%20-%20Readme.txt'''
+
{| class="wikitable"  cellpadding="10"
 
+
|'''[[MadVR|MadVR Main Page]]'''
 +
|
 +
|'''[[MadVR Chroma Upscaling 720p Image Quality|720p Chroma Upscaling Screens]]'''
 +
|
 +
|'''[[PotPlayer DSR|PotPlayer DSR]]'''
 +
|
 +
|'''[[MadVR Image Doubling 720p|720p Image Doubling]]'''
 +
|
 +
|'''[[Error Diffusion Dithering|madVR Dithering]]'''
 +
|
 +
|'''[[MadVR Chroma Upscaling|Chroma Upscaling Benchmarks]]'''
 +
|
 +
|'''[[Nvidia Noise Reduction]]'''
 +
|-
 +
|'''[[PotPlayer|PotPlayer Main Page]]'''
 +
|
 +
|'''[[MadVR Chroma Upscaling 1080p Image Quality|1080p Chroma Upscaling Screens]]'''
 +
|
 +
|'''[[PotPlayer madVR 720p Settings|PotPlayer Decoder Comparison]]'''
 +
|
 +
|'''[[MadVR Image Upscaling|720p Image Upscaling]]'''
 +
|
 +
|'''[[MadVR Processing Settings|Processing Options]]'''
 +
|
 +
|'''[[Nnedi3|NNEDI3 Main Page]]'''
 +
|
 +
|'''[[Nvidia Edge Enhancement]]'''
 +
|}
 
===What is an nnedi3 neuron?===
 
===What is an nnedi3 neuron?===
  
Line 19: Line 46:
 
===What is an nnedi3 neuron have to do with madvr?===
 
===What is an nnedi3 neuron have to do with madvr?===
  
If you have a GPU that is DX11 compatible you can enable '''NNEDI3''' for '''[[http://wiki.mikejung.biz/MadVR_Chroma_Upscaling Chroma Upscaling]]''' and image doubling with '''[[http://wiki.mikejung.biz/MadVR madVR]]'''. This can be very GPU intensive and if you raise the settings too high you will start to see dropped frames,if you notice dropped frames press these keys (CRTL + J). If you own a GTX 970 or GTX 980 and have a decent CPU then you should be able to utilize NNEDI3 in the following areas:
+
If you have a GPU that is DX11 compatible you can enable '''NNEDI3''' for '''[http://wiki.mikejung.biz/MadVR_Chroma_Upscaling Chroma Upscaling]''' and image doubling with '''[http://wiki.mikejung.biz/MadVR madVR]'''. This can be very GPU intensive and if you raise the settings too high you will start to see dropped frames,if you notice dropped frames press these keys (CRTL + J). If you own a GTX 970 or GTX 980 and have a decent CPU then you should be able to utilize NNEDI3 in the following areas:
  
 
'''Chroma Upscaling''': NNEDI3 @ 32 Neurons
 
'''Chroma Upscaling''': NNEDI3 @ 32 Neurons
 
'''Image Doubling''': Always Double Luma Resolution @ 64 Neurons
 
'''Image Doubling''': Always Double Luma Resolution @ 64 Neurons
  
Please keep in mind that if you watch 480p or 720p video, you will be using a lot more resources than watching a 1080p video, so test out all video sizes before you finalize your configuration. If you set Chroma Upscaling to a less demanding algorithm like BiCubic you will have much smoother playback with lower resolution videos.  
+
Please keep in mind that if you watch 480p or 720p video, you will be using a lot more resources than watching a 1080p video, so test out all video sizes before you finalize your configuration. If you set Chroma Upscaling to a less demanding algorithm like BiCubic you will have much smoother playback with lower resolution videos.
  
==NNEDI3 Forum Post Links==
+
*[http://wiki.mikejung.biz/Error_Diffusion_Dithering Error Diffusion Wiki]
 
+
*[http://wiki.mikejung.biz/MadVR_Chroma_Upscaling MadVR Chroma Upscaling]
*General Overview of the new NNEDI3 features -- '''http://community.futuremark.com/forum/showthread.php?179769-Video-rendering-finally-caught-up-with-high-end-cards-say-Hi-to-NNEDI3!'''
+
*[http://wiki.mikejung.biz/MadVR_Chroma_Upscaling_720p_Image_Quality 720p Image Quality Comparisons]
  
 
==How to Enhance Video Image with MPC-HC and MadVR nnedi3 GTX 970==
 
==How to Enhance Video Image with MPC-HC and MadVR nnedi3 GTX 970==
 
{{#ev:youtube|https://www.youtube.com/watch?v=LhF_56SxrGk}}
 
{{#ev:youtube|https://www.youtube.com/watch?v=LhF_56SxrGk}}
  
If you have a '''[[http://wiki.mikejung.biz/Nvidia GTX 970]]''' and a decent CPU, use the settings below for madVR. These settings should net you around 12ms render time per frame for 720p video, and much faster render times for 1080p video. If you watch a mix of 1080p and 720p videos, these settings should work for both. If you only watch 1080p video then you should be able to use 128 neurons for chroma upscaling and image doubling.
+
If you have a '''[http://wiki.mikejung.biz/Nvidia GTX 970]''' and a decent CPU, use the settings below for madVR. These settings should net you around 12ms render time per frame for 720p video, and much faster render times for 1080p video. If you watch a mix of 1080p and 720p videos, these settings should work for both. If you only watch 1080p video then you should be able to use 128 neurons for chroma upscaling and image doubling.
  
 
{| class="wikitable" style="text-align: center; color: black;"
 
{| class="wikitable" style="text-align: center; color: black;"
Line 58: Line 85:
 
|Error Diffusion Option 1
 
|Error Diffusion Option 1
 
|}
 
|}
 +
  
 
==nnedi3 and MPC-HC with GTX 770==
 
==nnedi3 and MPC-HC with GTX 770==
Line 68: Line 96:
 
Currently these settings allow me to view 1080p movies without dropping any frames. This is on a 4K monitor. I had to use DXVA2 for image upscaling, since any other settings resulted in 50ms + render times, which resulted in a lot of dropped frames. Image quality looks good and these settings also work fine for 720p movies and below.  
 
Currently these settings allow me to view 1080p movies without dropping any frames. This is on a 4K monitor. I had to use DXVA2 for image upscaling, since any other settings resulted in 50ms + render times, which resulted in a lot of dropped frames. Image quality looks good and these settings also work fine for 720p movies and below.  
 
{| class="wikitable" style="text-align: center; color: black;"
 
{| class="wikitable" style="text-align: center; color: black;"
|Scaling Setting
+
|Option
|Algorithm
+
|Value
  
 
|-
 
|-
|chroma upscaling
+
|'''chroma upscaling'''
|Jinc 3 Tap + AR
+
|NNEDI3 32
 
|-
 
|-
|image doubling
+
|'''image doubling'''
|Luma and Chroma always 64 neurons
+
|Always double Luma resolution 64 neurons
 
|-
 
|-
|image upscaling
+
|'''image upscaling'''
|DXVA2
+
|Lanczos 4 Taps with anti-ringing filter
 +
|-
 +
|'''image downscaling'''
 +
|Bicubic 75 with anti-ringing filter
 +
|-
 +
|'''smooth motion'''
 +
|enable smooth motion only if...
 
|-
 
|-
|image downscaling
+
|'''dithering'''
|Catmull-Rom
+
|Error Diffusion Option 2
 
|}
 
|}
  
 
Using the configuration above, I get render times that are under 30ms for almost all content. In addition to these settings you might be able to get away with enabling "Smooth Motion" OR "Error Diffusion Dithering Option 1", but not both, if I enabled both settings render times jumped to over 50ms which means there are lots of dropped frames. I think this might be an SLI issue since dropping my cards out of SLI and using a single card seems to handle the configuration a lot better.
 
Using the configuration above, I get render times that are under 30ms for almost all content. In addition to these settings you might be able to get away with enabling "Smooth Motion" OR "Error Diffusion Dithering Option 1", but not both, if I enabled both settings render times jumped to over 50ms which means there are lots of dropped frames. I think this might be an SLI issue since dropping my cards out of SLI and using a single card seems to handle the configuration a lot better.
 +
 +
==NNEDI3 Forum Post Links==
 +
 +
*General Overview of the new NNEDI3 features -- '''http://community.futuremark.com/forum/showthread.php?179769-Video-rendering-finally-caught-up-with-high-end-cards-say-Hi-to-NNEDI3!'''
  
 
[[Category:madVR]]
 
[[Category:madVR]]
 
[[Category:GPU]]
 
[[Category:GPU]]
 +
[[Category:Windows]]
 +
[[Category:MediaPlayer]]

Latest revision as of 19:44, 15 March 2015

nnedi3 overview and configuration

Other madVR and Video related pages can be found below

MadVR Main Page 720p Chroma Upscaling Screens PotPlayer DSR 720p Image Doubling madVR Dithering Chroma Upscaling Benchmarks Nvidia Noise Reduction
PotPlayer Main Page 1080p Chroma Upscaling Screens PotPlayer Decoder Comparison 720p Image Upscaling Processing Options NNEDI3 Main Page Nvidia Edge Enhancement

What is an nnedi3 neuron?

NNEDI3 has a "predictor neural network" that consists of neurons. Possible settings for madvr NNEDI3 neurons are 16, 32, 64, 128, and 256. 16 is fastest. 256 is slowest, but should give the best quality. This is a quality vs speed option; however, differences are usually small between the amount of neurons for a specific resize factor, however the performance difference between the count of neurons becomes larger as you quadruple the image size. If you are only planning on doubling the resolution then you won't see massive differences between 16 and 256 neurons. There is still a noticeable difference between the highest and lowest options, but not orders of magnitude different.

0 - 16 neurons
1 - 32 neurons
2 - 64 neurons
3 - 128 neurons
4 - 256 neurons

What is an nnedi3 neuron have to do with madvr?

If you have a GPU that is DX11 compatible you can enable NNEDI3 for Chroma Upscaling and image doubling with madVR. This can be very GPU intensive and if you raise the settings too high you will start to see dropped frames,if you notice dropped frames press these keys (CRTL + J). If you own a GTX 970 or GTX 980 and have a decent CPU then you should be able to utilize NNEDI3 in the following areas:

Chroma Upscaling: NNEDI3 @ 32 Neurons Image Doubling: Always Double Luma Resolution @ 64 Neurons

Please keep in mind that if you watch 480p or 720p video, you will be using a lot more resources than watching a 1080p video, so test out all video sizes before you finalize your configuration. If you set Chroma Upscaling to a less demanding algorithm like BiCubic you will have much smoother playback with lower resolution videos.

How to Enhance Video Image with MPC-HC and MadVR nnedi3 GTX 970

{{#ev:youtube|https://www.youtube.com/watch?v=LhF_56SxrGk}}

If you have a GTX 970 and a decent CPU, use the settings below for madVR. These settings should net you around 12ms render time per frame for 720p video, and much faster render times for 1080p video. If you watch a mix of 1080p and 720p videos, these settings should work for both. If you only watch 1080p video then you should be able to use 128 neurons for chroma upscaling and image doubling.

Option Value
chroma upscaling NNEDI3 32 neurons
image doubling Always double Luma resolution 64 neurons
image upscaling Lanczos 4 Taps with anti-ringing filter
image downscaling Bicubic 75 with anti-ringing filter
smooth motion enable smooth motion only if...
dithering Error Diffusion Option 1


nnedi3 and MPC-HC with GTX 770

I used to have 2 x [GTX 770s] in SLI mode. I was able to double the Chroma at all times (if needed) and I set it to 128 neurons.

For more detailed information, see the link below http://community.futuremark.com/forum/showthread.php?179769-Video-rendering-finally-caught-up-with-high-end-cards-say-Hi-to-NNEDI3!

Currently these settings allow me to view 1080p movies without dropping any frames. This is on a 4K monitor. I had to use DXVA2 for image upscaling, since any other settings resulted in 50ms + render times, which resulted in a lot of dropped frames. Image quality looks good and these settings also work fine for 720p movies and below.

Option Value
chroma upscaling NNEDI3 32
image doubling Always double Luma resolution 64 neurons
image upscaling Lanczos 4 Taps with anti-ringing filter
image downscaling Bicubic 75 with anti-ringing filter
smooth motion enable smooth motion only if...
dithering Error Diffusion Option 2

Using the configuration above, I get render times that are under 30ms for almost all content. In addition to these settings you might be able to get away with enabling "Smooth Motion" OR "Error Diffusion Dithering Option 1", but not both, if I enabled both settings render times jumped to over 50ms which means there are lots of dropped frames. I think this might be an SLI issue since dropping my cards out of SLI and using a single card seems to handle the configuration a lot better.

NNEDI3 Forum Post Links