Log in

View Full Version : madVR - high quality video renderer (GPU assisted)


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 [228] 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329

iSeries
8th December 2011, 20:22
If you don't read the whole post, how will you understand what I'm saying? If you want help, you have to co-operate, otherwise I'm wasting my time.

I'll say it once more and then I'm done: With madVR set to TV levels you will see 0-255 with the LG set to 'High' and 16-255 with the LG set to 'Low'. What you're reporting above is exactly what I said you would see with madVR set to PC levels, so what I said IS exactly correct in your case.

WTH, not fully co-operating? Sorry, didn't realise I wasn't complying.

What you have failed to provide is an explanation as to what exactly the problem is with the way I have things set up or a solution to what you believe is wrong. I am not convinced you are helping at all. So please, stand by your statement that you'll only say it once more and just leave it at that.

I'll go with what Nev said. If it looks correct to him, then that's good enough for me.

joe42
8th December 2011, 23:23
Videos are meant to be 16-235, if you set your system to show values outside of that range, that means the "normal black" at 16 won't be as black as it could be, or the "white" at 235 will not be as white as it could be.
Personally, i rather have the usual values look as good as they can instead of leaving some room to show the "unusual" values.


That sounds good to me, but I wonder how to set it up as you say.

I see four places to set things to either 0-255 or 16-235:

1) NVidia Control Panel

2) LAV Video decoder RGB Output Levels (for YUV ->RGB conversion) -- this actually adds a third choice "untouched (as input)"

3) MadVR output levels

4) Television

In order to do as you recommend above, is the correct procedure to set all four of those to 16-235? Or do some of them need to be 0-255?

jmonier
9th December 2011, 00:45
WTH, not fully co-operating? Sorry, didn't realise I wasn't complying.

What you have failed to provide is an explanation as to what exactly the problem is with the way I have things set up or a solution to what you believe is wrong. I am not convinced you are helping at all. So please, stand by your statement that you'll only say it once more and just leave it at that.

You stated very clearly that you didn't have time to read my entire post. So how can you say that I didn't provide an explanation, when you haven't read everything? If you won't read what I write, how is it that you can say that it is my fault?

Andy o
9th December 2011, 01:42
That sounds good to me, but I wonder how to set it up as you say.

I see four places to set things to either 0-255 or 16-235:

1) NVidia Control Panel

2) LAV Video decoder RGB Output Levels (for YUV ->RGB conversion) -- this actually adds a third choice "untouched (as input)"

3) MadVR output levels

4) Television

In order to do as you recommend above, is the correct procedure to set all four of those to 16-235? Or do some of them need to be 0-255?

No, the problems people having above are with AMD. I don't think NV has the same pixel format output option. The one that you see on NV's control panel is not that, it's akin to the "dynamic range" option in the AMD CCC, which means it doesn't affect madVR (except probably when doing DXVA deinterlacing).

If you don't know exactly what it does, LAV video's output should be set to untouched. But anyway, this option only works when doing RGB conversion with it, which if you have checked all video formats as in the default settings video will probably be "untouched" anyway.

Regarding 3 and 4, the ideal way to set madVR is to PC levels (0-255), and your TV to 0-255 RGB input as well. The problem people above were having arises when some TVs can't accept a full RGB input.

mr.duck
9th December 2011, 02:15
1) NVidia Control Panel

2) LAV Video decoder RGB Output Levels (for YUV ->RGB conversion) -- this actually adds a third choice "untouched (as input)"

3) MadVR output levels

4) Television

1) Controls hardware RGB conversion. Set to 16-235 and you will be sure to get grey blacks when using EVR and an ordinary computer monitor.

2) Ignore this. You should be outputting in NV12 etc.

3) Should be 0-255 if the display supports full range.

4) I assume that tells the TV what you are feeding it. So 3) and 4) should both be the same. Set both to 0-255 and madVR will do the conversion to full range. Set both to 16-235 and I would expect the TV to do the conversion.

Rain1
9th December 2011, 05:33
That sounds good to me, but I wonder how to set it up as you say.

I see four places to set things to either 0-255 or 16-235:

1) NVidia Control Panel

2) LAV Video decoder RGB Output Levels (for YUV ->RGB conversion) -- this actually adds a third choice "untouched (as input)"

3) MadVR output levels

4) Television

In order to do as you recommend above, is the correct procedure to set all four of those to 16-235? Or do some of them need to be 0-255?

IIRC, there's an option in NV control panel that let video player controls that setting.

In my case, I set:

1) Let player control this setting.

2) Checked all output format in LAV, RGB output level: Untouched (as input).

