Guia MadVR (en inglés)

Hardware y software que necesitas para armar un HTPC. Dudas, comentarios, experiencias.
Usuario Sr. Junior
Avatar de Usuario
Mensajes: 1325
Registrado: 04 Jun 2012, 11:43

Guia MadVR (en inglés)

Notapor maco07 » 03 Sep 2014, 21:27

Encontré esta guía que el mismo Madshi (el creador de Madvr) recomienda:

http://wiki.jriver.com/index.php/Madvr_expert_guide

Muy completa!

Usuario Sr. Junior
Avatar de Usuario
Mensajes: 1325
Registrado: 04 Jun 2012, 11:43

Re: Guia MadVR (en inglés)

Notapor maco07 » 27 May 2015, 10:28

Salió la nueva versión de MadVR 0.88.8, que incluyé una gran cantidad de nuevos controles para mejorar la imagen.

Otra pequeña guía que explica qué es cada cosa:

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

devices

device name: A name for the display (only for your information). It is auto filled from the EDID product name.
device type: The icon for the display.

identification:
EDID information, some displays are detected with different identifications depending on how they are attached or detected. You can drag and drop these identification entries to combine displays.

properties:
the display expects the following RGB output levels: This is what your display expects to receive. 'PC levels (0-255)' means “use a 16-235 YCbCr to 0-255 RGB conversion matrix” and 'TV levels (16-235)' means “use a 0-255 YCbCr to 0-255 RGB conversion matrix”. If the source is flagged full range either a 0-255 YCbCr to 0-255 RGB or a 0-255 YCbCr to 16-235 RGB conversion matrix is used instead.
the native display bitdepth is: This is the bit depth madVR will dither to. madVR offers very high quality dithering so if you are using a low bit depth display (e.g. a 6-bit TN) you may get better quality setting this to 6-bit. It can be interesting to turn this down to a very low value (2-4) and test the various dithering options but make sure to have the 'trade quality for performance' option 'don’t use linear light for dithering' unchecked even if you leave it checked for normal use.

calibration:
disable calibration controls for this display: Disables all color gamut and gamma conversion functions.
this display is already calibrated: This sets the current display characteristics. This affects the conversions used by madVR when playing video with a different gamut or using the 'enable gamma processing' option in 'color & gamma'.
calibrate this display by using yCMS: yCMS offers a simple gamut and gamma calibration method. It requires only a few measurements of the display that can be done with HCFR. If gamut or grayscale measurements are not supplied only the other correction will be performed. Usually bad results (mostly banding and odd effects in shadows) are obtained if gamma measurements below ~20% IRE are used so only enter values above 15-30% IRE.
calibrate this display by using external 3DLUT files: Use a calibration package such as Argyllcms, Calman, or LightSpace to generate a 256x256x256 3DLUT to perform a full calibration. For Argyllcms see this AVS Forum thread, for Calman, or for LightSpace.
disable GPU gamma ramps: This disables the Windows calibration or monitor profile. It effects everything displayed, not only madVR. madVR will restore the profile when it is closed. This option changes its behavior when using the 'rendering -> general settings' option 'enable windowed overlay' to only apply to madVR because madVR is emulating the gamma ramps in that case.

display modes:
Allows setting refresh rate and resolution automatically depending on the source video.

color & gamma:
pure power curve: use the standard pure power gamma function
BT.709/601 curve: use the inverse of a meant for camera gamma function. This has a linear section near black so shadows lighten faster as you move away from black. It can be helpful if your display has crushed shadows.
2.20, 2.40, etc.: changes the display's gamma, based on the display's settings in 'calibration', to this target gamma. Without setting a calibration this option does nothing. Lower brightens mid range values which can be nice in a brightly lit room. Higher darkens mid range values which might look better in a darker room.

processing

deinterlacing:
if in doubt, activate deinterlacing: deinterlace video not flagged as progressive
if in doubt, deactivate deinterlacing: deinterlace video flagged as interlaced
force film mode: force IVTC. IVTC (either auto or forced) is not functional if using native DXVA decoding because madVR's IVTC algorithm runs on the CPU instead of the GPU.
force video mode: force DXVA deinterlacing, uses the GPU's deinterlacing as set in its drivers.

artifact removal:
reduce banding artifacts: If 'default debanding strength' is lower than 'strength during fade in/out' 5 frames are rerendered using the higher strength when a fade is detected (it takes 5 frames to detect a fade). Fade detection does not run if both options are set to the same value for a small increase in performance.
Shiandow's deband algorithm: An alternative debanding method.

