madVR v0.84.0 released
http://madshi.net/madVR.zip
Code:
* added media player screenshot functionality (IBasicVideo::GetCurrentImage)
* added "Jinc" image upscaling algorithm
* added anti-ringing filter for downscaling
* added "user interface\keyboard shortcuts" settings page
* added option to apply keys "only if media player has keyboard focus"
* added options to adjust the keys for all existing keyboard shortcuts
* added shortcut option for directly selecting specific source primaries
* added shortcut option for directly selecting specific deint content types
* added shortcut option for en/disabling automatic fullscreen exclusive mode
* added shortcut option for disabling exclusive mode for 10 seconds
* added shortcut option for en/disabling the display mode switcher
* added shortcut option for en/disabling dithering
* added shortcut option for changing the display bitdepth
* added various shortcut options for selecting scaling algorithms
* added IMadVRExclusiveModeCallback interface for exclusive mode notifications
* renamed "luma up/downscaling" to "image up/downscaling"
* renamed "use 10bit luma buffer ..." to "use 10bit image buffer ..."
* scaling algorithm parameters (softness, sharpness, taps) are remembered now
* scaling algorithm red/green graphs (settings dialog) now cover anti-ringing
* modified shader storage to decrease madVR.ax file size
* fixed: KMPlayer + madVR decoders + "delay playback start" was always paused
* fixed: settings dialog had problems with yCMS data when using Overlay mode
* fixed: cosmetical issue in fullscreen windowed mode when changing video files
Some notes:
(1) Screenshots are done after deinterlacing and color conversion, but before scaling and aspect ratio correction. Screenshots are always converted to 8bit fullrange RGB (0-255), using error diffusion, which is a higher quality dithering algorithm compared to what madVR does during playback. Screenshots only work if the media player supports it. MPC-HC does out of the box, haven't tested other media players, but they will likely work, too.
(2) The "Jinc" (3 or 4 taps) image upscaling algorithm is totally new. It's somewhat similar to Lanczos, but Jinc is slower and has slightly higher quality. You can think of Lanczos as a rectangular resampling filter. In comparison Jinc is a circular resampling filter. Jinc is slightly softer than Lanczos, but it has very low aliasing artifacts (lowest of all algorithms) and ringing is less strong compared to Lanczos. Furthermore the madVR anti-ringing filter works especially well together with Jinc, so with the anti-ringing filter Jinc is pretty much ringing-free without any negative side effects that I could see. In certain situations Lanczos might look better (because it's slightly sharper than Jinc), but overall I believe Jinc beats Lanczos in quality, thanks to a more natural look with less ringing and aliasing artifacts. Jinc comes at a quite big performance cost, though. At low scaling factors, Jinc is comparable in performance to Lanczos8. However, with bigger scaling factors, Jinc3 can be twice as slow as Lanczos8 and Jinc4 twice as slow as Jinc3. Ouch...