3) PC levels & >= 8bit (for my monitor) in madVR.

4) Haven't tried this since I only used my monitor.

FlashGordon
9th December 2011, 05:39
I'm getting completely random freezes using any version of madVR higher than .65 it seems. I can't reproduce the problem and these freezes happen completely at random. It happens about once every 2-3 films so it isn't a problem that occurs with high frequency. I've tried updating and reverting video drivers (ATI), using different decoders, different splitters, and different media players and I still get freezing with any of the newer madvr versions. I haven't experienced any freezes using .65. Now I know that correlation =/= causation, but I can't think of anything else that could be causing this conflict. Does anyone here have any ideas?

joe42
9th December 2011, 22:50
I'm going to try to summarize what I have understood of the levels discussion. I'm not sure I have it all right, so please feel free to correct me.

First, is there a consensus that the video card should NOT be set to 16-235? If there is clipping or expansion to be done, let madVR do it. The video card should just output exactly what madVR does without alteration. Yes?

Second, it seems that setting LAV Video decoder to "untouched" is the best idea. Yes?

Finally, the two most controversial settings: madVR output TV (16-235) or PC (0-255) levels, and the television setting limited (16-235) or full (0-255). I think PC monitors can be assumed to always be "full" 0-255. I am ignoring televisions that have a "limited+WTW" 16-255 setting. I am going to list the four possible ways to set this pair of values:

A) madVR=TV , television=limited
Test pattern levels visible: 16-235

B) madVR=TV, television=full
Test pattern levels visible: 0-255

C) madVR=PC, television=limited
Test pattern levels visible: 30-218 ???
comment: madVR expands 16-235 to PC levels (eg., 16 goes to 0, 30 goes to 16, 218 goes to 235) but television only displays a limited subset of those levels and clips anything outside of 16-235 which would actually be 30-218 from the test pattern??? I'm not sure about this explanation

D) madVR=PC, television=full
Test pattern levels visible: 16-235
comment: madVR expands 16-235 to PC levels and television does not clip anything, however the BTB and WTW data was lost when madVR expanded 16-235 to PC levels


So which to choose out of A,B,C,D?

I cannot see any reason for ever choosing (C).

I think (A) and (D) will usually result in about the same display, although maybe (A) is superior since in (D) madVR has to do an expansion that might result in rounding error (banding or dithering)?

If you want to see BTB and WTW, then obviously your only choice is (B). But I think nevcairiel makes a good point that since most video and movie content is 16-235, there is no good reason to choose this since you are essentially compressing the dynamic range of the vast majority of content in order to see more gradations in a small fraction of available content.

So, it would seem that the best choice for most people would be (A). Unless you are setting up a PC monitor which has no "limited" mode, in which case you would go with (D).

Sound right?

nevcairiel
9th December 2011, 23:01
Second, it seems that setting LAV Video decoder to "untouched" is the best idea. Yes?

That setting only applys if you use LAV Video to convert to RGB, which you shouldn't be doing if you use madVR.
For madVR, just leave every output format checked, and it'll do the right thing.


So, it would seem that the best choice for most people would be (A). Unless you are setting up a PC monitor which has no "limited" mode, in which case you would go with (D).


I always preferred D.
You need to convert YUV to RGB, which will (if done right) result in floating point data (or at least higher precision integer), actually expanding that to 0-255 gives you a greater dynamic range when doing the quantization back to 8-bit integer then 16-235 does, so according to the math, it could potentially be better. Not sure if that difference is actually visible...

Qaq
10th December 2011, 00:27
More digits - less roundings. With test patterns I got 'proper' results (no flushing) with 16-235. But with 0-255 picture looks more detailed in dark areas to me, so...

dansrfe
10th December 2011, 00:42
"The Circle of Levels". End Result? All 0-255 Full RGB. Happy ending. :)

joe42
10th December 2011, 00:47
That setting only applys if you use LAV Video to convert to RGB, which you shouldn't be doing if you use madVR.
For madVR, just leave every output format checked, and it'll do the right thing.


So, assuming I leave every output format checked as you recommend, then I still need to chose one of three radio buttons: TV (16-235), PC (0-255), or Untouched (as input).

Which should I choose?



I always preferred D.
You need to convert YUV to RGB, which will (if done right) result in floating point data (or at least higher precision integer), actually expanding that to 0-255 gives you a greater dynamic range when doing the quantization back to 8-bit integer then 16-235 does, so according to the math, it could potentially be better. Not sure if that difference is actually visible...

Okay, so the preferred setting is (D), which is madVR=PC levels, television=full.

For anyone who really wants BTB and WTW (and is willing to accept a compressed range for the vast majority of content which has no BTB or WTW levels), there is (B), which is madVR=TV levels, television=full.

And for anyone who has a television that has no "full" setting, they should choose (A), which is madVR=TV levels, television=limited.

Yes?

Andy o
10th December 2011, 02:03
madshi himself recommends (D). With (A), you're going to run into some trouble if you set your card to output 0-255 and your TV to accept 16-235. Since madVR is only passing 16-235, you'll have good video with madVR and other renderers whose output can be controlled like that, but you'll crush blacks and clip whites in everything else, desktop, photos, games, etc. (A) is only recommended when your TV doesn't accept RGB Full, as a good-enough solution, but if you're using your PC for video only.

There is no reason whatsoever to want BTB, it will completely mess up your nifty brand new spanking TV's black levels. WTW, some people say it should be left, but I've found no compelling reason, really.

Gary.M
10th December 2011, 02:26
So I use JRMC, and I had asked over there how levels were handled via LAV and MadVR but didn't get an answer. Not sure if they don't know, or its a secret. From following this, and based on my experience, it looks as if D is the way JRMC handles it. I had to set my projector to expanded (0-255) and then can see levels 16 to 235 (or really 17-234). BTB and WTW are not present. None of the switches in LAV filters or MadVR relating to levels are available under JRMC.

Nevcariel or Madshi, can you confirm this?

Xaurus
10th December 2011, 02:34
I always preferred D.
You need to convert YUV to RGB, which will (if done right) result in floating point data (or at least higher precision integer), actually expanding that to 0-255 gives you a greater dynamic range when doing the quantization back to 8-bit integer then 16-235 does, so according to the math, it could potentially be better. Not sure if that difference is actually visible...
Nev,

To have 0-255 to pass through my AVR I have to run YCbCr444 in the Nvidia control panel.

Now, my AVR OSD says that the input signal is indeed YCbCr 4:4:4 8 bit.

As far as I know (stated by madshi?), no graphic cards can output pure YCbCr without converting (something) internally.

So what am I missing here?

dansrfe
10th December 2011, 03:21
Nev,

To have 0-255 to pass through my AVR I have to run YCbCr444 in the Nvidia control panel.

Now, my AVR OSD says that the input signal is indeed YCbCr 4:4:4 8 bit.

As far as I know (stated by madshi?), no graphic cards can output pure YCbCr without converting (something) internally.

So what am I missing here?

You should not be outputting YCbCr. It should be set to RGB 4:4:4.

nx6
10th December 2011, 04:14
Should we? My graphics card gives the option of YCbCr when its running on one of the "TV resolutions" it lists my monitor as supporting. But I only have RGB as an option when on the full PC resolution. Since home entertainment devices output to TVs in YCbCr, using that setting on the graphics card would make more sense.

Andy o
10th December 2011, 04:59
PC graphics cards work in RGB, so even when you set them to YCbCr output, video is being converted to RGB and then re-converted (along with everything else) to YCbCr. There might be a loophole with protected video path players like TMT and PowerDVD which apparently use an overlay, but that's not applicable for madVR anyway.

mr.duck
10th December 2011, 05:17
madVR is there to convert video to RGB, that's the one of the main jobs it was created to do.

nevcairiel
10th December 2011, 07:55
So, assuming I leave every output format checked as you recommend, then I still need to chose one of three radio buttons: TV (16-235), PC (0-255), or Untouched (as input).

Which should I choose?

Set it to untouched, i guess, but it does not matter, the code using that option will never be used with madVR, unless you disable all output formats except RGB

Mano
10th December 2011, 08:01
question plz:
i heard about how good madvr is and decided to try it out. I followed instruction on http://coalgirls.wakku.to/?page_id=4611 , removed everything, installd fresh MPC, LAV, Haalia,Madvr but strange thing is

select madvr output i got this http://i.imgur.com/FYpM2.jpg
select EVR custom pres i got http://i.imgur.com/L4MIk.png

is it just me or the EVR custome pres gives more smoother, less blocky, better image?
btw: i uninstalled everything thing and go back a fresh CCCP http://i.imgur.com/ta6pN.png (which identical to the madvr)

nx6
10th December 2011, 08:13
select madvr output i got this http://i.imgur.com/FYpM2.jpg
select EVR custom pres i got http://i.imgur.com/L4MIk.png

Making the MadVR screenshot in jpeg and the EVR one in png doesn't help. ;)

What OS, graphics card, etc are you using?