image enhancements:
These are applied before scaling. See 'upscaling refinement'

scaling algorithms

chroma upscaling:
How madVR doubles the chroma resolution in both dimensions (YCbCr 4:2:0) or only vertically (YCbCr 4:2:2) to get YCbCr 4:4:4 before the conversion to RGB.

image downscaling:
How madVR scales to the target resolution if it is smaller than the source.

image doubling:
Uses NNEDI3 to perform 2x upscaling. If needed 'image downscaling' or 'image upscaling' is used to scale to the target resolution after doubling. If not doubled chroma is upscaled to the target resolution using 'image upscaling'.

image upscaling:
How madVR scales to the target resolution if it is larger than the source.

Nearest Neighbor: A very fast very low quality method, the closest pixel value is used, this looks very bad if not doing integer scaling (1x, 2x, 3x, etc.).
Bilinear: A very fast low quality method. This is as fast as Nearest Neighbor as GPUs can do bilinear filtering in a single operation.
DXVA2: Uses the GPU drivers or fixed function hardware to perform scaling. It is done in 8-bit so it may introduce banding or cause scaled dither noise. It can be very fast and low power. The quality varies between GPU brands and models. Image doubling cannot be used at the same time as DXVA2 scaling. Does chroma upscaling as well so this option overrides 'chroma upscaling'. Requires a restart of madVR to take effect. Does not bypass the graphics card's video (damage) algorithms so make sure they are off.
Mitchell-Netravali: Bicubic with b = 1/3, c = 1/3
Catmull-Rom: Bicubic with b = 0, c = 0.5
Bicubic: Bicubic with b = 0, c = sharpness / 100
SoftCubic: Bicubic with b = softness / 100, c = 0
Lanczos: A sharp sinc type
Spline: A different sinc type
Jinc: A more advanced sinc type (based on an EWA LanczosSharp from ImageMagick)
NEDI: New Edge-Directed Interpolation originally proposed by Xin Li and Michael Orchard. Can only perform a 2x upscale. Only runs on RGB so both luma and chroma have to be doubled when using NEDI doubling.
NNEDI3: NNEDI3 (Neural Net Edge Directed Interpolation 3, original by tritical) implemented in OpenCL. Can only perform a 2x upscale but it can double X and Y independently. Below 32 neurons is not recommended for luma because 16 neurons are more likely to generate artifacts by connecting incorrect edges between smaller details. 16 neurons might be fine for chroma as chroma generally lacks small details.

activate anti-ringing filter: A post process method to reduce ringing, the major artifact caused by sharp bicubic and sinc type scalers.
scale in linear light: Using linear light when downscaling produces a result more similar to what one would get with optical scaling; bright specks such as stars in a night sky are preserved much better. Not recommended for upscaling.

upscaling refinement:
These are applied after upscaling.
FineSharp: A sharpener originally by Didée that attempts to keep local energy close to the original.
LumaSharpen: Blurs the original pixel with the surrounding pixels and then subtracts the blur.
SuperRes: This is a post process method. From Shiandow

1 Calculate an initial guess (using the configured upscaler)
2 Downscale and calculate differences with original image.
3 Scale those differences to the final size (medium = SoftCubic50, high = Jinc3)
4 Improve guess by:
- Softening the image
- Subtracting differences with the original image
- Sharpening (optional)
- Removing aliasing (optional)
- Removing ringing (optional)
5 Repeat steps 2-4 several times.

rendering

general settings:
delay playback start until render queue is full: Pauses playback until all the buffers are full. With this option disabled only the present buffers need to fill before playback starts.
enable windowed overlay (Windows 7 and newer): Only available on Nvidia and Intel GPUs. Uses a low level overlay method which bypasess the GPU LUT (Windows calibration) so madVR emulates it when using this option, this is done in 16-bit so madVR can offer better quality than the GPU.
enable automatic fullscreen exclusive mode: madVR has exclusive access to the display. This is the most stable mode for madVR as it has the most control over when and how video frames are displayed. There is a slight flicker as madVR enters and exits this mode. Required for >8 bit output.
disable desktop composition (Vista and Windows 7): Disables Aero which has its own v-sync that can conflict with madVR’s.
use Direct3D 11 for presentation (Windows 7 and newer): Use the new Direct3D 11 instead of D3D 9. May perform better and allows faster transitions into and out of fullscreen exclusive mode. Requires a restart of madVR to take effect. Required for >8 bit output.
present a frame for every VSync: when disabled madVR only presents new frames when needed, relying on D3D11 to repeat frames for each VSync. Disabled may improve performance.
use a separate device for presentation (Vista and newer): Might help improve performance slightly, or it might hurt it slightly. Test it or leave it on default.
use a separate device for DXVA processing (Vista and newer): Might help improve performance slightly, or it might hurt it slightly. Test it or leave it on default.
CPU queue size: The buffer in system memory for decoded video and xySubFilter subtitles.
GPU queue size: The buffer in the graphics memory for madVR’s rendering.

