View Single Post
Old 2nd September 2014, 21:24   #10  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 9,140
You may want to sign your exe file to avoid AV false alarms. Virustotal reports 2/54 for your x86 download. Usually signing your exe helps with this problem.

FWIW, on my development PC (win8.1 x64) playback with your software doesn't seem to work. I'm getting the exception "An unexpected error 'System.Reflection.TargetInvocationException' has occurred". Also, I have to use the "File -> Open" dialog. Drag&Drop is rejected by the media player.

How to count taps? Different people have different opinions on that. What madVR calls 2 taps, and you call 4 taps, some marketing guys even call 16 taps (4x4 = 16). In the end it doesn't matter much, I guess. On a side note, personally I find Lanczos, Spline and Jinc with 2 taps (in your case 4 taps) to be not worth the effort. They don't look better than Bicubic to my eyes. That's why madVR starts at 3 taps with those algorithms (which you count as 6 taps).

If you want to know what dithering is for, try playing the "colors.ytp" test pattern with madVR with dithering turned off vs. on. Then try playing it with your media player. If you don't do dithering, it will probably look quite ugly. Or alternatively try zooming the "smallramp.ytp" pattern up to fullscreen, then turn dithering off vs. on. With dithering off, you should see faint vertical bands in madVR. With dithering on, the gray ramp should be perfectly smooth. The problem is that your final rendering result should be 32bit, while the GPU really only outputs 8bit. If you round to 8bit, you're introducing quantization artifacts. So you *have* to dither, to avoid those artifacts. This is a concept well known from the audio processing world. I've introduced this concept to the HTPC video processing world a couple of years ago, when madVR was introduced. At that time (to my best knowledge) nobody else used dithering in video processing. Dithering is well known when trying to convert gray scale images to black & white. E.g. see here:

http://en.wikipedia.org/wiki/Dither

Basically converting gray scale -> black & white means reducing bitdepth from 8bit to 1bit. When doing that, using dithering produces much better results than simple rounding. The same principle still applies when reducing the bitdepth from 32bit to 8bit, although the benefits of dithering are much smaller there compared to 8bit -> 1bit. Here's the download of the "colors.ytp" test pattern with the DirectShow filter needed for that test pattern:

http://madshi.net/madTestPatternSource.zip

Last edited by madshi; 2nd September 2014 at 21:27.
madshi is offline   Reply With Quote