golagoda
10th December 2011, 08:23
question plz:
i heard about how good madvr is and decided to try it out. I followed instruction on http://coalgirls.wakku.to/?page_id=4611 , removed everything, installd fresh MPC, LAV, Haalia,Madvr but strange thing is

select madvr output i got this http://i.imgur.com/FYpM2.jpg
select EVR custom pres i got http://i.imgur.com/L4MIk.png

is it just me or the EVR custome pres gives more smoother, less blocky, better image?
btw: i uninstalled everything thing and go back a fresh CCCP http://i.imgur.com/ta6pN.png (which identical to the madvr)

If you're comparing quality make sure you're choosing a good scaling algorithm in the madVR settings.

Mano
10th December 2011, 09:50
Making the MadVR screenshot in jpeg and the EVR one in png doesn't help. ;)

What OS, graphics card, etc are you using?

strange, since i cant use MPC save image function with madvr output (GetDIB failed, hr= 80004005) i used photoshop to cut and save all the screenshoot in png. Seem like imgur auto converted my picture to .jpg

here is the png file http://www.mediafire.com/download.php?hlsszjr1rrlaweu

and i am using Windows 7 32bit, Powercolor HD5870

If you're comparing quality make sure you're choosing a good scaling algorithm in the madVR settings
can you show me how to set up madvr settings correctly?

golagoda
10th December 2011, 10:09
I just use what Nevcairiel said he uses months ago which is "I use Lanczos 4-taps for both Luma variants, and SoftCubic 60 for Chroma." except I use softcubic 70 - works amazingly for me at least, a lot of people like spline over lanczos though so try that out and choose what you like better.

Mano
10th December 2011, 11:00
I just use what Nevcairiel said he uses months ago which is "I use Lanczos 4-taps for both Luma variants, and SoftCubic 60 for Chroma." except I use softcubic 70 - works amazingly for me at least, a lot of people like spline over lanczos though so try that out and choose what you like better.

hmm, somehow in my case changing the setting gives no visual differences whatsoever even after I restart MPC

Razoola
10th December 2011, 11:11
I have an old panny G10 through HDMI I have settings as follows.

NV control panel.
(adjust desktop color settings)
digital color formet = YCbCr444
content type reported to display = full screen videos.
(adjust video color settings)
Video settings = Let player control.

LAV video decoder.
(output formats)
only NV12 and YV12 checked
(rgb output levels)
untouched.

madVR
(display properties)
RGB output levels = PC levels (0-255)
Display Bitdepth = 8 bit or higher