windowed and exclusive mode settings:
present several frames in advance: Uses a new method for presenting frames in advance instead of using a back-buffer queue.
how many video frames shall be presented in advance or how many backbuffers shall be used: A final buffer after madVR is done rendering.
when and how shall the GPU be flushed: It can be fun to mess with and see what happens in the stats.

smooth motion:
Uses frame blending to perfectly display the video’s frame rate at the display’s refresh rate. This reduces motion judder in exchange for increased blurring due to the frame blending. It looks better the higher the refresh rate of the display.

dithering:
Dithering is performed as the very last step in madVR to convert its internal 16 bit data to the bit depth set for the display. Any time madVR does anything to the video high bit depth information is created and dithering allows much of this information to be preserved when displayed at 8 bit. For example, the conversion of YCbCr to RGB generates >8-bit RGB data.
None: never use, banding
Random Dithering: A high noise no pattern very fast option.
Ordered Dithering: A low noise high pattern very fast option, this offers high quality dithering basically for free.
Error Diffusion: Use Direct-Compute to perform very high quality error diffusion dithering: test option 1 and 2 for yourself (or pick one randomly). They are both good and my preference changes depending on the display.
use colored noise: Use an inverted dither pattern for Green ("opposite color"). You can see colored noise on a gray scale test pattern even with this option disabled if you use a 3DLUT because the 3DLUT adds color information and dithering is performed after it.
change dither for every frame: Use a new dither seed for every frame or, for ordered dithering, add random offsets and rotate the dither texture 90° between every frame.

trade quality for performance:
These options are sorted based on their impact on quality with the options that have the least quality lost at the top.

More advanced topics

Profiles:
Right click on the 'processing', 'scaling algorithms', or 'rendering' settings folder to create a profile group. You can only add settings pages to a group when creating it. There can only be one profile in a profile group when deleting it. configure profile rules

File name tags:
madVR will look at the folder and file names for "magic words" or tokens that tell it to treat a particular file differently.
for example: "D:\Movies\TV Rips levels=tv\Broken PAL Rips matrix=PAL\my broken rip from the 90s deband=high.mkv"

Possible file name tags include:
frame rate: frameRate=24p, 24i, 24fps, 24Hz, etc. *refreshRate= is synonymous
deinterlacing: deint=On|Off|Video|Film|IVTC
debanding: deband=off|low|medium|high
profile: profile='profile name'
matrix: matrix=2020|709|601|NTSC|PAL|YCgCo|240M
primaries: primaries=2020|DCI|709|SmpteC|EBU|sRGB|NTSC|PAL|470M|240M|170M
levels: levels=PC|TV|fullrange|limited|doubleExp|tripleExp *range= is synonymous
blacklevel: blacklevel=X, X=-50 to +50
whitelevel: whitelevel=X, X=-50 to +50
contrast: contrast=X, X=-100 to +100
brightness: brightness=X, X=-100 to +100
saturation: blacklevel=X, X=-100 to +100
hue: hue=X, X=-180 to +180

Other Features:
-madVR can decimate progressive streams such as 720p60/720p50 broadcast with 24p/25p content. Press control+alt+shift+t to force it on. It has the same limitations as madVR IVTC.

Known Limitations or Complications:
-madVR can't do frame packed 3D
-When using a 3DLUT madVR can generate out of gamut values when displaying WtW unless it is emulating the GPU LUT when using 'enable windowed overlay'.
-Native DXVA decoding has some negative ramifications such as it is impossible to use force film (IVTC) or xy/vsfilter for subtitles.
-madVR cannot handle p010 (10-bit) from DXVA native.
-madVR IVTC can detect a lot of cadences but can "only" handle some of them correctly. For example the rare cadence 3:2:3:2:2 (25 fps in 30i 60 fields) does not work well.
-madVR currently always switches to 23Hz when having forced film mode on while playing 59i content.

Here is a theoretical rendering path, it is somewhat oversimplified and a lot of what madVR does is not included:

Imagen

Volver a HTPC, Media Players y PCs en general

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados