View Single Post
Old 5th June 2011, 18:05   #7878  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 9,140
madVR v0.62 released

http://madshi.net/madVR.zip

Code:
* added display "properties", "calibration" and "color & gamma" settings pages
* added option to define the native display bitdepth (affects dither strength)
* added options to define how the display was calibrated (gamut + gamma)
* moved "Video/PC levels" option to display "properties" settings page
* added options to define which gamma / transfer function to use
* replaced old "use 3dlut" option with new controls on "calibration" page
* added integrated GUI for yCMS 3dlut creation, no more console hacking needed
* added "please wait" dialog while yCMS is downloaded + installed
* added "please wait" dialog while 3dlut file is created
* added support for 6 and 7 bit 3dlut files (see trade quality for performance)
* added option to choose a manually created external 3dlut file (per display)
* there's only one 3dlut file per display now
* 3dlut is now always yRGB / RGB_Video input and RGB_Video output
* YCbCr -> RGB conversion is now always done by shader math, not by 3dlut
* Video/PC levels conversion is now always done by shader math, not by 3dlut
* rewritten rendering and pixel shader chain
* subsampled YCbCr is now upsampled & converted to RGB first, then scaled
* chroma upsampling got quite a bit faster (because it's now always exactly 2x)
* luma scaling got a tiny bit faster, depending on scaling factor and taps
* Strg+Alt+Shift+C displays & toggles color format (BT.709 -> BT.601 -> PAL)
* Strg+Alt+Shift+G displays and increases the Gamma value (2.20 -> 2.25 -> ...)
* Strg+Alt+Shift+F displays and decreases the Gamma value (2.20 -> 2.15 -> ...)
* Strg+Alt+Shift+T displays and changes the Gamma curve type (pure power / BT)
* dither is using a texture again instead of shader math
* dither is now colored and differs for every video frame
* added support for  8 bit 4:2:0 media types IYUV, I420, NV21, ICM*
* added support for  8 bit 4:2:2 media types YUY2, YVYU, UYVY, YV16, yuv2, ...
* added support for  8 bit 4:4:4 media types AYUV, YV24, I444, v308, v408
* added support for  8 bit RGB   media types RGB32, RGB24, BGRA, ABGR, RGBA
* added support for 10 bit 4:2:2 media types P210, Y210, v210
* added support for 10 bit 4:4:4 media types Y410, v410
* added support for 16 bit 4:2:2 media types P216, Y216, v216
* added support for 16 bit 4:4:4 media types Y416, v416
* added support for 16 bit RGB   media types RGB48, RGB64, b48r, b64a, ...
* added hints to "install.bat" and "readme.txt" to not delete the madVR folder
* fixed: madVR rendering window in GraphEdit didn't have correct size
* changed VSync priority back to "time critical"
* slightly changed tray icon mouse click behaviour
A couple of notes:

(1) Since a lot of stuff has changed internally, expect some new bugs.

(2) Some pixel shaders got a bit faster, but I've added a couple more processing steps. Not sure what the net effect will be. Maybe v0.62 will perform a little bit faster or slower for you, depending on settings.

(3) cyberbeing: Please check whether the 3dlut stuttering you have with out-of-gamut colors is gone when using a 7bit or 6bit 3dlut.

(4) 6233638: It was you who preferred Bicubic for chroma upscaling, correct? Please recheck your preferences with v0.62.

(5) Please note that madVR now accepts 4:2:2 connections. It is now *your* duty to make sure the decoder outputs the optimal format (which is usually 4:2:0).

(6) Below is the full list of FourCCs supported by v0.62. I'm looking for samples of AVI/QuickTime movie files with raw video data in as many of these FourCCs as possible, so I can test that my implementation of these FourCCs is correct. So if you have (or can create) any samples that could help, please upload (small) samples. Thanks!

Code:
// 8bit YCbCr
// 4:2:0
YV12
NV12
yv12
nv12
ICM1
ICM2
ICM3
ICM4
NV21
IYUV
I420
// 4:2:2
YUY2
yuy2
YVYU
UYVY
uyvy
cyuv
UYNV
UYNY
HDYC
uyv1
2Vu1
VDTZ
YUV2
yuv2
2vuy
2Vuy
yuvu
yuvs
YV16
I422
Y422
V422
Y42B
P422
YUNV
VYUY
AVUI
// 4:4:4
AYUV
YV24
I444
v308
v408

// RGB
// 8bit
RGB24
RGB32
24BG
BGRA
ABGR
RGBA
// 16bit
RGB48LE
RGB48BE
b48r
RGBA64LE
RGBA64BE
b64a

// 10bit YCbCr
// 4:2:0
P010
// 4:2:2
P210
Y210
v210
// 4:4:4
Y410
v410

// 16bit YCbCr
// 4:2:0
P016
// 4:2:2
P216
Y216
v216
// 4:4:4
Y416
v416
madshi is offline   Reply With Quote