So far these are the only setting I have found that will correctly flash bars in 'Black Clipping' and 'White Clipping' in the MP4 test patterns (http://www.avsforum.com/avs-vb/showthread.php?t=948496).

If I keep all settings the same but change to RGB output over HDMI (and not YCbCr444) in the NV control panel I get black crushing, I see no bars flashing above 16 in the above mentioned test pattern.

spuncut
10th December 2011, 11:16
Let me see if I got this right :
LAV Video Decoder : "Untouched"
madVR : "0-255"
Nvidia Driver : INF hacked to "0-255" on HDMI
TV Panasonic G10 16-235 only

Now if I play standard 16-235 -material, will the range then remain untouched ?

Razoola
10th December 2011, 11:27
Let me see if I got this right :
LAV Video Decoder : "Untouched"
madVR : "0-255"
Nvidia Driver : INF hacked to "0-255" on HDMI
TV Panasonic G10 16-235 only

Now if I play standard 16-235 -material, will the range then remain untouched ?

There is no setting on the g10 to choose the incoming color range. I do not hack the driver inf either, I use the setting in the NV control panel. I'm not saying that Im not getting any unneeded conversions (maybe I am?) but this is the only way I have found thus far that I can get the correct looking results with the test patterns.

nx6
10th December 2011, 12:29
can you show me how to set up madvr settings correctly?
Even the default settings should look better than your screenshots. Something is wrong.

Xaurus
10th December 2011, 14:27
PC graphics cards work in RGB, so even when you set them to YCbCr output, video is being converted to RGB and then re-converted (along with everything else) to YCbCr. There might be a loophole with protected video path players like TMT and PowerDVD which apparently use an overlay, but that's not applicable for madVR anyway.
This is indeed interesting. But why does it do this when the HDMI spec clearly allows YCbCr to pass through? Why is there a need to convert to RGB just to convert back? I don't get it.

The problem is my AVR. I wouldn't have bought it had I known that it would not pass 0-255 RGB. It makes the image gray with my TV set to 0-255 and RGB selected in the Nvidia control panel.
Keeping the TV at 0-255, switching the Nvidia output to YCbCr and the output is fine.

I could configure it all for 16-235 and I have done it previously but there is something that makes it look better (to me eyes) with a full chain of 0-255.

6233638
10th December 2011, 14:44
I just use what Nevcairiel said he uses months ago which is "I use Lanczos 4-taps for both Luma variants, and SoftCubic 60 for Chroma." except I use softcubic 70 - works amazingly for me at least, a lot of people like spline over lanczos though so try that out and choose what you like better.From my testing, I would say that Spline is objectively worse than Lanczos in pretty much all cases when dealing with video content, I do not recommend it.

Similarly, I do not recommend SoftCubic at all for chroma. I do not understand why so many people use it for chroma—perhaps because it's one of the defaults? SoftCubic blurs the image too much, bleeding colour out of the edges and desaturating things.

I have done several rounds of testing on the scaling algorithms, and always end up back at Bicubic 75 for chroma. It seems to be the best balance between ringing, and preserving the original image from the source. (i.e. not desaturating it, or blurring things too much)

SoftCubic 70 chroma:
http://img13.imageshack.us/img13/3112/s7cs.th.jpg (http://img13.imageshack.us/img13/3112/s7cs.jpg)
Bicubic 75 chroma:
http://img59.imageshack.us/img59/8029/b75c.th.jpg (http://img59.imageshack.us/img59/8029/b75c.jpg)
Lanczos8 chroma:
http://img853.imageshack.us/img853/9062/l8c.th.jpg (http://img853.imageshack.us/img853/9062/l8c.jpg)

For downscaling, I recommend Lanczos3/4 without linear light (I forget which ended up being a better choice, I think it really came down to preference in the end) or Bicubic75 with linear light scaling. There may be more aliasing with Bicubic75, though technically the image is more accurate. I don't have a display that is natively lower resolution than 1080p, so it is difficult for me to say which is best. I would be leaning towards Bicubic75 with linear light scaling, but when it's just a small image on my 1080p display, it's hard to say for sure which is best.

For upscaling, I have consistently settled on SoftCubic70 without linear light scaling, though this seems to be entirely based on personal preference.

It's not that I am against having a sharp image, but any other setting (other than higher levels of SoftCubic) results in intrusive aliasing when playing back DVDs, which breaks the immersion for me.

As much as I would like to use linear light scaling, even with high levels of SoftCubic (80/100) there is still some aliasing introduced when using it, and it's not suitable for film. (it's ok for games footage as that is typically aliased already)

If you cannot stand how soft the image is with SoftCubic (initially it looks bad, but you will find that you get used to it after a couple of films) Mitchell-Netravali would be my next choice as it's a good balance between sharpness, aliasing, and ringing. Then it would be Lanczos 3/4/8 depending on how much ringing you can tolerate.

It's a shame that there is so much ringing with high levels of Lanczos, as it does a good job with aliasing and maintaining a high sharpness. I just can't stand to watch anything using it as a result of the ringing.

Lanczos8 luma:
http://img847.imageshack.us/img847/8098/l8l.th.jpg (http://img847.imageshack.us/img847/8098/l8l.jpg)
Mitchell-Netravali luma:
http://img24.imageshack.us/img24/4936/mnlyi.th.jpg (http://img24.imageshack.us/img24/4936/mnlyi.jpg)
SoftCubic70 luma:
http://img190.imageshack.us/img190/9916/s70l.th.jpg (http://img190.imageshack.us/img190/9916/s70l.jpg)
SoftCubic70 luma, linear light scaling:
http://img705.imageshack.us/img705/936/s70ll.th.jpg (http://img705.imageshack.us/img705/936/s70ll.jpg)

Just to be clear, my inclusion of Lanczos8 is just to show how good a job it does in these resolution tests. It also introduces a horrible amount of aliasing and so I do not recommend it at all.

Aside from the weird soft bands in the image with SoftCubic 70 LLS (which is more of an issue with the test than the scaling, it seems) notice how linear light scaling does a much better job preserving the intended brightness of the original image. Unfortunately, there's just too much ringing/aliasing introduced with LLS for me to recommend it with upscaling.


There is no setting on the g10 to choose the incoming color range. I do not hack the driver inf either, I use the setting in the NV control panel. I'm not saying that Im not getting any unneeded conversions (maybe I am?) but this is the only way I have found thus far that I can get the correct looking results with the test patterns.The setting in the Nvidia control panel controls the video output range (a setting which has no effect with madVR) it does not control what levels the card is outputting.

If you have an HDTV which can only accept 16–235, and you plan on using it for more than just video playback, you're stuck with the graphics card scaling the levels.

If you only use the connected PC for video playback, I would recommend forcing 0–255 via the registry "hack" and setting madVR's output levels to TV levels. This means that the graphics card will not be touching the levels, which should avoid introducing banding into the image. It should also mean that BTB and WTW information is visible by adjusting the brightness/contrast on your TV. (but BTB should not be visible with your display calibrated anyway) It does, however, mean that the desktop will look terrible with everything below 16 and above 235 being clipped. That's why I would only recommend you do this if you are only ever going to use the PC for video playback.


If you have the option of 16–235 or 0–255, you are best off sending 0–255 to the display (may or may not require the registry "hack"—the two Sony LCDs here do not) and having madVR set to output PC levels (0–255) which will scale the levels with a high degree of precision.


You never want to be outputting YCC from a PC, always RGB.

So far these are the only setting I have found that will correctly flash bars in 'Black Clipping' and 'White Clipping' in the MP4 test patterns (http://www.avsforum.com/avs-vb/showthread.php?t=948496).BTB information is (from a consumer's perspective) only there for properly calibrating the brightness setting on your display. This is no longer necessary with flat panels, as the digital steps in brightness (rather than the analogue steps with a CRT) are very distinct and obvious. If you are in a dark room, it should be instantly apparent the moment that brightness is set correctly, as a full black screen will stop getting darker the more you lower it, and raising the brightness control one step higher will cause it to get considerably lighter.

dansrfe
10th December 2011, 15:38
Can someone point me to the nvidia registration hack for setting the graphics card output to 0-255? If it makes any difference, I'm using the latest beta version drivers.

Andy o
10th December 2011, 16:07
This is indeed interesting. But why does it do this when the HDMI spec clearly allows YCbCr to pass through? Why is there a need to convert to RGB just to convert back? I don't get it.

The problem is my AVR. I wouldn't have bought it had I known that it would not pass 0-255 RGB. It makes the image gray with my TV set to 0-255 and RGB selected in the Nvidia control panel.
Keeping the TV at 0-255, switching the Nvidia output to YCbCr and the output is fine.

I could configure it all for 16-235 and I have done it previously but there is something that makes it look better (to me eyes) with a full chain of 0-255.
It seems NV is sending 16-235 when the AVR is in the chain. Your AVR might not even be messing the signal, just telling the card to send 16-235. Try the hack people have been mentioning. AFAIK it was only needed for custom resolutions though (or something like that).

mark0077
10th December 2011, 16:26
Can someone point me to the nvidia registration hack for setting the graphics card output to 0-255? If it makes any difference, I'm using the latest beta version drivers.

Add

HKR,,SetDefaultFullRGBRangeOnHDMI,%REG_DWORD%,1

to each section of your inf that begins with

[nv_miscBase_addreg_

eg

[nv_miscBase_addreg__01]
HKR,,SetDefaultFullRGBRangeOnHDMI,%REG_DWORD%,1

Worth noting if it doesn't work install using clean install method.

kasper93
10th December 2011, 16:55
@6233638:
Could you provide that test pattern that you used? :)

TheShadowRunner
10th December 2011, 19:28
Add
Worth noting if it doesn't work install using clean install method.

Also worth noting the fact this trick [SetDefaultFullRGBRangeOnHDMI to 1] doesn't work on XP.

6233638
10th December 2011, 19:49
@6233638:
Could you provide that test pattern that you used? :)
http://forum.doom9.org/showpost.php?p=1536670&postcount=10617

rm2kpro
10th December 2011, 21:22
A quick question.

This one bugs me for a while: I can enable 24fps, 50fps and 60 fps output from my graphics card. I mostly watch 23.976fps videos. Which output rate should I choose? Does it matter?

Andy o
10th December 2011, 21:35
Generally speaking, choose the one that matches the video rate, or a multiple. For your example, it should be the "23" option, not 24.

rm2kpro
10th December 2011, 22:20
Generally speaking, choose the one that matches the video rate, or a multiple. For your example, it should be the "23" option, not 24.

I would naturally choose the "23" option if it was available, but it is not.

On my desktop I can choose: 24p, 50p, 50i, 60p, 60i.
On my laptop I can choose: 50p, 60p.

Which one is best?

turbojet
10th December 2011, 22:51
Does anyone else miss bicubic 1.0 from EVR?

It's the only advantage I see of evr over madvr currently. It's still my preferred resizer of clean hd video because of great detail with little ringing and below average aliasing. With madvr the ringing and aliasing would probably be reduced based on comparisons of the other resizers shared in both renderers.

I primarily watch dvd's but for me evr with any of the resizers is not good enough for upscaling sd to hd, too much ringing and aliasing, while madvr does an excellent job of minimizing the artifacts albeit less detail.

iSunrise
11th December 2011, 00:30
Does anyone else miss bicubic 1.0 from EVR?
Shouldn´t be too much of a problem for madshi to add it. Since SoftCubic also offers 100 I would also like to see Bicubic 100 added, I am also using Bicubic75 a lot. Thank you in advance, madshi.

Anyway, from my point of view, SoftCubic(70-100) definately seems advantageous on DVD or generally lower resolution content (which on today´s LCD displays always needs to be upscaled, anyway), since good LCDs are already way sharper than CRTs. On my CRT things were very different, since I basically always needed some amounts of extra sharpening for the image to really look sharp at all.

Bicubic75 seems advantageous if you want to be true to the source, however, this may get out of hand if you already have either a very sharp image or a low-resolution image were you basically sharpen it too much and watching that on an LCD can look quite horrible.

What is extremely important though, is your viewing distance. If you are sitting right in front of your LCD, then an accurate or softer image looks quite pleasing to the eye, while a sharper image tends to look very good when your LCD is farther away, because it strengthens the details your eyes would lose otherwise.

At least that´s my conclusion after having just completed watching all seasons of Alias, season 1 on PAL DVD, seasons 2-5 on NTSC DVD and it is quite amazing, how good DVDs can look with madVR and the right settings (that fit your viewing distance and setup/preference).

iSunrise
11th December 2011, 01:09
Deleted

Andy o
11th December 2011, 02:50
I would naturally choose the "23" option if it was available, but it is not.

On my desktop I can choose: 24p, 50p, 50i, 60p, 60i.
On my laptop I can choose: 50p, 60p.

Which one is best?

24p won't get you pulldown like 50p or 60p will, so it's probably preferable, but it will give you a repeated frame every 42 seconds or so. I would recommend using LAV filters with the dtsdecoderdll.dll, and ReClock. Which graphics card do you have?

6233638
11th December 2011, 04:28
Anyway, from my point of view, SoftCubic(70-100) definately seems advantageous on DVD or generally lower resolution content (which on today´s LCD displays always needs to be upscaled, anyway), since good LCDs are already way sharper than CRTs. On my CRT things were very different, since I basically always needed some amounts of extra sharpening for the image to really look sharp at all.

Bicubic75 seems advantageous if you want to be true to the source, however, this may get out of hand if you already have either a very sharp image or a low-resolution image were you basically sharpen it too much and watching that on an LCD can look quite horrible.

What is extremely important though, is your viewing distance. If you are sitting right in front of your LCD, then an accurate or softer image looks quite pleasing to the eye, while a sharper image tends to look very good when your LCD is farther away, because it strengthens the details your eyes would lose otherwise.

At least that´s my conclusion after having just completed watching all seasons of Alias, season 1 on PAL DVD, seasons 2-5 on NTSC DVD and it is quite amazing, how good DVDs can look with madVR and the right settings (that fit your viewing distance and setup/preference).I have to disagree here. I would argue that a good CRT—a high end monitor like the FW900 or a high end TV for example—running sub-1080p content natively is far sharper than any of the upscaling algorithms offered by madVR. With a good CRT, there was no need to set sharpness to anything other than neutral. (and a monitor wouldn't even have that option)

That said, I do agree that SoftCubic produces the most CRT-like image. Not because it softens the image, but because it keeps aliasing relatively low and (mostly) avoids adding ringing or exaggerating any artefacts in the source.

As improved as madVR is over everything else I've used—whether it's other HTPC software or dedicated scaling hardware—nothing is comparable to running low resolution content natively on a CRT.

We're going to have the same problem again once 4K/8K displays arrive. Blu-ray doesn't look so great running at 4K even with madVR.


Your post inspired me to do some more testing though. This is not an endorsement of the film it was taken from (just happened to have some good images for "real-world" testing) but here's an example taken from DVD showing some different scaling options.

First, here is Nearest Neighbour scaling, simply to show that there is ringing in the source and to give you an idea of the amount this is zoomed in:
http://img819.imageshack.us/img819/3232/nearest.jpg

I can see why someone might want Bicubic 100, though I don't feel Bicubic is ideal for luma upscaling at all. When you compare Bicubic 50 to 75, 50 has a minimal reduction in ringing and a noticeable increase in aliasing, so presumably 100 would have even less aliasing. Lanczos 3 seems to produce similar results (at least with the content I tested) as far as ringing is concerned, but it is sharper and has less aliasing. Pay attention to the 2 in particular.

Bicubic 50, Bicubic 75, Lanczos 3:
http://img46.imageshack.us/img46/7721/bicubic50.jpg http://img405.imageshack.us/img405/4503/bicubic75.jpg http://img443.imageshack.us/img443/5633/lanczos3y.jpg

Personally I feel that all of these are making the blue lettering far darker than it is supposed to be, and obviously there are big problems with ringing.

Mitchell-Netravali is a good Bicubic variant, which does better as far as ringing is concerned, and helps preserve the blue of the lettering (I think it's ringing that is causing it to darken) but has similar aliasing issues to Bicubic 50. SoftCubic 50 produces very similar results, but with far less aliasing.

Mitchell-Netravali, SoftCubic 50:
http://img13.imageshack.us/img13/3513/mitchellnetravali.jpg http://img818.imageshack.us/img818/6282/softcubic50.jpg

Taking things to extremes, SoftCubic 100 not only keeps aliasing very low, it blurs the image and hides a lot of the ringing that is part of the source, but this has a side-effect of making the lettering far lighter than it is meant to be.

After testing with a lot of content, going back to it every few months (usually when there's an update related to the scaling algorithms) and doing blind tests where I pick out the image I think looks best, without knowing what it is, I always seem to settle on SoftCubic 70. It seems to be the best balance between ringing, aliasing and sharpness that there is. That being said, in this particular example, it looks like SoftCubic 50 or possibly 60 would be ideal. I've done other tests where anything less than 70 starts to show aliasing though. (there are some scenes where even 70 shows aliasing, but they're rare enough that I don't find it to be an issue)

Finally, next to that is showing just how bad the linear light upscaling is for aliasing and/or ringing at times.

SoftCubic 100, SoftCubic 70, SoftCubic 70 Linear
http://img850.imageshack.us/img850/2050/softcubic100.jpg http://img88.imageshack.us/img88/5407/softcubic70.jpg http://img444.imageshack.us/img444/3318/softcubic70l.jpg

As you can no doubt tell though, my priority is a lack of aliasing, ringing, and then sharpness.

Lanczos, especially 8-tap, does very well as far as aliasing and sharpness are concerned, but very badly with ringing.

I feel that SoftCubic is the best balance. With other algorithms, any improvement over Lanczos as far as ringing is concerned, is offset by an increase in aliasing and a drop in sharpness.

SoftCubic has fairly low levels of aliasing (especially at higher levels) and minimal ringing at a cost of sharpness—something I don't notice as soon as I'm actually watching a film. (whereas aliasing and ringing sticks out like a sore thumb at all times)


So my personal recommendation would still put SoftCubic 70 at the top of the list, but for most people, I'd say the decision is between Lanczos 3 or SoftCubic 50, depending on whether your preference is sharpness or a smoother image with less artefacts being introduced.

I did not include Spline or Catmull-Rom because I don't even consider them to be an option from my previous testing.

iSunrise
11th December 2011, 07:48
As improved as madVR is over everything else I've used—whether it's other HTPC software or dedicated scaling hardware—nothing is comparable to running low resolution content natively on a CRT.
Yes, I agree 100%. I´ve never seen a better picture when you´re feeding a CRT with digital low-resolution content, not even with madVR and it´s pre-defined values for all the sampling algorithms. Otherwise, very good post again and a pretty good comparison.

One thing that just came to me, after re-reading your post a couple of times is that it is such a shame that we can´t fine-tune our algorithm settings. It would be totally awesome if we had a slider or a 3-digit input box on each algorithm-variant instead of just fixed values like 50 60 70 80 100 (SoftCubic) or 50 60 75 (Bicubic).

This would give us much better control over the already great included algorithms and since madVR is also able to show the results in real-time we could actually see a lot more happening on the screen. It would be so cool if madshi could implement something like that.

nlnl
11th December 2011, 08:29
6233638
iSunrise

Very goog attempt to visualize various resampling kernels:

http://svn.int64.org/viewvc/int64/resamplehq/doc/kernels.html

Budtz
11th December 2011, 10:27
Are all these luma and chroma scaling types like softcubic ect. used if waching 1080p content on 1080p resolution?

golagoda
11th December 2011, 11:02
Are all these luma and chroma scaling types like softcubic ect. used if waching 1080p content on 1080p resolution?

Yes in some cases, for example there are blu-rays with 1440x1080p content and others with 1920x1080p content, so if you viewed the 1440x1080 at full screen 16:9 on a 1920x1080 monitor it would obviously need scaling to 1920x1080